aboutsummaryrefslogtreecommitdiff
path: root/Makefile
blob: 34ce4bfe73003550855b5209a8c329a0a8341557 (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
.PHONY: install update rollback nixos-update nixos-install

SYSTEM = $(shell uname -n)
SRCDIR = ./$(SYSTEM)
DSTDIR = $(HOME)

SOURCES := $(shell find -L $(SRCDIR)/ -type f)
CONFIGS := $(subst $(SRCDIR)/,$(DSTDIR)/,$(SOURCES:%.org=%))

UPDATE_TARGET :=
INSTALL_TARGET :=

ifeq ($(SYSTEM), nixos)
	UPDATE_TARGET += nixos-update
	INSTALL_TARGET += nixos-install
endif

all: update

update: install $(UPDATE_TARGET)

install: $(CONFIGS) $(INSTALL_TARGET)

$(DSTDIR)/%: $(SRCDIR)/%.org
	mkdir -p $(dir $@)
	python3 ./extract_src.py $< $@

$(DSTDIR)/%: $(SRCDIR)/%
	mkdir -p $(dir $@)
	cp $< $@

nixos-update: install
	nix flake update $(DSTDIR)/.flake
	cp $(DSTDIR)/.flake/flake.lock $(SRCDIR)/.flake
	sudo nixos-rebuild switch --flake $(DSTDIR)/.flake

nixos-install: $(CONFIGS)
	sudo nixos-rebuild switch --flake $(DSTDIR)/.flake