Compare commits

1 Commits

Author SHA1 Message Date
27b4808993 fix mode 2026-04-03 13:17:42 +02:00
73 changed files with 1233 additions and 1280 deletions

42
flake.lock generated
View File

@@ -106,11 +106,11 @@
]
},
"locked": {
"lastModified": 1775143651,
"narHash": "sha256-S0RqAyDPMTcv9vASMaE8eY1QexFysAOdnxUxFHIPOyE=",
"lastModified": 1774898676,
"narHash": "sha256-0Utnqo+FbB+0CVUi0MI3oonF0Kuzy9VcgRkxl53Euvk=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "d166a078541982a76f14d3e06e9665fa5c9ed85e",
"rev": "a184bd2f8426087bae93f203403cd4b86c99e57d",
"type": "github"
},
"original": {
@@ -126,11 +126,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1775138742,
"narHash": "sha256-cyipL9p0VzyZT0wa+3KkeJYvtEYzyI1PjBOnGU8z3gI=",
"lastModified": 1774915815,
"narHash": "sha256-LocQzkSjVS4G0AKMBiEIVdBKCNTMZXQFjQMWFId4Jpg=",
"owner": "nix-community",
"repo": "neovim-nightly-overlay",
"rev": "0fff256cfbc6978e711c43555df210d46940e943",
"rev": "9001416dc5d0ca24c8e4b5a44bfe7cd6fbeb1dd1",
"type": "github"
},
"original": {
@@ -162,11 +162,11 @@
]
},
"locked": {
"lastModified": 1775098553,
"narHash": "sha256-OFWIVY1vzAbPE73ksKAMsFh11AXZ3MjIymRQ90Butnc=",
"lastModified": 1774925891,
"narHash": "sha256-8QGLGZJGnjPXFkWncYI9IXfUJEaPshX81W9LCJyQbGE=",
"owner": "nix-community",
"repo": "nix-vscode-extensions",
"rev": "361b17a5b2f4536a119c794a367a29b07691f941",
"rev": "01dbb479b5f70a18feaa6398077c3babba0d4ba9",
"type": "github"
},
"original": {
@@ -209,11 +209,11 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1775036866,
"narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
"lastModified": 1774709303,
"narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
"rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685",
"type": "github"
},
"original": {
@@ -225,11 +225,11 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1775036866,
"narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=",
"lastModified": 1774709303,
"narHash": "sha256-D3Q07BbIA2KnTcSXIqqu9P586uWxN74zNoCH3h2ESHg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "6201e203d09599479a3b3450ed24fa81537ebc4e",
"rev": "8110df5ad7abf5d4c0f6fb0f8f978390e77f9685",
"type": "github"
},
"original": {
@@ -283,11 +283,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1775159663,
"narHash": "sha256-KES+OClaN0Vy/BkjW60UFo3dnQWpjkd1vIKEoynnlk0=",
"lastModified": 1774945141,
"narHash": "sha256-7k5Q/I5a1kyj/SmIFU4XIuKFqERi9IghJMSND6axHaI=",
"owner": "nix-community",
"repo": "NUR",
"rev": "008b7b102054965988abf26ea261314a2e6672d5",
"rev": "17e9cbee8a24c796b9ea363d37417829b6af5131",
"type": "github"
},
"original": {
@@ -387,11 +387,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1775132067,
"narHash": "sha256-JFcGvXwV9O55bUDY9MilD2+/qUPqYg9IHsdH6oJzCGw=",
"lastModified": 1774925412,
"narHash": "sha256-z2QvGBCrVlSJZgQ/aTf9TdHJYbsFNUt4cG/cZ57X+bA=",
"owner": "sxyazi",
"repo": "yazi",
"rev": "86b8f0779ca5406fb6fead8c248d3ab23c9b1db0",
"rev": "2514725e56c1b008911a2aee228b88783d27cdb0",
"type": "github"
},
"original": {

0
home/programs/eww/src/scripts/audio.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/battery.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/cpu.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/memory.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/network.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/powermenu.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/ristate.sh Executable file → Normal file
View File

0
home/programs/eww/src/scripts/ristate_read.sh Executable file → Normal file
View File

View File

@@ -1,4 +1,4 @@
{ pkgs, inputs, ... }:
{ inputs, pkgs, ... }:
{
imports = [
@@ -6,39 +6,39 @@
./plugins
];
home.sessionVariables.EDITOR = "nvim";
home.sessionVariables = {
EDITOR = "nvim";
};
programs.nixvim = {
enable = true;
defaultEditor = true;
extraPackages = with pkgs; [ # TODO:
texliveFull
texlivePackages.standalone
texlivePackages.relsize # needed for BA
# papis-nvim
];
nixpkgs.useGlobalPackages = false;
clipboard.providers.wl-copy.enable = true;
keymaps = [
{
key = "Y";
action = ''"+y'';
options.silent = true;
}
{
key = "P";
action = ''"+p'';
options.silent = true;
}
];
clipboard = {
providers = {
wl-copy.enable = true;
};
};
viAlias = true;
vimAlias = true;
lualoader.enable = true;
extraPackages = with pkgs; [
texliveFull
texlivePackages.standalone
texlivePackages.relsize # needed for BA
# papis-nvim
];
extraConfigVim = ''
filetype plugin on
set nocompatible
syntax on
'';
globals = {
mapleader = " ";
maplocalleader = ",";

View File

@@ -1,45 +0,0 @@
{ ... }:
{
programs.nixvim = {
plugins = {
aerial = {
enable = true;
lazyLoad.settings.cmd = [
"AerialToggle"
"AerialNavToggle"
];
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>a";
group = "Aerial";
icon = " ";
}
];
};
keymaps = [
{
key = "<leader>at";
action = "<cmd>AerialToggle<cr>";
options.desc = "Aerial tab";
}
{
key = "<leader>an";
action = "<cmd>AerialNavToggle<cr>";
options.desc = "Aerial navgation";
}
{
key = "<leader>a.";
action = "<cmd>AerialNext<cr>";
options.desc = "Aerial next";
}
{
key = "<leader>a,";
action = "<cmd>AerialPrev<cr>";
options.desc = "Aerial previous";
}
];
};
}

View File

@@ -1,10 +1,13 @@
{ ... }:
{
programs.nixvim.plugins.nvim-autopairs = {
programs.nixvim.plugins = {
nvim-autopairs = {
enable = true;
autoLoad = true;
settings.check_ts = true;
settings = {
check_ts = true;
};
};
};
}

View File

@@ -3,9 +3,9 @@
{
programs.nixvim = {
plugins = {
barbar.enable = true;
autoLoad = true;
barbar = {
enable = true;
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>b";
@@ -22,49 +22,62 @@
}
];
};
keymaps = [
{
action = "<CMD>BufferPrevious<CR>";
key = "<leader>,";
mode = "n";
options.desc = "Tab ";
options = {
desc = "Tab ";
};
}
{
action = "<CMD>BufferNext<CR>";
key = "<leader>.";
mode = "n";
options.desc = "Tab ";
options = {
desc = "Tab ";
};
}
{
action = "<CMD>BufferMovePrevious<CR>";
key = "<leader>b<";
mode = "n";
options.desc = "Re-Order ";
options = {
desc = "Re-Order ";
};
}
{
action = "<CMD>BufferMoveNext<CR>";
key = "<leader>b>";
mode = "n";
options.desc = "Re-Order ";
options = {
desc = "Re-Order ";
};
}
{
action = "<CMD>BufferClose<CR>";
key = "<leader>bc";
mode = "n";
options.desc = "Close";
options = {
desc = "Close";
};
}
{
action = "<CMD>tabnew +Telescope\\ yazi<CR>"; # TODO: does not work
action = "<CMD>tabnew +Telescope\\ file_browser<CR>";
key = "<leader>bn";
mode = "n";
options.desc = "Create";
options = {
desc = "Create";
};
}
{
action = "<CMD>BufferPick<CR>";
key = "<leader>bp";
mode = "n";
options.desc = "Pick Tab";
options = {
desc = "Pick Tab";
};
}
];
};

View File

@@ -1,10 +1,10 @@
{ ... }:
{
programs.nixvim.plugins.bullets = {
programs.nixvim = {
plugins = {
bullets = {
enable = true;
lazyLoad.settings.filetypes = [ "md" "txt" "gitcommit" ];
settings = {
enabled_file_types = [
"markdown"
@@ -16,17 +16,17 @@
custom_mappings = [
[
"nmap"
"<leader>mn"
"o"
"<Plug>(bullets-newline)"
]
[
"vmap"
"<leader>mr"
"gN"
"<Plug>(bullets-renumber)"
]
[
"nmap"
"<leader>mr"
"gN"
"<Plug>(bullets-renumber)"
]
[
@@ -62,4 +62,7 @@
];
};
};
};
};
}

View File

@@ -1,30 +1,35 @@
{ ... }:
{
programs.nixvim.plugins = {
programs.nixvim = {
plugins = {
blink-cmp = {
enable = true;
autoLoad = true;
settings = {
keymap.preset = "default";
snippets.preset = "luasnip";
completion.accept = {
keymap = {
preset = "default";
};
snippets = {
preset = "luasnip";
};
completion = {
accept = {
auto_brackets = {
enabled = true;
kind_resolution.enabled = true;
kind_resolution = {
enabled = true;
};
semantic_token_resolution = {
enabled = true;
timeout_ms = 400;
};
};
};
};
sources = {
per_filetype.yaml = [ "papis" ];
per_filetype = {
yaml = [ "papis" ];
};
providers = {
spell = {
module = "blink-cmp-spell";
@@ -32,23 +37,19 @@
score_offset = 100;
opts = { };
};
vimtex = {
name = "vimtex";
module = "blink.compat.source";
};
dap = {
name = "dap";
module = "blink.compat.source";
};
mkdnflow = {
name = "mkdnflow";
module = "blink.compat.source";
};
};
default = [
"lsp"
"mkdnflow"
@@ -67,4 +68,6 @@
cmp-vimtex.enable = true;
# cmp-dap.enable = true;
};
};
}

View File

@@ -1,15 +0,0 @@
{ ... }:
{
programs.nixvim.plugins.colorizer = {
enable = true;
lazyLoad.settings.filetypes = [
"css"
"scss"
"less"
"sass"
"html"
"svg"
];
};
}

View File

@@ -5,9 +5,7 @@
plugins = {
comment-box = {
enable = true;
autoLoad = true;
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>c";
@@ -16,32 +14,41 @@
}
];
};
keymaps = [
{
key = "<leader>cb";
action = "<Cmd>CBccbox<CR>";
options.desc = "Box Title";
options = {
desc = "Box Title";
};
}
{
key = "<leader>ct";
action = "<Cmd>CBllline<CR>";
options.desc = "Titled Line";
options = {
desc = "Titled Line";
};
}
{
key = "<leader>cl";
action = "<Cmd>CBline<CR>";
options.desc = "Simple Line";
options = {
desc = "Simple Line";
};
}
{
key = "<leader>cm";
action = "<Cmd>CBllbox14<CR>";
options.desc = "Marked";
options = {
desc = "Marked";
};
}
{
key = "<leader>cd";
action = "<Cmd>CBd<CR>";
options.desc = "Remove a Box";
options = {
desc = "Remove a Box";
};
}
];
};

View File

@@ -1,10 +1,16 @@
{ ... }:
{
programs.nixvim.plugins.comment = {
programs.nixvim = {
plugins = {
comment = {
enable = true;
autoLoad = true;
settings.mappings.basic = true;
settings = {
mappings = {
basic = true;
};
};
};
};
};
}

View File

@@ -21,13 +21,13 @@
programs.nixvim.plugins = {
conform-nvim = {
enable = true;
autoLoad = true;
settings = {
formatters_by_ft = {
lua = [ "stylua" ];
rust = [ "rustfmt" ];
python = [ "black" ];
python = [
"black"
];
haskell = [ "fourmolu" ];
terraform = [ "hcl" ];
elixir = [ "mix" ];
@@ -47,7 +47,9 @@
yaml = [ "prettierd" ];
nu = [ "topiary_nu" ];
nix = [ "nixfmt" ];
tex = [ "tex-fmt" ];
tex = [
"tex-fmt"
];
"_" = [
"squeeze_blanks"
"trim_whitespace"
@@ -92,7 +94,9 @@
"2"
];
};
tex-fmt.command = "tex-fmt";
tex-fmt = {
command = "tex-fmt";
};
};
};
};

View File

@@ -1,49 +0,0 @@
{ ... }:
{
programs.nixvim = {
plugins = {
csvview = {
enable = true;
lazyLoad.settings.cmd = [
"CsvViewEnable"
"CsvViewToggle"
];
settings = {
parser.async_chunksize = 30;
view = {
display_mode = "border";
spacing = 2;
};
};
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>z";
group = "CSV";
icon = " ";
}
];
};
keymaps = [
{
key = "<leader>ze";
action = "<Cmd>CsvViewEnable<CR>";
options.desc = "Csv enable preview";
}
{
key = "<leader>zd";
action = "<Cmd>CsvViewDisable<CR>";
options.desc = "Csv disable preview";
}
{
key = "<leader>zt";
action = "<Cmd>CsvViewToggle<CR>";
options.desc = "Csv toggle preview";
}
];
};
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ config, pkgs, ... }:
{
home.packages = with pkgs; [
@@ -13,13 +13,10 @@
plugins = {
dap-python = {
enable = true;
autoLoad = true;
};
dap = {
enable = true;
autoLoad = true;
luaConfig.post = ''
local dap, dapui = require("dap"), require("dapui")
dap.listeners.before.attach.dapui_config = function()
@@ -35,13 +32,11 @@
dapui.close()
end
'';
adapters = {
executables = {
lldb = {
command = "${pkgs.lldb_19}/bin/lldb-dap";
};
gdb = {
command = "${pkgs.gdb}/bin/gdb";
args = [
@@ -50,7 +45,6 @@
"set print pretty on"
];
};
rust-gdb = {
command = "${pkgs.rustc}/bin/rust-gdb";
args = [
@@ -61,8 +55,9 @@
};
};
};
signs.dapBreakpoint.text = "";
signs = {
dapBreakpoint.text = "";
};
configurations = {
cpp = [
{
@@ -109,7 +104,6 @@
cwd = "\${workspaceFolder}";
}
];
c = [
{
name = "Launch file";
@@ -142,7 +136,6 @@
args = { };
}
];
rust = [
{
name = "Launch";
@@ -189,17 +182,12 @@
];
};
};
dap-ui = {
enable = true;
autoLoad = true;
};
dap-virtual-text = {
enable = true;
autoLoad = true;
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>d";
@@ -208,55 +196,70 @@
}
];
};
keymaps = [
{
key = "<leader>dt";
action.__raw = "function() require('dap').toggle_breakpoint() end";
mode = [ "n" ];
options.desc = "Toggle Breakpoint";
options = {
desc = "Toggle Breakpoint";
};
}
{
key = "<leader>dc";
action.__raw = "function() require('dap').continue() end";
mode = [ "n" ];
options.desc = "Continue";
options = {
desc = "Continue";
};
}
{
key = "<leader>dc";
action.__raw = "function() require('dap').continue() end";
mode = [ "n" ];
options.desc = "Continue";
options = {
desc = "Continue";
};
}
{
key = "<leader>di";
action.__raw = "function() require('dap').step_into() end";
mode = [ "n" ];
options.desc = "Step Into";
options = {
desc = "Step Into";
};
}
{
key = "<leader>do";
action.__raw = "function() require('dap').step_over() end";
mode = [ "n" ];
options.desc = "Step Over";
options = {
desc = "Step Over";
};
}
{
key = "<leader>du";
action.__raw = "function() require('dap').step_out() end";
mode = [ "n" ];
options.desc = "Step Out";
options = {
desc = "Step Out";
};
}
{
key = "<leader>dr";
action.__raw = "function() require('dap').repl.open() end";
mode = [ "n" ];
options.desc = "Open REPL";
options = {
desc = "Open REPL";
};
}
{
key = "<leader>dl";
action.__raw = "function() require('dap').run_last() end";
mode = [ "n" ];
options.desc = "Run Last";
options = {
desc = "Run Last";
};
}
{
key = "<leader>dq";
@@ -269,21 +272,27 @@
end
'';
mode = [ "n" ];
options.desc = "Terminate";
options = {
desc = "Terminate";
};
}
{
key = "<leader>db";
action.__raw = "function() require('dap').list_breakpoints() end";
mode = [ "n" ];
options.desc = "List Breakpoints";
options = {
desc = "List Breakpoints";
};
}
{
key = "<leader>de";
action.__raw = "function() require('dap').set_exception_breakpoints({ ' all ' }) end";
mode = [ "n" ];
options.desc = "Set Exception Breakpoints";
options = {
desc = "Set Exception Breakpoints";
};
}
];
};
}

View File

@@ -1,24 +1,23 @@
{
imports = [
./aerial.nix
./autopairs.nix
./barbar.nix
./bullets.nix
./cmp.nix
./colorizor.nix
./comment-box.nix
./comment.nix
./conform.nix
./csvview.nix
./dap.nix
./diffview.nix
./dynomark.nix
./edgy.nix
./gitsigns.nix
./img-clip.nix
./haskell-tools.nix
./knap.nix
./lualine.nix
./leap.nix
./lsp.nix
./lz-n.nix
./ltex-extra.nix
./lualine.nix
./markdown-preview.nix
./mkdnflow.nix
./neoscroll.nix
@@ -26,16 +25,18 @@
./noice.nix
./notify.nix
./oil.nix
./openscad.nix
./otter.nix
./papis.nix
./rainbow.nix
./render-markdown.nix
./rustaceanvim.nix
./peek.nix
./markdown-preview.nix
./smart-splits.nix
./snippets.nix
./sniprun.nix
./startup.nix
./surround.nix
./telescope.nix
./texpresso.nix
./todo-comments.nix
./toggleterm.nix
./treesitter.nix
@@ -43,12 +44,10 @@
./typst-preview.nix
./typst-vim.nix
./undotree.nix
./unified.nix
./vimtex.nix
./web-devicons.nix
./which-key.nix
./wilder.nix
./yazi.nix
./yuck.nix
./yanky.nix
./zk.nix
];
}

View File

@@ -0,0 +1,12 @@
{ pkgs, ... }:
{
programs.nixvim = {
plugins = {
diffview = {
enable = true;
};
};
};
}

View File

@@ -14,7 +14,11 @@ let
in
{
programs.nixvim = {
extraPlugins = [ dynomark-nvim ];
extraPlugins = [
dynomark-nvim
];
extraConfigLua = "require('dynomark').setup({})";
keymaps = [
@@ -22,13 +26,17 @@ in
key = "<leader>v";
action = "<Plug>(DynomarkToggle)";
mode = [ "n" ];
options.desc = "Toggle Dynomark";
options = {
desc = "Toggle Dynomark";
};
}
{
key = "<leader>V";
action = "<Plug>(DynomarkRun)";
mode = [ "n" ];
options.desc = "Run Dynomark query under cursor";
options = {
desc = "Run Dynomark query under cursor";
};
}
];
};

View File

@@ -9,12 +9,10 @@
# To prevent this, set `splitkeep` to either `screen` or `topline`.
splitkeep = "screen";
};
plugins = {
edgy = {
enable = true;
autoLoad = true;
settings = {
bottom.__raw = ''
{
@@ -39,7 +37,6 @@
}
}
'';
left.__raw = ''
{
-- Neo-tree filesystem always takes half the screen height
@@ -80,3 +77,4 @@
};
};
}

View File

@@ -1,8 +1,11 @@
{ ... }:
{
programs.nixvim.plugins.gitsigns = {
programs.nixvim = {
plugins = {
gitsigns = {
enable = true;
autoLoad = true;
};
};
};
}

View File

@@ -12,6 +12,8 @@
haskellPackages.ghci-dap
];
extraPlugins = with pkgs.vimPlugins; [ haskell-tools-nvim ];
extraPlugins = with pkgs.vimPlugins; [
haskell-tools-nvim
];
};
}

View File

@@ -1,22 +0,0 @@
{ ... }:
{
programs.nixvim = {
plugins.img-clip = {
enable = true;
lazyLoad.settings.filetypes = [
"md"
"tex"
"typ"
];
};
keymaps = [
{
key = "<leader>p";
action = "<cmd>PasteImage<cr>";
options.desc = "Paste image";
}
];
};
}

View File

@@ -1,5 +1,6 @@
{ pkgs, ... }:
# TODO: Make filetype keybindings work
let
keys = [
{
@@ -10,7 +11,9 @@ let
"v"
"i"
];
options.desc = "Close Viewer (knap)";
options = {
desc = "Close Viewer (knap)";
};
}
{
action.__raw = "function() require('knap').toggle_autopreviewing() end";
@@ -20,7 +23,9 @@ let
"v"
"i"
];
options.desc = "Toggle Auto-Processing (knap)";
options = {
desc = "Toggle Auto-Processing (knap)";
};
}
{
action.__raw = "function() require('knap').forward_jump() end";
@@ -30,7 +35,9 @@ let
"v"
"i"
];
options.desc = "SyncTeX Forward Search (Knap)";
options = {
desc = "SyncTeX Forward Search (Knap)";
};
}
];
in
@@ -40,18 +47,22 @@ in
texliveFull
rubber
];
programs.nixvim = {
extraPlugins = with pkgs.vimPlugins; [ knap ];
globals.knap_settings = {
globals = {
knap_settings = {
htmltohtmlviewerlaunch = "luakit %outputfile%";
mdtohtmlviewerlaunch = "luakit %outputfile%";
markdowntohtmlviewerlaunch = "luakit %outputfile%";
};
};
files = {
"ftplugin/latex.lua".keymaps = keys;
"ftplugin/markdown.lua".keymaps = keys;
"ftplugin/latex.lua" = {
keymaps = keys;
};
"ftplugin/markdown.lua" = {
keymaps = keys;
};
};
};
}

View File

@@ -0,0 +1,30 @@
{ ... }:
{
programs.nixvim = {
plugins = {
leap = {
enable = true;
settings = {
case_sensitive = false;
};
};
};
keymaps = [
{
key = "s";
action = "<Plug>(leap)";
mode = [
"n"
"x"
"o"
];
}
{
key = "S";
action = "<Plug>(leap-from-window)";
mode = [ "n" ];
}
];
};
}

View File

@@ -7,10 +7,7 @@
];
programs.nixvim = {
plugins.lsp = {
enable = true;
autoLoad = true;
};
plugins.lsp.enable = true;
lsp = {
luaConfig = {
@@ -20,29 +17,65 @@
'';
};
servers = {
nixd.enable = false;
rust_analyzer.enable = true;
leanls.enable = true;
nixd = {
enable = false;
};
rust_analyzer = {
enable = true;
};
leanls = {
enable = true;
};
nil_ls = {
enable = !config.programs.nixvim.plugins.lsp.servers.nixd.enable;
config = {
nil = {
formatting.command = [ "nixfmt" ];
diagnostics.ignored = [ ];
nix.flake.autoArchive = true;
formatting = {
command = [
"nixfmt"
];
};
diagnostics = {
ignored = [ ];
};
nix = {
flake = {
autoArchive = true;
};
};
};
nushell.enable = true;
pylsp.enable = true;
pylyzer.enable = false;
pyright.enable = true;
clangd.enable = true;
zk.enable = true;
elixirls.enable = true;
marksman.enable = true;
texlab.enable = true;
lua_ls.enable = true;
};
};
nushell = {
enable = true;
};
pylsp = {
enable = true;
};
pylyzer = {
enable = false;
};
pyright = {
enable = true;
};
clangd = {
enable = true;
};
zk = {
enable = true;
};
elixirls = {
enable = true;
};
marksman = {
enable = true;
};
texlab = {
enable = true;
};
lua_ls = {
enable = true;
};
ltex_plus = {
enable = true;
package = pkgs.ltex-ls-plus;
@@ -60,7 +93,9 @@
};
};
};
tinymist.enable = true;
tinymist = {
enable = true;
};
};
};
};

View File

@@ -0,0 +1,9 @@
{ ... }:
{
programs.nixvim.plugins = {
ltex-extra = {
enable = true;
};
};
}

View File

@@ -1,8 +1,48 @@
{ ... }:
{
programs.nixvim.plugins.lualine = {
programs.nixvim.plugins = {
lualine = {
enable = true;
autoLoad = true;
# settings = {
# sections = {
# lualine_c = [
# {
# __unkeyed-1 = {
# __raw = ''
# function()
# require("trouble").statusline({
# mode = "lsp_document_symbols",
# groups = {},
# title = false,
# filter = { range = true },
# format = "{kind_icon}{symbol.name:Normal}",
# -- The following line is needed to fix the background color
# -- Set it to the lualine section you want to use
# hl_group = "lualine_c_normal",
# }
# ).get
# end
# '';
# };
# cond = {
# __raw = ''
# require("trouble").statusline({
# mode = "lsp_document_symbols",
# groups = {},
# title = false,
# filter = { range = true },
# format = "{kind_icon}{symbol.name:Normal}",
# -- The following line is needed to fix the background color
# -- Set it to the lualine section you want to use
# hl_group = "lualine_c_normal",
# }).has
# '';
# };
# }
# ];
# };
# };
};
};
}

View File

@@ -1,7 +0,0 @@
{ ... }:
{
programs.nixvim.plugins.lz-n = {
enable = true;
};
}

View File

@@ -1,8 +1,9 @@
{ ... }:
{
programs.nixvim.plugins.markdown-preview = {
programs.nixvim.plugins = {
markdown-preview = {
enable = true;
lazyLoad.settings.filetypes = [ "md" ];
};
};
}

View File

@@ -2,13 +2,13 @@
{
programs.nixvim = {
extraConfigLua = ''vim.api.nvim_create_autocmd("FileType", {pattern = "markdown", command = "set awa"})'';
extraConfigLua = ''
vim.api.nvim_create_autocmd("FileType", {pattern = "markdown", command = "set awa"})
'';
plugins = {
mkdnflow = {
enable = true;
lazyLoad.settings.filetypes = [ "md" ];
settings = {
links = {
style = "wiki";
@@ -31,7 +31,6 @@
end
'';
};
modules = {
conceal = true;
cursor = true;
@@ -43,12 +42,10 @@
tables = true;
yaml = true;
};
filetypes = {
markdown = true;
qmd = true;
};
to_do = {
symbols = [
" "
@@ -57,7 +54,6 @@
];
status_propagation.up = true;
};
foldtext = {
title_transformer.__raw = ''
function()
@@ -108,7 +104,6 @@
middle = "";
};
};
mappings = {
MkdnEnter = [
[
@@ -170,7 +165,6 @@
"<C-Space>"
];
};
create_dirs = true;
new_file_template = {
use_template = true;
@@ -181,12 +175,8 @@
template = ''
---
title: {{ title }}
description:
published: true
date: {{ date }}
tags: private
editor: markdown
dateCreated: {{ date }}
tags: []
---
# {{ title }}
'';

View File

@@ -4,8 +4,6 @@
programs.nixvim.plugins = {
neoscroll = {
enable = true;
autoLoad = true;
settings = {
cursor_scrolls_alone = true;
easing_function = "quadratic";
@@ -24,6 +22,7 @@
respect_scrolloff = false;
stop_eof = true;
};
};
};
}

View File

@@ -1,10 +1,14 @@
{ ... }:
{
programs.nixvim.plugins.neo-tree = {
programs.nixvim = {
plugins = {
neo-tree = {
enable = true;
autoLoad = true;
settings.enable_git_status = true;
settings = {
enable_git_status = true;
};
};
};
};
}

View File

@@ -1,16 +1,14 @@
{ ... }:
{
programs.nixvim.plugins.noice = {
programs.nixvim.plugins = {
noice = {
enable = true;
autoLoad = true;
settings = {
lsp.override = {
"vim.lsp.util.convert_input_to_markdown_lines" = true;
"vim.lsp.util.stylize_markdown" = true;
};
prests = {
bottom_search = true;
command_palette = true;
@@ -20,4 +18,5 @@
};
};
};
};
}

View File

@@ -2,13 +2,16 @@
{
programs.nixvim = {
plugins.notify = {
plugins = {
notify = {
enable = true;
autoLoad = true;
settings.render = "wrapped-compact";
settings = {
render = "wrapped-compact";
};
};
};
opts = {
termguicolors = true;
};
opts.termguicolors = true;
};
}

View File

@@ -1,8 +1,9 @@
{ ... }:
{
programs.nixvim.plugins.oil = {
programs.nixvim.plugins = {
oil = {
enable = true;
autoLoad = true;
};
};
}

View File

@@ -3,8 +3,6 @@
{
programs.nixvim.plugins.openscad = {
enable = true;
lazyLoad.settings.filetype = [ "scad" ];
luaConfig.post = ''
vim.g.openscad_fuzzy_finder = 'skim'
-- when the pdf_command is run, the last argument will be the pdf filename

View File

@@ -1,8 +1,9 @@
{ ... }:
{
programs.nixvim.plugins.otter = {
programs.nixvim.plugins = {
otter = {
enable = true;
autoLoad = true;
};
};
}

View File

@@ -2,13 +2,15 @@
{
programs.nixvim = {
plugins.papis = {
plugins = {
papis = {
enable = true;
autoLoad = true;
settings = {
yq_bin = "${pkgs.yq-go}/bin/yq";
search.provider = "telescope";
search = {
provider = "telescope";
};
};
};
};
@@ -17,7 +19,9 @@
key = "<leader>pp";
action = "<CMD>Papis search<CR>";
mode = [ "n" ];
options.desc = "Papis";
options = {
desc = "Papis";
};
}
];
};

View File

@@ -0,0 +1,12 @@
{ ... }:
{
programs.nixvim.plugins = {
peek = {
enable = true;
settings = {
app = "firefox";
};
};
};
}

View File

@@ -1,77 +0,0 @@
{ ... }:
{
programs.nixvim.plugins.rainbow = {
enable = true;
autoLoad = true;
settings = {
active = 1;
conf = {
guifgs = [
"#f5c2e7"
"#eba0ac"
"#a6e3a1"
"#74c7ec"
"#f5e0dc"
"#cba6f7"
"#fab387"
"#94e2d5"
"#89b4fa"
"#f2cdcd"
"#f38ba8"
"#f9e2af"
"#89dceb"
"#b4befe"
];
operators = "_,_";
parentheses = [
"start=/(/ end=/)/ fold"
"start=/{/ end=/}/ fold"
"start=/\\[/ end=/\\]/ fold"
"start=/\\begin/ end=/\\end/ fold"
];
separately = {
"*".parentheses = [
"start=/(/ end=/)/ fold"
"start=/{/ end=/}/ fold"
"start=/\\[/ end=/\\]/ fold"
];
css = 0;
haskell.parentheses = [
"start=/(/ end=/)/ fold"
"start=/\[/ end=/\]/ fold"
"start=/\v\{\ze[^-]/ end=/}/ fold"
];
lisp.guifgs = [
"#f5c2e7"
"#eba0ac"
"#a6e3a1"
"#74c7ec"
"#f5e0dc"
"#cba6f7"
"#fab387"
"#94e2d5"
"#89b4fa"
"#f2cdcd"
"#f38ba8"
"#f9e2af"
"#89dceb"
"#b4befe"
];
markdown.parentheses_options = "containedin=markdownCode contained";
nerdtree = 0;
perl.syn_name_prefix = "perlBlockFoldRainbow";
stylus.parentheses = [ "start=/{/ end=/}/ fold contains=@colorableGroup" ];
tex.parentheses = [
"start=/(/ end=/)/ fold"
"start=/{/ end=/}/ fold"
"start=/\\[/ end=/\\]/ fold"
"start=/\\begin/ end=/\\end/ fold"
];
vim.parentheses_options = "containedin=vimFuncBody";
};
};
};
};
}

View File

@@ -3,44 +3,27 @@
{
home.packages = with pkgs; [ python312Packages.pylatexenc ];
programs.nixvim = {
plugins = {
programs.nixvim.plugins = {
render-markdown = {
enable = true;
lazyLoad.settings.filetypes = [ "md" ];
settings = {
ft = [ "markdown" ];
latex.enabled = false;
completions.lsp.enabled = true;
code = {
width = "block";
min_width = 45;
left_pad = 2;
language_pad = 2;
};
heading.icons = [ "󰎤 " "󰎧 " "󰎪 " "󰎭 " "󰎱 " "󰎳 " ];
};
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>m";
group = "Markdown";
icon = " ";
}
ft = [
"markdown"
"quarto"
];
latex = {
enabled = false;
};
completions = {
lsp = {
enabled = true;
};
};
};
};
keymaps = [
{
action = "<CMD>RenderMarkdown toggle<CR>";
key = "<leader>ms";
mode = "n";
options.desc = "Toggle markdown preview";
}
];
web-devicons = {
enable = true;
};
};
}

View File

@@ -1,44 +0,0 @@
{ pkgs, ... }:
{
programs.nixvim = {
extraPackages = with pkgs; [ rust-analyzer ];
plugins.rustaceanvim = {
enable = true;
lazyload.settings.filetype = [ "rs" ];
};
files."ftplugin/rust.lua" = {
keymaps = [
{
action.__raw = ''
function()
vim.cmd.RustAnalyzer('codeAction')
end
'';
key = "<leader>a";
mode = [ "n" ];
options = {
desc = "Code action";
silent = true;
buffer.__raw = "vim.api.nvim_get_current_buf()";
};
}
{
action.__raw = ''
function()
vim.cmd.RustAnalyzer({'hover', 'actions'})
end
'';
key = "K";
mode = [ "n" ];
options = {
silent = true;
buffer.__raw = "vim.api.nvim_get_current_buf()";
};
}
];
};
};
}

View File

@@ -1,14 +1,11 @@
{ ... }:
{
programs.nixvim = {
plugins = {
programs.nixvim.plugins = {
smart-splits = {
enable = true;
autoLoad = true;
};
};
keymaps = [
programs.nixvim.keymaps = [
{
action.__raw = "require('smart-splits').move_cursor_left";
key = "<C-S-p>h";
@@ -104,5 +101,4 @@
];
}
];
};
}

View File

@@ -1,17 +1,15 @@
{ ... }:
{...}:
{
programs.nixvim.plugins = {
luasnip = {
enable = true;
autoLoad = true;
fromVscode = [ { } ];
};
friendly-snippets = {
enable = true;
lazyLoad.enable = false;
};
};
}

View File

@@ -1,10 +1,10 @@
{ ... }:
{
programs.nixvim.plugins.sniprun = {
programs.nixvim = {
plugins = {
sniprun = {
enable = true;
autoLoad = true;
settings = {
display = [ "VirtualLine" ];
snipruncolors = {
@@ -14,7 +14,6 @@
ctermbg = "Cyan";
ctermfg = "Black";
};
SniprunVirtualTextErr = {
bg = "#ee99a0";
fg = "#000000";
@@ -24,4 +23,6 @@
};
};
};
};
};
}

View File

@@ -1,10 +1,10 @@
{ ... }:
{
programs.nixvim.plugins.startup = {
programs.nixvim = {
plugins = {
startup = {
enable = true;
autoLoad = true;
settings = {
theme = "dashboard";
sections = {
@@ -27,9 +27,9 @@
"<leader>of"
]
[
" Yazi"
" File Browser"
"Telescope file_browser"
"<leader>yf"
"<leader>fb"
]
[
" Colorschemes"
@@ -42,7 +42,6 @@
"<leader>nf"
]
];
defaultColor = "";
foldSection = true;
highlight = "String";
@@ -51,7 +50,6 @@
title = "Basic Commands";
type = "mapping";
};
header = {
align = "center";
content = {
@@ -68,4 +66,6 @@
};
};
};
};
};
}

View File

@@ -1,11 +1,11 @@
{ ... }:
{
programs.nixvim.plugins.nvim-surround = {
programs.nixvim.plugins = {
nvim-surround = {
enable = true;
autoLoad = true;
luaConfig.post = ''
luaConfig.post = # lua
''
local M = {}
M.get_input = function(prompt)
@@ -37,7 +37,6 @@
end,
delete = "^(. ?)().-( ?.)()$",
},
[")"] = {
add = { "(", ")" },
find = function()
@@ -45,7 +44,6 @@
end,
delete = "^(.)().-(.)()$",
},
["{"] = {
add = { "{ ", " }" },
find = function()
@@ -53,7 +51,6 @@
end,
delete = "^(. ?)().-( ?.)()$",
},
["}"] = {
add = { "{", "}" },
find = function()
@@ -61,7 +58,6 @@
end,
delete = "^(.)().-(.)()$",
},
["<"] = {
add = { "< ", " >" },
find = function()
@@ -69,7 +65,6 @@
end,
delete = "^(. ?)().-( ?.)()$",
},
[">"] = {
add = { "<", ">" },
find = function()
@@ -77,7 +72,6 @@
end,
delete = "^(.)().-(.)()$",
},
["["] = {
add = { "[ ", " ]" },
find = function()
@@ -85,7 +79,6 @@
end,
delete = "^(. ?)().-( ?.)()$",
},
["]"] = {
add = { "[", "]" },
find = function()
@@ -93,7 +86,6 @@
end,
delete = "^(.)().-(.)()$",
},
["'"] = {
add = { "'", "'" },
find = function()
@@ -101,7 +93,6 @@
end,
delete = "^(.)().-(.)()$",
},
['"'] = {
add = { '"', '"' },
find = function()
@@ -109,7 +100,6 @@
end,
delete = "^(.)().-(.)()$",
},
["`"] = {
add = { "`", "`" },
find = function()
@@ -117,7 +107,6 @@
end,
delete = "^(.)().-(.)()$",
},
["i"] = {
add = function()
local left_delimiter = M.get_input("Enter the left delimiter: ")
@@ -131,8 +120,8 @@
},
}
'';
settings.aliases = {
settings = {
aliases = {
"a" = ">";
"b" = ")";
"B" = "}";
@@ -153,7 +142,6 @@
"`"
];
};
keymaps = {
insert = "<C-g>s";
insert_line = "<C-g>S";
@@ -169,4 +157,6 @@
change_line = "cS";
};
};
};
};
}

View File

@@ -0,0 +1,49 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [
ripgrep
fd
];
programs.nixvim.plugins = {
telescope = {
enable = true;
extensions = {
fzf-native.enable = true;
ui-select.enable = true;
undo.enable = true;
file-browser = {
enable = true;
settings = {
hijack_netrw = true;
};
};
};
keymaps = {
"<leader>ff" = {
action = "find_files";
options.desc = "List Files";
};
"<leader>fb" = {
action = "file_browser path=%:p:h select_buffer=true";
options.desc = "File Browser";
};
"<leader>fs" = {
action = "buffers";
options.desc = "List Open Buffers";
};
"<leader>fu" = {
action = "undo";
options.desc = "Undo Tree";
};
};
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>f";
group = "Telescope";
icon = "󰭎 ";
}
];
};
}

View File

@@ -0,0 +1,30 @@
{ ... }:
# TODO: Make filetype keybindings work
{
programs.nixvim = {
plugins = {
texpresso = {
enable = false;
};
};
files = {
"ftplugin/latex.lua" = {
keymaps = [
{
action = "<CMD>Texpresso %<CR>";
key = "<C-k>t";
mode = [
"n"
"v"
"i"
];
options = {
desc = "Start Texpresso";
};
}
];
};
};
};
}

View File

@@ -4,47 +4,38 @@
programs.nixvim.plugins = {
todo-comments = {
enable = true;
autoLoad = true;
settings = {
highlight = {
comments_only = false;
};
colors = {
default = [
"Identifier"
"#7C3AED"
];
error = [
"DiagnosticError"
"ErrorMsg"
"#DC2626"
];
hint = [
"DiagnosticHint"
"#10B981"
];
info = [
"DiagnosticInfo"
"#2563EB"
];
test = [
"Identifier"
"#FF00FF"
];
warning = [
"DiagnosticWarn"
"WarningMsg"
"#FBBF24"
];
};
keywords = {
FIX = {
alt = [
@@ -56,12 +47,10 @@
color = "error";
icon = " ";
};
HACK = {
color = "warning";
icon = " ";
};
NOTE = {
alt = [
"INFO"
@@ -69,7 +58,6 @@
color = "hint";
icon = " ";
};
PERF = {
alt = [
"OPTIM"
@@ -78,7 +66,6 @@
];
icon = " ";
};
TEST = {
alt = [
"TESTING"
@@ -88,12 +75,10 @@
color = "test";
icon = " ";
};
TODO = {
color = "info";
icon = " ";
};
WARN = {
alt = [
"WARNING"

View File

@@ -5,46 +5,38 @@
plugins = {
toggleterm = {
enable = true;
lazyLoad.settings.cmd = [
"ToggleTermSendCurrentLine"
"ToggleTermSendVisualLines"
"ToggleTermSendVisualSelection"
];
settings = {
open_mapping.__raw = "[[<c-,>]]";
insert_mappings = true;
shade_terminals = false;
};
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>s";
group = "Terminal";
icon = " ";
}
];
};
keymaps = [
{
action = "<CMD>ToggleTermSendCurrentLine<CR>";
key = "<leader>sl";
key = "<leader>sts";
mode = "n";
options.desc = "Send Current Line";
options = {
desc = "Send Current Line";
};
}
{
action = "<CMD>ToggleTermSendVisualLines<CR>";
key = "<leader>sv";
key = "<leader>stv";
mode = "x";
options.desc = "Send all the (whole) lines in selection";
options = {
desc = "Send all the (whole) lines in selection";
};
}
{
action = "<CMD>ToggleTermSendVisualSelection<CR>";
key = "<leader>ss";
key = "<leader>sts";
mode = "x";
options.desc = "Send selection";
options = {
desc = "Send selection";
};
}
];
};

View File

@@ -4,8 +4,6 @@
programs.nixvim.plugins = {
treesitter = {
enable = true;
autoLoad = true;
folding.enable = false;
settings = {
auto_install = false;
@@ -15,7 +13,6 @@
ts-context-commentstring = {
enable = true;
lazyLoad.enable = false;
};
};
}

View File

@@ -5,8 +5,6 @@
plugins = {
trouble = {
enable = true;
lazyLoad.settings.cmd = "Trouble";
settings = {
modes = {
diagnostics = {
@@ -16,7 +14,9 @@
# Diagnostics for the current buffer only
diagnostics_buffer = {
mode = "diagnostics";
filter.buf = 0;
filter = {
buf = 0;
};
};
};
focus = false;

View File

@@ -2,19 +2,23 @@
{
programs.nixvim = {
plugins.typst-preview = {
plugins = {
typst-preview = {
enable = true;
lazyLoad = {
settings = {
ft = [ "typst" ];
ft = "typst";
cmd = "TypstPreview";
};
};
settings.open_command = "qutebrowser --target tab %s";
settings = {
open_command = "qutebrowser --target tab %s";
};
files."ftplugin/typst.lua".keymaps = [
};
};
files = {
"ftplugin/typst.lua" = {
keymaps = [
{
action = "<CMD>TypstPreview<CR>";
key = "<C-k>t";
@@ -23,8 +27,12 @@
"v"
"i"
];
options.desc = "Typst Preview";
options = {
desc = "Typst Preview";
};
}
];
};
};
};
}

View File

@@ -1,15 +1,17 @@
{ ... }:
# TODO: conceal does not work
# TODO: coneal does not work
{
programs.nixvim.plugins.typst-vim = {
programs.nixvim = {
plugins = {
typst-vim = {
enable = true;
lazyLoad.settings.filetypes = [ "typst" ];
settings = {
conceal = 1;
conceal_math = 1;
conceal_emoji = 1;
};
};
};
};
}

View File

@@ -5,38 +5,7 @@
plugins = {
undotree = {
enable = true;
lazyLoad.settings.cmd = "UndotreeShow";
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>t";
group = "Undotree";
icon = " ";
}
];
};
keymaps = [
{
key = "<leader>th";
action = "<cmd>UndotreeHide<cr>";
options.desc = "Hide undotree";
}
{
key = "<leader>tf";
action = "<cmd>UndotreeFocus<cr>";
options.desc = "Focus undotree";
}
{
key = "<leader>tp";
action = "<cmd>UndotreePersistUndo<cr>";
options.desc = "Persist undo";
}
{
key = "<leader>ts";
action = "<cmd>UndotreeShow<cr>";
options.desc = "Show undotree";
}
];
};
}

View File

@@ -1,33 +0,0 @@
{ ... }:
{
programs.nixvim = {
plugins = {
unified = {
enable = true;
lazyLoad.settings.cmd = "Unified";
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>u";
group = "Unified";
icon = " ";
}
];
};
keymaps = [
{
key = "<leader>us";
action = "<cmd>Unified<cr>";
options.desc = "Start Unified";
}
{
key = "<leader>uq";
action = "<cmd>Unified reset<cr><cmd>Unified reset<cr>";
options.desc = "Stop Unified";
}
];
};
}

View File

@@ -1,45 +1,17 @@
{ pkgs,... }:
{ ... }:
{
programs.nixvim = {
extraPackages = with pkgs; [
texliveFull
texlivePackages.standalone
texlivePackages.relsize # needed for BA
# papis-nvim
];
plugins = {
vimtex = {
enable = true;
lazyLoad.settings.filetype = [ "tex" ];
settings = {
view_automatic = false;
mappings_disable = {
"n" = [ "K" ];
};
view_method = "zathura";
};
};
ltex-extra = {
enable = true;
lazyLoad.settings.filetype = [ "tex" ];
};
texpresso = {
enable = true;
lazyload.settings.filetype = [ "tex" ];
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>v";
group = "Vimtex";
icon = " ";
}
];
};
autoGroups = {
@@ -64,36 +36,5 @@
'';
}
];
keymaps = [
{
key = "<leader>vc";
action = "<cmd>VimtexCompile<cr>";
options.desc = "Start Vimtex";
}
{
key = "<leader>vs";
action = "<cmd>VimtexStop<cr>";
options.desc = "Stop Vimtex";
}
{
key = "<leader>vr";
action = "<cmd>VimtexClean<cr>";
options.desc = "Clean Vimtex";
}
];
files."ftplugin/latex.lua".keymaps = [
{
action = "<CMD>Texpresso %<CR>";
key = "<C-k>t";
mode = [
"n"
"v"
"i"
];
options.desc = "Start Texpresso";
}
];
};
}

View File

@@ -1,8 +1,9 @@
{ ... }:
{
programs.nixvim.plugins.web-devicons = {
enable = true;
autoLoad = true;
programs.nixvim = {
plugins = {
web-devicons.enable = true;
};
};
}

View File

@@ -1,8 +1,9 @@
{ ... }:
{
programs.nixvim.plugins.which-key = {
programs.nixvim.plugins = {
which-key = {
enable = true;
autoLoad = true;
};
};
}

View File

@@ -1,48 +0,0 @@
{ ... }:
{
programs.nixvim.plugins.wilder = {
enable = true;
autoLoad = true;
settings.modes = [
":"
"/"
"?"
];
# Configure the wilder engine
options = {
pipeline.__raw = ''
wilder.branch(
wilder.cmdline_pipeline({
fuzzy = 1,
set_device = 1,
}),
wilder.vim_search_pipeline()
)
'';
renderer.__raw = ''
wilder.popupmenu_renderer(
wilder.popupmenu_border_theme({
highlighter = wilder.basic_highlighter(),
highlights = {
accent = "WilderAccent",
},
border = "rounded",
left = { " ", wilder.popupmenu_devicons() },
right = { " ", wilder.popupmenu_scrollbar() },
})
)
'';
};
};
# Define the custom highlight group for the accent color
programs.nixvim.highlight = {
WilderAccent = {
fg = "#f5c2e7";
bold = true;
};
};
}

View File

@@ -0,0 +1,69 @@
{ ... }:
{
programs.nixvim = {
plugins = {
yanky = {
enable = true;
settings = {
ring = {
storage = "sqlite";
};
};
};
sqlite-lua = {
enable = true;
};
};
keymaps = [
{
key = "p";
action = "<Plug>(YankyPutAfter)";
mode = [
"n"
"x"
];
}
{
key = "P";
action = "<Plug>(YankyPutBefore)";
mode = [
"n"
"x"
];
}
{
key = "gp";
action = "<Plug>(YankyGPutAfter)";
mode = [
"n"
"x"
];
}
{
key = "gP";
action = "<Plug>(YankyGPutBefore)";
mode = [
"n"
"x"
];
}
{
key = "<c-p>";
action = "<Plug>(YankyPreviousEntry)";
mode = [
"n"
];
}
{
key = "<c-n>";
action = "<Plug>(YankyNextEntry)";
mode = [
"n"
];
}
];
};
}

View File

@@ -1,37 +0,0 @@
{ ... }:
{
programs.nixvim = {
plugins = {
yazi = {
enable = true;
autoLoad = true;
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>y";
group = "Yazi";
icon = " ";
}
];
};
keymaps = [
{
key = "<leader>yf";
action = "<cmd>Yazi<cr>";
options.desc = "Open yazi at the current file";
}
{
key = "<leader>yw";
action = "<cmd>Yazi cwd<cr>";
options.desc = "Open yazi at the current working directory";
}
{
key = "<leader>yl";
action = "<cmd>Yazi toggle<cr>";
options.desc = "Resume the last session";
}
];
};
}

View File

@@ -1,8 +0,0 @@
{ ... }:
{
programs.nixvim.plugins.yuck = {
enable = true;
lazyLoad.settings.filetypes = [ "yuck" ];
};
}

View File

@@ -0,0 +1,95 @@
{ ... }:
{
programs.nixvim = {
plugins = {
zk = {
enable = true;
settings = {
picker = "telescope";
};
};
which-key.settings.spec = [
{
__unkeyed-1 = "<leader>z";
group = "Zettelkasten";
icon = "󰝰 ";
}
];
};
keymaps = [
{
key = "<leader>zn";
action = "<Cmd>ZkNew { title = vim.fn.input('Title: ') }<CR>";
mode = [ "n" ];
options = {
desc = "Create";
};
}
{
key = "<leader>zo";
action = "<Cmd>ZkNotes { sort = { 'modified' } }<CR>";
mode = [ "n" ];
options = {
desc = "Open";
};
}
{
key = "<leader>zt";
action = "<Cmd>ZkTags<CR>";
mode = [ "n" ];
options = {
desc = "Open Tags";
};
}
{
key = "<leader>zf";
action = "<Cmd>ZkNotes { sort = { 'modified' }, match = { vim.fn.input('Search: ') } }<CR>";
mode = [ "n" ];
options = {
desc = "Search";
};
}
{
key = "<leader>zf";
action = ":'<,'>ZkMatch<CR>";
mode = [ "v" ];
options = {
desc = "Search (Matching the Selection)";
};
}
];
files = {
# TODO: Add descriptions
# TODO: Did the sytnax change?
"ftplugin/markdown.lua" = {
extraConfigLua = # lua
''
-- Add the key mappings only for Markdown files in a zk notebook.
if require("zk.util").notebook_root(vim.fn.expand('%:p')) ~= nil then
local function map(...) vim.api.nvim_buf_set_keymap(0, ...) end
local opts = { noremap=true, silent=false }
-- Create a new note after asking for its title.
-- This overrides the global `<leader>zn` mapping to create the note in the same directory as the current buffer.
map("n", "<leader>zn", "<Cmd>ZkNew { dir = vim.fn.expand('%:p:h'), title = vim.fn.input('Title: ') }<CR>", opts)
-- Create a new note in the same directory as the current buffer, using the current selection for title.
map("v", "<leader>znt", ":'<,'>ZkNewFromTitleSelection { dir = vim.fn.expand('%:p:h') }<CR>", opts)
-- Create a new note in the same directory as the current buffer, using the current selection for note content and asking for its title.
map("v", "<leader>znc", ":'<,'>ZkNewFromContentSelection { dir = vim.fn.expand('%:p:h'), title = vim.fn.input('Title: ') }<CR>", opts)
-- Open notes linking to the current buffer.
map("n", "<leader>zb", "<Cmd>ZkBacklinks<CR>", opts)
-- Open notes linked by the current buffer.
map("n", "<leader>zl", "<Cmd>ZkLinks<CR>", opts)
-- Preview a linked note.
map("n", "K", "<Cmd>lua vim.lsp.buf.hover()<CR>", opts)
-- Open the code actions for a visual selection.
map("v", "<leader>za", ":'<,'>lua vim.lsp.buf.range_code_action()<CR>", opts)
end
'';
};
};
};
}

View File

@@ -2,6 +2,7 @@
{
imports = [
./emanote.nix
./flameshot.nix
./fnott.nix
./gpg-agent.nix

23
home/services/emanote.nix Normal file
View File

@@ -0,0 +1,23 @@
{ config, ... }:
let
emanote = import (
builtins.fetchTarball {
url = "https://github.com/srid/emanote/archive/master.tar.gz";
sha256 = "0kr8bbq1awg2c2ra1mwjxqa9m7is9b6cdksvh48g4w354h5pqbnv";
}
);
in
{
imports = [ emanote.homeManagerModule ];
services.emanote = {
enable = true;
# host = "127.0.0.1"; # default listen address is 127.0.0.1
# port = 7000; # default http port is 7000
notes = [
"/home/elias/Nextcloud/zettelkasten"
];
# TODO: currentSystem
package = emanote.packages."x86_64-linux".default;
};
}