diff options
Diffstat (limited to 'machines/labnet/hannswurscht.nix')
-rw-r--r-- | machines/labnet/hannswurscht.nix | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/machines/labnet/hannswurscht.nix b/machines/labnet/hannswurscht.nix new file mode 100644 index 00000000..4ef21bac --- /dev/null +++ b/machines/labnet/hannswurscht.nix @@ -0,0 +1,70 @@ +{ pkgs, ... }: + +let + musicDir = "/data/music"; + webserverRootDir = "/var/www"; + +in { + vuizvui.user.openlab.base.enable = true; + + nixpkgs.system = "i686-linux"; + + users.users.openlab.extraGroups = [ "audio" ]; + services.mingetty.autologinUser = "openlab"; + + hardware.pulseaudio = { + enable = true; + systemWide = true; + package = pkgs.pulseaudioFull; + zeroconf.discovery.enable = false; + zeroconf.publish.enable = true; + tcp.enable = true; + tcp.anonymousClients.allowedIpRanges = [ "172.16.0.0/16" "127.0.0.1" ]; + }; + + hardware.bluetooth = { + enable = true; + extraConfig = '' + [General] + Enable=Source,Sink,Media,Socket + ''; + }; + + hardware.sane.enable = true; + services.saned = { + enable = true; + extraConfig = '' + 172.16.0.0/16 + ''; + }; + + # TODO: haskell module broken + # vuizvui.user.openlab.stackenblocken = { + # enable = true; + # volume = 35; + # }; + vuizvui.user.openlab.speedtest = { + enable = true; + outputPath = "${webserverRootDir}/speedtest.yaml"; + }; + + services.nginx = { + enable = true; + virtualHosts."hannswurscht.openlab.lan" = { + default = true; + root = webserverRootDir; + }; + }; + + # machine mostly runs headless with the screen shut + services.logind.extraConfig = "HandleLidSwitch=ignore"; + + fileSystems = { + "${musicDir}" = { + device = "ftp.openlab.lan:/data/upload/music"; + fsType = "nfs"; + label = "lab-ftp"; + options = [ "nolock" "x-systemd.automount"]; + }; + }; +} |