{ config, pkgs, ... }: { imports = [ ./common-headless.nix ]; boot.loader.grub.enable = true; boot.loader.grub.version = 2; boot.loader.grub.device = "/dev/sdg"; # or "nodev" for efi only networking = { hostName = "vaccaria"; hostId = "3d551a7c"; }; users.extraUsers.gebner.extraGroups = ["transmission"]; boot.supportedFilesystems = ["zfs"]; boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages; system.stateVersion = "17.03"; fileSystems."/mnt/vaccaria" = pkgs.lib.mkOverride 10 { device = "vaccaria/export"; fsType = "zfs"; }; services.samba = { enable = true; extraConfig = '' passdb backend = tdbsam unix password sync = no ''; shares = { export = { "guest ok" = "no"; "read only" = "no"; path = "/mnt/vaccaria"; }; }; }; services.transmission = { enable = true; settings = { download-dir = "/mnt/vaccaria/torrents"; incomplete-dir = "/mnt/vaccaria/torrents"; peer-port = 51414; }; }; networking.firewall = { allowedTCPPorts = [ 445 139 # samba config.services.transmission.settings.peer-port config.services.rsyncd.port ]; allowedUDPPorts = [ 137 138 # samba ]; }; environment.systemPackages = with pkgs; [ transmission samba rdiff-backup ]; # fancontrol boot.kernelModules = ["it87"]; systemd.services.fancontrol = let fancontrolConfig = pkgs.writeText "fancontrol" '' # Configuration file generated by pwmconfig, changes will be lost INTERVAL=10 DEVPATH=hwmon0=devices/pci0000:00/0000:00:18.3 hwmon2=devices/platform/it87.552 DEVNAME=hwmon0=k10temp hwmon2=it8720 FCTEMPS=hwmon2/pwm3=hwmon0/temp1_input hwmon2/pwm1=hwmon0/temp1_input FCFANS=hwmon2/pwm3=hwmon2/fan1_input hwmon2/pwm1=hwmon2/fan1_input MINTEMP=hwmon2/pwm3=40 hwmon2/pwm1=40 MAXTEMP=hwmon2/pwm3=65 hwmon2/pwm1=65 MINSTART=hwmon2/pwm3=150 hwmon2/pwm1=150 MINSTOP=hwmon2/pwm3=0 hwmon2/pwm1=100 ''; in { description = "fancontrol from lm_sensors"; wantedBy = ["multi-user.target"]; serviceConfig.ExecStart = "${pkgs.lm_sensors}/bin/fancontrol ${fancontrolConfig}"; }; # hdd spindown powerManagement.powerUpCommands = '' ${pkgs.hdparm}/bin/hdparm -B200 -S0 /dev/sd{a,b,c,d,e,f} ''; services.rsyncd = { enable = true; modules = { lr_mobile = { path = "/mnt/vaccaria/fotos/lr_mobile"; "read only" = "yes"; }; }; }; users.extraUsers.gebner.openssh.authorizedKeys.keys = [ ''command="rdiff-backup --server --restrict-read-only /",no-port-forwarding,no-X11-forwarding,no-pty ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCiZhy9mm9sUeomfe9Vj5JhNE4l7YOkj7Yiii5Ni2RzUyj/dc9pxvNJSI+om/ruwb1n2gIYi0bOpwrZGiyvrUrpiqLcOwU6IOYLxnQ3E9nHLX3rsGMIyJtMcoBOcTY/rJMogqA4m6uMaaPEaeBlS5F/qb5UGIvQ7YlW1rF75RJ/QXrdL3Y7R3OJbG90QGR5EThs/1HOEBUKgkEcPQDodzNvZ8hFtznWrCw5bMSQYGMfY4WBc1b7UdLaYZ6vghQgsZ5IyvFDvCNTHTfhObYhv71YMXDkocAyI8XecNP1hoJ67oZ1xn06LEUEMiuXIQ4Ss7RYZLzNc2yrd5RYqCdd4x1n backups@aruanus'' ]; }