diff options
author | makefu <github@syntax-fehler.de> | 2015-09-27 19:41:01 +0200 |
---|---|---|
committer | makefu <github@syntax-fehler.de> | 2015-09-27 19:41:01 +0200 |
commit | bc2bd6e2f6e9295b14e641b82bff62b40641988d (patch) | |
tree | 8bc4b655c12b4e0bc33051116a3adb3003463d34 /tv | |
parent | c65614cdef66c38ff2939928e9072873e19e1c37 (diff) | |
parent | 170191034e51fb7e80ff6e6ddcac103ec7527afd (diff) |
Merge branch 'before-merge'
Diffstat (limited to 'tv')
-rw-r--r-- | tv/1systems/cd.nix | 68 | ||||
-rw-r--r-- | tv/1systems/mkdir.nix | 42 | ||||
-rw-r--r-- | tv/1systems/nomic.nix | 15 | ||||
-rw-r--r-- | tv/1systems/rmdir.nix | 35 | ||||
-rw-r--r-- | tv/1systems/wu.nix | 23 | ||||
-rw-r--r-- | tv/2configs/base.nix | 3 | ||||
-rw-r--r-- | tv/2configs/charybdis.nix | 4 | ||||
-rw-r--r-- | tv/2configs/exim-smarthost.nix | 55 | ||||
-rw-r--r-- | tv/2configs/git.nix | 4 | ||||
-rw-r--r-- | tv/3modules/consul.nix | 2 | ||||
-rw-r--r-- | tv/3modules/ejabberd.nix | 2 |
11 files changed, 152 insertions, 101 deletions
diff --git a/tv/1systems/cd.nix b/tv/1systems/cd.nix index b385848f1..4f66b3592 100644 --- a/tv/1systems/cd.nix +++ b/tv/1systems/cd.nix @@ -8,16 +8,18 @@ with lib; krebs.build.target = "root@cd.internet"; - krebs.build.deps = { - nixpkgs = { + krebs.build.source = { + git.nixpkgs = { url = https://github.com/4z3/nixpkgs; rev = "03130ec91356cd250b80f144022ee2f4d665ca36"; # 1357692 }; - secrets = { - url = "/home/tv/secrets/${config.krebs.build.host.name}"; + dir.secrets = { + host = config.krebs.hosts.wu; + path = "/home/tv/secrets/cd"; }; - stockholm = { - url = toString ../..; + dir.stockholm = { + host = config.krebs.hosts.wu; + path = "/home/tv/stockholm"; }; }; @@ -26,6 +28,7 @@ with lib; ../2configs/CAC-CentOS-7-64bit.nix ../2configs/base.nix #../2configs/consul-server.nix + ../2configs/exim-smarthost.nix ../2configs/git.nix { imports = [ ../2configs/charybdis.nix ]; @@ -41,59 +44,6 @@ with lib; }; } { - krebs.exim-smarthost = { - enable = true; - primary_hostname = "${config.networking.hostName}.retiolum"; - sender_domains = [ - "shackspace.de" - "viljetic.de" - ]; - relay_from_hosts = [ - "10.243.13.37" - ]; - internet-aliases = with config.krebs.users; [ - { from = "tomislav@viljetic.de"; to = tv.mail; } - - # (mindestens) lisp-stammtisch und elli haben die: - { from = "tv@viljetic.de"; to = tv.mail; } - - { from = "tv@destroy.dyn.shackspace.de"; to = tv.mail; } - - { from = "mirko@viljetic.de"; to = mv.mail; } - - # TODO killme (wo wird die benutzt?) - { from = "tv@cd.retiolum"; to = tv.mail; } - - # TODO lists@smtp.retiolum [consul] - { from = "postmaster@krebsco.de"; to = tv.mail; } - - { from = "spam@krebsco.de"; - to = pkgs.lib.concatStringsSep "," [ - tv.mail - "lass@mors.retiolum" - makefu.mail - ]; - } - ]; - system-aliases = [ - { from = "mailer-daemon"; to = "postmaster"; } - { from = "postmaster"; to = "root"; } - { from = "nobody"; to = "root"; } - { from = "hostmaster"; to = "root"; } - { from = "usenet"; to = "root"; } - { from = "news"; to = "root"; } - { from = "webmaster"; to = "root"; } - { from = "www"; to = "root"; } - { from = "ftp"; to = "root"; } - { from = "abuse"; to = "root"; } - { from = "noc"; to = "root"; } - { from = "security"; to = "root"; } - { from = "root"; to = "tv"; } - { from = "mirko"; to = "mv"; } - ]; - }; - } - { krebs.github-hosts-sync.enable = true; tv.iptables.input-internet-accept-new-tcp = singleton config.krebs.github-hosts-sync.port; diff --git a/tv/1systems/mkdir.nix b/tv/1systems/mkdir.nix index cd3d3b5c4..76432ba03 100644 --- a/tv/1systems/mkdir.nix +++ b/tv/1systems/mkdir.nix @@ -2,22 +2,37 @@ with lib; +let + # TODO merge with lass + getDefaultGateway = ip: + concatStringsSep "." (take 3 (splitString "." ip) ++ ["1"]); + + + primary-addr4 = + builtins.elemAt config.krebs.build.host.nets.internet.addrs4 0; + + #secondary-addr4 = + # builtins.elemAt config.krebs.build.host.nets.internet.addrs4 1; +in + { krebs.build.host = config.krebs.hosts.mkdir; krebs.build.user = config.krebs.users.tv; - krebs.build.target = "root@mkdir.internet"; + krebs.build.target = "root@${primary-addr4}"; - krebs.build.deps = { - nixpkgs = { + krebs.build.source = { + git.nixpkgs = { url = https://github.com/NixOS/nixpkgs; - rev = "9d5508d85c33b8fb22d79dde6176792eac2c2696"; + rev = "68bd8e4a9dc247726ae89cc8739574261718e328"; }; - secrets = { - url = "/home/tv/secrets/${config.krebs.build.host.name}"; + dir.secrets = { + host = config.krebs.hosts.wu; + path = "/home/tv/secrets/mkdir"; }; - stockholm = { - url = toString ../..; + dir.stockholm = { + host = config.krebs.hosts.wu; + path = "/home/tv/stockholm"; }; }; @@ -56,11 +71,18 @@ with lib; networking.interfaces.enp2s1.ip4 = [ { - address = "162.248.167.241"; # TODO + address = primary-addr4; prefixLength = 24; } + #{ + # address = secondary-addr4; + # prefixLength = 24; + #} ]; - networking.defaultGateway = "162.248.167.1"; + + # TODO define gateway in krebs/3modules/default.nix + networking.defaultGateway = getDefaultGateway primary-addr4; + networking.nameservers = [ "8.8.8.8" ]; diff --git a/tv/1systems/nomic.nix b/tv/1systems/nomic.nix index f08e74bbe..718f6ae24 100644 --- a/tv/1systems/nomic.nix +++ b/tv/1systems/nomic.nix @@ -8,16 +8,18 @@ with lib; krebs.build.target = "root@nomic.gg23"; - krebs.build.deps = { - nixpkgs = { + krebs.build.source = { + git.nixpkgs = { url = https://github.com/4z3/nixpkgs; rev = "03130ec91356cd250b80f144022ee2f4d665ca36"; # 1357692 }; - secrets = { - url = "/home/tv/secrets/${config.krebs.build.host.name}"; + dir.secrets = { + host = config.krebs.hosts.wu; + path = "/home/tv/secrets/nomic"; }; - stockholm = { - url = toString ../..; + dir.stockholm = { + host = config.krebs.hosts.wu; + path = "/home/tv/stockholm"; }; }; @@ -112,6 +114,7 @@ with lib; exit 23 esac '') + gnupg ntp # ntpate rxvt_unicode.terminfo tmux diff --git a/tv/1systems/rmdir.nix b/tv/1systems/rmdir.nix index c8ac43e4c..79e47c539 100644 --- a/tv/1systems/rmdir.nix +++ b/tv/1systems/rmdir.nix @@ -2,22 +2,37 @@ with lib; +let + # TODO merge with lass + getDefaultGateway = ip: + concatStringsSep "." (take 3 (splitString "." ip) ++ ["1"]); + + + primary-addr4 = + builtins.elemAt config.krebs.build.host.nets.internet.addrs4 0; + + #secondary-addr4 = + # builtins.elemAt config.krebs.build.host.nets.internet.addrs4 1; +in + { krebs.build.host = config.krebs.hosts.rmdir; krebs.build.user = config.krebs.users.tv; krebs.build.target = "root@rmdir.internet"; - krebs.build.deps = { - nixpkgs = { + krebs.build.source = { + git.nixpkgs = { url = https://github.com/NixOS/nixpkgs; - rev = "4c01e6d91993b6de128795f4fbdd25f6227fb870"; + rev = "68bd8e4a9dc247726ae89cc8739574261718e328"; }; - secrets = { - url = "/home/tv/secrets/${config.krebs.build.host.name}"; + dir.secrets = { + host = config.krebs.hosts.wu; + path = "/home/tv/secrets/rmdir"; }; - stockholm = { - url = toString ../..; + dir.stockholm = { + host = config.krebs.hosts.wu; + path = "/home/tv/stockholm"; }; }; @@ -57,11 +72,13 @@ with lib; networking.interfaces.enp2s1.ip4 = [ { - address = "167.88.44.94"; + address = primary-addr4; prefixLength = 24; } ]; - networking.defaultGateway = "167.88.44.1"; + # TODO define gateway in krebs/3modules/default.nix + networking.defaultGateway = getDefaultGateway primary-addr4; + networking.nameservers = [ "8.8.8.8" ]; diff --git a/tv/1systems/wu.nix b/tv/1systems/wu.nix index 6cd1565f7..17394df25 100644 --- a/tv/1systems/wu.nix +++ b/tv/1systems/wu.nix @@ -8,16 +8,18 @@ with lib; krebs.build.target = "root@wu"; - krebs.build.deps = { - nixpkgs = { - url = https://github.com/4z3/nixpkgs; - rev = "03130ec91356cd250b80f144022ee2f4d665ca36"; # 1357692 + krebs.build.source = { + git.nixpkgs = { + url = https://github.com/NixOS/nixpkgs; + rev = "bd84ebaa1e0359f41350e053ed24592b169b5714"; }; - secrets = { - url = "/home/tv/secrets/${config.krebs.build.host.name}"; + dir.secrets = { + host = config.krebs.hosts.wu; + path = "/home/tv/secrets/wu"; }; - stockholm = { - url = toString ../..; + dir.stockholm = { + host = config.krebs.hosts.wu; + path = "/home/tv/stockholm"; }; }; @@ -71,6 +73,7 @@ with lib; cac dic file + get gitAndTools.qgit gnupg21 haskellPackages.hledger @@ -213,7 +216,6 @@ with lib; extraGroups = [ "audio" "video" - "bumblebee" ]; }; @@ -254,7 +256,6 @@ with lib; extraGroups = [ "audio" "video" - "bumblebee" ]; }; @@ -263,7 +264,6 @@ with lib; extraGroups = [ "audio" "video" - "bumblebee" ]; }; @@ -331,6 +331,7 @@ with lib; }; "/home" = { device = "/dev/mapper/home"; + fsType = "btrfs"; options = "defaults,noatime,ssd,compress=lzo"; }; "/boot" = { diff --git a/tv/2configs/base.nix b/tv/2configs/base.nix index 89a66115a..1c6eba662 100644 --- a/tv/2configs/base.nix +++ b/tv/2configs/base.nix @@ -15,9 +15,10 @@ in imports = [ { + # TODO never put hashedPassword into the store users.extraUsers = mapAttrs (_: h: { hashedPassword = h; }) - (import /root/src/secrets/hashedPasswords.nix); + (import <secrets/hashedPasswords.nix>); } { users.defaultUserShell = "/run/current-system/sw/bin/bash"; diff --git a/tv/2configs/charybdis.nix b/tv/2configs/charybdis.nix index a949026de..80c6f7c4a 100644 --- a/tv/2configs/charybdis.nix +++ b/tv/2configs/charybdis.nix @@ -21,7 +21,7 @@ let }; dhParams = mkOption { type = types.str; - default = "/root/src/secrets/charybdis.dh.pem"; + default = toString <secrets/charybdis.dh.pem>; }; motd = mkOption { type = types.str; @@ -32,7 +32,7 @@ let }; sslKey = mkOption { type = types.str; - default = "/root/src/secrets/charybdis.key.pem"; + default = toString <secrets/charybdis.key.pem>; }; }; diff --git a/tv/2configs/exim-smarthost.nix b/tv/2configs/exim-smarthost.nix new file mode 100644 index 000000000..811c8e4c7 --- /dev/null +++ b/tv/2configs/exim-smarthost.nix @@ -0,0 +1,55 @@ +{ config, pkgs, ... }: + +{ + krebs.exim-smarthost = { + enable = true; + primary_hostname = "${config.networking.hostName}.retiolum"; + sender_domains = [ + "shackspace.de" + "viljetic.de" + ]; + relay_from_hosts = [ + "10.243.13.37" + ]; + internet-aliases = with config.krebs.users; [ + { from = "tomislav@viljetic.de"; to = tv.mail; } + + # (mindestens) lisp-stammtisch und elli haben die: + { from = "tv@viljetic.de"; to = tv.mail; } + + { from = "tv@destroy.dyn.shackspace.de"; to = tv.mail; } + + { from = "mirko@viljetic.de"; to = mv.mail; } + + # TODO killme (wo wird die benutzt?) + { from = "tv@cd.retiolum"; to = tv.mail; } + + # TODO lists@smtp.retiolum [consul] + { from = "postmaster@krebsco.de"; to = tv.mail; } + + { from = "spam@krebsco.de"; + to = pkgs.lib.concatStringsSep "," [ + tv.mail + "lass@mors.retiolum" + makefu.mail + ]; + } + ]; + system-aliases = [ + { from = "mailer-daemon"; to = "postmaster"; } + { from = "postmaster"; to = "root"; } + { from = "nobody"; to = "root"; } + { from = "hostmaster"; to = "root"; } + { from = "usenet"; to = "root"; } + { from = "news"; to = "root"; } + { from = "webmaster"; to = "root"; } + { from = "www"; to = "root"; } + { from = "ftp"; to = "root"; } + { from = "abuse"; to = "root"; } + { from = "noc"; to = "root"; } + { from = "security"; to = "root"; } + { from = "root"; to = "tv"; } + { from = "mirko"; to = "mv"; } + ]; + }; +} diff --git a/tv/2configs/git.nix b/tv/2configs/git.nix index 264cb4a1c..5f5fae483 100644 --- a/tv/2configs/git.nix +++ b/tv/2configs/git.nix @@ -26,6 +26,7 @@ let cgserver = {}; crude-mail-setup = {}; dot-xmonad = {}; + get = {}; hack = {}; load-env = {}; make-snapshot = {}; @@ -50,7 +51,8 @@ let collaborators = with config.krebs.users; [ lass makefu ]; }; } // - import /root/src/secrets/repos.nix { inherit config lib pkgs; } + # TODO don't put secrets/repos.nix into the store + import <secrets/repos.nix> { inherit config lib pkgs; } ); make-public-repo = name: { desc ? null, ... }: { diff --git a/tv/3modules/consul.nix b/tv/3modules/consul.nix index 82a15c024..e764ab7b2 100644 --- a/tv/3modules/consul.nix +++ b/tv/3modules/consul.nix @@ -29,7 +29,7 @@ let }; encrypt-file = mkOption { type = types.str; # TODO path (but not just into store) - default = "/root/src/secrets/consul-encrypt.json"; + default = toString <secrets/consul-encrypt.json>; }; data-dir = mkOption { type = types.str; # TODO path (but not just into store) diff --git a/tv/3modules/ejabberd.nix b/tv/3modules/ejabberd.nix index 2910a9a69..6b231fb56 100644 --- a/tv/3modules/ejabberd.nix +++ b/tv/3modules/ejabberd.nix @@ -15,7 +15,7 @@ let certFile = mkOption { type = types.str; - default = "/root/src/secrets/ejabberd.pem"; + default = toString <secrets/ejabberd.pem>; }; hosts = mkOption { |