config/justfile

81 lines
2.7 KiB
Makefile
Raw Normal View History

2024-02-22 20:47:56 +01:00
export GUM_FILTER_HEIGHT := "15"
2024-01-27 04:55:16 +01:00
2024-02-22 20:47:56 +01:00
@_default:
just "$(gum filter --placeholder "Pick a recipie..." $(just --summary --unsorted))"
2024-02-01 02:06:03 +01:00
2024-08-10 17:00:03 +02:00
eval hostname=`just _a_host`:
2024-02-18 22:14:40 +01:00
nix eval .#nixosConfigurations.{{hostname}}.config.system.build.toplevel.outPath
2024-08-10 17:00:03 +02:00
report hostname=`just _a_host`:
2024-02-18 22:14:40 +01:00
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
2024-01-27 04:55:16 +01:00
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
2024-08-16 00:41:59 +02:00
@update-select:
git reset flake.lock
git restore flake.lock
nix eval .#inputs --apply builtins.attrNames --json \
| jq '.[]' -r \
| gum choose --no-limit --height=15 \
| xargs nix flake update --commit-lock-file
2024-01-27 04:55:16 +01:00
build:
2024-08-05 00:02:20 +02:00
nixos-rebuild build --accept-flake-config --show-trace --flake .
2024-01-27 04:55:16 +01:00
test:
2024-08-05 00:02:20 +02:00
sudo nixos-rebuild test --accept-flake-config --show-trace --flake .
2024-01-27 04:55:16 +01:00
switch:
2024-08-05 00:02:20 +02:00
sudo nixos-rebuild switch --accept-flake-config --show-trace --flake .
2024-01-27 04:55:16 +01:00
boot:
2024-08-05 00:02:20 +02:00
sudo nixos-rebuild boot --accept-flake-config --show-trace --flake .
2024-02-01 02:06:03 +01:00
2024-08-11 00:27:53 +02:00
build-vm:
sudo nixos-rebuild build-vm --accept-flake-config --show-trace --flake .
2024-08-10 17:00:03 +02:00
push hostname=`just _a_host` cmd=`gum choose test switch boot --header "Select mode..."`:
2024-03-02 15:16:04 +01:00
nixos-rebuild build --flake .#{{hostname}}
@echo pushing...
NIX_NO_NOM=1 NIX_SSHOPTS="-tt" nixos-rebuild {{cmd}} --flake .#{{hostname}} --use-remote-sudo --target-host $(nix eval .#nixosReports.{{hostname}}.fqdn --json | jq . -r) --use-substitutes
2024-02-29 18:39:57 +01:00
2024-08-10 17:00:17 +02:00
inspect:
nix run -- nixpkgs#nix-inspect -p .
2024-08-10 17:00:03 +02:00
@_a_host:
2024-08-05 00:02:20 +02:00
nix eval .#nixosConfigurations --apply builtins.attrNames --json 2>/dev/null | jq '.[]' -r | gum filter --placeholder "Pick a host..."
2024-02-22 20:47:56 +01:00
@remote-current:
>&2 echo Current remote: $(remote-host)
@remote-list:
2024-02-01 02:06:03 +01:00
tomlq <.remote.toml '.hosts | to_entries[] | "remote-set \(.key+1) # -> \(.value.host)"' -r
2024-02-18 22:14:40 +01:00
2024-02-22 20:47:56 +01:00
@_a-remote-label:
just remote-list | gum filter --placeholder "Pick a remote..." | cut -d' ' -f2
@_a-remote-fqdn:
just remote-list | gum filter --placeholder "Pick a remote..." | cut -d' ' -f5-
@remote-set remote=`just remote-current && just _a-remote-label`:
remote-set {{remote}}
# TODO: support multiple labels, run in tmux
remote label=`just _a-remote-label` cmd=`printf "just %s\n" $(just --summary --unsorted) | gum filter --placeholder "Pick a recipie..."`:
remote --label={{label}} {{cmd}}
2024-08-10 17:00:03 +02:00
# TODO: packaged as nix-web
2024-02-25 21:26:02 +01:00
@gorgon:
# https://codeberg.org/gorgon/gorgon/src/branch/main/nix-web
# https://discourse.nixos.org/t/a-web-ui-for-the-nix-store-early-beta/35762
nix run 'git+https://codeberg.org/gorgon/gorgon#nix-web'