nix/os/devices: refactor expressions
This commit is contained in:
parent
e8d6e32d01
commit
47811b22c2
3 changed files with 37 additions and 22 deletions
4
Justfile
4
Justfile
|
@ -1,10 +1,10 @@
|
||||||
_usage:
|
_usage:
|
||||||
just -l
|
just -l
|
||||||
|
|
||||||
_device action dir +moreargs="":
|
_device recipe dir +moreargs="":
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -ex
|
set -ex
|
||||||
sudo $(set -x; nix-build --no-link --show-trace $(dirname {{dir}})/default.nix -A {{action}} --argstr dir {{dir}} {{moreargs}})
|
sudo $(set -x; nix-build --no-link --show-trace $(dirname {{dir}})/default.nix -A recipes.{{recipe}} --argstr dir {{dir}} {{moreargs}})
|
||||||
|
|
||||||
_render_templates:
|
_render_templates:
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
30
nix/os/devices/default.nix
Normal file
30
nix/os/devices/default.nix
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
{ pkgs ? import <nixpkgs> {}
|
||||||
|
, ownLib ? import ../lib/default.nix { }
|
||||||
|
, dir
|
||||||
|
, rebuildarg
|
||||||
|
, moreargs ? ""
|
||||||
|
, diskId ? (import ((builtins.getEnv "PWD")+"/${dir}/hw.nix") {}).hardware.encryptedDisk.diskId
|
||||||
|
, gitRoot ? "$(git rev-parse --show-toplevel)"
|
||||||
|
}:
|
||||||
|
|
||||||
|
let
|
||||||
|
rebuild = pkgs.writeScript "script" ''
|
||||||
|
#!/usr/bin/env bash
|
||||||
|
set -xe
|
||||||
|
|
||||||
|
pushd ${gitRoot}/${dir}
|
||||||
|
export NIXOS_CONFIG="$PWD"/configuration.nix
|
||||||
|
|
||||||
|
[[ -e "''${NIXOS_CONFIG}" ]]
|
||||||
|
|
||||||
|
nixos-rebuild -I nixos-config=''${NIXOS_CONFIG} ${rebuildarg} ${moreargs}
|
||||||
|
if test -L result; then
|
||||||
|
rm result
|
||||||
|
fi
|
||||||
|
'';
|
||||||
|
|
||||||
|
in {
|
||||||
|
recipes = {
|
||||||
|
inherit rebuild;
|
||||||
|
} // (import ./disk.nix { inherit pkgs ownLib dir rebuildarg moreargs diskId gitRoot; });
|
||||||
|
}
|
|
@ -1,31 +1,16 @@
|
||||||
{ pkgs ? import <nixpkgs> {}
|
{ pkgs
|
||||||
, ownLib ? import ../lib/default.nix { }
|
, ownLib
|
||||||
, dir
|
, dir
|
||||||
, rebuildarg
|
, rebuildarg
|
||||||
, moreargs ? ""
|
, moreargs
|
||||||
, diskId ? (import ((builtins.getEnv "PWD")+"/${dir}/hw.nix") {}).hardware.encryptedDisk.diskId
|
, diskId
|
||||||
, gitRoot ? "$(git rev-parse --show-toplevel)"
|
, gitRoot
|
||||||
}:
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
mntRootVol="/mnt/${diskId}-root";
|
mntRootVol="/mnt/${diskId}-root";
|
||||||
|
|
||||||
in rec {
|
in rec {
|
||||||
rebuild = pkgs.writeScript "script" ''
|
|
||||||
#!/usr/bin/env bash
|
|
||||||
set -xe
|
|
||||||
|
|
||||||
pushd ${gitRoot}/${dir}
|
|
||||||
export NIXOS_CONFIG="$PWD"/configuration.nix
|
|
||||||
|
|
||||||
[[ -e "''${NIXOS_CONFIG}" ]]
|
|
||||||
|
|
||||||
nixos-rebuild -I nixos-config=''${NIXOS_CONFIG} ${rebuildarg} ${moreargs}
|
|
||||||
if test -L result; then
|
|
||||||
rm result
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
|
|
||||||
diskMount = pkgs.writeScript "script" ''
|
diskMount = pkgs.writeScript "script" ''
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -xe
|
set -xe
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue