nixos: harden switch recipe

This commit is contained in:
2026-05-02 06:03:30 -07:00
parent 7384d7f17c
commit a06919778d

View File

@@ -1,4 +1,10 @@
switch *args: switch *args:
bash -lc 'if systemctl is-active --quiet nixos-rebuild-switch-to-configuration.service; then \
echo "nixos-rebuild switch already running; waiting..." >&2; \
systemctl status nixos-rebuild-switch-to-configuration.service --no-pager >&2 || true; \
while systemctl is-active --quiet nixos-rebuild-switch-to-configuration.service; do sleep 1; done; \
fi; \
env PATH=/run/wrappers/bin:$PATH sudo systemctl reset-failed nixos-rebuild-switch-to-configuration.service >/dev/null 2>&1 || true'
env PATH=/run/wrappers/bin:$PATH sudo nixos-rebuild switch --flake ".#" --impure --option warn-dirty false \ env PATH=/run/wrappers/bin:$PATH sudo nixos-rebuild switch --flake ".#" --impure --option warn-dirty false \
--override-input imalison-taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar \ --override-input imalison-taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar \
--override-input taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar/taffybar \ --override-input taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar/taffybar \
@@ -6,10 +12,16 @@ switch *args:
switch-remote *args: switch-remote *args:
# Switch using the remote master flake. # Switch using the remote master flake.
sudo nixos-rebuild switch --flake "git+https://github.com/colonelpanic8/dotfiles.git?ref=master&dir=nixos#" --impure --option warn-dirty false {{args}} env PATH=/run/wrappers/bin:$PATH sudo nixos-rebuild switch --flake "git+https://github.com/colonelpanic8/dotfiles.git?ref=master&dir=nixos#" --impure --option warn-dirty false {{args}}
switch-local *args: switch-local *args:
# Backwards-compat alias for local switch. # Backwards-compat alias for local switch.
bash -lc 'if systemctl is-active --quiet nixos-rebuild-switch-to-configuration.service; then \
echo "nixos-rebuild switch already running; waiting..." >&2; \
systemctl status nixos-rebuild-switch-to-configuration.service --no-pager >&2 || true; \
while systemctl is-active --quiet nixos-rebuild-switch-to-configuration.service; do sleep 1; done; \
fi; \
env PATH=/run/wrappers/bin:$PATH sudo systemctl reset-failed nixos-rebuild-switch-to-configuration.service >/dev/null 2>&1 || true'
env PATH=/run/wrappers/bin:$PATH sudo nixos-rebuild switch --flake ".#" --impure --option warn-dirty false \ env PATH=/run/wrappers/bin:$PATH sudo nixos-rebuild switch --flake ".#" --impure --option warn-dirty false \
--override-input imalison-taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar \ --override-input imalison-taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar \
--override-input taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar/taffybar \ --override-input taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar/taffybar \
@@ -22,7 +34,8 @@ switch-local-taffybar *args:
echo "nixos-rebuild switch already running; waiting..." >&2; \ echo "nixos-rebuild switch already running; waiting..." >&2; \
systemctl status nixos-rebuild-switch-to-configuration.service --no-pager >&2 || true; \ systemctl status nixos-rebuild-switch-to-configuration.service --no-pager >&2 || true; \
while systemctl is-active --quiet nixos-rebuild-switch-to-configuration.service; do sleep 1; done; \ while systemctl is-active --quiet nixos-rebuild-switch-to-configuration.service; do sleep 1; done; \
fi' fi; \
env PATH=/run/wrappers/bin:$PATH sudo systemctl reset-failed nixos-rebuild-switch-to-configuration.service >/dev/null 2>&1 || true'
env PATH=/run/wrappers/bin:$PATH sudo env IMALISON_TAFFYBAR_LIVE_CHECKOUT=/home/imalison/dotfiles/dotfiles/config/taffybar/taffybar \ env PATH=/run/wrappers/bin:$PATH sudo env IMALISON_TAFFYBAR_LIVE_CHECKOUT=/home/imalison/dotfiles/dotfiles/config/taffybar/taffybar \
nixos-rebuild switch --flake "git+https://github.com/colonelpanic8/dotfiles.git?ref=master&dir=nixos#" --impure --option warn-dirty false \ nixos-rebuild switch --flake "git+https://github.com/colonelpanic8/dotfiles.git?ref=master&dir=nixos#" --impure --option warn-dirty false \
--override-input imalison-taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar \ --override-input imalison-taffybar path:/home/imalison/dotfiles/dotfiles/config/taffybar \