move all expressions to nix/; include modularized home-manager config

This commit is contained in:
steveej 2018-10-31 19:52:39 +01:00
parent d76a7f963b
commit 13bd5e9000
65 changed files with 1726 additions and 511 deletions

View file

@ -1,62 +0,0 @@
{ pkgs ? import <nixpkgs> {}
, dir
, rebuildarg ? null
}:
let
diskId = (import ((builtins.getEnv "PWD")+"/${dir}/hw.nix") {}).hardware.encryptedDisk.diskId;
in {
rebuild = pkgs.writeScript "script" ''
#!/usr/bin/env bash
set -xe
pushd ${dir}
export NIXOS_CONFIG="$PWD"/configuration.nix
export INSTALL_ROOT="/mnt/$ID-root"
[[ -e "''${NIXOS_CONFIG}" ]]
nixos-rebuild -I nixos-config=''${NIXOS_CONFIG} ${rebuildarg}
rm result
'';
diskMount = pkgs.writeScript "script" ''
#!/usr/bin/env bash
set -xe
ID=${diskId}
echo Mounting $ID
set -xe
cryptsetup luksOpen /dev/disk/by-partlabel/$ID-part3 $ID-part3
vgchange -ay $ID
mkdir -p /mnt/$ID-root
mount /dev/$ID/root /mnt/$ID-root -o subvol=nixos
mount /dev/$ID/root /mnt/$ID-root/home -o subvol=home
mount /dev/disk/by-partlabel/$ID-part2 /mnt/$ID-root/boot
'';
diskUmount = pkgs.writeScript "script" ''
#!/usr/bin/env bash
set -xe
ID=${diskId}
umount -R /mnt/$ID-root
rmdir /mnt/$ID-root
vgchange -an $ID
cryptsetup luksClose $ID-part3
sync
'';
diskInstall = pkgs.writeScript "script" ''
#!/usr/bin/env bash
set -xe
ID=${diskId}
pushd ${dir}
export NIXOS_CONFIG="$PWD"/configuration.nix
export INSTALL_ROOT="/mnt/$ID-root"
[[ -e "''${NIXOS_CONFIG}" ]]
[[ -e "''${INSTALL_ROOT}" ]]
nixos-install --max-jobs 5 --cores 4 --no-channel-copy --no-root-passwd --root "''${INSTALL_ROOT}"
'';
}