flake/modules/nixos/core/nix.nix
2024-12-29 09:46:52 +00:00

47 lines
1.5 KiB
Nix

{ pkgs, lib, config, inputs, system, ... }: {
options = {
mods.nix.upgrade.enable = lib.mkEnableOption "enables nix auto upgrade";
mods.nix.clean.enable = lib.mkEnableOption "enables nix auto cleaning";
};
config =
let flake = "${config.environment.sessionVariables.XDG_CONFIG_HOME}/home";
in {
system.autoUpgrade = {
enable = config.mods.nix.upgrade.enable;
flake = flake;
flags = [ "--commit-lock-file" "-L" ];
dates = "02:00";
randomizedDelaySec = "45min";
};
programs.nh = {
enable = true;
clean.enable = config.mods.nix.clean.enable;
clean.extraArgs = "--keep-since 4d --keep 3";
flake = flake;
};
nix.settings.experimental-features = [ "nix-command" "flakes" ];
nix.settings = {
substituters = [
"https://cache.nixos.org"
"https://nix-community.cachix.org"
"https://nixpkgs-unfree.cachix.org"
"https://hyprland.cachix.org"
];
trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs="
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
];
};
environment.systemPackages = with pkgs; [
inputs.nix-alien.packages.${system}.nix-alien
colmena
];
programs.nix-ld.enable = true;
};
}