improve develop hm-module
This commit is contained in:
parent
229d2677af
commit
8aef77a3f6
1 changed files with 17 additions and 27 deletions
|
@ -6,37 +6,26 @@
|
||||||
}: let
|
}: let
|
||||||
cfg = config.xun.develop;
|
cfg = config.xun.develop;
|
||||||
in {
|
in {
|
||||||
options.xun.develop = {
|
options.xun.develop = let
|
||||||
enable = lib.mkEnableOption "develop";
|
enableOption = name: default: lib.mkEnableOption name // {inherit default;};
|
||||||
git.enable = lib.mkEnableOption "git";
|
in {
|
||||||
nix.enable = lib.mkEnableOption "nix";
|
enable = enableOption "develop" false;
|
||||||
tools.enable = lib.mkEnableOption "tools";
|
git.enable = enableOption "git" true;
|
||||||
docs.enable = lib.mkEnableOption "man caches";
|
nix.enable = enableOption "nix" true;
|
||||||
lsp.c.enable = lib.mkEnableOption "clangd";
|
tools.enable = enableOption "tools" true;
|
||||||
|
docs.enable = enableOption "man caches" false;
|
||||||
|
lsp.c.enable = enableOption "clangd" false;
|
||||||
};
|
};
|
||||||
|
|
||||||
config = let
|
config = lib.mkIf cfg.enable (
|
||||||
conf =
|
|
||||||
if cfg.enable
|
|
||||||
then
|
|
||||||
(cfg
|
|
||||||
// {
|
|
||||||
git.enable = true;
|
|
||||||
nix.enable = true;
|
|
||||||
tools.enable = true;
|
|
||||||
docs.enable = true;
|
|
||||||
lsp.c.enable = true;
|
|
||||||
})
|
|
||||||
else cfg;
|
|
||||||
in
|
|
||||||
lib.mkMerge [
|
lib.mkMerge [
|
||||||
(lib.mkIf conf.nix.enable {
|
(lib.mkIf cfg.nix.enable {
|
||||||
home.packages = with pkgs; [nil alejandra];
|
home.packages = with pkgs; [nil alejandra];
|
||||||
})
|
})
|
||||||
(lib.mkIf conf.tools.enable {
|
(lib.mkIf cfg.tools.enable {
|
||||||
home.packages = with pkgs; [tokei];
|
home.packages = with pkgs; [tokei];
|
||||||
})
|
})
|
||||||
(lib.mkIf conf.git.enable {
|
(lib.mkIf cfg.git.enable {
|
||||||
home.packages = with pkgs; [lazygit];
|
home.packages = with pkgs; [lazygit];
|
||||||
programs.gh.enable = true;
|
programs.gh.enable = true;
|
||||||
programs.gh-dash.enable = true;
|
programs.gh-dash.enable = true;
|
||||||
|
@ -62,11 +51,12 @@ in {
|
||||||
userName = "xunuwu";
|
userName = "xunuwu";
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
(lib.mkIf conf.lsp.c.enable {
|
(lib.mkIf cfg.lsp.c.enable {
|
||||||
home.packages = with pkgs; [clang-tools];
|
home.packages = with pkgs; [clang-tools];
|
||||||
})
|
})
|
||||||
(lib.mkIf conf.docs.enable {
|
(lib.mkIf cfg.docs.enable {
|
||||||
programs.man.generateCaches = true;
|
programs.man.generateCaches = true;
|
||||||
})
|
})
|
||||||
];
|
]
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue