config/justfile

44 lines
1.3 KiB
Makefile

@_default:
#just --choose # TODO: achieve something better with `gum`
#just --list --list-prefix ' just '
just "$(gum choose $(just --summary --unsorted))"
@set-remote:
tomlq <.remote.toml '.hosts | to_entries[] | "remote-set \(.key+1) # -> \(.value.host)" | @sh "\(.)"' -r | xargs gum choose | sh
eval hostname=`just _a-host`:
nix eval .#nixosConfigurations.{{hostname}}.config.system.build.toplevel.outPath
report hostname=`just _a-host`:
nix eval .#nixosReports.{{hostname}} --json | yq . --yaml-output | bat --language yaml --style plain --paging never
reports:
nix eval .#nixosReports --json | yq . --yaml-output | bat --language yaml --style plain --paging never
update:
git reset flake.lock
git restore flake.lock
git pull --rebase --autostash
nix flake update --commit-lock-file
@mkdir -p .direnv/
@echo "$(date +%Y-%m-%d)" > .direnv/pull-date
build:
nixos-rebuild build --flake .
test:
sudo nixos-rebuild test --flake .
switch:
sudo nixos-rebuild switch --flake .
boot:
sudo nixos-rebuild boot --flake .
@list-remotes:
echo Current remote: $(remote-host)
tomlq <.remote.toml '.hosts | to_entries[] | "remote-set \(.key+1) # -> \(.value.host)"' -r
@_a-host:
nix eval .#nixosHostnames --json 2>/dev/null | jq '.[]' -r | gum filter --height 10 --placeholder "Pick a host..."