diff --git a/modules/home/apps/kitty/default.nix b/modules/home/apps/kitty/default.nix index 9fe49fe..78a2738 100644 --- a/modules/home/apps/kitty/default.nix +++ b/modules/home/apps/kitty/default.nix @@ -20,8 +20,7 @@ let cursor_shape = "Beam"; }; defaultFont = { - name = "Hack"; - package = pkgs.nerd-fonts.hack; + name = "Hack Nerd Font"; size = 12; }; in @@ -34,9 +33,10 @@ in }; config = mkIf cfg.enable { + home.packages = [ pkgs.kitty-themes ]; programs.kitty = { enable = true; - themeFile = "Dracula"; + themeFile = "tokyo_night_night"; inherit (cfg) font settings; }; diff --git a/modules/nixos/cli/neovim/cmp/default.nix b/modules/nixos/cli/neovim/cmp/default.nix new file mode 100644 index 0000000..a5ce773 --- /dev/null +++ b/modules/nixos/cli/neovim/cmp/default.nix @@ -0,0 +1,3 @@ +{ + programs.nvf.settings.vim.autocomplete.nvim-cmp.enable = true; +} diff --git a/modules/nixos/cli/neovim/default.nix b/modules/nixos/cli/neovim/default.nix index 4ddc756..81cf366 100644 --- a/modules/nixos/cli/neovim/default.nix +++ b/modules/nixos/cli/neovim/default.nix @@ -1,5 +1,53 @@ { - imports = [ - ./vim-config.nix - ]; + config, + lib, + namespace, + ... +}: +with lib; +with lib.${namespace}; +let + cfg = config.${namespace}.cli.neovim; +in +{ + options.${namespace}.cli.neovim = with types; { + enable = mkBoolOpt false "Whether or not to enable neovim."; + }; + config = mkIf cfg.enable { + programs.nvf = { + enable = true; + settings = { + vim = { + viAlias = true; + vimAlias = true; + + lineNumberMode = "relNumber"; + + options = { + tabstop = 2; + shiftwidth = 2; + cursorlineopt = "screenline"; + }; + + undoFile.enable = true; + + keymaps = [ + { + key = ""; + mode = [ "n" ]; + action = "Neotree toggle"; + desc = "Toggles neo-tree"; + } + { + key = "g="; + mode = [ "n" ]; + action = "m'ggVG=''"; + desc = "Reindent code"; + } + ]; + }; + }; + }; + }; + } diff --git a/modules/nixos/cli/neovim/lsp/default.nix b/modules/nixos/cli/neovim/lsp/default.nix new file mode 100644 index 0000000..44bd6cc --- /dev/null +++ b/modules/nixos/cli/neovim/lsp/default.nix @@ -0,0 +1,17 @@ +{ + programs.nvf.settings.vim = { + lsp.enable = true; + languages = { + enableLSP = true; + enableTreesitter = true; + nix.enable = true; + nix.format.type = "nixfmt"; + bash.enable = true; + go.enable = true; + rust.enable = true; + python.enable = true; + enableFormat = true; + }; + }; + +} diff --git a/modules/nixos/cli/neovim/lualine/default.nix b/modules/nixos/cli/neovim/lualine/default.nix new file mode 100644 index 0000000..eca992d --- /dev/null +++ b/modules/nixos/cli/neovim/lualine/default.nix @@ -0,0 +1,3 @@ +{ + programs.nvf.settings.vim.statusline.lualine.enable = true; +} diff --git a/modules/nixos/cli/neovim/neo-tree/default.nix b/modules/nixos/cli/neovim/neo-tree/default.nix new file mode 100644 index 0000000..2e3e1ac --- /dev/null +++ b/modules/nixos/cli/neovim/neo-tree/default.nix @@ -0,0 +1,7 @@ +{ + programs.nvf.settings.vim.filetree.neo-tree = { + enable = true; + setupOpts = { + }; + }; +} diff --git a/modules/nixos/cli/neovim/rainbow-delimiters/default.nix b/modules/nixos/cli/neovim/rainbow-delimiters/default.nix new file mode 100644 index 0000000..a7c744c --- /dev/null +++ b/modules/nixos/cli/neovim/rainbow-delimiters/default.nix @@ -0,0 +1,3 @@ +{ + programs.nvf.settings.vim.visuals.rainbow-delimiters.enable = true; +} diff --git a/modules/nixos/cli/neovim/surround/default.nix b/modules/nixos/cli/neovim/surround/default.nix new file mode 100644 index 0000000..130a0ff --- /dev/null +++ b/modules/nixos/cli/neovim/surround/default.nix @@ -0,0 +1,3 @@ +{ + programs.nvf.settings.vim.mini.surround.enable = true; +} diff --git a/modules/nixos/cli/neovim/telescope/default.nix b/modules/nixos/cli/neovim/telescope/default.nix new file mode 100644 index 0000000..6e2e702 --- /dev/null +++ b/modules/nixos/cli/neovim/telescope/default.nix @@ -0,0 +1,3 @@ +{ + programs.nvf.settings.vim.telescope.enable = true; +} diff --git a/modules/nixos/cli/neovim/theme/default.nix b/modules/nixos/cli/neovim/theme/default.nix new file mode 100644 index 0000000..fc8ae52 --- /dev/null +++ b/modules/nixos/cli/neovim/theme/default.nix @@ -0,0 +1,8 @@ +{ + programs.nvf.settings.vim.theme = { + enable = true; + name = "tokyonight"; + style = "night"; + }; + +} diff --git a/modules/nixos/cli/neovim/vim-config.nix b/modules/nixos/cli/neovim/vim-config.nix deleted file mode 100644 index 7b2dced..0000000 --- a/modules/nixos/cli/neovim/vim-config.nix +++ /dev/null @@ -1,64 +0,0 @@ -{ - config, - lib, - namespace, - ... -}: -with lib; -with lib.${namespace}; -let - cfg = config.${namespace}.cli.neovim; -in -{ - options.${namespace}.cli.neovim = with types; { - enable = mkBoolOpt false "Whether or not to enable neovim."; - }; - config = mkIf cfg.enable { - programs.nvf = { - enable = true; - settings = { - vim = { - viAlias = true; - vimAlias = true; - - options = { - tabstop = 2; - shiftwidth = 2; - }; - - undoFile.enable = true; - - theme = { - enable = true; - name = "tokyonight"; - style = "night"; - }; - - lsp.enable = true; - statusline.lualine.enable = true; - telescope.enable = true; - autocomplete.nvim-cmp.enable = true; - languages = { - enableLSP = true; - enableTreesitter = true; - nix.enable = true; - }; - filetree.neo-tree = { - enable = true; - setupOpts = { - }; - }; - keymaps = [ - { - key = ""; - mode = [ "n" ]; - action = "Neotree toggle"; - desc = "Toggles neo-tree"; - } - ]; - }; - }; - }; - }; - -}