{ config, pkgs, lib, inputs, ... }: { system.autoUpgrade.enable = true; #system.autoUpgrade.allowReboot = true; # reboot after a kernel (module) or initrd upgrade, consider also setting `rebootWindow` # 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? 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.flags = [ "--recreate-lock-file" # fetch new inputs "--no-write-lock-file" # no write new flakelock, as the in-store flake is read-only "-L" # print build logs ]; }