2026-02-05 07:47:09 +02:00
|
|
|
{ ... }:
|
|
|
|
|
|
|
|
|
|
let
|
|
|
|
|
justfileText = ''
|
2026-02-05 09:19:35 +02:00
|
|
|
FORCE := "0"
|
|
|
|
|
|
2026-02-05 07:47:09 +02:00
|
|
|
[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"
|
|
|
|
|
|
|
|
|
|
mkdir -p "$dst"
|
|
|
|
|
chmod 700 "$dst" || true
|
|
|
|
|
|
|
|
|
|
overwrite="0"
|
|
|
|
|
if [[ "${FORCE}" == "1" ]]; then
|
|
|
|
|
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
|
|
|
|
|
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).
|
|
|
|
|
environment.etc."xdg/just/justfile".text = justfileText;
|
|
|
|
|
}
|