2023-06-24 19:11:49 +02:00
{ 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 = " / e t c / n i x o s " ;
system . autoUpgrade . flags = [
" - - r e c r e a t e - l o c k - f i l e " # 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 = [
" - - r e c r e a t e - l o c k - f i l e " # fetch new inputs
2023-06-27 20:38:59 +02:00
#"--update-input" "nixpkgs"
#"--update-input" "unstable"
#"--update-input" "home-manager"
#"--update-input" "nixos-hardware"
2023-06-24 19:11:49 +02:00
" - - n o - w r i t e - l o c k - f i l e " # no write new flakelock, as the in-store flake is read-only
" - L " # print build logs
] ;
environment . etc . " c u r r e n t - s y s t e m - f l a k e " . source = inputs . self ; # the plan was to allow me to locate the new flake.lock, but alas https://github.com/NixOS/nix/issues/6895
/* */
}