diff --git a/loki/configuration.nix b/loki/configuration.nix index f43781c..677f90e 100644 --- a/loki/configuration.nix +++ b/loki/configuration.nix @@ -122,53 +122,53 @@ with lib; { enable = true; discovery = true; }; - # samba = { - # enable = true; - # enableNmbd = true; - # enableWinbindd = true; - # nsswins = true; - # extraConfig = '' - # workgroup = WORKGROUP - # load printers = no - # smb encrypt = required - # ''; - # shares = - # let - # common = { - # "public" = "no"; - # "writeable" = "yes"; - # "create mask" = "0700"; - # "directory mask" = "2700"; - # "browseable" = "yes"; - # "guest ok" = "no"; - # "read only" = "no"; - # "force group" = "users"; - # }; - # in - # { - # bertof = recursiveUpdate common { - # path = "/home/bertof/"; - # comment = "Bertof samba share"; - # "force user" = "bertof"; - # "valid users" = "bertof"; - # }; - # tiziano = recursiveUpdate common { - # path = "/home/tiziano/"; - # comment = "Tiziano samba share"; - # "force user" = "tiziano"; - # "valid users" = "tiziano"; - # }; - # condiviso = recursiveUpdate common { - # path = "/mnt/raid0/condiviso"; - # comment = "Samba share condiviso"; - # "valid users" = "bertof tiziano"; - # "create mask" = "0770"; - # "directory mask" = "2770"; - # "force create mode" = "0660"; - # "force directory mode" = "2770"; - # }; - # }; - # }; + samba = { + enable = true; + enableNmbd = true; + enableWinbindd = true; + nsswins = true; + extraConfig = '' + workgroup = WORKGROUP + load printers = no + smb encrypt = required + ''; + shares = + let + common = { + "public" = "no"; + "writeable" = "yes"; + "create mask" = "0700"; + "directory mask" = "2700"; + "browseable" = "yes"; + "guest ok" = "no"; + "read only" = "no"; + "force group" = "users"; + }; + in + { + bertof = recursiveUpdate common { + path = "/home/bertof/"; + comment = "Bertof samba share"; + "force user" = "bertof"; + "valid users" = "bertof"; + }; + tiziano = recursiveUpdate common { + path = "/home/tiziano/"; + comment = "Tiziano samba share"; + "force user" = "tiziano"; + "valid users" = "tiziano"; + }; + condiviso = recursiveUpdate common { + path = "/mnt/condiviso"; + comment = "Samba share condiviso"; + "valid users" = "bertof tiziano"; + "create mask" = "0770"; + "directory mask" = "2770"; + "force create mode" = "0660"; + "force directory mode" = "2770"; + }; + }; + }; smartd.enable = true; sonarr = { enable = true; @@ -176,15 +176,15 @@ with lib; { group = "users"; }; thermald.enable = true; - # transmission = { - # enable = true; - # openFirewall = true; - # group = "users"; - # settings = { - # download-dir = "/mnt/raid0/condiviso/Scaricati/Torrent"; - # incomplete-dir = "/mnt/raid0/condiviso/Scaricati/Torrent/.incomplete"; - # }; - # }; + transmission = { + enable = true; + openFirewall = true; + group = "users"; + settings = { + download-dir = "/mnt/condiviso/Torrent"; + incomplete-dir = "/mnt/condiviso/Torrent/.incomplete"; + }; + }; xserver = { # enable = true; # videoDrivers = [ "nvidia" ]; @@ -249,34 +249,27 @@ with lib; { ''; in { - bertof_raid0 = { + bertof = { subvolume = "/home/bertof/"; extraConfig = '' ALLOW_USERS="bertof" ${commonExtraConfig} ''; }; - tiziano_raid0 = { + tiziano = { subvolume = "/home/tiziano/"; extraConfig = '' ALLOW_USERS="tiziano" ${commonExtraConfig} ''; }; - # condiviso_raid0 = { - # subvolume = "/mnt/raid0/condiviso"; - # extraConfig = '' - # ALLOW_USERS="bertof tiziano" - # ${commonExtraConfig} - # ''; - # }; - # condiviso_raid1 = { - # subvolume = "/mnt/raid1/condiviso"; - # extraConfig = '' - # ALLOW_USERS="bertof tiziano" - # ${commonExtraConfig} - # ''; - # }; + condiviso = { + subvolume = "/mnt/condiviso"; + extraConfig = '' + ALLOW_USERS="bertof tiziano" + ${commonExtraConfig} + ''; + }; }; }; @@ -318,125 +311,125 @@ with lib; { # }; }; - # services.home-assistant = { - # enable = true; - # # openFirewall = true; - # config = { - # default_config = { }; + services.home-assistant = { + enable = true; + # openFirewall = true; + config = { + default_config = { }; - # homeassistant = { - # name = "Casa"; - # latitude = "!secret home-latitude"; - # longitude = "!secret home-longitude"; - # elevation = 17; - # unit_system = "metric"; - # time_zone = "Europe/Rome"; - # external_url = "https://home-assistant.bertof.net"; - # }; + homeassistant = { + name = "Casa"; + latitude = "!secret home-latitude"; + longitude = "!secret home-longitude"; + elevation = 17; + unit_system = "metric"; + time_zone = "Europe/Rome"; + external_url = "https://home-assistant.bertof.net"; + }; - # http = { - # use_x_forwarded_for = true; - # trusted_proxies = [ "172.23.4.159" "::1" "127.0.0.1" ]; - # }; + http = { + use_x_forwarded_for = true; + trusted_proxies = [ "172.23.4.159" "::1" "127.0.0.1" ]; + }; - # automation = "!include automations.yaml"; - # scene = "!include scenes.yaml"; + automation = "!include automations.yaml"; + scene = "!include scenes.yaml"; - # cloud = { }; - # config = { }; - # device_tracker = [{ - # platform = "bluetooth_tracker"; - # request_rssi = true; - # }]; - # esphome = { }; - # frontend = { }; - # # google_assistant = { project_id = "light-cathode-372118"; }; - # history = { }; - # logbook = { }; - # # logger.default = "debug"; - # logger.default = "info"; - # "map" = { }; - # mobile_app = { }; - # recorder.purge_keep_days = 30; - # shopping_list = { }; - # sun = { }; - # system_health = { }; - # tts = [{ - # platform = "google_translate"; - # language = "it"; - # # tld = "it"; - # }]; - # }; - # configDir = "/var/lib/hass"; - # configWritable = true; - # extraPackages = ps: with ps; [ securetar ]; - # extraComponents = [ - # "default_config" + cloud = { }; + config = { }; + device_tracker = [{ + platform = "bluetooth_tracker"; + request_rssi = true; + }]; + esphome = { }; + frontend = { }; + # google_assistant = { project_id = "light-cathode-372118"; }; + history = { }; + logbook = { }; + # logger.default = "debug"; + logger.default = "info"; + "map" = { }; + mobile_app = { }; + recorder.purge_keep_days = 30; + shopping_list = { }; + sun = { }; + system_health = { }; + tts = [{ + platform = "google_translate"; + language = "it"; + # tld = "it"; + }]; + }; + configDir = "/var/lib/hass"; + configWritable = true; + extraPackages = ps: with ps; [ securetar ]; + extraComponents = [ + "default_config" - # "accuweather" - # "alert" - # "analytics" - # "bayesian" - # "binary_sensor" - # "blueprint" - # "bluetooth_le_tracker" - # "bluetooth_tracker" - # "button" - # "camera" - # "cast" - # "caldav" - # "calendar" - # "citybikes" - # "configurator" - # "coronavirus" - # "cover" - # "default_config" - # "derivative" - # "device_automation" - # "device_sun_light_trigger" - # "device_tracker" - # "dlib_face_detect" - # "dlib_face_identify" - # "dlna_dmr" - # "dlna_dms" - # "esphome" - # "flux" - # "gdacs" - # "google" - # "google_translate" - # "group" - # "hassio" - # "jellyfin" - # "local_file" - # "media_player" - # "met" - # "meteoalarm" - # "network" - # "nmap_tracker" - # "notify" - # "ping" - # "plex" - # "proximity" - # "radarr" - # "radio_browser" - # "random" - # "scene" - # "schedule" - # "sonarr" - # "spotify" - # "tcp" - # "telegram" - # "telegram_bot" - # "template" - # "threshold" - # "tod" # times of the day - # "trend" - # "upnp" - # "wake_on_lan" - # "workday" - # "zoneminder" - # ]; - # }; + "accuweather" + "alert" + "analytics" + "bayesian" + "binary_sensor" + "blueprint" + "bluetooth_le_tracker" + "bluetooth_tracker" + "button" + "camera" + "cast" + "caldav" + "calendar" + "citybikes" + "configurator" + "coronavirus" + "cover" + "default_config" + "derivative" + "device_automation" + "device_sun_light_trigger" + "device_tracker" + "dlib_face_detect" + "dlib_face_identify" + "dlna_dmr" + "dlna_dms" + "esphome" + "flux" + "gdacs" + "google" + "google_translate" + "group" + "hassio" + "jellyfin" + "local_file" + "media_player" + "met" + "meteoalarm" + "network" + "nmap_tracker" + "notify" + "ping" + "plex" + "proximity" + "radarr" + "radio_browser" + "random" + "scene" + "schedule" + "sonarr" + "spotify" + "tcp" + "telegram" + "telegram_bot" + "template" + "threshold" + "tod" # times of the day + "trend" + "upnp" + "wake_on_lan" + "workday" + "zoneminder" + ]; + }; security.sudo.extraConfig = '' Defaults pwfeedback diff --git a/loki/hardware-configuration.nix b/loki/hardware-configuration.nix index 426bf1c..34547d8 100644 --- a/loki/hardware-configuration.nix +++ b/loki/hardware-configuration.nix @@ -14,6 +14,7 @@ fileSystems."/" = { device = "/dev/disk/by-uuid/44c53e75-a00d-47bc-a99b-2544fe513e51"; fsType = "btrfs"; + options = [ "compress=lzo" ]; }; fileSystems."/boot" = { @@ -24,21 +25,25 @@ fileSystems."/home/bertof" = { device = "/dev/disk/by-partlabel/5T"; fsType = "btrfs"; - options = [ "subvol=@bertof" ]; + options = [ "subvol=@bertof" "compress=lzo" ]; }; fileSystems."/home/tiziano" = { device = "/dev/disk/by-partlabel/5T"; fsType = "btrfs"; - options = [ "subvol=@tiziano" ]; + options = [ "subvol=@tiziano" "compress=lzo" ]; }; - swapDevices = [ - { - device = "/swapfile"; - size = 1024 * 4; - } - ]; + fileSystems."/mnt/condiviso" = { + device = "/dev/disk/by-partlabel/5T"; + fsType = "btrfs"; + options = [ "subvol=@condiviso" "compress=lzo" ]; + }; + + swapDevices = [{ + device = "/swapfile"; + size = 1024 * 4; + }]; # Enables DHCP on each ethernet and wireless interface. In case of scripted networking # (the default) this is the recommended approach. When using systemd-networkd it's