40 lines
1.7 KiB
Nix
40 lines
1.7 KiB
Nix
{ config, pkgs, lib, inputs, ... }:
|
|
{
|
|
# 'nixos-rebuild switch --upgrade', by default daily with no reboot
|
|
system.autoUpgrade.enable = true;
|
|
#system.autoUpgrade.allowReboot = true; # reboot after a kernel (module) or initrd upgrade, consider also setting `rebootWindow`
|
|
|
|
/** /
|
|
# TODO: this doesn't work during 'nix eval' on a non-nixos machine
|
|
system.autoUpgrade.flake = "/etc/nixos";
|
|
system.autoUpgrade.flags = [
|
|
"--recreate-lock-file" # fetch new inputs
|
|
#"--commit-lock-file" # commit new lock to local git repo
|
|
# TODO: can i somehow first do a git pull --rebase --autostash with proper abort handling ?
|
|
"-L" # print build logs
|
|
];
|
|
#assertions = [
|
|
# { assertion = builtins.pathExists "/etc/nixos/flake.nix"; message = "You have yet to test systems without a flake in /etc/nixos"; }
|
|
#];
|
|
/**/
|
|
|
|
/**/
|
|
# TODO: make /etc/nixos a symlink to the in-store flake? - bad idea, horrible error recovery
|
|
# TODO: make /etc/nixos a checkout of repo?
|
|
# TODO: update only nixpkgs and unstable
|
|
system.autoUpgrade.flake = inputs.self.outPath; # a nix store path
|
|
#system.autoUpgrade.flake = "github:pbsds/nix-config"; # TODO: use this instead?
|
|
system.autoUpgrade.flags = [
|
|
"--recreate-lock-file" # fetch new inputs
|
|
#"--update-input" "nixpkgs"
|
|
#"--update-input" "unstable"
|
|
#"--update-input" "home-manager"
|
|
#"--update-input" "nixos-hardware"
|
|
"--no-write-lock-file" # no write new flakelock, as the in-store flake is read-only
|
|
"-L" # print build logs
|
|
];
|
|
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
|
|
/**/
|
|
|
|
}
|