diff options
Diffstat (limited to 'modules/development')
20 files changed, 76 insertions, 23 deletions
diff --git a/modules/development/git/assertions.nix b/modules/development/git/assertions.nix index 2baeced..1dd1cf5 100644 --- a/modules/development/git/assertions.nix +++ b/modules/development/git/assertions.nix @@ -1,24 +1,26 @@ # Validates SSH is enabled when git.useSSH is set { config, ... }: +let + cfg = config.development.git; +in { assertions = [ { - assertion = !config.development.git.signing.sign-by-default || config.development.git.enable; + assertion = !cfg.signing.sign-by-default || cfg.enable; message = '' development.git.signing.sign-by-default is enabled but development.git.enable is not. Enable development.git before enabling commit signing. ''; } { - assertion = - !config.development.git.signing.sign-by-default || config.development.git.signing.key != null; + assertion = !cfg.signing.sign-by-default || cfg.signing.key != null; message = '' development.git.signing.sign-by-default is enabled but development.git.signing.key is not set. Set a GPG key ID before enabling commit signing by default. ''; } { - assertion = !config.development.git.signing.sign-by-default || config.security.gpg.enable; + assertion = !cfg.signing.sign-by-default || config.security.gpg.enable; message = '' development.git.signing.sign-by-default is enabled but security.gpg.enable is not. Commit signing requires the managed GPG configuration. Please enable security.gpg. diff --git a/modules/development/lazygit/assertions.nix b/modules/development/lazygit/assertions.nix index 2539af6..d5b0a70 100644 --- a/modules/development/lazygit/assertions.nix +++ b/modules/development/lazygit/assertions.nix @@ -1,9 +1,12 @@ # LazyGit only makes sense when Git is enabled { config, ... }: +let + cfg = config.development.lazygit; +in { assertions = [ { - assertion = !config.development.lazygit.enable || config.development.git.enable; + assertion = !cfg.enable || config.development.git.enable; message = "development.lazygit.enable requires development.git.enable."; } ]; diff --git a/modules/development/nixvim/colorscheme.nix b/modules/development/nixvim/colorscheme.nix index 560f6ce..6919482 100644 --- a/modules/development/nixvim/colorscheme.nix +++ b/modules/development/nixvim/colorscheme.nix @@ -6,10 +6,11 @@ ... }: let + cfg = config.development.nixvim; base16Colors = import ../../colors/base16 { inherit config lib pkgs; }; in { - config.programs.nixvim = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim = lib.mkIf cfg.enable { colorschemes.base16 = { enable = true; colorscheme = base16Colors.colorsWithHashPrefix; diff --git a/modules/development/nixvim/keymaps.nix b/modules/development/nixvim/keymaps.nix index cc258c1..254b40d 100644 --- a/modules/development/nixvim/keymaps.nix +++ b/modules/development/nixvim/keymaps.nix @@ -1,7 +1,10 @@ # Keyboard shortcut configuration for nixvim { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim.keymaps = lib.mkIf config.development.nixvim.enable [ + config.programs.nixvim.keymaps = lib.mkIf cfg.enable [ # set the <space> key to nop for normal and visual modes as we are tyring # to use it as our <leader> { diff --git a/modules/development/nixvim/plugins/cmp/default.nix b/modules/development/nixvim/plugins/cmp/default.nix index 4698801..ceb3a07 100644 --- a/modules/development/nixvim/plugins/cmp/default.nix +++ b/modules/development/nixvim/plugins/cmp/default.nix @@ -1,7 +1,10 @@ # Completion plugin for auto-completion { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim.plugins.cmp = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim.plugins.cmp = lib.mkIf cfg.enable { enable = true; autoEnableSources = true; settings = { diff --git a/modules/development/nixvim/plugins/comment/default.nix b/modules/development/nixvim/plugins/comment/default.nix index 8c69218..e0bba38 100644 --- a/modules/development/nixvim/plugins/comment/default.nix +++ b/modules/development/nixvim/plugins/comment/default.nix @@ -1,7 +1,10 @@ # Comment toggling plugin { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim.plugins.comment = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim.plugins.comment = lib.mkIf cfg.enable { enable = true; settings = { toggler = { diff --git a/modules/development/nixvim/plugins/dap-ui/default.nix b/modules/development/nixvim/plugins/dap-ui/default.nix index eb83609..cf5825b 100644 --- a/modules/development/nixvim/plugins/dap-ui/default.nix +++ b/modules/development/nixvim/plugins/dap-ui/default.nix @@ -1,7 +1,10 @@ # A UI for nvim-dap. { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim = lib.mkIf cfg.enable { plugins.dap-ui = { enable = true; }; diff --git a/modules/development/nixvim/plugins/dap-virtual-text/default.nix b/modules/development/nixvim/plugins/dap-virtual-text/default.nix index 4fea5ca..67ccb3f 100644 --- a/modules/development/nixvim/plugins/dap-virtual-text/default.nix +++ b/modules/development/nixvim/plugins/dap-virtual-text/default.nix @@ -1,7 +1,10 @@ # A plugin that adds virtual text support to the nvim-dap. { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim.plugins.dap-virtual-text = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim.plugins.dap-virtual-text = lib.mkIf cfg.enable { enable = true; }; } diff --git a/modules/development/nixvim/plugins/dap/default.nix b/modules/development/nixvim/plugins/dap/default.nix index 97452ac..39d0ae9 100644 --- a/modules/development/nixvim/plugins/dap/default.nix +++ b/modules/development/nixvim/plugins/dap/default.nix @@ -1,7 +1,10 @@ # Debug Adapter Protocol client implementation for Neovim. { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim = lib.mkIf cfg.enable { plugins.dap = { enable = true; }; diff --git a/modules/development/nixvim/plugins/gitsigns/default.nix b/modules/development/nixvim/plugins/gitsigns/default.nix index af8b920..7f85acc 100644 --- a/modules/development/nixvim/plugins/gitsigns/default.nix +++ b/modules/development/nixvim/plugins/gitsigns/default.nix @@ -6,10 +6,11 @@ ... }: let + cfg = config.development.nixvim; base16Colors = import ../../../../colors/base16 { inherit config lib pkgs; }; in { - config.programs.nixvim = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim = lib.mkIf cfg.enable { plugins.gitsigns = { enable = true; diff --git a/modules/development/nixvim/plugins/indent-blankline/default.nix b/modules/development/nixvim/plugins/indent-blankline/default.nix index 6890dbf..6b11972 100644 --- a/modules/development/nixvim/plugins/indent-blankline/default.nix +++ b/modules/development/nixvim/plugins/indent-blankline/default.nix @@ -1,7 +1,10 @@ # Visual indentation guides { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim.plugins.indent-blankline = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim.plugins.indent-blankline = lib.mkIf cfg.enable { enable = true; settings = { indent = { diff --git a/modules/development/nixvim/plugins/lsp/default.nix b/modules/development/nixvim/plugins/lsp/default.nix index 1d56b66..8be4c99 100644 --- a/modules/development/nixvim/plugins/lsp/default.nix +++ b/modules/development/nixvim/plugins/lsp/default.nix @@ -1,7 +1,10 @@ # Language Server Protocol configuration { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim = lib.mkIf cfg.enable { plugins.lsp = { enable = true; inlayHints = true; diff --git a/modules/development/nixvim/plugins/lualine/default.nix b/modules/development/nixvim/plugins/lualine/default.nix index a7dd083..cc62332 100644 --- a/modules/development/nixvim/plugins/lualine/default.nix +++ b/modules/development/nixvim/plugins/lualine/default.nix @@ -6,10 +6,11 @@ ... }: let + cfg = config.development.nixvim; base16Colors = import ../../../../colors/base16 { inherit config lib pkgs; }; in { - config.programs.nixvim.plugins.lualine = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim.plugins.lualine = lib.mkIf cfg.enable { enable = true; settings = { options = { diff --git a/modules/development/nixvim/plugins/luasnip/default.nix b/modules/development/nixvim/plugins/luasnip/default.nix index cab0f62..4b4b059 100644 --- a/modules/development/nixvim/plugins/luasnip/default.nix +++ b/modules/development/nixvim/plugins/luasnip/default.nix @@ -1,7 +1,10 @@ # Snippet engine for Neovim { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim.plugins.luasnip = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim.plugins.luasnip = lib.mkIf cfg.enable { enable = true; }; } diff --git a/modules/development/nixvim/plugins/noice/default.nix b/modules/development/nixvim/plugins/noice/default.nix index 8f2ea0d..8a33ff3 100644 --- a/modules/development/nixvim/plugins/noice/default.nix +++ b/modules/development/nixvim/plugins/noice/default.nix @@ -1,7 +1,10 @@ # Modern UI for Neovim { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim.plugins.noice = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim.plugins.noice = lib.mkIf cfg.enable { enable = true; }; } diff --git a/modules/development/nixvim/plugins/nvim-tree/default.nix b/modules/development/nixvim/plugins/nvim-tree/default.nix index f54ada2..2e9bc58 100644 --- a/modules/development/nixvim/plugins/nvim-tree/default.nix +++ b/modules/development/nixvim/plugins/nvim-tree/default.nix @@ -1,7 +1,10 @@ # File explorer sidebar { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim = lib.mkIf cfg.enable { plugins.nvim-tree = { enable = true; settings = { diff --git a/modules/development/nixvim/plugins/telescope/default.nix b/modules/development/nixvim/plugins/telescope/default.nix index 505a3eb..17c84c4 100644 --- a/modules/development/nixvim/plugins/telescope/default.nix +++ b/modules/development/nixvim/plugins/telescope/default.nix @@ -1,7 +1,10 @@ # Fuzzy finder { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim.plugins.telescope = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim.plugins.telescope = lib.mkIf cfg.enable { enable = true; extensions = { fzf-native.enable = true; # Faster fuzzy sorting diff --git a/modules/development/nixvim/plugins/treesitter/default.nix b/modules/development/nixvim/plugins/treesitter/default.nix index 6150ad2..ab5de96 100644 --- a/modules/development/nixvim/plugins/treesitter/default.nix +++ b/modules/development/nixvim/plugins/treesitter/default.nix @@ -1,7 +1,10 @@ # Syntax highlighting and parsing { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim.plugins.treesitter = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim.plugins.treesitter = lib.mkIf cfg.enable { enable = true; folding = { enable = true; diff --git a/modules/development/nixvim/plugins/web-devicons/default.nix b/modules/development/nixvim/plugins/web-devicons/default.nix index 61ca5e9..13fd16a 100644 --- a/modules/development/nixvim/plugins/web-devicons/default.nix +++ b/modules/development/nixvim/plugins/web-devicons/default.nix @@ -1,7 +1,10 @@ # File icons for various file types { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim.plugins.web-devicons = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim.plugins.web-devicons = lib.mkIf cfg.enable { enable = true; }; } diff --git a/modules/development/nixvim/plugins/which-key/default.nix b/modules/development/nixvim/plugins/which-key/default.nix index 3a0c0ef..455071e 100644 --- a/modules/development/nixvim/plugins/which-key/default.nix +++ b/modules/development/nixvim/plugins/which-key/default.nix @@ -1,7 +1,10 @@ # Popup for keybindings { config, lib, ... }: +let + cfg = config.development.nixvim; +in { - config.programs.nixvim.plugins.which-key = lib.mkIf config.development.nixvim.enable { + config.programs.nixvim.plugins.which-key = lib.mkIf cfg.enable { enable = true; settings = { plugins = { |
