{ pkgs, lib, config, inputs, system, ... }: { options = { mods.nix.upgrade.enable = lib.mkEnableOption "enables nix auto upgrade"; mods.nix.upgrade.enable = lib.mkEnableOption "enables nix auto cleaning"; }; config = { system.autoUpgrade = { enable = config.mods.nix.upgrade.enable; flake = inputs.self.outPath; 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 = inputs.self.outPath; }; 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; }; }