21 lines
677 B
Nix
21 lines
677 B
Nix
nixos-rebuild:
|
|
let
|
|
inherit (import ../lib)
|
|
writeHaskellScript get-niv-path home-manager gcRetentionDays pkgs;
|
|
in rec {
|
|
configPath = "/etc/nixos";
|
|
update-system = writeHaskellScript {
|
|
name = "update-system";
|
|
bins = [ get-niv-path nixos-rebuild ];
|
|
} ''
|
|
getNivPath name = get_niv_path "${configPath}/nix/sources.nix" name |> captureTrim
|
|
|
|
getNivAssign name = tag <$> getNivPath name
|
|
where tag str = ["-I", [i|#{name :: String}=#{str :: LBS.ByteString}|]]
|
|
|
|
main = do
|
|
paths <- fmap concat . mapM getNivAssign $ ["nixpkgs", "unstable", "home-manager"]
|
|
args <- getArgs
|
|
nixos_rebuild (paths ++ ["switch"] ++ args)
|
|
'';
|
|
}
|