nixos-config/vaccaria.nix

109 lines
2.5 KiB
Nix
Raw Normal View History

2017-08-05 12:28:22 +00:00
{ config, pkgs, ... }:
{
imports =
[
./common-headless.nix
2018-09-01 16:43:27 +00:00
./mastus/backup.nix
2017-08-05 12:28:22 +00:00
];
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";
};
2018-01-05 17:46:33 +00:00
users.extraUsers.gebner.extraGroups = ["transmission"];
2017-08-05 12:28:22 +00:00
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";
};
2017-08-05 15:34:10 +00:00
services.samba = {
enable = true;
extraConfig = ''
passdb backend = tdbsam
unix password sync = no
'';
shares = {
export = {
"guest ok" = "no";
"read only" = "no";
2017-08-05 15:34:10 +00:00
path = "/mnt/vaccaria";
};
};
};
2017-08-05 12:28:22 +00:00
2017-08-06 14:33:56 +00:00
services.transmission = {
enable = true;
settings = {
download-dir = "/mnt/vaccaria/torrents";
incomplete-dir = "/mnt/vaccaria/torrents";
peer-port = 51414;
};
};
2017-08-05 12:28:22 +00:00
networking.firewall = {
allowedTCPPorts = [
445 139 # samba
2017-08-06 14:33:56 +00:00
config.services.transmission.settings.peer-port
2018-09-01 16:44:24 +00:00
config.services.rsyncd.port
2017-08-05 12:28:22 +00:00
];
allowedUDPPorts = [
137 138 # samba
];
};
environment.systemPackages = with pkgs; [
transmission
samba
];
2017-08-05 15:42:59 +00:00
# fancontrol
boot.kernelModules = ["it87"];
systemd.services.fancontrol =
let fancontrolConfig = pkgs.writeText "fancontrol" ''
# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
2018-09-01 16:44:24 +00:00
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
2017-08-05 15:42:59 +00:00
''; in {
description = "fancontrol from lm_sensors";
wantedBy = ["multi-user.target"];
serviceConfig.ExecStart = "${pkgs.lm_sensors}/bin/fancontrol ${fancontrolConfig}";
};
2017-08-05 15:46:35 +00:00
# hdd spindown
powerManagement.powerUpCommands = ''
2018-01-05 17:46:33 +00:00
${pkgs.hdparm}/bin/hdparm -B200 -S0 /dev/sd{a,b,c,d,e,f}
2017-08-05 15:46:35 +00:00
'';
2018-09-01 16:44:24 +00:00
services.rsyncd = {
enable = true;
modules = {
lr_mobile = {
path = "/mnt/vaccaria/fotos/lr_mobile";
"read only" = "yes";
};
};
};
2017-08-05 12:28:22 +00:00
}