diff options
author | tv <tv@shackspace.de> | 2015-07-11 16:55:22 +0200 |
---|---|---|
committer | tv <tv@shackspace.de> | 2015-07-11 19:39:01 +0200 |
commit | d213df5c00d3073d2f3bc09471fce466153df881 (patch) | |
tree | 74fcc325138ed1c278117e703529a4696be584ee /1systems/tv/nomic.nix |
NWO
Diffstat (limited to '1systems/tv/nomic.nix')
-rw-r--r-- | 1systems/tv/nomic.nix | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/1systems/tv/nomic.nix b/1systems/tv/nomic.nix new file mode 100644 index 000000000..1696c509a --- /dev/null +++ b/1systems/tv/nomic.nix @@ -0,0 +1,111 @@ +{ config, lib, pkgs, ... }: + +with lib; + +{ + imports = [ + ../../2configs/tv/AO753.nix + ../../2configs/tv/base.nix + ../../2configs/tv/consul-server.nix + ../../2configs/tv/exim-retiolum.nix + ../../2configs/tv/git-public.nix + { + imports = [ ../../3modules/tv/identity.nix ]; + tv.identity = { + enable = true; + self = config.tv.identity.hosts.nomic; + }; + } + { + imports = [ ../../3modules/tv/iptables.nix ]; + tv.iptables = { + enable = true; + input-internet-accept-new-tcp = [ + "ssh" + "http" + "tinc" + "smtp" + ]; + }; + } + { + imports = [ ../../3modules/tv/nginx.nix ]; + tv.nginx = { + enable = true; + retiolum-locations = [ + (nameValuePair "~ ^/~(.+?)(/.*)?\$" '' + alias /home/$1/public_html$2; + '') + ]; + }; + } + { + imports = [ ../../3modules/tv/retiolum.nix ]; + tv.retiolum = { + enable = true; + hosts = ../../Zhosts; + connectTo = [ + "gum" + "pigstarter" + ]; + }; + } + ]; + + boot.initrd.luks = { + cryptoModules = [ "aes" "sha1" "xts" ]; + devices = [ + { + name = "luks1"; + device = "/dev/disk/by-uuid/cac73902-1023-4906-8e95-3a8b245337d4"; + } + ]; + }; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/de4780fc-0473-4708-81df-299b7383274c"; + fsType = "btrfs"; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/be3a1d80-3157-4d7c-86cc-ef01b64eff5e"; + fsType = "ext4"; + }; + + fileSystems."/home" = + { device = "/dev/disk/by-uuid/9db9c8ff-51da-4cbd-9f0a-0cd3333bbaff"; + fsType = "btrfs"; + }; + + swapDevices = [ ]; + + nix = { + buildCores = 2; + maxJobs = 2; + daemonIONiceLevel = 1; + daemonNiceLevel = 1; + }; + + # TODO base + boot.tmpOnTmpfs = true; + + environment.systemPackages = with pkgs; [ + (writeScriptBin "play" '' + #! /bin/sh + set -euf + mpv() { exec ${mpv}/bin/mpv "$@"; } + case $1 in + deepmix) mpv http://deepmix.ru/deepmix128.pls;; + groovesalad) mpv http://somafm.com/play/groovesalad;; + ntslive) mpv http://listen2.ntslive.co.uk/listen.pls;; + *) + echo "$0: bad argument: $*" >&2 + exit 23 + esac + '') + rxvt_unicode.terminfo + tmux + ]; + + networking.hostName = "nomic"; +} |