1
0
Fork 0
nixos-config/lib/update-system.nix

25 lines
800 B
Nix
Raw Normal View History

2021-04-17 16:12:20 +00:00
{
2022-03-08 01:42:46 +00:00
pkgs,
nixos-rebuild,
}: let
configPath = "/etc/nixos";
in {
2022-08-11 09:50:05 +00:00
update-system =
pkgs.writeHaskellScript
{
name = "update-system";
bins = [nixos-rebuild pkgs.nix-output-monitor pkgs.nvd];
} ''
main = do
paths <- myNixPath "${configPath}"
args <- getArgs
setEnv "WITH_SECRETS" "false"
nom_build (paths ++ buildSystemParams ++ ["--no-out-link"] ++ remoteBuildParams ++ fmap toString args)
setEnv "WITH_SECRETS" "true"
oldSystem <- readlink "-f" "/run/current-system" |> captureTrim
2023-01-16 00:57:43 +00:00
nixos_rebuild (paths ++ ["switch", "--no-flake"] ++ fmap toString args) &!> StdOut |> nom
2022-08-11 09:50:05 +00:00
newSystem <- readlink "-f" "/run/current-system" |> captureTrim
nvd "diff" oldSystem newSystem
'';
2019-08-02 03:17:00 +00:00
}