NIX_RUN := nix run .\# NIX_LOCK := nix flake lock NEOVIM_INDEX := 4 DEPS_EDITOR := \ nixeovim DEPS_SYSTEM := \ nixpkgs \ nixpkgs-unstable \ hardware \ home-manager \ agenix \ wired \ nil MACHINES := \ home \ asus-gl553vd VPS := \ istal \ tatos .PHONY: help help: bat -p Makefile ################################################################################ # Hosts ################################################################################ define machine_rule .PHONY: $(1) $(1): ; systemctl --user reset-failed sudo nix run $(NIX_ARGS) .#switch/$(1) -- $(BUILD_ARGS) endef define vps_rule .PHONY: $(1) $(1): ; nix run .#deploy/$(1) -- $(BUILD_ARGS) endef $(foreach machine,$(MACHINES),$(eval $(call machine_rule,$(machine)))) $(foreach vps,$(VPS),$(eval $(call vps_rule,$(vps)))) .PHONY: rollback rollback: sudo nixos-rebuild --rollback ################################################################################ # Editor ################################################################################ .PHONY: neovim neovim: nix profile upgrade $(EDITOR_INDEX) .PHONY: init-neovim init-neovim: nix profile install .#neovim-dev ################################################################################ # Deps ################################################################################ .PHONY: deps-my deps-editor: $(NIX_LOCK) $(foreach dep,$(DEPS_EDITOR),--update-input $(dep)) .PHONY: deps-nixos deps-system: $(NIX_LOCK) $(foreach dep,$(DEPS_SYSTEM),--update-input $(dep)) .PHONY: deps deps: deps-editor deps-system ;