shell.nix: remove `rebuild` command

`nixos-rebuild` now works perfectly with flakes so this is no longer
required. A new command `build-iso` is still available so that
building a NixOS image is still possible.
This commit is contained in:
Timothy DeHerrera 2020-07-13 19:56:39 -06:00
parent 4456d570cc
commit b954963e36
No known key found for this signature in database
GPG Key ID: 8985725DB5B0C122
2 changed files with 7 additions and 23 deletions

View File

@ -57,20 +57,14 @@ ln -s $PWD /etc/nixos
# adding a new file to staging is enough: # adding a new file to staging is enough:
git add ./hosts/${new_host}.nix git add ./hosts/${new_host}.nix
# A generic `rebuild` wrapper for `nix build` is provided # Test your new deployment:
# bypassing the need for `nixos-rebuild`. sudo nixos-rebuild $new_host test
# Usage: rebuild [host] {switch|boot|test|dry-activate}
# where `host` is any file living in the `./hosts` directory
# Test your new deployment; this will be run as root:
rebuild $new_host test
# You may wish to start by creating a user: # You may wish to start by creating a user:
mkdir users/new-user && $EDITOR users/new-user/default.nix mkdir users/new-user && $EDITOR users/new-user/default.nix
# Once your satisfied, permanently deploy with: # Once your satisfied, permanently deploy with:
rebuild $new_host switch sudo nixos-rebuild $new_host switch
``` ```
Please read the [doc](DOC.md) in order to understand the impetus Please read the [doc](DOC.md) in order to understand the impetus
@ -80,7 +74,7 @@ behind the directory structure.
```sh ```sh
# Make an iso image based on `./hosts/niximg.nix`: # Make an iso image based on `./hosts/niximg.nix`:
rebuild iso build-iso
# Install any package the flake exports: # Install any package the flake exports:
nix profile install ".#packages.x86_64-linux.myPackage" nix profile install ".#packages.x86_64-linux.myPackage"

View File

@ -1,22 +1,12 @@
{ pkgs ? import <nixpkgs> { } }: { pkgs ? import <nixpkgs> { } }:
let let
configs = "${toString ./.}#nixosConfigurations"; configs = "${toString ./.}#nixosConfigurations";
hostname = pkgs.lib.fileContents /etc/hostname;
build = "config.system.build";
rebuild = pkgs.writeShellScriptBin "rebuild" '' buildIso = pkgs.writeShellScriptBin "build-iso" ''
if [[ -z $1 ]]; then nix build ${configs}.niximg.config.system.build.isoImage
echo "Usage: $0 [host] {switch|boot|test|iso}"
elif [[ $1 == "iso" ]]; then
nix build ${configs}.niximg.${build}.isoImage
elif [[ -z $2 ]]; then
sudo -E nix shell -vv ${configs}.${hostname}.${build}.toplevel -c switch-to-configuration $1
else
sudo -E nix shell -vv ${configs}.$1.${build}.toplevel -c switch-to-configuration $2
fi
''; '';
in pkgs.mkShell { in pkgs.mkShell {
nativeBuildInputs = with pkgs; [ git git-crypt nixFlakes rebuild ]; nativeBuildInputs = with pkgs; [ git git-crypt nixFlakes buildIso ];
shellHook = '' shellHook = ''
mkdir -p secrets mkdir -p secrets