Dotfiles managed with Nix
1current_host := `if [ "$(uname -s)" = "Darwin" ]; then scutil --get LocalHostName; else hostname -s; fi`
2
3alias drs := switch
4alias hms := hm-switch
5
6_default:
7 just -l
8
9build:
10 #!/usr/bin/env bash
11 printf 'Using host %s\n' "{{current_host}}"
12 if [ "$(uname -s)" = "Darwin" ]
13 then
14 darwin-rebuild build --flake ".#{{current_host}}"
15 else
16 home-manager build --flake ".#{{current_host}}"
17 fi
18
19check:
20 #!/usr/bin/env bash
21 set -euo pipefail
22 printf 'Checking host %s\n' "{{current_host}}"
23 nix flake check --show-trace -L
24 if [ "$(uname -s)" = "Darwin" ]
25 then
26 nix build ".#darwinConfigurations.{{current_host}}.system" --show-trace -L
27 else
28 nix build ".#homeConfigurations.{{current_host}}.activationPackage" --show-trace -L
29 fi
30
31switch:
32 #!/usr/bin/env bash
33 printf 'Using host %s\n' "{{current_host}}"
34 if [ "$(uname -s)" = "Darwin" ]
35 then
36 darwin-rebuild switch --flake ".#{{current_host}}"
37 else
38 home-manager switch --flake ".#{{current_host}}"
39 fi
40
41hm-build target:
42 home-manager build --flake path:.#{{target}}
43
44hm-switch target:
45 home-manager switch --flake path:.#{{target}}