diff options
Diffstat (limited to 'machines/openlab')
-rw-r--r-- | machines/openlab/buffer.patch | 13 | ||||
-rw-r--r-- | machines/openlab/hannswurscht.nix | 70 | ||||
-rw-r--r-- | machines/openlab/manual-setup.md | 24 |
3 files changed, 107 insertions, 0 deletions
diff --git a/machines/openlab/buffer.patch b/machines/openlab/buffer.patch new file mode 100644 index 00000000..379b3174 --- /dev/null +++ b/machines/openlab/buffer.patch @@ -0,0 +1,13 @@ +diff --git a/src/modules/alsa/alsa-sink.c b/src/modules/alsa/alsa-sink.c +index 2fdebe0..7042ccc 100644 +--- a/src/modules/alsa/alsa-sink.c ++++ b/src/modules/alsa/alsa-sink.c +@@ -63,7 +63,7 @@ + #define DEFAULT_DEVICE "default" + + #define DEFAULT_TSCHED_BUFFER_USEC (2*PA_USEC_PER_SEC) /* 2s -- Overall buffer size */ +-#define DEFAULT_TSCHED_WATERMARK_USEC (20*PA_USEC_PER_MSEC) /* 20ms -- Fill up when only this much is left in the buffer */ ++#define DEFAULT_TSCHED_WATERMARK_USEC (500*PA_USEC_PER_MSEC) /* 500ms -- Fill up when only this much is left in the buffer */ + + #define TSCHED_WATERMARK_INC_STEP_USEC (10*PA_USEC_PER_MSEC) /* 10ms -- On underrun, increase watermark by this */ + #define TSCHED_WATERMARK_DEC_STEP_USEC (5*PA_USEC_PER_MSEC) /* 5ms -- When everything's great, decrease watermark by this */ diff --git a/machines/openlab/hannswurscht.nix b/machines/openlab/hannswurscht.nix new file mode 100644 index 00000000..4ef21bac --- /dev/null +++ b/machines/openlab/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"]; + }; + }; +} diff --git a/machines/openlab/manual-setup.md b/machines/openlab/manual-setup.md new file mode 100644 index 00000000..6e7f1d20 --- /dev/null +++ b/machines/openlab/manual-setup.md @@ -0,0 +1,24 @@ +# Manual setup for labtops + +## Poor man’s setup + +### Intro + +- download newest nixos setup +- write to USB stick +- boot live system + +### Install vanilla nixos + +- use parted to setup msdos table (mktable) & full-disk partition (mkpart 0% 100%) +- mkfs.ext4 -L /dev/sda1 +- mount /dev/disk/by-label/labtop /mnt +- nixos-generate-config --root mnt, comment out a few things in /mnt/etc/nixos/configuration.nix +- nixos-install +- set temporary root password (123456), will be overwritten by vuizvui +- reboot + +### Install vuizvui + +- boot, login as root +- follow “installing a machine” documentation from vuizvui wiki |