feat(flake): Added subflake

So as to not specify fetchFromGitHub commit hashes
Added mullvad packages
This commit is contained in:
uttarayan21
2024-03-25 20:35:16 +05:30
parent 8497db7318
commit 7ebb723857
12 changed files with 486 additions and 40 deletions

View File

@@ -7,6 +7,7 @@
enable = device.isLinux;
profiles.default = {
userChrome = let
# TODO: Move to subflake
csshacks = pkgs.fetchFromGitHub {
owner = "MrOtherGuy";
repo = "firefox-csshacks";

View File

@@ -80,7 +80,9 @@
gptfdisk
polkit_gnome
dig
mullvad
mullvad-vpn
mullvad-closest
mullvad-browser
steam-run
usbutils
handlr-regex
@@ -218,7 +220,7 @@
};
carapace = {
enable = true;
# enableFishIntegration = true;
enableFishIntegration = true;
enableNushellIntegration = true;
};
fzf = {

View File

@@ -54,13 +54,13 @@ in {
lua
*/
''
function(bufnr)
local opts = { highlight = true }
return require'nvim-navic'.get_location(opts)
end,
cond = function()
return require'nvim-navic'.is_available()
end
function(bufnr)
local opts = { highlight = true }
return require'nvim-navic'.get_location(opts)
end,
cond = function()
return require'nvim-navic'.is_available()
end
'';
}
];
@@ -226,6 +226,7 @@ in {
cmp = {
enable = true;
settings = {
autoEnableSources = true;
sources = [
{name = "buffer";}
{name = "buffer";}
@@ -291,33 +292,36 @@ in {
};
keymaps = mkMappings {
normal = {
"<leader>c" = "[[<cmd>ChatGPT<cr>]]";
"<leader>o" = "[[<cmd>TroubleToggle<cr>]]";
"<leader>ee" = "[[<cmd>Rest run<cr>]]";
"<leader>el" = "[[<cmd>Rest run last<cr>]]";
"vff" = "[[<cmd>vertical Gdiffsplit<cr>]]";
"<leader>\"" = ''[["+]]'';
"gh" = "[[<cmd>Octo actions<cr>]]";
"<leader><leader>" = "'<c-^>'";
"<leader>q" = "[[<cmd>bw<cr>]]";
"<leader>n" = "[[<cmd>bnext<cr>]]";
"<leader>p" = "[[<cmd>bprev<cr>]]";
"<C-l>" = "[[<cmd>Outline<cr>]]";
"<C-w>\"" = "[[<cmd>split<cr>]]";
"<C-w>%" = "[[<cmd>vsplit<cr>]]";
"gh" = "[[<cmd>Octo actions<cr>]]";
"<leader>\"" = ''[["+]]'';
"<leader>c" = "[[<cmd>ChatGPT<cr>]]";
"<leader>dr" = "[[<cmd>RustLsp debuggables<cr>]]";
"<C-l>" = "[[<cmd>Outline<cr>]]";
"<leader>ee" = "[[<cmd>Rest run<cr>]]";
"<leader>el" = "[[<cmd>Rest run last<cr>]]";
"<leader>hh" = "[[<cmd>DevdocsOpenFloat<cr>]]";
"<leader>hl" = "[[<cmd>DevdocsToggle<cr>]]";
"<leader><leader>" = "'<c-^>'";
"<leader>n" = "[[<cmd>bnext<cr>]]";
"<leader>o" = "[[<cmd>TroubleToggle<cr>]]";
"<leader>p" = "[[<cmd>bprev<cr>]]";
"<leader>q" = "[[<cmd>bw<cr>]]";
"<leader>nn" = "[[<cmd>Neorg<cr>]]";
"vff" = "[[<cmd>vertical Gdiffsplit<cr>]]";
"<C-k>" = "vim.lsp.buf.definition";
"<C-\\>" = "require('FTerm').toggle";
"F" = "function() vim.lsp.buf.format({ async = true }) end";
"gi" = "require'telescope.builtin'.lsp_implementations";
"<leader>a" = "vim.lsp.buf.code_action";
"<leader>bb" = "require'dap'.toggle_breakpoint";
"<leader>du" = "require'dapui'.toggle";
"<leader>fb" = "require'telescope'.extensions.file_browser.file_browser";
"<leader>ff" = "require'telescope.builtin'.find_files";
"<leader>gg" = "require'telescope.builtin'.live_grep";
"<leader>;" = "require'telescope.builtin'.buffers";
"<C-k>" = "vim.lsp.buf.definition";
"gi" = "require'telescope.builtin'.lsp_implementations";
"<leader>a" = "vim.lsp.buf.code_action";
"F" = "function() vim.lsp.buf.format({ async = true }) end";
"<leader>bb" = "require'dap'.toggle_breakpoint";
"<leader>du" = "require'dapui'.toggle";
"<C-\\>" = "require('FTerm').toggle";
};
terminal = {
"<C-\\>" = "require('FTerm').toggle";
@@ -505,6 +509,20 @@ in {
require('lspconfig.ui.windows').default_options.border = 'single'
catcher(require('nvim_context_vt').setup)
catcher(function()
require('nvim-devdocs').setup({
ensure_installed = {"nix", "rust"},
float_win = {
relative = "editor",
height = 80,
width = 100,
border = "rounded",
},
after_open = function()
vim.o.conceallevel = 3
end,
})
end)
'';
package = pkgs.neovim-nightly;
options = {
@@ -524,6 +542,7 @@ in {
undodir = "${config.xdg.cacheHome}/undodir";
undofile = true;
viewoptions = "cursor,folds";
concealcursor = "n";
};
extraPlugins = with pkgs.vimPlugins; [
# neorg
@@ -547,6 +566,7 @@ in {
# lsp stuff
copilot-lua
crates-nvim
luasnip
# No more postman
rest-nvim
@@ -563,8 +583,11 @@ in {
# Testing
neotest
# neotest-rust
# Helper libs
webapi-vim
# Treesitter
nvim_context_vt
nvim-devdocs
];
};
}

View File

@@ -1,4 +1,8 @@
{lib, ...}: {
{
lib,
pkgs,
...
}: {
home.sessionVariables = {
"ZELLIJ_AUTO_ATTACH" = "true";
# "ZELLIJ_AUTO_EXIT" = "true";
@@ -59,7 +63,7 @@
default_shell = "fish";
pane_frames = false;
theme = "catppuccin-mocha";
default_layout = "compact";
# default_layout = "compact";
keybinds = mkKeybinds {
normal = {
clear-defaults = true;
@@ -93,4 +97,49 @@
};
enableFishIntegration = true;
};
xdg.configFile."zellij/layouts/default.kdl" = {
text =
/*
kdl
*/
''
layout {
pane split_direction="vertical" {
pane
}
pane size=1 borderless=true {
plugin location="file:${pkgs.zellijPlugins.zjstatus}/bin/zjstatus.wasm" {
hide_frame_for_single_pane "true"
format_left "{mode}#[fg=#89B4FA,bg=#181825,bold] {session}#[bg=#181825] {tabs}"
format_right "{command_kubectx}#[fg=#424554,bg=#181825]::{command_kubens}{datetime}"
format_space "#[bg=#181825]"
mode_normal "#[bg=#89B4FA] "
mode_tmux "#[bg=#ffc387] "
mode_default_to_mode "tmux"
tab_normal "#[fg=#6C7086,bg=#181825] {index} {name} {fullscreen_indicator}{sync_indicator}{floating_indicator}"
tab_active "#[fg=#9399B2,bg=#181825,bold,italic] {index} {name} {fullscreen_indicator}{sync_indicator}{floating_indicator}"
tab_fullscreen_indicator " "
tab_sync_indicator " "
tab_floating_indicator "󰉈 "
command_kubectx_command "kubectx -c"
command_kubectx_format "#[fg=#6C7086,bg=#181825,italic] {stdout}"
command_kubectx_interval "2"
command_kubens_command "kubens -c"
command_kubens_format "#[fg=#6C7086,bg=#181825]{stdout} "
command_kubens_interval "2"
datetime "#[fg=#9399B2,bg=#181825] {format} "
datetime_format "%A, %d %b %Y %H:%M"
datetime_timezone "Asia/Kolkata"
}
}
}
'';
};
}