diff options
Diffstat (limited to '')
| -rwxr-xr-x | pkgs/by-name/fu/fupdate-sys/fupdate-sys.sh | 6 | ||||
| -rw-r--r-- | pkgs/by-name/fu/fupdate-sys/package.nix | 43 |
2 files changed, 30 insertions, 19 deletions
diff --git a/pkgs/by-name/fu/fupdate-sys/fupdate-sys.sh b/pkgs/by-name/fu/fupdate-sys/fupdate-sys.sh index 4ec3e9e8..9cead603 100755 --- a/pkgs/by-name/fu/fupdate-sys/fupdate-sys.sh +++ b/pkgs/by-name/fu/fupdate-sys/fupdate-sys.sh @@ -151,7 +151,7 @@ msg2 "Updating git repository..." git pull --rebase # We use a tempfile, to make this truly async. -default_branch=$(mktemp) +default_branch=$(mktemp -t fupdate_flake_XXXX) cleanup() { rm "$default_branch" } @@ -163,6 +163,10 @@ msg2 "Updating system..." nixos-rebuild "${MODE-switch}" git switch "$(cat "$default_branch")" >/dev/null 2>&1 && msg2 "Switched to branch '$(cat "$default_branch")'" + +msg "Setting oneshot boot entry to new generation.." +bootctl set-oneshot "$(bootctl list --json=short | jq 'map(if .sortKey == "lanza" then .id else empty end) | first' --raw-output)" + msg "Finished Update!" # vim: ft=sh diff --git a/pkgs/by-name/fu/fupdate-sys/package.nix b/pkgs/by-name/fu/fupdate-sys/package.nix index 7fd4674b..9a48e32d 100644 --- a/pkgs/by-name/fu/fupdate-sys/package.nix +++ b/pkgs/by-name/fu/fupdate-sys/package.nix @@ -11,7 +11,7 @@ writeShellApplication, # Dependencies git, - nixos-rebuild, + nixos-rebuild-ng, sudo, openssh, coreutils, @@ -19,20 +19,27 @@ gnugrep, gnused, systemd, -}: -writeShellApplication { - name = "fupdate-sys"; - text = builtins.readFile ./fupdate-sys.sh; - inheritPath = false; - runtimeInputs = [ - git - nixos-rebuild - sudo - openssh - coreutils - mktemp - gnugrep - gnused - systemd - ]; -} + lixPackageSets, + jq, +}: let + nixos-rebuild-without-nix = nixos-rebuild-ng.override { + nix = lixPackageSets.latest.lix; + }; +in + writeShellApplication { + name = "fupdate-sys"; + text = builtins.readFile ./fupdate-sys.sh; + inheritPath = false; + runtimeInputs = [ + git + nixos-rebuild-without-nix + sudo + openssh + coreutils + mktemp + gnugrep + gnused + systemd + jq + ]; + } |
