feat(just): add init-home recipe
This commit is contained in:
parent
cbb4ee8993
commit
4ec6a6b6a8
1 changed files with 33 additions and 1 deletions
|
|
@ -2,6 +2,8 @@
|
||||||
|
|
||||||
let
|
let
|
||||||
justfileText = ''
|
justfileText = ''
|
||||||
|
FORCE := "0"
|
||||||
|
|
||||||
[no-cd]
|
[no-cd]
|
||||||
manage:
|
manage:
|
||||||
$EDITOR ~/.config/home-manager/home.nix
|
$EDITOR ~/.config/home-manager/home.nix
|
||||||
|
|
@ -22,10 +24,40 @@ let
|
||||||
update:
|
update:
|
||||||
sudo nix flake update --flake "''${NIXOS_FLAKE:-/etc/nixos}"
|
sudo nix flake update --flake "''${NIXOS_FLAKE:-/etc/nixos}"
|
||||||
just rebuild
|
just rebuild
|
||||||
|
|
||||||
|
[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
|
||||||
'';
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
# Global Just recipes (system-wide). Used when `XDG_CONFIG_DIRS` includes `/etc/xdg` (default).
|
# Global Just recipes (system-wide). Used when `XDG_CONFIG_DIRS` includes `/etc/xdg` (default).
|
||||||
environment.etc."xdg/just/justfile".text = justfileText;
|
environment.etc."xdg/just/justfile".text = justfileText;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue