NIXOPS_STATE ?= ./state/eldiron.nixops
NIXOPS_DEPLOYMENT = cef694f3-081d-11e9-b31f-0242ec186adf
-nixpkgs ?= https://releases.nixos.org/nixos/19.03/nixos-19.03.173677.daf861a810d/nixexprs.tar.xz
-NIX_PATH = nixpkgs=${nixpkgs}:nixpkgsNext=${nixpkgs}:nixpkgsPrevious=${nixpkgs}
+nixpkgs ?= $(shell cat ../nix/sources.json | jq -r '."nixpkgs-nixops".url')
+nixpkgsNext ?= $(shell cat ../nix/sources.json | jq -r '."nixpkgs-nixops-next".url')
+nixpkgsPrevious ?= $(shell cat ../nix/sources.json | jq -r '."nixpkgs-nixops-previous".url')
+NIX_PATH = nixpkgs=${nixpkgs}:nixpkgsNext=${nixpkgsNext}:nixpkgsPrevious=${nixpkgsPrevious}
NIXOPS := $(shell NIX_PATH=$(NIX_PATH) nix-build --no-out-link -E "with import <nixpkgs> { overlays = builtins.attrValues (import ../overlays); }; nixops")/bin/nixops
NIXOPS_PRIV = ./scripts/with_env $(NIXOPS)
.PHONY: setup
###### Nixops regular tasks
+TARGET ?=
NIXOPS_ARGS ?=
+ifdef TARGET
+ override NIXOPS_ARGS +=--include=$(TARGET)
+endif
+SSH_ARGS ?=
+
nixops:
$(NIXOPS_PRIV) $(NIXOPS_ARGS)
-SSH_ARGS ?=
ssh-eldiron:
$(NIXOPS_PRIV) ssh eldiron -- $(SSH_ARGS)
$(NIXOPS_PRIV) info
debug:
- $(NIXOPS_PRIV) deploy --build-only --show-trace
+ $(NIXOPS_PRIV) deploy --build-only --show-trace $(NIXOPS_ARGS)
dry-run:
- $(NIXOPS_PRIV) deploy --dry-run
+ $(NIXOPS_PRIV) deploy --dry-run $(NIXOPS_ARGS)
build:
- $(NIXOPS_PRIV) deploy --build-only
+ $(NIXOPS_PRIV) deploy --build-only $(NIXOPS_ARGS)
upload:
- $(NIXOPS_PRIV) deploy --copy-only
+ $(NIXOPS_PRIV) deploy --copy-only $(NIXOPS_ARGS)
deploy:
- $(NIXOPS_PRIV) deploy
+ $(NIXOPS_PRIV) deploy $(NIXOPS_ARGS)
deploy-reboot:
- $(NIXOPS_PRIV) deploy --force-reboot
+ $(NIXOPS_PRIV) deploy --force-reboot $(NIXOPS_ARGS)
reboot:
- $(NIXOPS_PRIV) reboot --include=eldiron
+ $(NIXOPS_PRIV) reboot --include=$(TARGET)
.PHONY: nixops ssh-eldiron info debug dry-run build upload deploy deploy-reboot reboot
###### Cleanup generations and garbage collection