niksos/modules/cli/nh.nix

43 lines
1,008 B
Nix

{
config,
inputs,
lib,
pkgs,
...
}: let
cfg = config.poz.programs.nh;
inherit (lib.modules) mkIf;
inherit (lib.options) mkEnableOption mkOption;
inherit (lib.types) str;
in {
options.poz.programs.nh = {
enable = mkEnableOption "nh";
flake = mkOption {
type = str;
description = "flake directory";
};
};
config = mkIf cfg.enable {
nix.settings = {
substituters = [
"https://viperml.cachix.org"
];
trusted-public-keys = [
"viperml.cachix.org-1:qZhKBMTfmcLL+OG6fj/hzsMEedgKvZVFRRAhq7j8Vh8="
];
};
programs.nh = {
enable = true;
package = inputs.nh.packages.${pkgs.stdenv.system}.default;
inherit (cfg) flake;
clean = {
enable = true;
dates = "weekly";
extraArgs = "--keep 10";
};
};
};
}