nanuqsaurus/modules/system/justfile.nix

62 lines
1.5 KiB
Nix
Raw Normal View History

2026-02-05 07:47:09 +02:00
{ ... }:
let
justfileText = ''
[no-cd]
manage:
$EDITOR ~/.config/home-manager/home.nix
[no-cd]
switch:
home-manager switch --flake ~/.config/home-manager#$USER
[no-cd]
rebuild:
sudo nixos-rebuild switch --flake "''${NIXOS_FLAKE:-/etc/nixos}#$HOSTNAME"
[no-cd]
clean:
nix-collect-garbage -d
[no-cd]
update:
2026-02-05 07:48:25 +02:00
sudo nix flake update --flake "''${NIXOS_FLAKE:-/etc/nixos}"
2026-02-05 07:47:09 +02:00
just rebuild
2026-02-05 09:19:35 +02:00
[no-cd]
init-home:
#!/usr/bin/env bash
set -euo pipefail
src="/etc/skel/.config/home-manager"
dst="''${XDG_CONFIG_HOME:-$HOME/.config}/home-manager"
2026-02-05 09:19:35 +02:00
mkdir -p "$dst"
chmod 700 "$dst" || true
overwrite="0"
if [[ "''${FORCE:-0}" == "1" ]]; then
2026-02-05 09:19:35 +02:00
overwrite="1"
elif [[ -e "$dst/flake.nix" || -e "$dst/home.nix" ]]; then
read -r -p "Home Manager files already exist in $dst. Overwrite? [y/N] " ans
case "''${ans:-}" in
2026-02-05 09:19:35 +02:00
y|Y|yes|YES) overwrite="1" ;;
*) overwrite="0" ;;
esac
fi
for f in flake.nix home.nix; do
if [[ "$overwrite" == "1" || ! -e "$dst/$f" ]]; then
install -m 600 "$src/$f" "$dst/$f"
echo "copied $f -> $dst/$f"
else
echo "kept $dst/$f"
fi
done
2026-02-05 07:47:09 +02:00
'';
in
{
# Global Just recipes (system-wide). Used when `XDG_CONFIG_DIRS` includes `/etc/xdg` (default).
2026-02-05 10:13:27 +02:00
environment.etc."just/justfile".text = justfileText;
2026-02-05 07:47:09 +02:00
}