use config.packages

This commit is contained in:
NotAShelf 2023-03-31 18:17:06 +03:00
parent 1ba910f8de
commit c818cc108e
No known key found for this signature in database
GPG key ID: F0D14CCB5ED5AA22

View file

@ -1,47 +1,44 @@
# Home Manager module
{inputs, ...}: {
perSystem = {
system,
config,
pkgs,
lib ? pkgs.lib,
...
}:
with lib; let
cfg = config.programs.neovim-flake;
set = self'.packages.maximal {mainConfig = cfg.settings;};
in {
meta.maintainers = [maintainers.notashelf];
{
pkgs,
config,
lib ? pkgs.lib,
...
}:
with lib; let
cfg = config.programs.neovim-flake;
set = config.packages.maximal {mainConfig = cfg.settings;};
in {
meta.maintainers = [maintainers.notashelf];
options.programs.neovim-flake = {
enable = mkEnableOption "A NeoVim IDE with a focus on configurability and extensibility.";
options.programs.neovim-flake = {
enable = mkEnableOption "A NeoVim IDE with a focus on configurability and extensibility.";
settings = mkOption {
type = types.attrsOf types.anything;
default = {};
example = literalExpression ''
{
vim.viAlias = false;
vim.vimAlias = true;
vim.lsp = {
enable = true;
formatOnSave = true;
lightbulb.enable = true;
lspsaga.enable = false;
nvimCodeActionMenu.enable = true;
trouble.enable = true;
lspSignature.enable = true;
rust.enable = false;
nix = true;
};
}
'';
description = "Attribute set of neoflake preferences.";
};
};
config = mkIf cfg.enable {
home.packages = [set.neovim];
};
settings = mkOption {
type = types.attrsOf types.anything;
default = {};
example = literalExpression ''
{
vim.viAlias = false;
vim.vimAlias = true;
vim.lsp = {
enable = true;
formatOnSave = true;
lightbulb.enable = true;
lspsaga.enable = false;
nvimCodeActionMenu.enable = true;
trouble.enable = true;
lspSignature.enable = true;
rust.enable = false;
nix = true;
};
}
'';
description = "Attribute set of neoflake preferences.";
};
};
config = mkIf cfg.enable {
home.packages = [set.neovim];
};
}