nixos-cesium/Makefile
2026-04-14 20:38:37 +02:00

47 lines
1.1 KiB
Makefile

MAKEFLAGS += --warn-undefined-variables
SHELL := $(shell which bash)
.EXPORT_ALL_VARIABLES:
.ONESHELL:
.SHELLFLAGS := -eu -o pipefail -c
.SILENT:
.PHONY: sync
sync:
sudo rsync -a --exclude='hardware-configuration.nix' nixos/ /etc/nixos/
sudo nixos-rebuild switch --flake /etc/nixos#cesium
sudo cp /etc/nixos/flake.lock nixos/flake.lock 2>/dev/null || true
.PHONY: sync-dry-run
sync-dry-run:
sudo rsync -a --dry-run --verbose --exclude='hardware-configuration.nix' nixos/ /etc/nixos/
.PHONY: add-pre-commit-hook
add-pre-commit-hook:
printf '#!/bin/sh\nmake test\n' > .git/hooks/pre-commit
chmod +x .git/hooks/pre-commit
.PHONY: upgrade
upgrade:
sudo nix flake update /etc/nixos
sudo nixos-rebuild switch --flake /etc/nixos#cesium
sudo cp /etc/nixos/flake.lock nixos/flake.lock 2>/dev/null || true
.PHONY: cleanup
cleanup:
sudo nix-store --optimise && sudo nix-collect-garbage -d
.PHONY: test
test:
echo "Find nix files"
find nixos -name "*.nix" | while read f; do
echo "Checking $$f"
nix-instantiate --parse "$$f" > /dev/null
done
echo "All files OK"
.DEFAULT_GOAL := test