diff options
| author | Gregor Kleen <gkleen@yggdrasil.li> | 2016-05-25 23:07:56 +0200 |
|---|---|---|
| committer | Gregor Kleen <gkleen@yggdrasil.li> | 2016-05-25 23:07:56 +0200 |
| commit | b299639e2099aac9f226f67aa74d722f69187354 (patch) | |
| tree | 80cb2681acfa76d558decf4bbae1e5ecb7f2fff1 | |
| parent | 9e5d041b147386a41f52afe0e73f7d5ff13dc9c8 (diff) | |
| download | nixos-b299639e2099aac9f226f67aa74d722f69187354.tar nixos-b299639e2099aac9f226f67aa74d722f69187354.tar.gz nixos-b299639e2099aac9f226f67aa74d722f69187354.tar.bz2 nixos-b299639e2099aac9f226f67aa74d722f69187354.tar.xz nixos-b299639e2099aac9f226f67aa74d722f69187354.zip | |
mlmmj
| -rw-r--r-- | ymir.nix | 46 |
1 files changed, 29 insertions, 17 deletions
| @@ -47,25 +47,25 @@ in rec { | |||
| 47 | }); | 47 | }); |
| 48 | uwsgi = pkgs.callPackage ./customized/uwsgi.nix { | 48 | uwsgi = pkgs.callPackage ./customized/uwsgi.nix { |
| 49 | extraPlugins = [ | 49 | extraPlugins = [ |
| 50 | { name = "cgi"; | 50 | { name = "cgi"; |
| 51 | interpreter = pkgs.python3; | 51 | interpreter = pkgs.python3; |
| 52 | path = "plugins/cgi"; | 52 | path = "plugins/cgi"; |
| 53 | deps = [ pkgs.python3 ]; | 53 | deps = [ pkgs.python3 ]; |
| 54 | install = '' | 54 | install = '' |
| 55 | ${pkgs.python3.executable} -m compileall $out/${pkgs.python3.sitePackages}/ | 55 | ${pkgs.python3.executable} -m compileall $out/${pkgs.python3.sitePackages}/ |
| 56 | ${pkgs.python3.executable} -O -m compileall $out/${pkgs.python3.sitePackages}/ | 56 | ${pkgs.python3.executable} -O -m compileall $out/${pkgs.python3.sitePackages}/ |
| 57 | ''; | 57 | ''; |
| 58 | } | 58 | } |
| 59 | ]; | 59 | ]; |
| 60 | plugins = []; | 60 | plugins = []; |
| 61 | }; | 61 | }; |
| 62 | cgit = pkgs.stdenv.lib.overrideDerivation pkgs.cgit (oldAttrs : { | 62 | cgit = pkgs.stdenv.lib.overrideDerivation pkgs.cgit (oldAttrs : { |
| 63 | buildInputs = oldAttrs.buildInputs ++ [ | 63 | buildInputs = oldAttrs.buildInputs ++ [ |
| 64 | pkgs.perl | 64 | pkgs.perl |
| 65 | pkgs.python3 | 65 | pkgs.python3 |
| 66 | pkgs.makeWrapper | 66 | pkgs.makeWrapper |
| 67 | ]; | 67 | ]; |
| 68 | postInstall = let | 68 | postInstall = let |
| 69 | pythonEnv = pkgs.python3.buildEnv.override { extraLibs = with pkgs.python3Packages; [ pygments markdown ]; }; | 69 | pythonEnv = pkgs.python3.buildEnv.override { extraLibs = with pkgs.python3Packages; [ pygments markdown ]; }; |
| 70 | in '' | 70 | in '' |
| 71 | wrapProgram $out/lib/cgit/filters/syntax-highlighting.py --prefix PYTHONPATH ':' ${pythonEnv}/lib/*/site-packages | 71 | wrapProgram $out/lib/cgit/filters/syntax-highlighting.py --prefix PYTHONPATH ':' ${pythonEnv}/lib/*/site-packages |
| @@ -113,6 +113,7 @@ in rec { | |||
| 113 | rsync | 113 | rsync |
| 114 | tmux | 114 | tmux |
| 115 | zsh | 115 | zsh |
| 116 | mlmmj | ||
| 116 | ]; | 117 | ]; |
| 117 | 118 | ||
| 118 | networking = { | 119 | networking = { |
| @@ -369,6 +370,7 @@ in rec { | |||
| 369 | 370 | ||
| 370 | transport_maps = regexp:${pkgs.writeText "transport" '' | 371 | transport_maps = regexp:${pkgs.writeText "transport" '' |
| 371 | /^gkleen[@\+]/ uucp:isaac | 372 | /^gkleen[@\+]/ uucp:isaac |
| 373 | /^([^\+]+)@(lists|l)\..*/ mlmmj:$1 | ||
| 372 | ''} | 374 | ''} |
| 373 | 375 | ||
| 374 | luser_relay = gkleen+''${local} | 376 | luser_relay = gkleen+''${local} |
| @@ -411,10 +413,14 @@ in rec { | |||
| 411 | permit_sasl_authenticated, | 413 | permit_sasl_authenticated, |
| 412 | reject_unauth_destination | 414 | reject_unauth_destination |
| 413 | 415 | ||
| 416 | mlmmj_destination_recipient_limit = 1 | ||
| 417 | propagate_unmatched_extensions = virtual | ||
| 418 | |||
| 414 | alias_maps = hash:/etc/postfix/aliases texthash:/srv/mail/spm | 419 | alias_maps = hash:/etc/postfix/aliases texthash:/srv/mail/spm |
| 415 | ''; | 420 | ''; |
| 416 | extraMasterConf = '' | 421 | extraMasterConf = '' |
| 417 | uucp unix - n n - - pipe flags=Fqhu user=uucp argv=/var/setuid-wrappers/uux -z -a$sender - $nexthop!rmail ($recipient) | 422 | uucp unix - n n - - pipe flags=Fqhu user=uucp argv=/var/setuid-wrappers/uux -z -a$sender - $nexthop!rmail ($recipient) |
| 423 | mlmmj unix - n n - - pipe flags=ORhu user=mlmmj argv=${pkgs.mlmmj}/bin/mlmmj-receive -F -L /var/spool/lists/$nexthop | ||
| 418 | ''; | 424 | ''; |
| 419 | networks = ["127.0.0.0/8" "[::ffff:127.0.0.0]/104" "[::1]/128" "10.141.0.0/16"]; | 425 | networks = ["127.0.0.0/8" "[::ffff:127.0.0.0]/104" "[::1]/128" "10.141.0.0/16"]; |
| 420 | }; | 426 | }; |
| @@ -474,6 +480,12 @@ in rec { | |||
| 474 | ''; | 480 | ''; |
| 475 | users.groups."mail" = {}; | 481 | users.groups."mail" = {}; |
| 476 | 482 | ||
| 483 | users.extraUsers."mlmmj" = { | ||
| 484 | isSystemUser = true; | ||
| 485 | home = "/var/spool/lists"; | ||
| 486 | createHome = true; | ||
| 487 | }; | ||
| 488 | |||
| 477 | security.acme = { | 489 | security.acme = { |
| 478 | certs = { | 490 | certs = { |
| 479 | "yggdrasil.li" = { | 491 | "yggdrasil.li" = { |
| @@ -482,7 +494,7 @@ in rec { | |||
| 482 | webroot = "/srv/www/acme/yggdrasil.li"; | 494 | webroot = "/srv/www/acme/yggdrasil.li"; |
| 483 | email = "phikeebaogobaegh@141.li"; | 495 | email = "phikeebaogobaegh@141.li"; |
| 484 | extraDomains = builtins.listToAttrs (builtins.map (name: { inherit name; value = "/srv/www/acme/${name}"; }) | 496 | extraDomains = builtins.listToAttrs (builtins.map (name: { inherit name; value = "/srv/www/acme/${name}"; }) |
| 485 | ["dirty-haskell.org" "www.dirty-haskell.org" "files.141.li" "f.141.li" "ymir.141.li" "141.li" "www.141.li" "ymir.xmpp.li" "xmpp.li" "www.xmpp.li" "files.yggdrasil.li" "f.yggdrasil.li" "ymir.yggdrasil.li" "git.yggdrasil.li" "www.yggdrasil.li" "yggdrasil.li" "files.praseodym.org" "f.praseodym.org" "ymir.praseodym.org" "praseodym.org" "www.praseodym.org"]); | 497 | ["dirty-haskell.org" "www.dirty-haskell.org" "lists.dirty-haskell.org" "l.dirty-haskell.org" "files.141.li" "f.141.li" "ymir.141.li" "141.li" "www.141.li" "lists.141.li" "l.141.li" "ymir.xmpp.li" "xmpp.li" "www.xmpp.li" "lists.xmpp.li" "l.xmpp.li" "files.yggdrasil.li" "f.yggdrasil.li" "ymir.yggdrasil.li" "git.yggdrasil.li" "www.yggdrasil.li" "yggdrasil.li" "lists.yggdrasil.li" "l.yggdrasil.li" "files.praseodym.org" "f.praseodym.org" "ymir.praseodym.org" "praseodym.org" "www.praseodym.org" "lists.praseodym.org" "l.praseodym.org"]); |
| 486 | postRun = '' | 498 | postRun = '' |
| 487 | systemctl reload nginx.service | 499 | systemctl reload nginx.service |
| 488 | prosodyctl reload | 500 | prosodyctl reload |
| @@ -506,7 +518,7 @@ in rec { | |||
| 506 | IdentityFile ~/.ssh/odin | 518 | IdentityFile ~/.ssh/odin |
| 507 | Host hel | 519 | Host hel |
| 508 | Hostname hel.midgard.yggdrasil | 520 | Hostname hel.midgard.yggdrasil |
| 509 | IdentityFile ~/.ssh/hel | 521 | IdentityFile ~/.ssh/hel |
| 510 | ''; | 522 | ''; |
| 511 | commandPath = ["${pkgs.rmail}/bin" "${pkgs.push2bin}/bin"]; | 523 | commandPath = ["${pkgs.rmail}/bin" "${pkgs.push2bin}/bin"]; |
| 512 | defaultCommands = ["rmail" "push2bin"]; | 524 | defaultCommands = ["rmail" "push2bin"]; |
