shell.nix: basic command to build nixos
`nixos-rebuild` has unstable flake support. By adding a simple rebuild command to the shell, we don't need to reply on it to switch configurations anymore. At least until it stablizes.
This commit is contained in:
parent
92f78f3d93
commit
ed94fa013d
18
shell.nix
18
shell.nix
|
@ -1,6 +1,24 @@
|
||||||
{ pkgs ? import <nixpkgs> {} }:
|
{ pkgs ? import <nixpkgs> {} }:
|
||||||
|
let
|
||||||
|
configs = "${toString ./.}#nixosConfigurations";
|
||||||
|
hostname = pkgs.lib.fileContents /etc/hostname;
|
||||||
|
build = "config.system.build";
|
||||||
|
|
||||||
|
rebuild = pkgs.writeShellScriptBin "rebuild" ''
|
||||||
|
if [[ -z $1 ]]; then
|
||||||
|
echo "Usage: $0 [host] {switch|boot|test|iso}"
|
||||||
|
elif [[ $1 == "iso" ]]; then
|
||||||
|
nix build ${configs}.niximg.${build}.isoImage
|
||||||
|
elif [[ -z $2 ]]; then
|
||||||
|
nix run -vv ${configs}.${hostname}.${build}.toplevel -c switch-to-configuration $1
|
||||||
|
else
|
||||||
|
nix run -vv ${configs}.$1.${build}.toplevel -c switch-to-configuration $2
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
in
|
||||||
pkgs.mkShell {
|
pkgs.mkShell {
|
||||||
nativeBuildInputs = with pkgs; [
|
nativeBuildInputs = with pkgs; [
|
||||||
|
rebuild
|
||||||
nixFlakes
|
nixFlakes
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue