-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmakefile
More file actions
60 lines (51 loc) · 1.01 KB
/
Copy pathmakefile
File metadata and controls
60 lines (51 loc) · 1.01 KB
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
hostname := $(shell hostname)
export NIX_SSHOPTS := -t
.PHONY: default
default:
command := switch
profile := $(hostname)
target := localhost
uri := .
extra-args :=
.PHONY: nixos
nixos:
ifeq ($(target), localhost)
nixos-rebuild $(command) \
--sudo $(extra-args) \
--flake $(uri)\#$(profile)
else
nixos-rebuild $(command) \
--sudo $(extra-args) \
--target-host $(target) \
--flake $(uri)\#$(profile)
endif
command := switch
extra-args :=
.PHONY: home-manager
home-manager:
ifeq ($(target), localhost)
home-manager $(command) \
$(extra-args) \
--flake $(uri)\#$(profile)
else
home-manager $(command) \
$(extra-args) \
--flake $(uri)\#$(profile)
endif
.PHONY: test
test:
$(MAKE) nixos command=build
$(MAKE) home-manager command=build
@printf '\033[32m%s\033[0m\n' PASSED
.PHONY: garbage-collect
garbage-collect:
nix-collect-garbage --delete-older-than 7d
nix-store --gc
nix-store --optimise
.PHONY: gc
gc: garbage-collect
.PHONY: update
update:
nix flake update
.PHONY: up
up: update