config/profiles/auto-upgrade.nix

37 lines
1.6 KiB
Nix

{ config, pkgs, lib, inputs, ... }:
# TODO: make /etc/nixos a symlink to the in-store flake? - bad idea, horrible error recovery
# TODO: make /etc/nixos a writeable checkout of repo?
{
system.autoUpgrade.enable = true;
#system.autoUpgrade.allowReboot = true; # reboot after a kernel (module) or initrd upgrade, consider also setting `rebootWindow`
environment.etc."current-system-flake".source = inputs.self; # the plan was to allow me to locate the new flake.lock, but alas https://github.com/NixOS/nix/issues/6895
#system.autoUpgrade.flake = inputs.self.outPath; # a nix store path
#system.autoUpgrade.flake = "github:pbsds/nix-config"; # TODO: use this instead?
#system.autoUpgrade.flake = "git+https://gitea.noximilien.pbsds.net/pbsds/config.git";
system.autoUpgrade.flake = "git+https://git.pvv.ntnu.no/pederbs/config.git";
system.autoUpgrade.flags = [
"-L" # print build logs
"--no-write-lock-file" # no write new flakelock, as the in-store flake is read-only
# fetch new inputs
#"--recreate-lock-file" # update all
"--update-input" "nixpkgs-edge" "--update-input" "home-manager-edge"
"--update-input" "nixpkgs-2405" "--update-input" "home-manager-2405"
"--update-input" "nixpkgs-2311" "--update-input" "home-manager-2311"
"--update-input" "nix-index-database"
"--update-input" "nixos-hardware"
];
# lots of "empty" updates
boot.loader.grub.configurationLimit = 15;
boot.loader.systemd-boot.configurationLimit = 15;
boot.loader.raspberryPi.uboot.configurationLimit = 15;
boot.loader.generic-extlinux-compatible.configurationLimit = 15;
}