From cb88eef2a2ea237abf3bbc5c9a38e9f33266d20d Mon Sep 17 00:00:00 2001 From: Filippo Berto Date: Sat, 11 Jun 2022 23:07:37 +0200 Subject: [PATCH] Zoneminder --- loki/configuration.nix | 52 ++++++++++++++--------- loki/hardware-configuration.nix | 75 ++++++++++++++++++++++++--------- odin/common_configuration.nix | 4 +- thor/configuration.nix | 2 +- 4 files changed, 90 insertions(+), 43 deletions(-) diff --git a/loki/configuration.nix b/loki/configuration.nix index 4d3ce97..e79e04c 100644 --- a/loki/configuration.nix +++ b/loki/configuration.nix @@ -3,7 +3,7 @@ { boot = { binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; - kernelPackages = pkgs.linuxPackages_5_17; + kernelPackages = pkgs.linuxPackages_5_18; loader = { systemd-boot.enable = true; efi.canTouchEfiVariables = true; @@ -24,12 +24,13 @@ enableRedistributableFirmware = true; nvidia.package = config.boot.kernelPackages.nvidiaPackages.legacy_470; - nvidia.prime = { - offload.enable = false; - sync.enable = true; - intelBusId = "PCI:0:2:0"; - nvidiaBusId = "PCI:1:0:0"; - }; + nvidia.nvidiaPersistenced = true; + # nvidia.prime = { + # offload.enable = false; + # sync.enable = true; + # intelBusId = "PCI:0:2:0"; + # nvidiaBusId = "PCI:1:0:0"; + # }; opengl = { enable = true; @@ -109,19 +110,19 @@ }; in { bertof = common // { - path = "/mnt/raid/bertof"; + path = "/mnt/raid0/bertof"; comment = "Bertof samba share"; "force user" = "bertof"; "valid users" = "bertof"; }; tiziano = common // { - path = "/mnt/raid/tiziano"; + path = "/mnt/raid0/tiziano"; comment = "Tiziano samba share"; "force user" = "tiziano"; "valid users" = "tiziano"; }; condiviso = common // { - path = "/mnt/raid/condiviso"; + path = "/mnt/raid0/condiviso"; comment = "Samba share condiviso"; "valid users" = "bertof tiziano"; "create mask" = "0770"; @@ -160,18 +161,31 @@ openFirewall = true; group = "users"; settings = { - download-dir = "/mnt/raid/condiviso/Scaricati/Torrent"; - incomplete-dir = "/mnt/raid/condiviso/Scaricati/Torrent/.incomplete"; + download-dir = "/mnt/raid0/condiviso/Scaricati/Torrent"; + incomplete-dir = "/mnt/raid0/condiviso/Scaricati/Torrent/.incomplete"; }; }; xserver = { - enable = true; + # enable = true; videoDrivers = [ "nvidia" ]; - layout = "it"; - xkbOptions = "eurosign:e;"; - libinput.enable = true; + # layout = "it"; + # xkbOptions = "eurosign:e;"; + # libinput.enable = true; }; zerotierone = { enable = true; joinNetworks = [ "8056c2e21cf9c753" ]; }; + + zoneminder = { + enable = true; + openFirewall = true; + cameras = 3; + hostname = "0.0.0.0"; + database = { username = "zoneminder"; createLocally = true; }; + }; + + mysql = { + # enable = true; + ensureUsers = [{ name = "bertof"; ensurePermissions = { "*.*" = "ALL PRIVILEGES"; }; }]; + }; }; users.users = { @@ -233,11 +247,11 @@ { syncthing-bertof = common // { description = "Syncthing service bertof"; - serviceConfig = { User = "bertof"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -home=/mnt/raid/bertof/Syncthing/.config"; }; + serviceConfig = { User = "bertof"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -home=/mnt/raid0/bertof/Syncthing/.config"; }; }; syncthing-tiziano = common // { description = "Syncthing service tiziano"; - serviceConfig = { User = "tiziano"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8385 -home=/mnt/raid/tiziano/Syncthing/.config"; }; + serviceConfig = { User = "tiziano"; ExecStart = "${pkgs.syncthing}/bin/syncthing -no-browser -gui-address=0.0.0.0:8385 -home=/mnt/raid0/tiziano/Syncthing/.config"; }; }; }; @@ -277,7 +291,7 @@ ports = [ "8123:8123" ]; volumes = [ "/var/lib/hass:/config" - "/mnt/raid/condiviso:/media" + "/mnt/raid0/condiviso:/media" ]; }; }; diff --git a/loki/hardware-configuration.nix b/loki/hardware-configuration.nix index 048107e..272c517 100644 --- a/loki/hardware-configuration.nix +++ b/loki/hardware-configuration.nix @@ -4,34 +4,68 @@ { config, lib, modulesPath, ... }: { - imports = [ - (modulesPath + "/installer/scan/not-detected.nix") - ]; + imports = + [ + (modulesPath + "/installer/scan/not-detected.nix") + ]; boot.initrd.availableKernelModules = [ "xhci_pci" "ehci_pci" "ahci" "uas" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ]; boot.initrd.kernelModules = [ ]; boot.kernelModules = [ "kvm-intel" ]; boot.extraModulePackages = [ ]; - fileSystems."/" = { - device = "/dev/disk/by-uuid/eb51e914-c9ab-400d-bd2a-004a3b788caa"; - fsType = "btrfs"; - }; + fileSystems."/" = + { + device = "/dev/disk/by-uuid/eb51e914-c9ab-400d-bd2a-004a3b788caa"; + fsType = "btrfs"; + }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/8A71-E5EB"; - fsType = "vfat"; - }; + fileSystems."/boot" = + { + device = "/dev/disk/by-uuid/8A71-E5EB"; + fsType = "vfat"; + }; - fileSystems."/mnt/raid1" = { - device = "/dev/disk/by-uuid/c84a38dc-9cc7-4762-b509-8fce1c1d95c8"; - fsType = "btrfs"; - }; + fileSystems."/mnt/raid1" = + { + device = "/dev/disk/by-uuid/c84a38dc-9cc7-4762-b509-8fce1c1d95c8"; + fsType = "btrfs"; + }; - fileSystems."/mnt/raid" = { - device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c"; - fsType = "btrfs"; - }; + fileSystems."/var/lib/docker/btrfs" = + { + device = "/var/lib/docker/btrfs"; + fsType = "none"; + options = [ "bind" ]; + }; + + fileSystems."/mnt/raid0/bertof" = + { + device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c"; + fsType = "btrfs"; + options = [ "subvol=@bertof" ]; + }; + + fileSystems."/mnt/raid0/tiziano" = + { + device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c"; + fsType = "btrfs"; + options = [ "subvol=@tiziano" ]; + }; + + fileSystems."/mnt/raid0/condiviso" = + { + device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c"; + fsType = "btrfs"; + options = [ "subvol=@condiviso" ]; + }; + + fileSystems."/mnt/zoneminder" = + { + device = "/dev/disk/by-uuid/7ca4d382-eed7-4b49-b7d8-4b5ca139dd9c"; + fsType = "btrfs"; + options = [ "subvol=@zoneminder" ]; + }; swapDevices = [ ]; @@ -39,10 +73,9 @@ # (the default) this is the recommended approach. When using systemd-networkd it's # still possible to use this option, but it's recommended to use it in conjunction # with explicit per-interface declarations with `networking.interfaces..useDHCP`. - networking.useDHCP = lib.mkDefault true; + networking.useDHCP = lib.mkDefault false; # networking.interfaces.docker0.useDHCP = lib.mkDefault true; networking.interfaces.eno1.useDHCP = lib.mkDefault true; - # networking.interfaces.vboxnet0.useDHCP = lib.mkDefault true; networking.interfaces.wlp7s0.useDHCP = lib.mkDefault true; # networking.interfaces.ztmjfdwjkp.useDHCP = lib.mkDefault true; diff --git a/odin/common_configuration.nix b/odin/common_configuration.nix index 5ca529d..7e9ddd8 100644 --- a/odin/common_configuration.nix +++ b/odin/common_configuration.nix @@ -4,12 +4,12 @@ boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.initrd.checkJournalingFS = true; - boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_17; + boot.kernelPackages = pkgs.linuxKernel.packages.linux_5_18; boot.extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; # # Cross-build arm boot.binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; - + hardware.enableRedistributableFirmware = true; # Use same ACPI identifier as Dell Ubuntu diff --git a/thor/configuration.nix b/thor/configuration.nix index 4b4d95f..f454d36 100644 --- a/thor/configuration.nix +++ b/thor/configuration.nix @@ -2,7 +2,7 @@ { boot = { binfmt.emulatedSystems = [ "armv7l-linux" "aarch64-linux" ]; - kernelPackages = pkgs.linuxPackages_5_17; + kernelPackages = pkgs.linuxPackages_5_18; extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ]; loader = { systemd-boot.enable = true;