Justfile,nix/devices: sudo only when needed

This commit is contained in:
steveej 2018-12-16 21:57:20 +01:00
parent ef93fc3c24
commit 17c8ccb8c2
2 changed files with 8 additions and 2 deletions

View file

@ -4,7 +4,7 @@ _usage:
_device recipe 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 recipes.{{recipe}} --argstr dir {{dir}} {{moreargs}}) $(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

View file

@ -8,6 +8,7 @@
}: }:
let let
rebuildargsSudo = [ "switch" "boot" ];
rebuild = pkgs.writeScript "script" '' rebuild = pkgs.writeScript "script" ''
#!/usr/bin/env bash #!/usr/bin/env bash
set -xe set -xe
@ -17,6 +18,11 @@ let
[[ -e "''${NIXOS_CONFIG}" ]] [[ -e "''${NIXOS_CONFIG}" ]]
${if (builtins.elem rebuildarg rebuildargsSudo) then
"sudo -E \\"
else
""
}
nixos-rebuild -I nixos-config=''${NIXOS_CONFIG} ${rebuildarg} ${moreargs} nixos-rebuild -I nixos-config=''${NIXOS_CONFIG} ${rebuildarg} ${moreargs}
if test -L result; then if test -L result; then
rm result rm result