{ config, pkgs, ... }: { imports = [ ./common-headless.nix ]; boot.supportedFilesystems = ["zfs"]; boot.loader.grub = { enable = true; version = 2; zfsSupport = true; mirroredBoots = [ { devices = [ "/dev/sda" ]; path = "/boota"; } { devices = [ "/dev/sdb" ]; path = "/bootb"; } { devices = [ "/dev/sdc" ]; path = "/bootc"; } { devices = [ "/dev/sdd" ]; path = "/bootd"; } { devices = [ "/dev/sde" ]; path = "/boote"; } { devices = [ "/dev/sdf" ]; path = "/bootf"; } ]; }; networking = { hostName = "aplysia"; hostId = "34a820f1"; }; services.openssh.enable = true; users.extraUsers.gebner = { isNormalUser = true; extraGroups = ["wheel" "transmission"]; }; boot.kernelPackages = pkgs.lib.mkOverride 10 pkgs.linuxPackages; system.stateVersion = "17.03"; fileSystems."/mnt/aplysia" = pkgs.lib.mkOverride 10 { device = "aplysia/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/aplysia"; }; }; }; services.transmission = { enable = true; settings = { download-dir = "/mnt/aplysia/torrents"; incomplete-dir = "/mnt/aplysia/torrents"; peer-port = 51413; }; }; networking.firewall = { allowedTCPPorts = [ 445 139 # samba config.services.transmission.settings.peer-port ]; allowedUDPPorts = [ 137 138 # samba ]; }; environment.systemPackages = with pkgs; [ transmission samba ]; # hdd spindown powerManagement.powerUpCommands = '' ${pkgs.hdparm}/bin/hdparm -B127 -S100 /dev/sd{a,b,c,d,e,f} ''; }