diff --git a/docs/TODO.md b/docs/TODO.md index 9864ac1..5cec4c9 100644 --- a/docs/TODO.md +++ b/docs/TODO.md @@ -23,6 +23,15 @@ feel free to contribute <3 ([CONTRIBUTING.md](CONTRIBUTING.md)) - [ ] Nixvim - [+] Markdown snippets - [+] Markdown fold + - [ ] Keymaps: + - Toggle todos + - Format tables + - Trouble + - Telescope find file from filename, find file from content + - Neo Tree, Oil + - Dashboard + - Tagbar + - Line wrapping - [ ] Backup system for some folders ($home/dev, $home/pictures, ...) - [ ] Exclude file pattern (nodes modules, ...) diff --git a/docs/scripts/keybindings_to_markdown.sh b/docs/scripts/keybindings_to_markdown.sh index 5aad391..db09394 100644 --- a/docs/scripts/keybindings_to_markdown.sh +++ b/docs/scripts/keybindings_to_markdown.sh @@ -41,10 +41,10 @@ echo "" >>"$KEYBINDINGS_FILE" echo "The list of the keybindings working on Hyprland:" >>"$KEYBINDINGS_FILE" echo "" >>"$KEYBINDINGS_FILE" -echo "| Description | Keybinding | Command |" >>"$KEYBINDINGS_FILE" -echo "| -- | -- | -- |" >>"$KEYBINDINGS_FILE" -echo "| Switch Workspace | SUPER + {Number} | workspace {Number} |" >>"$KEYBINDINGS_FILE" -echo "| Move app to Workspace | SUPER SHIFT + {Number} | movetoworkspace {Number} |" >>"$KEYBINDINGS_FILE" +echo "| Description | Keybinding |" >>"$KEYBINDINGS_FILE" +echo "| -- | -- |" >>"$KEYBINDINGS_FILE" +echo "| Switch Workspace | SUPER + {Number} |" >>"$KEYBINDINGS_FILE" +echo "| Move app to Workspace | SHIFT + SUPER + {Number} |" >>"$KEYBINDINGS_FILE" echo "$keybindings" | while read line; do comment=$(echo "$line" | cut -d\# -f2) line=$(echo "$line" | cut -d\# -f1) @@ -55,9 +55,9 @@ echo "$keybindings" | while read line; do params=$(echo "$line" | cut -d, -f4) [[ $mod == '$mod' ]] && mod="SUPER + " - [[ $mod == '$shiftMod' ]] && mod="SUPER SHIFT + " + [[ $mod == '$shiftMod' ]] && mod="SHIFT + SUPER + " - echo "| $comment | $mod$key | $dispatcher $params |" >>"$KEYBINDINGS_FILE" + echo "| $comment | $mod$key |" >>"$KEYBINDINGS_FILE" done pandoc -t commonmark_x "$KEYBINDINGS_FILE" -o "/tmp/keybindings.md" diff --git a/home/programs/nvim/default.nix b/home/programs/nvim/default.nix index 3f9e2e4..48d677f 100644 --- a/home/programs/nvim/default.nix +++ b/home/programs/nvim/default.nix @@ -1,32 +1,15 @@ { inputs, ... }: { imports = [ inputs.nixvim.homeManagerModules.nixvim - ./plugins/auto-pairs.nix - ./plugins/bufferline.nix - ./plugins/lazygit.nix - ./plugins/telescope.nix - ./plugins/nvim-tree.nix - ./plugins/lightline.nix - ./plugins/git.nix ./plugins/cmp.nix - ./plugins/none-ls.nix - ./plugins/wilder.nix + ./plugins/dashboard.nix ./plugins/lsp.nix - ./plugins/treesitter.nix - ./plugins/toggleterm.nix - ./plugins/copilot.nix - ./plugins/whichkey.nix - ./plugins/alpha.nix - ./plugins/comment.nix - ./plugins/oil.nix - ./plugins/trouble.nix - ./plugins/tmux-navigator.nix - ./plugins/noice.nix - ./plugins/obsidian.nix - ./plugins/image.nix - # ./plugins/ltex.nix - ./plugins/flash.nix + ./plugins/markdown.nix + ./plugins/tree.nix + ./plugins/ui.nix + ./plugins/utils.nix ./plugins/zen-mode.nix + ./options.nix ./colorscheme.nix ./keymaps.nix diff --git a/home/programs/nvim/keymaps.nix b/home/programs/nvim/keymaps.nix index 8016312..33e46e9 100644 --- a/home/programs/nvim/keymaps.nix +++ b/home/programs/nvim/keymaps.nix @@ -1,84 +1,14 @@ { programs.nixvim.keymaps = [ - { - key = "E"; - action = "Neotree toggle"; - options.desc = "Neotree Toggle"; - } { key = "fm"; - action = "lua vim.lsp.buf.format()"; + action = "lua vim.lsp.buf.format()"; options.desc = "LSP Format"; } { - key = "ox"; + key = "ft"; action = "vip:!pandoc -t commonmark_x"; - options.desc = "Format Markdown Tables"; - } - { - key = "ot"; - action = "lua require('obsidian').util.toggle_checkbox()"; - options.desc = "Toggle Checkbox"; - } - - { - key = "oo"; - action = "ObsidianQuickSwitch"; - options.desc = "Quick Switch"; - } - - { - key = "on"; - action = "ObsidianNew"; - options.desc = "New"; - } - - { - key = "of"; - action = "ObsidianSearch"; - options.desc = "Search"; - } - - { - key = "oi"; - action = "ObsidianPasteImg"; - options.desc = "Paste Image"; - } - - { - key = "e"; - action = "Oil"; - options.desc = "Oil"; - } - - { - key = "t"; - action = "TroubleToggle"; - options.desc = "Trouble"; - } - - { - key = ""; - action = "TmuxNavigateLeft"; - } - { - key = ""; - action = "TmuxNavigateDown"; - } - { - key = ""; - action = "TmuxNavigateUp"; - } - { - key = ""; - action = "TmuxNavigateRight"; - } - - # Terminal Mappings - { - mode = "t"; - key = ""; - action = ""; + options.desc = "Format markdown table"; } ]; } diff --git a/home/programs/nvim/plugins/auto-pairs.nix b/home/programs/nvim/plugins/auto-pairs.nix deleted file mode 100644 index a347400..0000000 --- a/home/programs/nvim/plugins/auto-pairs.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.nixvim.plugins.nvim-autopairs = { enable = true; }; } diff --git a/home/programs/nvim/plugins/bufferline.nix b/home/programs/nvim/plugins/bufferline.nix deleted file mode 100644 index 415e33d..0000000 --- a/home/programs/nvim/plugins/bufferline.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.nixvim.plugins.bufferline = { enable = true; }; } diff --git a/home/programs/nvim/plugins/comment.nix b/home/programs/nvim/plugins/comment.nix deleted file mode 100644 index 2caa124..0000000 --- a/home/programs/nvim/plugins/comment.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.nixvim.plugins.comment = { enable = true; }; } diff --git a/home/programs/nvim/plugins/copilot.nix b/home/programs/nvim/plugins/copilot.nix deleted file mode 100644 index 8e74648..0000000 --- a/home/programs/nvim/plugins/copilot.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.nixvim.plugins.copilot-vim = { - enable = true; - }; -} diff --git a/home/programs/nvim/plugins/alpha.nix b/home/programs/nvim/plugins/dashboard.nix similarity index 100% rename from home/programs/nvim/plugins/alpha.nix rename to home/programs/nvim/plugins/dashboard.nix diff --git a/home/programs/nvim/plugins/flash.nix b/home/programs/nvim/plugins/flash.nix deleted file mode 100644 index e24f287..0000000 --- a/home/programs/nvim/plugins/flash.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.nixvim.plugins.flash = { enable = true; }; } diff --git a/home/programs/nvim/plugins/git.nix b/home/programs/nvim/plugins/git.nix deleted file mode 100644 index 6d1f4d9..0000000 --- a/home/programs/nvim/plugins/git.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.nixvim.plugins.gitsigns = { - enable = true; - settings = { current_line_blame = false; }; - }; -} diff --git a/home/programs/nvim/plugins/image.nix b/home/programs/nvim/plugins/image.nix deleted file mode 100644 index 78914d1..0000000 --- a/home/programs/nvim/plugins/image.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.nixvim.plugins.image = { enable = true; }; } diff --git a/home/programs/nvim/plugins/lazygit.nix b/home/programs/nvim/plugins/lazygit.nix deleted file mode 100644 index b340c83..0000000 --- a/home/programs/nvim/plugins/lazygit.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.nixvim.plugins.lazygit = { enable = true; }; } diff --git a/home/programs/nvim/plugins/lightline.nix b/home/programs/nvim/plugins/lightline.nix deleted file mode 100644 index 270a763..0000000 --- a/home/programs/nvim/plugins/lightline.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.nixvim.plugins.lualine = { enable = true; }; } diff --git a/home/programs/nvim/plugins/lsp.nix b/home/programs/nvim/plugins/lsp.nix index 7f62378..6c5f31f 100644 --- a/home/programs/nvim/plugins/lsp.nix +++ b/home/programs/nvim/plugins/lsp.nix @@ -28,5 +28,23 @@ "K" = "hover"; }; }; + none-ls = { + enable = true; + sources = { + diagnostics = { + golangci_lint.enable = true; + statix.enable = true; + }; + formatting = { + gofmt.enable = true; + goimports.enable = true; + nixfmt.enable = true; + markdownlint.enable = true; + tidy.enable = true; + shellharden.enable = true; + shfmt.enable = true; + }; + }; + }; }; } diff --git a/home/programs/nvim/plugins/ltex.nix b/home/programs/nvim/plugins/ltex.nix deleted file mode 100644 index 337de0b..0000000 --- a/home/programs/nvim/plugins/ltex.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - programs.nixvim.plugins.ltex-extra = { - enable = true; - settings = { - initCheck = true; - loadLangs = [ "en-US" "fr-FR" ]; - logLevel = "non"; - }; - }; -} diff --git a/home/programs/nvim/plugins/markdown.nix b/home/programs/nvim/plugins/markdown.nix new file mode 100644 index 0000000..c513eb4 --- /dev/null +++ b/home/programs/nvim/plugins/markdown.nix @@ -0,0 +1,134 @@ +{ + programs.nixvim.plugins = { + mkdnflow = { + enable = true; + mappings = { + MkdnCreateLink = false; + MkdnCreateLinkFromClipboard = { + key = "p"; + modes = [ + "n" + "v" + ]; + }; + MkdnDecreaseHeading = { + key = "-"; + modes = "n"; + }; + MkdnDestroyLink = { + key = ""; + modes = "n"; + }; + MkdnEnter = { + key = ""; + modes = [ + "n" + "v" + "i" + ]; + }; + MkdnExtendList = false; + MkdnFoldSection = { + key = "f"; + modes = "n"; + }; + MkdnFollowLink = false; + MkdnGoBack = { + key = ""; + modes = "n"; + }; + MkdnGoForward = { + key = ""; + modes = "n"; + }; + MkdnIncreaseHeading = { + key = "+"; + modes = "n"; + }; + MkdnMoveSource = { + key = ""; + modes = "n"; + }; + MkdnNewListItem = false; + MkdnNewListItemAboveInsert = { + key = "O"; + modes = "n"; + }; + MkdnNewListItemBelowInsert = { + key = "o"; + modes = "n"; + }; + MkdnNextHeading = { + key = "]]"; + modes = "n"; + }; + MkdnNextLink = { + key = ""; + modes = "n"; + }; + MkdnPrevHeading = { + key = "[["; + modes = "n"; + }; + MkdnPrevLink = { + key = ""; + modes = "n"; + }; + MkdnSTab = false; + MkdnTab = false; + MkdnTableNewColAfter = { + key = "ic"; + modes = "n"; + }; + MkdnTableNewColBefore = { + key = "iC"; + modes = "n"; + }; + MkdnTableNewRowAbove = { + key = "iR"; + modes = "n"; + }; + MkdnTableNewRowBelow = { + key = "ir"; + modes = "n"; + }; + MkdnTableNextCell = { + key = ""; + modes = "i"; + }; + MkdnTableNextRow = false; + MkdnTablePrevCell = { + key = ""; + modes = "i"; + }; + MkdnTablePrevRow = { + key = ""; + modes = "i"; + }; + MkdnToggleToDo = { + key = ""; + modes = [ + "n" + "v" + ]; + }; + MkdnUnfoldSection = { + key = "F"; + modes = "n"; + }; + MkdnUpdateNumbering = { + key = "nn"; + modes = "n"; + }; + MkdnYankAnchorLink = { + key = "ya"; + modes = "n"; + }; + MkdnYankFileAnchorLink = { + key = "yfa"; + modes = "n"; + }; + }; + }; + }; +} \ No newline at end of file diff --git a/home/programs/nvim/plugins/noice.nix b/home/programs/nvim/plugins/noice.nix deleted file mode 100644 index b303d04..0000000 --- a/home/programs/nvim/plugins/noice.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.nixvim.plugins.noice = { enable = true; }; } diff --git a/home/programs/nvim/plugins/none-ls.nix b/home/programs/nvim/plugins/none-ls.nix deleted file mode 100644 index eb3f630..0000000 --- a/home/programs/nvim/plugins/none-ls.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - programs.nixvim.plugins.none-ls = { - enable = true; - sources = { - diagnostics = { - golangci_lint.enable = true; - statix.enable = true; - }; - formatting = { - gofmt.enable = true; - goimports.enable = true; - nixfmt.enable = true; - markdownlint.enable = true; - tidy.enable = true; - shellharden.enable = true; - shfmt.enable = true; - }; - }; - }; -} diff --git a/home/programs/nvim/plugins/nvim-tree.nix b/home/programs/nvim/plugins/nvim-tree.nix deleted file mode 100644 index ef41e5e..0000000 --- a/home/programs/nvim/plugins/nvim-tree.nix +++ /dev/null @@ -1,5 +0,0 @@ -{ - programs.nixvim.plugins.neo-tree = { - enable = true; - }; -} diff --git a/home/programs/nvim/plugins/obsidian.nix b/home/programs/nvim/plugins/obsidian.nix deleted file mode 100644 index 717442f..0000000 --- a/home/programs/nvim/plugins/obsidian.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ config, ... }: { - programs.nixvim.plugins.obsidian = { - enable = config.var.obsidian; - settings = { - completion = { - min_chars = 2; - nvim_cmp = true; - }; - disable_frontmatter = true; - workspaces = [{ - name = "note"; - path = "~/nextcloud/Notes"; - }]; - }; - }; -} diff --git a/home/programs/nvim/plugins/oil.nix b/home/programs/nvim/plugins/oil.nix deleted file mode 100644 index 0d5a309..0000000 --- a/home/programs/nvim/plugins/oil.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.nixvim.plugins.oil = { - enable = true; - settings = { default_file_explorer = false; }; - }; -} diff --git a/home/programs/nvim/plugins/telescope.nix b/home/programs/nvim/plugins/telescope.nix deleted file mode 100644 index 1b93400..0000000 --- a/home/programs/nvim/plugins/telescope.nix +++ /dev/null @@ -1,13 +0,0 @@ -{ - programs.nixvim.plugins.telescope = { - enable = true; - keymaps = { - "fg" = "live_grep"; - #"" = { - # action = "git_files"; - # desc = "Telescope Git Files"; - #}; - }; - extensions.fzf-native = { enable = true; }; - }; -} diff --git a/home/programs/nvim/plugins/tmux-navigator.nix b/home/programs/nvim/plugins/tmux-navigator.nix deleted file mode 100644 index 194a1db..0000000 --- a/home/programs/nvim/plugins/tmux-navigator.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.nixvim.plugins.tmux-navigator = { enable = true; }; } diff --git a/home/programs/nvim/plugins/toggleterm.nix b/home/programs/nvim/plugins/toggleterm.nix deleted file mode 100644 index 5dca9f5..0000000 --- a/home/programs/nvim/plugins/toggleterm.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ - programs.nixvim.plugins.toggleterm = { - enable = true; - settings = { - open_mapping = "[[]]"; - direction = "horizontal"; - }; - }; -} diff --git a/home/programs/nvim/plugins/tree.nix b/home/programs/nvim/plugins/tree.nix new file mode 100644 index 0000000..2ec6cbc --- /dev/null +++ b/home/programs/nvim/plugins/tree.nix @@ -0,0 +1,31 @@ +{ + programs.nixvim = { + plugins = { + neo-tree.enable = true; + oil = { + enable = true; + settings = { + default_file_explorer = false; + skip_confirm_for_simple_edits = true; + }; + }; + }; + keymaps = [ + { + key = "-"; + action = "Oil"; + options.desc = "Oil"; + } + { + key = "e"; + action = "Oil --float"; + options.desc = "Oil"; + } + { + key = "E"; + action = "Neotree toggle"; + options.desc = "Neotree"; + } + ]; + }; +} diff --git a/home/programs/nvim/plugins/treesitter.nix b/home/programs/nvim/plugins/treesitter.nix deleted file mode 100644 index eeb2e23..0000000 --- a/home/programs/nvim/plugins/treesitter.nix +++ /dev/null @@ -1,10 +0,0 @@ -{ - programs.nixvim.plugins = { - treesitter = { - enable = true; - nixGrammars = true; - indent = true; - }; - treesitter-context.enable = true; - }; -} diff --git a/home/programs/nvim/plugins/trouble.nix b/home/programs/nvim/plugins/trouble.nix deleted file mode 100644 index 831382a..0000000 --- a/home/programs/nvim/plugins/trouble.nix +++ /dev/null @@ -1 +0,0 @@ -{ programs.nixvim.plugins.trouble = { enable = true; }; } diff --git a/home/programs/nvim/plugins/ui.nix b/home/programs/nvim/plugins/ui.nix new file mode 100644 index 0000000..4f3ba6d --- /dev/null +++ b/home/programs/nvim/plugins/ui.nix @@ -0,0 +1,24 @@ +{ + programs.nixvim= { + plugins = { + lualine.enable = true; + noice.enable = true; + gitsigns = { + enable = true; + settings.current_line_blame = false; + }; + bufferline.enable = true; + trouble.enable = true; + which-key.enable=true; + headlines.enable=true; + tagbar.enable =true; + }; + keymaps = [ + { + key = "t"; + action = "TroubleToggle"; + options.desc = "Trouble"; + } + ]; + }; +} diff --git a/home/programs/nvim/plugins/utils.nix b/home/programs/nvim/plugins/utils.nix new file mode 100644 index 0000000..edc44ab --- /dev/null +++ b/home/programs/nvim/plugins/utils.nix @@ -0,0 +1,44 @@ +{ + programs.nixvim = { + plugins = { + copilot-vim.enable = true; + flash.enable = true; + image.enable = true; + tmux-navigator.enable = true; + comment.enable = true; + nvim-autopairs.enable = true; + friendly-snippets.enable = true; + telescope = { + enable = true; + keymaps = { + "fg" = "live_grep"; + }; + extensions.fzf-native = { enable = true; }; + }; + treesitter = { + enable = true; + nixGrammars = true; + indent = true; + }; + treesitter-context.enable = true; + }; + keymaps = [ + { + key = ""; + action = "TmuxNavigateLeft"; + } + { + key = ""; + action = "TmuxNavigateDown"; + } + { + key = ""; + action = "TmuxNavigateUp"; + } + { + key = ""; + action = "TmuxNavigateRight"; + } + ]; + }; +} diff --git a/home/programs/nvim/plugins/whichkey.nix b/home/programs/nvim/plugins/whichkey.nix deleted file mode 100644 index 61cacfa..0000000 --- a/home/programs/nvim/plugins/whichkey.nix +++ /dev/null @@ -1,3 +0,0 @@ -{ - programs.nixvim.plugins.which-key.enable=true; -} diff --git a/home/programs/nvim/plugins/wilder.nix b/home/programs/nvim/plugins/wilder.nix deleted file mode 100644 index d699fb9..0000000 --- a/home/programs/nvim/plugins/wilder.nix +++ /dev/null @@ -1,6 +0,0 @@ -{ - programs.nixvim.plugins.wilder = { - enable = true; - modes = [ ":" "/" "?" ]; - }; -}