summaryrefslogtreecommitdiff
path: root/justfile
blob: 3552de3754004b2a5856da8be8d5659dbff33fbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
alias b := build
alias c := check
alias sw := switch
alias t := test
alias u := update
alias ui := update-input

rebuild := if os() == "macos" { "darwin-rebuild" } else { "nixos-rebuild" }

default:
    @just --choose

[private]
rebuild subcmd *extraArgs="":
    {{ rebuild }} \
      {{ subcmd }} \
      {{ extraArgs }} \
      --print-build-logs \
      --flake .

remote-rebuild system subcmd *extraArgs="":
    {{ rebuild }} \
      {{ subcmd }} \
      --build-host root@{{ system }} \
      --target-host root@{{ system }} \
      --fast \
      {{ extraArgs }} \
      --flake '.#{{ system }}'

boot *extraArgs="": (rebuild "boot" extraArgs)

build *extraArgs="": (rebuild "build" extraArgs)

switch *extraArgs="": (rebuild "switch" extraArgs)

test *extraArgs="": (rebuild "test" extraArgs)

check *args="":
    nix flake check \
      --print-build-logs \
      --show-trace \
      --accept-flake-config \
      --no-allow-import-from-derivation \
      {{ args }}

eval system *args="":
    nix eval \
      --raw \
      '.#nixosConfigurations.{{ system }}.config.system.build.toplevel' \
      --no-allow-import-from-derivation \
      {{ args }}

update:
    nix flake update \
      --commit-lock-file \
      --commit-lockfile-summary "flake: update all inputs"

update-input input:
    nix flake update {{ input }} \
      --commit-lock-file \
      --commit-lockfile-summary "flake: update {{ input }}"

deploy system:
    @just remote-rebuild {{ system }} "switch"