diff options
-rw-r--r-- | Makefile | 85 | ||||
-rw-r--r-- | tv/1systems/cd.nix (renamed from tv/systems/cd.nix) | 16 | ||||
-rw-r--r-- | tv/1systems/mkdir.nix (renamed from tv/systems/mkdir.nix) | 12 | ||||
-rw-r--r-- | tv/1systems/nomic.nix (renamed from tv/systems/nomic.nix) | 10 | ||||
-rw-r--r-- | tv/1systems/rmdir.nix (renamed from tv/systems/rmdir.nix) | 12 | ||||
-rw-r--r-- | tv/1systems/wu.nix (renamed from tv/systems/wu.nix) | 20 | ||||
-rw-r--r-- | tv/2configs/AO753.nix (renamed from tv/configs/AO753.nix) | 2 | ||||
-rw-r--r-- | tv/2configs/CAC-CentOS-7-64bit.nix (renamed from tv/configs/CAC-CentOS-7-64bit.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/CAC-Developer-1.nix (renamed from tv/configs/CAC-Developer-1.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/CAC-Developer-2.nix (renamed from tv/configs/CAC-Developer-2.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/base.nix (renamed from tv/configs/base.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/bash_completion.sh (renamed from tv/configs/bash_completion.sh) | 0 | ||||
-rw-r--r-- | tv/2configs/charybdis.nix (renamed from tv/configs/charybdis.nix) | 2 | ||||
-rw-r--r-- | tv/2configs/consul-client.nix (renamed from tv/configs/consul-client.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/consul-server.nix (renamed from tv/configs/consul-server.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/cryptoroot.nix (renamed from tv/configs/cryptoroot.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/exim-retiolum.nix (renamed from tv/configs/exim-retiolum.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/exim-smarthost.nix (renamed from tv/configs/exim-smarthost.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/git.nix (renamed from tv/configs/git.nix) | 2 | ||||
-rw-r--r-- | tv/2configs/mail-client.nix (renamed from tv/configs/mail-client.nix) | 2 | ||||
-rw-r--r-- | tv/2configs/smartd.nix (renamed from tv/configs/smartd.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/synaptics.nix (renamed from tv/configs/synaptics.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/urlwatch.nix (renamed from tv/configs/urlwatch.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/urxvt.nix (renamed from tv/configs/urxvt.nix) | 0 | ||||
-rw-r--r-- | tv/2configs/w110er.nix (renamed from tv/configs/w110er.nix) | 2 | ||||
-rw-r--r-- | tv/2configs/xserver.nix (renamed from tv/configs/xserver.nix) | 2 | ||||
-rw-r--r-- | tv/3modules/consul.nix (renamed from tv/modules/consul.nix) | 2 | ||||
-rw-r--r-- | tv/3modules/default.nix (renamed from tv/modules/default.nix) | 0 | ||||
-rw-r--r-- | tv/3modules/ejabberd.nix (renamed from tv/modules/ejabberd.nix) | 0 | ||||
-rw-r--r-- | tv/3modules/iptables.nix (renamed from tv/modules/iptables.nix) | 0 | ||||
-rw-r--r-- | tv/4lib/default.nix (renamed from tv/lib/default.nix) | 11 | ||||
-rw-r--r-- | tv/4lib/git.nix (renamed from tv/lib/git.nix) | 0 | ||||
-rw-r--r-- | tv/4lib/modules.nix (renamed from tv/lib/modules.nix) | 0 | ||||
-rw-r--r-- | tv/5pkgs/charybdis/default.nix (renamed from tv/pkgs/charybdis/default.nix) | 0 | ||||
-rw-r--r-- | tv/5pkgs/charybdis/remove-setenv.patch (renamed from tv/pkgs/charybdis/remove-setenv.patch) | 0 | ||||
-rw-r--r-- | tv/5pkgs/default.nix (renamed from tv/pkgs/default.nix) | 0 | ||||
-rw-r--r-- | tv/5pkgs/lentil/default.nix (renamed from tv/pkgs/lentil/default.nix) | 0 | ||||
-rw-r--r-- | tv/5pkgs/lentil/syntaxes.patch (renamed from tv/pkgs/lentil/syntaxes.patch) | 0 | ||||
-rw-r--r-- | tv/5pkgs/much.nix (renamed from tv/pkgs/much.nix) | 0 | ||||
-rw-r--r-- | tv/5pkgs/viljetic-pages/default.nix (renamed from tv/pkgs/viljetic-pages/default.nix) | 0 | ||||
-rw-r--r-- | tv/5pkgs/viljetic-pages/index.html (renamed from tv/pkgs/viljetic-pages/index.html) | 0 | ||||
-rw-r--r-- | tv/5pkgs/viljetic-pages/logo.xpm (renamed from tv/pkgs/viljetic-pages/logo.xpm) | 0 |
42 files changed, 62 insertions, 118 deletions
@@ -2,7 +2,7 @@ # usage: # make system=foo # make systems='foo bar' -# make eval system=foo get=config.networking.extraHosts +# make eval system=foo get=config.networking.extraHosts [filter=json] # .ONESHELL: @@ -17,91 +17,30 @@ $(systems): --tagstring {} \ -q make systems= system={} ::: $(systems) else ifdef system -include 0make/$(LOGNAME)/$(system).makefile .PHONY: deploy deploy:;@ - system_name=$(system) - deploy_host=$(deploy_host) - nixpkgs_url=$(nixpkgs_url) - nixpkgs_rev=$(nixpkgs_rev) - secrets_dir=$(secrets_dir) - - prepush(){( - dst=$$1 - src=$$2 - rsync \ - --exclude .git \ - --exclude .graveyard \ - --exclude old \ - --rsync-path="mkdir -p \"$$dst\" && rsync" \ - --usermap=\*:0 \ - --groupmap=\*:0 \ - --delete-excluded \ - -vrLptgoD \ - "$$src/" "$$deploy_host:$$dst" - )} - - prepush /root/src/stockholm "$$PWD" - prepush /root/src/secrets "$$secrets_dir" - - ssh -S none "$$deploy_host" -T env \ - nixpkgs_url="$$nixpkgs_url" \ - nixpkgs_rev="$$nixpkgs_rev" \ - system_name="$$system_name" \ - user_name="$$LOGNAME" \ - sh -euf \ - <<-\EOF - prefetch(){( - dst=$$1 - url=$$2 - rev=$$3 - mkdir -p "$$dst" - cd "$$dst" - if ! test -e .git; then - git init - fi - if ! cur_url=$$(git config remote.origin.url 2>/dev/null); then - git remote add origin "$$url" - elif test "$$cur_url" != "$$url"; then - git remote set-url origin "$$url" - fi - if test "$$(git rev-parse --verify HEAD 2>/dev/null)" != "$$rev"; then - git fetch origin - git checkout "$$rev" -- . - git checkout -q "$$rev" - git submodule init - git submodule update - fi - git clean -dxf - )} - - prefetch /root/src/nixpkgs "$$nixpkgs_url" "$$nixpkgs_rev" - - echo build system... - NIX_PATH=/root/src \ - nix-build \ - -Q \ - -A system \ - '<stockholm>' \ - --argstr user-name "$$user_name" \ - --argstr system-name "$$system_name" - - result/bin/switch-to-configuration switch - EOF + make eval system=$(system) get=config.krebs.build.script filter=json | sh .PHONY: eval eval: @ +ifeq ($(filter),json) + extraArgs=--json + filter() { jq -r .; } +else + filter() { cat; } +endif NIX_PATH=stockholm=$$PWD:$$NIX_PATH \ nix-instantiate \ - --json \ + $${extraArgs-} \ + $${json+--json} \ + $${json+--strict} \ --eval \ - --strict \ -A "$$get" \ '<stockholm>' \ --argstr user-name "$$LOGNAME" \ --argstr system-name "$$system" \ - | jq -r . + | filter else $(error unbound variable: system[s]) endif diff --git a/tv/systems/cd.nix b/tv/1systems/cd.nix index 037248c..54292eb 100644 --- a/tv/systems/cd.nix +++ b/tv/1systems/cd.nix @@ -3,7 +3,7 @@ with lib; let - tvpkgs = import ../pkgs { inherit pkgs; }; + tvpkgs = import ../5pkgs { inherit pkgs; }; in { @@ -26,14 +26,14 @@ in }; imports = [ - ../configs/CAC-Developer-2.nix - ../configs/CAC-CentOS-7-64bit.nix - ../configs/base.nix - ../configs/consul-server.nix - ../configs/exim-smarthost.nix - ../configs/git.nix + ../2configs/CAC-Developer-2.nix + ../2configs/CAC-CentOS-7-64bit.nix + ../2configs/base.nix + ../2configs/consul-server.nix + ../2configs/exim-smarthost.nix + ../2configs/git.nix { - imports = [ ../configs/charybdis.nix ]; + imports = [ ../2configs/charybdis.nix ]; tv.charybdis = { enable = true; sslCert = ../../Zcerts/charybdis_cd.crt.pem; diff --git a/tv/systems/mkdir.nix b/tv/1systems/mkdir.nix index f601ec8..cd3d3b5 100644 --- a/tv/systems/mkdir.nix +++ b/tv/1systems/mkdir.nix @@ -22,12 +22,12 @@ with lib; }; imports = [ - ../configs/CAC-Developer-1.nix - ../configs/CAC-CentOS-7-64bit.nix - ../configs/base.nix - ../configs/consul-server.nix - ../configs/exim-smarthost.nix - ../configs/git.nix + ../2configs/CAC-Developer-1.nix + ../2configs/CAC-CentOS-7-64bit.nix + ../2configs/base.nix + ../2configs/consul-server.nix + ../2configs/exim-smarthost.nix + ../2configs/git.nix { tv.iptables = { enable = true; diff --git a/tv/systems/nomic.nix b/tv/1systems/nomic.nix index c96fe38..b9a10cb 100644 --- a/tv/systems/nomic.nix +++ b/tv/1systems/nomic.nix @@ -22,11 +22,11 @@ with lib; }; imports = [ - ../configs/AO753.nix - ../configs/base.nix - ../configs/consul-server.nix - ../configs/exim-retiolum.nix - ../configs/git.nix + ../2configs/AO753.nix + ../2configs/base.nix + ../2configs/consul-server.nix + ../2configs/exim-retiolum.nix + ../2configs/git.nix { tv.iptables = { enable = true; diff --git a/tv/systems/rmdir.nix b/tv/1systems/rmdir.nix index fa91516..c8ac43e 100644 --- a/tv/systems/rmdir.nix +++ b/tv/1systems/rmdir.nix @@ -22,12 +22,12 @@ with lib; }; imports = [ - ../configs/CAC-Developer-1.nix - ../configs/CAC-CentOS-7-64bit.nix - ../configs/base.nix - ../configs/consul-server.nix - ../configs/exim-smarthost.nix - ../configs/git.nix + ../2configs/CAC-Developer-1.nix + ../2configs/CAC-CentOS-7-64bit.nix + ../2configs/base.nix + ../2configs/consul-server.nix + ../2configs/exim-smarthost.nix + ../2configs/git.nix { tv.iptables = { enable = true; diff --git a/tv/systems/wu.nix b/tv/1systems/wu.nix index 7c52d94..27691ec 100644 --- a/tv/systems/wu.nix +++ b/tv/1systems/wu.nix @@ -3,7 +3,7 @@ with lib; let - tvpkgs = import ../pkgs { inherit pkgs; }; + tvpkgs = import ../5pkgs { inherit pkgs; }; in { @@ -26,15 +26,15 @@ in }; imports = [ - ../configs/w110er.nix - ../configs/base.nix - ../configs/consul-client.nix - ../configs/exim-retiolum.nix - ../configs/git.nix - ../configs/mail-client.nix - ../configs/xserver.nix - ../configs/synaptics.nix # TODO w110er if xserver is enabled - ../configs/urlwatch.nix + ../2configs/w110er.nix + ../2configs/base.nix + ../2configs/consul-client.nix + ../2configs/exim-retiolum.nix + ../2configs/git.nix + ../2configs/mail-client.nix + ../2configs/xserver.nix + ../2configs/synaptics.nix # TODO w110er if xserver is enabled + ../2configs/urlwatch.nix { environment.systemPackages = with pkgs; [ diff --git a/tv/configs/AO753.nix b/tv/2configs/AO753.nix index c103ce2..96167ce 100644 --- a/tv/configs/AO753.nix +++ b/tv/2configs/AO753.nix @@ -2,7 +2,7 @@ { imports = [ - ../configs/smartd.nix + ../2configs/smartd.nix ]; boot.loader.grub = { diff --git a/tv/configs/CAC-CentOS-7-64bit.nix b/tv/2configs/CAC-CentOS-7-64bit.nix index 168d1d9..168d1d9 100644 --- a/tv/configs/CAC-CentOS-7-64bit.nix +++ b/tv/2configs/CAC-CentOS-7-64bit.nix diff --git a/tv/configs/CAC-Developer-1.nix b/tv/2configs/CAC-Developer-1.nix index 37bc32a..37bc32a 100644 --- a/tv/configs/CAC-Developer-1.nix +++ b/tv/2configs/CAC-Developer-1.nix diff --git a/tv/configs/CAC-Developer-2.nix b/tv/2configs/CAC-Developer-2.nix index fedb808..fedb808 100644 --- a/tv/configs/CAC-Developer-2.nix +++ b/tv/2configs/CAC-Developer-2.nix diff --git a/tv/configs/base.nix b/tv/2configs/base.nix index 997d4c2..997d4c2 100644 --- a/tv/configs/base.nix +++ b/tv/2configs/base.nix diff --git a/tv/configs/bash_completion.sh b/tv/2configs/bash_completion.sh index 537484f..537484f 100644 --- a/tv/configs/bash_completion.sh +++ b/tv/2configs/bash_completion.sh diff --git a/tv/configs/charybdis.nix b/tv/2configs/charybdis.nix index 977626d..bf45bf2 100644 --- a/tv/configs/charybdis.nix +++ b/tv/2configs/charybdis.nix @@ -1,7 +1,7 @@ { config, lib, pkgs, ... }: let - tvpkgs = import ../pkgs { inherit pkgs; }; + tvpkgs = import ../5pkgs { inherit pkgs; }; in with builtins; diff --git a/tv/configs/consul-client.nix b/tv/2configs/consul-client.nix index 0a8bf4d..0a8bf4d 100644 --- a/tv/configs/consul-client.nix +++ b/tv/2configs/consul-client.nix diff --git a/tv/configs/consul-server.nix b/tv/2configs/consul-server.nix index d10f9ea..d10f9ea 100644 --- a/tv/configs/consul-server.nix +++ b/tv/2configs/consul-server.nix diff --git a/tv/configs/cryptoroot.nix b/tv/2configs/cryptoroot.nix index 04618ac..04618ac 100644 --- a/tv/configs/cryptoroot.nix +++ b/tv/2configs/cryptoroot.nix diff --git a/tv/configs/exim-retiolum.nix b/tv/2configs/exim-retiolum.nix index 851a0c6..851a0c6 100644 --- a/tv/configs/exim-retiolum.nix +++ b/tv/2configs/exim-retiolum.nix diff --git a/tv/configs/exim-smarthost.nix b/tv/2configs/exim-smarthost.nix index c93189b..c93189b 100644 --- a/tv/configs/exim-smarthost.nix +++ b/tv/2configs/exim-smarthost.nix diff --git a/tv/configs/git.nix b/tv/2configs/git.nix index 01d2901..ecb98ce 100644 --- a/tv/configs/git.nix +++ b/tv/2configs/git.nix @@ -1,6 +1,6 @@ { config, lib, pkgs, ... }: -with import ../lib { inherit lib pkgs; }; +with import ../4lib { inherit lib pkgs; }; let out = { diff --git a/tv/configs/mail-client.nix b/tv/2configs/mail-client.nix index 035f296..a632cf7 100644 --- a/tv/configs/mail-client.nix +++ b/tv/2configs/mail-client.nix @@ -1,6 +1,6 @@ { pkgs, ... }: -with import ../pkgs { inherit pkgs; }; +with import ../5pkgs { inherit pkgs; }; { environment.systemPackages = [ diff --git a/tv/configs/smartd.nix b/tv/2configs/smartd.nix index 9c4d8b2..9c4d8b2 100644 --- a/tv/configs/smartd.nix +++ b/tv/2configs/smartd.nix diff --git a/tv/configs/synaptics.nix b/tv/2configs/synaptics.nix index c47cb9d..c47cb9d 100644 --- a/tv/configs/synaptics.nix +++ b/tv/2configs/synaptics.nix diff --git a/tv/configs/urlwatch.nix b/tv/2configs/urlwatch.nix index a69b151..a69b151 100644 --- a/tv/configs/urlwatch.nix +++ b/tv/2configs/urlwatch.nix diff --git a/tv/configs/urxvt.nix b/tv/2configs/urxvt.nix index 89bb421..89bb421 100644 --- a/tv/configs/urxvt.nix +++ b/tv/2configs/urxvt.nix diff --git a/tv/configs/w110er.nix b/tv/2configs/w110er.nix index 96ee8c7..e580b21 100644 --- a/tv/configs/w110er.nix +++ b/tv/2configs/w110er.nix @@ -2,7 +2,7 @@ { imports = [ - ../configs/smartd.nix + ../2configs/smartd.nix ]; boot.extraModprobeConfig = '' diff --git a/tv/configs/xserver.nix b/tv/2configs/xserver.nix index ec94359..7fc07f9 100644 --- a/tv/configs/xserver.nix +++ b/tv/2configs/xserver.nix @@ -2,7 +2,7 @@ { imports = [ - ../configs/urxvt.nix # TODO via xserver + ../2configs/urxvt.nix # TODO via xserver ]; services.xserver.enable = true; diff --git a/tv/modules/consul.nix b/tv/3modules/consul.nix index 83a430c..82a15c0 100644 --- a/tv/modules/consul.nix +++ b/tv/3modules/consul.nix @@ -5,7 +5,7 @@ # TODO consul-bootstrap HOST that actually does is # TODO tools to inspect state of a cluster in outage state -with import ../lib { inherit lib pkgs; }; +with import ../4lib { inherit lib pkgs; }; let cfg = config.tv.consul; diff --git a/tv/modules/default.nix b/tv/3modules/default.nix index bb10d82..bb10d82 100644 --- a/tv/modules/default.nix +++ b/tv/3modules/default.nix diff --git a/tv/modules/ejabberd.nix b/tv/3modules/ejabberd.nix index 2910a9a..2910a9a 100644 --- a/tv/modules/ejabberd.nix +++ b/tv/3modules/ejabberd.nix diff --git a/tv/modules/iptables.nix b/tv/3modules/iptables.nix index cbf49f5..cbf49f5 100644 --- a/tv/modules/iptables.nix +++ b/tv/3modules/iptables.nix diff --git a/tv/lib/default.nix b/tv/4lib/default.nix index dbc0c29..e0a295f 100644 --- a/tv/lib/default.nix +++ b/tv/4lib/default.nix @@ -1,11 +1,16 @@ { lib, pkgs, ... }: -with lib; +let + krebs = import ../../4lib/krebs { inherit lib; }; +in -lib // rec { +with krebs; + +krebs // rec { git = import ./git.nix { - inherit lib pkgs; + lib = krebs; + inherit pkgs; }; # "7.4.335" -> "74" diff --git a/tv/lib/git.nix b/tv/4lib/git.nix index 2b25deb..2b25deb 100644 --- a/tv/lib/git.nix +++ b/tv/4lib/git.nix diff --git a/tv/lib/modules.nix b/tv/4lib/modules.nix index 248e638..248e638 100644 --- a/tv/lib/modules.nix +++ b/tv/4lib/modules.nix diff --git a/tv/pkgs/charybdis/default.nix b/tv/5pkgs/charybdis/default.nix index f3e6be4..f3e6be4 100644 --- a/tv/pkgs/charybdis/default.nix +++ b/tv/5pkgs/charybdis/default.nix diff --git a/tv/pkgs/charybdis/remove-setenv.patch b/tv/5pkgs/charybdis/remove-setenv.patch index bbaf95e..bbaf95e 100644 --- a/tv/pkgs/charybdis/remove-setenv.patch +++ b/tv/5pkgs/charybdis/remove-setenv.patch diff --git a/tv/pkgs/default.nix b/tv/5pkgs/default.nix index 50625f8..50625f8 100644 --- a/tv/pkgs/default.nix +++ b/tv/5pkgs/default.nix diff --git a/tv/pkgs/lentil/default.nix b/tv/5pkgs/lentil/default.nix index fc9b4fd..fc9b4fd 100644 --- a/tv/pkgs/lentil/default.nix +++ b/tv/5pkgs/lentil/default.nix diff --git a/tv/pkgs/lentil/syntaxes.patch b/tv/5pkgs/lentil/syntaxes.patch index a9390ae..a9390ae 100644 --- a/tv/pkgs/lentil/syntaxes.patch +++ b/tv/5pkgs/lentil/syntaxes.patch diff --git a/tv/pkgs/much.nix b/tv/5pkgs/much.nix index 82586b4..82586b4 100644 --- a/tv/pkgs/much.nix +++ b/tv/5pkgs/much.nix diff --git a/tv/pkgs/viljetic-pages/default.nix b/tv/5pkgs/viljetic-pages/default.nix index 1ae55cc..1ae55cc 100644 --- a/tv/pkgs/viljetic-pages/default.nix +++ b/tv/5pkgs/viljetic-pages/default.nix diff --git a/tv/pkgs/viljetic-pages/index.html b/tv/5pkgs/viljetic-pages/index.html index c06b3f9..c06b3f9 100644 --- a/tv/pkgs/viljetic-pages/index.html +++ b/tv/5pkgs/viljetic-pages/index.html diff --git a/tv/pkgs/viljetic-pages/logo.xpm b/tv/5pkgs/viljetic-pages/logo.xpm index bb263da..bb263da 100644 --- a/tv/pkgs/viljetic-pages/logo.xpm +++ b/tv/5pkgs/viljetic-pages/logo.xpm |