From 996e34d075825a6e86be7f2e4fcd294e4bc2f594 Mon Sep 17 00:00:00 2001 From: mjallen18 Date: Fri, 18 Jul 2025 10:07:22 -0500 Subject: [PATCH] move all hacs modules to packages --- flake.nix | 34 ++++++ modules/nixos/disko/aarch64-linux/default.nix | 105 ++++++++++++++++++ modules/nixos/disko/disko.nix | 87 --------------- modules/nixos/disko/pi-uefi-disko.nix | 102 ----------------- modules/nixos/disko/x86_64-linux/default.nix | 90 +++++++++++++++ modules/nixos/homeassistant/default.nix | 10 ++ modules/nixos/homeassistant/hacs/anycubic.nix | 47 -------- modules/nixos/homeassistant/hacs/bambulab.nix | 31 ------ modules/nixos/homeassistant/hacs/default.nix | 14 --- modules/nixos/homeassistant/hacs/gehome.nix | 38 ------- modules/nixos/homeassistant/hacs/icloud3.nix | 31 ------ .../homeassistant/hacs/mail-and-packages.nix | 39 ------- modules/nixos/homeassistant/hacs/nanokvm.nix | 59 ---------- .../nixos/homeassistant/hacs/overseerr.nix | 47 -------- modules/nixos/homeassistant/hacs/petlibro.nix | 27 ----- modules/nixos/homeassistant/hacs/wyzeapi.nix | 59 ---------- packages/ha-anycubic/default.nix | 26 +++++ packages/ha-bambulab/default.nix | 24 ++++ packages/ha-gehome/default.nix | 32 ++++++ packages/ha-icloud3/default.nix | 24 ++++ packages/ha-mail-and-packages/default.nix | 34 ++++++ packages/ha-nanokvm/default.nix | 24 ++++ packages/ha-overseerr/default.nix | 24 ++++ packages/ha-petlibro/default.nix | 20 ++++ packages/ha-wyzeapi/default.nix | 29 +++++ packages/pyoverseerr/default.nix | 16 +++ packages/python-nanokvm/default.nix | 28 +++++ packages/uart-wifi/default.nix | 14 +++ packages/wyzeapy/default.nix | 23 ++++ systems/x86_64-linux/deck/boot.nix | 5 - systems/x86_64-linux/deck/configuration.nix | 7 -- systems/x86_64-linux/deck/default.nix | 34 ++++++ .../nuc/{configuration.nix => default.nix} | 5 +- systems/x86_64-linux/nuc/networking.nix | 4 +- systems/x86_64-linux/nuc/sops.nix | 18 +-- 35 files changed, 606 insertions(+), 605 deletions(-) create mode 100644 modules/nixos/disko/aarch64-linux/default.nix delete mode 100644 modules/nixos/disko/disko.nix delete mode 100644 modules/nixos/disko/pi-uefi-disko.nix create mode 100644 modules/nixos/disko/x86_64-linux/default.nix delete mode 100644 modules/nixos/homeassistant/hacs/anycubic.nix delete mode 100644 modules/nixos/homeassistant/hacs/bambulab.nix delete mode 100644 modules/nixos/homeassistant/hacs/default.nix delete mode 100644 modules/nixos/homeassistant/hacs/gehome.nix delete mode 100644 modules/nixos/homeassistant/hacs/icloud3.nix delete mode 100644 modules/nixos/homeassistant/hacs/mail-and-packages.nix delete mode 100644 modules/nixos/homeassistant/hacs/nanokvm.nix delete mode 100644 modules/nixos/homeassistant/hacs/overseerr.nix delete mode 100644 modules/nixos/homeassistant/hacs/petlibro.nix delete mode 100644 modules/nixos/homeassistant/hacs/wyzeapi.nix create mode 100644 packages/ha-anycubic/default.nix create mode 100644 packages/ha-bambulab/default.nix create mode 100644 packages/ha-gehome/default.nix create mode 100644 packages/ha-icloud3/default.nix create mode 100644 packages/ha-mail-and-packages/default.nix create mode 100644 packages/ha-nanokvm/default.nix create mode 100644 packages/ha-overseerr/default.nix create mode 100644 packages/ha-petlibro/default.nix create mode 100644 packages/ha-wyzeapi/default.nix create mode 100644 packages/pyoverseerr/default.nix create mode 100644 packages/python-nanokvm/default.nix create mode 100644 packages/uart-wifi/default.nix create mode 100644 packages/wyzeapy/default.nix create mode 100644 systems/x86_64-linux/deck/default.nix rename systems/x86_64-linux/nuc/{configuration.nix => default.nix} (89%) diff --git a/flake.nix b/flake.nix index fa9db25..48876a7 100644 --- a/flake.nix +++ b/flake.nix @@ -96,6 +96,9 @@ # Host config hosts = { + # ###################################################### + # Desktop # + # ###################################################### desktop = { modules = with inputs; [ nixos-hardware.nixosModules.common-cpu-amd @@ -106,6 +109,37 @@ nixos-hardware.nixosModules.common-pc ]; }; + + # ###################################################### + # Steamdeck # + # ###################################################### + deck = { + modules = with inputs; [ + disko.nixosModules.disko + jovian.nixosModules.jovian + nixos-hardware.nixosModules.common-cpu-amd + nixos-hardware.nixosModules.common-cpu-amd-pstate + nixos-hardware.nixosModules.common-cpu-amd-zenpower + nixos-hardware.nixosModules.common-gpu-amd + nixos-hardware.nixosModules.common-hidpi + nixos-hardware.nixosModules.common-pc + ]; + }; + + # ###################################################### + # NUC # + # ###################################################### + nuc = { + modules = with inputs; [ + disko.nixosModules.disko + nixos-hardware.nixosModules.common-cpu-amd + nixos-hardware.nixosModules.common-cpu-amd-pstate + nixos-hardware.nixosModules.common-cpu-amd-zenpower + nixos-hardware.nixosModules.common-gpu-amd + nixos-hardware.nixosModules.common-hidpi + nixos-hardware.nixosModules.common-pc + ]; + }; }; }; diff --git a/modules/nixos/disko/aarch64-linux/default.nix b/modules/nixos/disko/aarch64-linux/default.nix new file mode 100644 index 0000000..7147b44 --- /dev/null +++ b/modules/nixos/disko/aarch64-linux/default.nix @@ -0,0 +1,105 @@ +{ config, lib, system, ... }: +let + isArm = builtins.match "aarch64*" system != null; + rootDisk = "/dev/nvme0n1"; +in +{ + config = lib.mkIf isArm { + disko.devices = { + nodev."/" = { + fsType = "tmpfs"; + mountOptions = [ + "mode=755" + "defaults" + "size=2G" + ]; + }; + # root disk setup + disk.main = { + type = "disk"; + device = rootDisk; + imageSize = "15G"; + content = { + type = "gpt"; + # specify partitions + partitions = { + # /boot/firmware + FIRMWARE = { + priority = 1; + name = "FIRMWARE"; + start = "1M"; + end = "1G"; + type = "0700"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot/firmware"; + mountOptions = [ "umask=0077" ]; + }; + }; + # /boot + ESP = { + priority = 2; + name = "ESP"; + # start = "1G"; + # end = "2G"; + size = "1G"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "umask=0077" ]; + }; + }; + + root = { + name = "btrfs-root"; + size = "100%"; + content = { + type = "btrfs"; + extraArgs = [ "-f" ]; # Override existing partition + # Subvolumes must set a mountpoint in order to be mounted, + # unless their parent is mounted + subvolumes = { + "home" = { + mountOptions = [ "compress=zstd" ]; + mountpoint = "/home"; + }; + "root" = { + mountOptions = [ + "compress=zstd" + "noatime" + ]; + mountpoint = "/root"; + }; + "nix" = { + mountOptions = [ + "compress=zstd" + "noatime" + ]; + mountpoint = "/nix"; + }; + "etc" = { + mountOptions = [ + "compress=zstd" + "noatime" + ]; + mountpoint = "/etc"; + }; + "log" = { + mountOptions = [ + "compress=zstd" + "noatime" + ]; + mountpoint = "/var/log"; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/modules/nixos/disko/disko.nix b/modules/nixos/disko/disko.nix deleted file mode 100644 index a54aa27..0000000 --- a/modules/nixos/disko/disko.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ ... }: -let - rootDisk = "/dev/nvme0n1"; -in -{ - disko.devices.disk.main.imageSize = "32G"; - disko.devices = { - nodev."/" = { - fsType = "tmpfs"; - mountOptions = [ - "mode=755" - "defaults" - "size=25%" - ]; - }; - # root disk setup - disk.main = { - type = "disk"; - device = rootDisk; - content = { - type = "gpt"; - # specify partitions - partitions = { - # /boot - ESP = { - priority = 1; - name = "ESP"; - start = "1M"; - end = "1G"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = [ "umask=0077" ]; - }; - }; - - root = { - name = "btrfs-root"; - size = "100%"; - content = { - type = "btrfs"; - extraArgs = [ "-f" ]; # Override existing partition - # Subvolumes must set a mountpoint in order to be mounted, - # unless their parent is mounted - subvolumes = { - "home" = { - mountOptions = [ "compress=zstd" ]; - mountpoint = "/home"; - }; - "root" = { - mountOptions = [ - "compress=zstd" - "noatime" - ]; - mountpoint = "/root"; - }; - "nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - ]; - mountpoint = "/nix"; - }; - "etc" = { - mountOptions = [ - "compress=zstd" - "noatime" - ]; - mountpoint = "/etc"; - }; - "log" = { - mountOptions = [ - "compress=zstd" - "noatime" - ]; - mountpoint = "/var/log"; - }; - }; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/disko/pi-uefi-disko.nix b/modules/nixos/disko/pi-uefi-disko.nix deleted file mode 100644 index cb0276f..0000000 --- a/modules/nixos/disko/pi-uefi-disko.nix +++ /dev/null @@ -1,102 +0,0 @@ -{ ... }: -let - rootDisk = "/dev/nvme0n1"; -in -{ - disko.devices.disk.main.imageSize = "15G"; - disko.devices = { - nodev."/" = { - fsType = "tmpfs"; - mountOptions = [ - "mode=755" - "defaults" - "size=2G" - ]; - }; - # root disk setup - disk.main = { - type = "disk"; - device = rootDisk; - content = { - type = "gpt"; - # specify partitions - partitions = { - # /boot/firmware - FIRMWARE = { - priority = 1; - name = "FIRMWARE"; - start = "1M"; - end = "1G"; - type = "0700"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot/firmware"; - mountOptions = [ "umask=0077" ]; - }; - }; - # /boot - ESP = { - priority = 2; - name = "ESP"; - # start = "1G"; - # end = "2G"; - size = "1G"; - type = "EF00"; - content = { - type = "filesystem"; - format = "vfat"; - mountpoint = "/boot"; - mountOptions = [ "umask=0077" ]; - }; - }; - - root = { - name = "btrfs-root"; - size = "100%"; - content = { - type = "btrfs"; - extraArgs = [ "-f" ]; # Override existing partition - # Subvolumes must set a mountpoint in order to be mounted, - # unless their parent is mounted - subvolumes = { - "home" = { - mountOptions = [ "compress=zstd" ]; - mountpoint = "/home"; - }; - "root" = { - mountOptions = [ - "compress=zstd" - "noatime" - ]; - mountpoint = "/root"; - }; - "nix" = { - mountOptions = [ - "compress=zstd" - "noatime" - ]; - mountpoint = "/nix"; - }; - "etc" = { - mountOptions = [ - "compress=zstd" - "noatime" - ]; - mountpoint = "/etc"; - }; - "log" = { - mountOptions = [ - "compress=zstd" - "noatime" - ]; - mountpoint = "/var/log"; - }; - }; - }; - }; - }; - }; - }; - }; -} diff --git a/modules/nixos/disko/x86_64-linux/default.nix b/modules/nixos/disko/x86_64-linux/default.nix new file mode 100644 index 0000000..15dfb73 --- /dev/null +++ b/modules/nixos/disko/x86_64-linux/default.nix @@ -0,0 +1,90 @@ +{ config, lib, system, ... }: +let + isArm = builtins.match "aarch64*" system != null; + rootDisk = "/dev/nvme0n1"; +in +{ + config = lib.mkIf (!isArm) { + disko.devices = { + nodev."/" = { + fsType = "tmpfs"; + mountOptions = [ + "mode=755" + "defaults" + "size=25%" + ]; + }; + # root disk setup + disk.main = { + type = "disk"; + device = rootDisk; + imageSize = "32G"; + content = { + type = "gpt"; + # specify partitions + partitions = { + # /boot + ESP = { + priority = 1; + name = "ESP"; + start = "1M"; + end = "1G"; + type = "EF00"; + content = { + type = "filesystem"; + format = "vfat"; + mountpoint = "/boot"; + mountOptions = [ "umask=0077" ]; + }; + }; + + root = { + name = "btrfs-root"; + size = "100%"; + content = { + type = "btrfs"; + extraArgs = [ "-f" ]; # Override existing partition + # Subvolumes must set a mountpoint in order to be mounted, + # unless their parent is mounted + subvolumes = { + "home" = { + mountOptions = [ "compress=zstd" ]; + mountpoint = "/home"; + }; + "root" = { + mountOptions = [ + "compress=zstd" + "noatime" + ]; + mountpoint = "/root"; + }; + "nix" = { + mountOptions = [ + "compress=zstd" + "noatime" + ]; + mountpoint = "/nix"; + }; + "etc" = { + mountOptions = [ + "compress=zstd" + "noatime" + ]; + mountpoint = "/etc"; + }; + "log" = { + mountOptions = [ + "compress=zstd" + "noatime" + ]; + mountpoint = "/var/log"; + }; + }; + }; + }; + }; + }; + }; + }; + }; +} diff --git a/modules/nixos/homeassistant/default.nix b/modules/nixos/homeassistant/default.nix index c505a96..72f191a 100755 --- a/modules/nixos/homeassistant/default.nix +++ b/modules/nixos/homeassistant/default.nix @@ -80,6 +80,16 @@ in customComponents = with pkgs.home-assistant-custom-components; [ auth-header localtuya + + pkgs.${namespace}.ha-anycubic + pkgs.${namespace}.ha-bambulab + pkgs.${namespace}.ha-gehome + pkgs.${namespace}.ha-icloud3 + pkgs.${namespace}.ha-mail-and-packages + pkgs.${namespace}.ha-nanokvm + pkgs.${namespace}.ha-overseerr + pkgs.${namespace}.ha-petlibro + pkgs.${namespace}.ha-wyzeapi ]; customLovelaceModules = with pkgs.home-assistant-custom-lovelace-modules; [ atomic-calendar-revive diff --git a/modules/nixos/homeassistant/hacs/anycubic.nix b/modules/nixos/homeassistant/hacs/anycubic.nix deleted file mode 100644 index 89376bd..0000000 --- a/modules/nixos/homeassistant/hacs/anycubic.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ pkgs, ... }: -let - uart-wifi = pkgs.python3Packages.buildPythonPackage rec { - pname = "uart-wifi"; - version = "0.2.1"; - format = "pyproject"; - src = pkgs.fetchPypi { - inherit pname version; - sha256 = "sha256-yquZ5V8f+EqetCf0nc9WlhHhnHkOASYRuYvqEIMc5HI="; - }; - - buildInputs = with pkgs.python3Packages; [ setuptools ]; - - doCheck = false; # no tests in the PyPI tarball - }; - - ha-anycubic = pkgs.buildHomeAssistantComponent rec { - owner = "adamoutler"; - domain = "anycubic_wifi"; - version = "HACS-10"; - - src = pkgs.fetchFromGitHub { - owner = owner; - repo = "anycubic-homeassistant"; - rev = version; - hash = "sha256-TfZadwgdEJR11MaL+nfIgEYld3trWg3v6lOHSoxQ98Q="; - }; - - # PYTHONPATH = [ "${src}/uart-wifi" ]; - - propagatedBuildInputs = [ - uart-wifi - ]; - - meta = { - changelog = "https://github.com/adamoutler/anycubic-homeassistant/releases/tag/${version}"; - description = "This is a library to provide support for Mono X Printers."; - homepage = "https://github.com/adamoutler/anycubic-homeassistant"; - maintainers = [ ]; - }; - }; -in -{ - services.home-assistant.customComponents = [ - ha-anycubic - ]; -} diff --git a/modules/nixos/homeassistant/hacs/bambulab.nix b/modules/nixos/homeassistant/hacs/bambulab.nix deleted file mode 100644 index 60ebd4f..0000000 --- a/modules/nixos/homeassistant/hacs/bambulab.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ pkgs, ... }: -let - ha-bambulab = pkgs.buildHomeAssistantComponent rec { - owner = "greghesp"; - domain = "bambu_lab"; - version = "v2.1.27"; - - src = pkgs.fetchFromGitHub { - owner = owner; - repo = "ha-bambulab"; - rev = version; - hash = "sha256-zHPXPYsHrJXOnSqllZqDrxGZDDqyXllC3XEGZRJil0Q="; - }; - - propagatedBuildInputs = with pkgs.python3Packages; [ - beautifulsoup4 - ]; - - meta = { - changelog = "https://github.com/greghesp/ha-bambulab/releases/tag/${version}"; - description = "A Home Assistant Integration for Bambu Lab printers."; - homepage = "https://github.com/greghesp/ha-bambulab"; - maintainers = [ ]; - }; - }; -in -{ - services.home-assistant.customComponents = [ - ha-bambulab - ]; -} diff --git a/modules/nixos/homeassistant/hacs/default.nix b/modules/nixos/homeassistant/hacs/default.nix deleted file mode 100644 index f54d776..0000000 --- a/modules/nixos/homeassistant/hacs/default.nix +++ /dev/null @@ -1,14 +0,0 @@ -{ ... }: -{ - imports = [ - ./anycubic.nix - ./bambulab.nix - ./gehome.nix - ./icloud3.nix - ./mail-and-packages.nix - ./nanokvm.nix - ./overseerr.nix - ./petlibro.nix - ./wyzeapi.nix - ]; -} \ No newline at end of file diff --git a/modules/nixos/homeassistant/hacs/gehome.nix b/modules/nixos/homeassistant/hacs/gehome.nix deleted file mode 100644 index 9fa8e97..0000000 --- a/modules/nixos/homeassistant/hacs/gehome.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ pkgs, ... }: -let - ha-gehome = pkgs.buildHomeAssistantComponent rec { - owner = "simbaja"; - domain = "ge_home"; - version = "v2025.5.0"; - - src = pkgs.fetchFromGitHub { - owner = owner; - repo = "ha_gehome"; - rev = version; - hash = "sha256-NlUkM70yvBeC5s7S5BkNxIC2GztfEq8xYrQZr4pkaGU="; - }; - - propagatedBuildInputs = with pkgs.python3Packages; [ - gehomesdk - magicattr - slixmpp - ]; - - postPatch = '' - substituteInPlace custom_components/ge_home/manifest.json \ - --replace '"slixmpp==1.8.3"' '"slixmpp>=1.8.3"' - ''; - - meta = { - changelog = "https://github.com/simbaja/ha_gehome/releases/tag/${version}"; - description = "Integration for GE WiFi-enabled appliances into Home Assistant."; - homepage = "https://github.com/simbaja/ha_gehome"; - maintainers = [ ]; - }; - }; -in -{ - services.home-assistant.customComponents = [ - ha-gehome - ]; -} diff --git a/modules/nixos/homeassistant/hacs/icloud3.nix b/modules/nixos/homeassistant/hacs/icloud3.nix deleted file mode 100644 index f1472e4..0000000 --- a/modules/nixos/homeassistant/hacs/icloud3.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ pkgs, ... }: -let - ha-icloud3 = pkgs.buildHomeAssistantComponent rec { - owner = "gcobb321"; - domain = "icloud3"; - version = "3.2.2.3"; - - src = pkgs.fetchFromGitHub { - owner = owner; - repo = "icloud3"; - rev = "v.${version}"; - hash = "sha256-OjXioS73jE/U2YeKYf84QnStdQj3Seid4hJ2TH6z13M="; - }; - - propagatedBuildInputs = with pkgs.python3Packages; [ - srp - ]; - - meta = { - changelog = "https://github.com/gcobb321/icloud3/releases/tag/${version}"; - description = "Cloud3 is a device tracker custom component that tracks your iPhones, iPads and Apple Watches. Devices in the Family Sharing List and the HA Mobile App Integration are trackable."; - homepage = "https://github.com/gcobb321/icloud3"; - maintainers = [ ]; - }; - }; -in -{ - services.home-assistant.customComponents = [ - ha-icloud3 - ]; -} diff --git a/modules/nixos/homeassistant/hacs/mail-and-packages.nix b/modules/nixos/homeassistant/hacs/mail-and-packages.nix deleted file mode 100644 index c445387..0000000 --- a/modules/nixos/homeassistant/hacs/mail-and-packages.nix +++ /dev/null @@ -1,39 +0,0 @@ -{ pkgs, ... }: -let - ha-mail-and-packages = pkgs.buildHomeAssistantComponent rec { - owner = "moralmunky"; - domain = "mail_and_packages"; - version = "0.4.2"; - - src = pkgs.fetchFromGitHub { - owner = owner; - repo = "Home-Assistant-Mail-And-Packages"; - rev = version; - hash = "sha256-5LBTlRlkSUx8DOY+F7UvUs4dzjZKdBdgnDUdK6DBdew="; - }; - - propagatedBuildInputs = with pkgs.python3Packages; [ - beautifulsoup4 - dateparser - pillow - ]; - - postPatch = '' - substituteInPlace custom_components/mail_and_packages/const.py \ - --replace 'DEFAULT_PATH = "/var/lib/homeassistant/images/"' 'DEFAULT_PATH = "/var/lib/homeassistant/images/"' - --replace 'DEFAULT_CUSTOM_IMG_FILE = "/var/lib/homeassistant/mail_none.gif"' 'DEFAULT_CUSTOM_IMG_FILE = "/var/lib/homeassistant/mail_none.gif"' - ''; - - meta = { - changelog = "https://github.com/moralmunky/Home-Assistant-Mail-And-Packages/releases/tag/${version}"; - description = "The Mail and Packages integration creates sensors for supported shippers to show a snapshot of mail and packages that are scheduled to be delivered the current day."; - homepage = "https://github.com/moralmunky/Home-Assistant-Mail-And-Packages"; - maintainers = [ ]; - }; - }; -in -{ - services.home-assistant.customComponents = [ - ha-mail-and-packages - ]; -} diff --git a/modules/nixos/homeassistant/hacs/nanokvm.nix b/modules/nixos/homeassistant/hacs/nanokvm.nix deleted file mode 100644 index 1701466..0000000 --- a/modules/nixos/homeassistant/hacs/nanokvm.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ pkgs, ... }: -let - python-nanokvm = pkgs.python3Packages.buildPythonPackage rec { - pname = "python-nanokvm"; - version = "v0.0.3"; - format = "pyproject"; - - src = pkgs.fetchFromGitHub { - owner = "puddly"; - repo = pname; - rev = version; - sha256 = "sha256-jBBd+O3S/4AlxAhrF9j9Bi5vMKZNk0M17ok9JzcI8F8="; - }; - - buildInputs = with pkgs.python3Packages; [ - setuptools - setuptools-git-versioning - ]; - - nativeBuildInputs = with pkgs.python3Packages; [ - aiohttp - cryptography - yarl - pillow - pydantic - ]; - - doCheck = false; - }; - - ha-nanokvm = pkgs.buildHomeAssistantComponent rec { - owner = "Wouter0100"; - domain = "nanokvm"; - version = "v0.0.1"; - - src = pkgs.fetchFromGitHub { - owner = owner; - repo = "homeassistant-nanokvm"; - rev = "663f9710dfea109f0bb0417df5828b8d639e70c4"; - hash = "sha256-6rTEOshNCe0x4iEHljqY/6p2TK1HasgNycRHkmo2Hhw="; - }; - - propagatedBuildInputs = [ - python-nanokvm - ]; - - meta = { - changelog = "https://github.com/Wouter0100/homeassistant-nanokvm/releases/tag/${version}"; - description = "This integration allows you to control and monitor your Sipeed NanoKVM device from Home Assistant."; - homepage = "https://github.com/Wouter0100/homeassistant-nanokvm"; - maintainers = [ ]; - }; - }; -in -{ - services.home-assistant.customComponents = [ - ha-nanokvm - ]; -} diff --git a/modules/nixos/homeassistant/hacs/overseerr.nix b/modules/nixos/homeassistant/hacs/overseerr.nix deleted file mode 100644 index 54baf0b..0000000 --- a/modules/nixos/homeassistant/hacs/overseerr.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ pkgs, ... }: -let - pyoverseerr = pkgs.python3Packages.buildPythonPackage rec { - pname = "pyoverseerr"; - version = "0.1.40"; - format = "setuptools"; - - src = pkgs.fetchFromGitHub { - owner = "vaparr"; - repo = pname; - rev = "master"; - sha256 = "sha256-sWYe6EV/IO/tGGXcnKiebb47eidIj0xnM/aZUfdZXyY="; - }; - - buildInputs = with pkgs.python3Packages; [ setuptools ]; - doCheck = false; # no tests in the PyPI tarball - }; - - ha-overseerr = pkgs.buildHomeAssistantComponent rec { - owner = "vaparr"; - domain = "overseerr"; - version = "0.1.42"; - - src = pkgs.fetchFromGitHub { - owner = owner; - repo = "ha-overseerr"; - rev = version; - hash = "sha256-UvUowCgfay9aRV+iC/AQ9vvJzhGZbH+/1kVjxPFBKcI="; - }; - - propagatedBuildInputs = [ - pyoverseerr - ]; - - meta = { - changelog = "https://github.com/vaparr/ha-overseerr/releases/tag/${version}"; - description = "The Overseerr integration monitors data from your Overseerr instance."; - homepage = "https://github.com/vaparr/ha-overseerr"; - maintainers = [ ]; - }; - }; -in -{ - services.home-assistant.customComponents = [ - ha-overseerr - ]; -} diff --git a/modules/nixos/homeassistant/hacs/petlibro.nix b/modules/nixos/homeassistant/hacs/petlibro.nix deleted file mode 100644 index 6e50315..0000000 --- a/modules/nixos/homeassistant/hacs/petlibro.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ pkgs, ... }: -let - ha-petlibro = pkgs.buildHomeAssistantComponent rec { - owner = "jjjonesjr33"; - domain = "petlibro"; - version = "v1.0.22.3"; - - src = pkgs.fetchFromGitHub { - owner = owner; - repo = "petlibro"; - rev = version; - hash = "sha256-fYzy4OpK9Fs+KQ44H4G6DJlcSg9Zyi56fjsmdxDBviM="; - }; - - meta = { - changelog = "https://github.com/jjjonesjr33/petlibro/releases/tag/${version}"; - description = "PETLIBRO integration for Home Assistant."; - homepage = "https://github.com/jjjonesjr33/petlibro"; - maintainers = [ ]; - }; - }; -in -{ - services.home-assistant.customComponents = [ - ha-petlibro - ]; -} diff --git a/modules/nixos/homeassistant/hacs/wyzeapi.nix b/modules/nixos/homeassistant/hacs/wyzeapi.nix deleted file mode 100644 index 0d8b6ad..0000000 --- a/modules/nixos/homeassistant/hacs/wyzeapi.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ pkgs, ... }: -let - wyzeapy = pkgs.python3Packages.buildPythonPackage rec { - pname = "wyzeapy"; - version = "0.5.27"; - format = "pyproject"; - - src = pkgs.fetchFromGitHub { - owner = "SecKatie"; - repo = "wyzeapy"; - rev = version; - sha256 = "sha256-IfhRsVWj/bcKOtpCdmpgrz3L8iY73e+weHlOo5rfKHw="; - }; - - buildInputs = with pkgs.python3Packages; [ poetry-core ]; - - nativeBuildInputs = with pkgs.python3Packages; [ - aiodns - aiohttp - pycryptodome - ]; - - doCheck = false; # no tests in the PyPI tarball - }; - - ha-wyzeapi = pkgs.buildHomeAssistantComponent rec { - owner = "SecKatie"; - domain = "wyzeapi"; - version = "0.1.33"; - - src = pkgs.fetchFromGitHub { - owner = owner; - repo = "ha-wyzeapi"; - rev = version; - hash = "sha256-Hl1Vmi2lhoJW3bdkrtO2mNqfLxURPwqFPjYgdrHRxYk="; - }; - - propagatedBuildInputs = [ - wyzeapy - ]; - - postPatch = '' - substituteInPlace custom_components/wyzeapi/manifest.json \ - --replace '"wyzeapy>=0.5.28,<0.6"' '"wyzeapy>=0.5.27,<0.6"' - ''; - - meta = { - changelog = "https://github.com/SecKatie/ha-wyzeapi/releases/tag/${version}"; - description = "This is a custom component to allow control of various Wyze devices in Home Assistant using the unofficial API."; - homepage = "https://github.com/SecKatie/ha-wyzeapi"; - maintainers = [ ]; - }; - }; -in -{ - services.home-assistant.customComponents = [ - ha-wyzeapi - ]; -} diff --git a/packages/ha-anycubic/default.nix b/packages/ha-anycubic/default.nix new file mode 100644 index 0000000..d230d0e --- /dev/null +++ b/packages/ha-anycubic/default.nix @@ -0,0 +1,26 @@ +{ buildHomeAssistantComponent, pkgs, namespace, ... }: +buildHomeAssistantComponent rec { + owner = "adamoutler"; + domain = "anycubic_wifi"; + version = "HACS-10"; + + src = pkgs.fetchFromGitHub { + owner = owner; + repo = "anycubic-homeassistant"; + rev = version; + hash = "sha256-TfZadwgdEJR11MaL+nfIgEYld3trWg3v6lOHSoxQ98Q="; + }; + + # PYTHONPATH = [ "${src}/uart-wifi" ]; + + propagatedBuildInputs = [ + pkgs.${namespace}.uart-wifi + ]; + + meta = { + changelog = "https://github.com/adamoutler/anycubic-homeassistant/releases/tag/${version}"; + description = "This is a library to provide support for Mono X Printers."; + homepage = "https://github.com/adamoutler/anycubic-homeassistant"; + maintainers = [ ]; + }; +} \ No newline at end of file diff --git a/packages/ha-bambulab/default.nix b/packages/ha-bambulab/default.nix new file mode 100644 index 0000000..2a76053 --- /dev/null +++ b/packages/ha-bambulab/default.nix @@ -0,0 +1,24 @@ +{ buildHomeAssistantComponent, python3Packages, fetchFromGitHub, ... }: +buildHomeAssistantComponent rec { + owner = "greghesp"; + domain = "bambu_lab"; + version = "v2.1.27"; + + src = fetchFromGitHub { + owner = owner; + repo = "ha-bambulab"; + rev = version; + hash = "sha256-zHPXPYsHrJXOnSqllZqDrxGZDDqyXllC3XEGZRJil0Q="; + }; + + propagatedBuildInputs = with python3Packages; [ + beautifulsoup4 + ]; + + meta = { + changelog = "https://github.com/greghesp/ha-bambulab/releases/tag/${version}"; + description = "A Home Assistant Integration for Bambu Lab printers."; + homepage = "https://github.com/greghesp/ha-bambulab"; + maintainers = [ ]; + }; +} \ No newline at end of file diff --git a/packages/ha-gehome/default.nix b/packages/ha-gehome/default.nix new file mode 100644 index 0000000..30d953b --- /dev/null +++ b/packages/ha-gehome/default.nix @@ -0,0 +1,32 @@ +{ buildHomeAssistantComponent, fetchFromGitHub, python3Packages, namespace, ... }: +buildHomeAssistantComponent rec { + owner = "simbaja"; + domain = "ge_home"; + version = "v2025.5.0"; + + src = fetchFromGitHub { + owner = owner; + repo = "ha_gehome"; + rev = version; + hash = "sha256-NlUkM70yvBeC5s7S5BkNxIC2GztfEq8xYrQZr4pkaGU="; + }; + + propagatedBuildInputs = with python3Packages; [ + gehomesdk + slixmpp + + pkgs.${namespace}.magicattr + ]; + + postPatch = '' + substituteInPlace custom_components/ge_home/manifest.json \ + --replace '"slixmpp==1.8.3"' '"slixmpp>=1.8.3"' + ''; + + meta = { + changelog = "https://github.com/simbaja/ha_gehome/releases/tag/${version}"; + description = "Integration for GE WiFi-enabled appliances into Home Assistant."; + homepage = "https://github.com/simbaja/ha_gehome"; + maintainers = [ ]; + }; +} \ No newline at end of file diff --git a/packages/ha-icloud3/default.nix b/packages/ha-icloud3/default.nix new file mode 100644 index 0000000..a9b3402 --- /dev/null +++ b/packages/ha-icloud3/default.nix @@ -0,0 +1,24 @@ +{ buildHomeAssistantComponent, fetchFromGitHub, python3Packages, ... }: +buildHomeAssistantComponent rec { + owner = "gcobb321"; + domain = "icloud3"; + version = "3.2.2.3"; + + src = fetchFromGitHub { + owner = owner; + repo = "icloud3"; + rev = "v.${version}"; + hash = "sha256-OjXioS73jE/U2YeKYf84QnStdQj3Seid4hJ2TH6z13M="; + }; + + propagatedBuildInputs = with python3Packages; [ + srp + ]; + + meta = { + changelog = "https://github.com/gcobb321/icloud3/releases/tag/${version}"; + description = "Cloud3 is a device tracker custom component that tracks your iPhones, iPads and Apple Watches. Devices in the Family Sharing List and the HA Mobile App Integration are trackable."; + homepage = "https://github.com/gcobb321/icloud3"; + maintainers = [ ]; + }; +} \ No newline at end of file diff --git a/packages/ha-mail-and-packages/default.nix b/packages/ha-mail-and-packages/default.nix new file mode 100644 index 0000000..b4a42aa --- /dev/null +++ b/packages/ha-mail-and-packages/default.nix @@ -0,0 +1,34 @@ +{ buildHomeAssistantComponent, fetchFromGitHub, python3Packages, ... }: +buildHomeAssistantComponent rec { + owner = "moralmunky"; + domain = "mail_and_packages"; + version = "0.4.2"; + + src = fetchFromGitHub { + owner = owner; + repo = "Home-Assistant-Mail-And-Packages"; + rev = version; + hash = "sha256-5LBTlRlkSUx8DOY+F7UvUs4dzjZKdBdgnDUdK6DBdew="; + }; + + propagatedBuildInputs = with python3Packages; [ + beautifulsoup4 + dateparser + pillow + ]; + + postPatch = '' + substituteInPlace custom_components/mail_and_packages/const.py \ + --replace-fail 'DEFAULT_PATH = "custom_components/mail_and_packages/images/"' \ + 'DEFAULT_PATH = "/var/lib/homeassistant/images/"' \ + --replace-fail 'DEFAULT_CUSTOM_IMG_FILE = "custom_components/mail_and_packages/images/mail_none.gif"' \ + 'DEFAULT_CUSTOM_IMG_FILE = "/var/lib/homeassistant/images/mail_none.gif"' + ''; + + meta = { + changelog = "https://github.com/moralmunky/Home-Assistant-Mail-And-Packages/releases/tag/${version}"; + description = "The Mail and Packages integration creates sensors for supported shippers to show a snapshot of mail and packages that are scheduled to be delivered the current day."; + homepage = "https://github.com/moralmunky/Home-Assistant-Mail-And-Packages"; + maintainers = [ ]; + }; +} diff --git a/packages/ha-nanokvm/default.nix b/packages/ha-nanokvm/default.nix new file mode 100644 index 0000000..c251f33 --- /dev/null +++ b/packages/ha-nanokvm/default.nix @@ -0,0 +1,24 @@ +{ buildHomeAssistantComponent, fetchFromGitHub, pkgs, namespace, ... }: +buildHomeAssistantComponent rec { + owner = "Wouter0100"; + domain = "nanokvm"; + version = "v0.0.1"; + + src = fetchFromGitHub { + owner = owner; + repo = "homeassistant-nanokvm"; + rev = "663f9710dfea109f0bb0417df5828b8d639e70c4"; + hash = "sha256-6rTEOshNCe0x4iEHljqY/6p2TK1HasgNycRHkmo2Hhw="; + }; + + propagatedBuildInputs = [ + pkgs.${namespace}.python-nanokvm + ]; + + meta = { + changelog = "https://github.com/Wouter0100/homeassistant-nanokvm/releases/tag/${version}"; + description = "This integration allows you to control and monitor your Sipeed NanoKVM device from Home Assistant."; + homepage = "https://github.com/Wouter0100/homeassistant-nanokvm"; + maintainers = [ ]; + }; +} diff --git a/packages/ha-overseerr/default.nix b/packages/ha-overseerr/default.nix new file mode 100644 index 0000000..a8fa36a --- /dev/null +++ b/packages/ha-overseerr/default.nix @@ -0,0 +1,24 @@ +{ buildHomeAssistantComponent, fetchFromGitHub, pkgs, namespace, ... }: +buildHomeAssistantComponent rec { + owner = "vaparr"; + domain = "overseerr"; + version = "0.1.42"; + + src = fetchFromGitHub { + owner = owner; + repo = "ha-overseerr"; + rev = version; + hash = "sha256-UvUowCgfay9aRV+iC/AQ9vvJzhGZbH+/1kVjxPFBKcI="; + }; + + propagatedBuildInputs = [ + pkgs.${namespace}.pyoverseerr + ]; + + meta = { + changelog = "https://github.com/vaparr/ha-overseerr/releases/tag/${version}"; + description = "The Overseerr integration monitors data from your Overseerr instance."; + homepage = "https://github.com/vaparr/ha-overseerr"; + maintainers = [ ]; + }; +} diff --git a/packages/ha-petlibro/default.nix b/packages/ha-petlibro/default.nix new file mode 100644 index 0000000..3ee4568 --- /dev/null +++ b/packages/ha-petlibro/default.nix @@ -0,0 +1,20 @@ +{ buildHomeAssistantComponent, fetchFromGitHub, ... }: +buildHomeAssistantComponent rec { + owner = "jjjonesjr33"; + domain = "petlibro"; + version = "v1.0.22.3"; + + src = fetchFromGitHub { + owner = owner; + repo = "petlibro"; + rev = version; + hash = "sha256-fYzy4OpK9Fs+KQ44H4G6DJlcSg9Zyi56fjsmdxDBviM="; + }; + + meta = { + changelog = "https://github.com/jjjonesjr33/petlibro/releases/tag/${version}"; + description = "PETLIBRO integration for Home Assistant."; + homepage = "https://github.com/jjjonesjr33/petlibro"; + maintainers = [ ]; + }; +} diff --git a/packages/ha-wyzeapi/default.nix b/packages/ha-wyzeapi/default.nix new file mode 100644 index 0000000..1eb5c01 --- /dev/null +++ b/packages/ha-wyzeapi/default.nix @@ -0,0 +1,29 @@ +{ buildHomeAssistantComponent, fetchFromGitHub, pkgs, namespace, ... }: +buildHomeAssistantComponent rec { + owner = "SecKatie"; + domain = "wyzeapi"; + version = "0.1.33"; + + src = fetchFromGitHub { + owner = owner; + repo = "ha-wyzeapi"; + rev = version; + hash = "sha256-Hl1Vmi2lhoJW3bdkrtO2mNqfLxURPwqFPjYgdrHRxYk="; + }; + + propagatedBuildInputs = [ + pkgs.${namespace}.wyzeapy + ]; + + postPatch = '' + substituteInPlace custom_components/wyzeapi/manifest.json \ + --replace '"wyzeapy>=0.5.28,<0.6"' '"wyzeapy>=0.5.27,<0.6"' + ''; + + meta = { + changelog = "https://github.com/SecKatie/ha-wyzeapi/releases/tag/${version}"; + description = "This is a custom component to allow control of various Wyze devices in Home Assistant using the unofficial API."; + homepage = "https://github.com/SecKatie/ha-wyzeapi"; + maintainers = [ ]; + }; +} diff --git a/packages/pyoverseerr/default.nix b/packages/pyoverseerr/default.nix new file mode 100644 index 0000000..ba221f2 --- /dev/null +++ b/packages/pyoverseerr/default.nix @@ -0,0 +1,16 @@ +{ python3Packages, fetchFromGitHub, ... }: +python3Packages.buildPythonPackage rec { + pname = "pyoverseerr"; + version = "0.1.40"; + format = "setuptools"; + + src = fetchFromGitHub { + owner = "vaparr"; + repo = pname; + rev = "master"; + sha256 = "sha256-sWYe6EV/IO/tGGXcnKiebb47eidIj0xnM/aZUfdZXyY="; + }; + + buildInputs = with python3Packages; [ setuptools ]; + doCheck = false; # no tests in the PyPI tarball +} \ No newline at end of file diff --git a/packages/python-nanokvm/default.nix b/packages/python-nanokvm/default.nix new file mode 100644 index 0000000..32ef137 --- /dev/null +++ b/packages/python-nanokvm/default.nix @@ -0,0 +1,28 @@ +{ python3Packages, fetchFromGitHub, ... }: +python3Packages.buildPythonPackage rec { + pname = "python-nanokvm"; + version = "v0.0.3"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "puddly"; + repo = pname; + rev = version; + sha256 = "sha256-jBBd+O3S/4AlxAhrF9j9Bi5vMKZNk0M17ok9JzcI8F8="; + }; + + buildInputs = with python3Packages; [ + setuptools + setuptools-git-versioning + ]; + + nativeBuildInputs = with python3Packages; [ + aiohttp + cryptography + yarl + pillow + pydantic + ]; + + doCheck = false; +} \ No newline at end of file diff --git a/packages/uart-wifi/default.nix b/packages/uart-wifi/default.nix new file mode 100644 index 0000000..dd5d266 --- /dev/null +++ b/packages/uart-wifi/default.nix @@ -0,0 +1,14 @@ +{ python3Packages, fetchPypi, ... }: +python3Packages.buildPythonPackage rec { + pname = "uart-wifi"; + version = "0.2.1"; + format = "pyproject"; + src = fetchPypi { + inherit pname version; + sha256 = "sha256-yquZ5V8f+EqetCf0nc9WlhHhnHkOASYRuYvqEIMc5HI="; + }; + + buildInputs = with python3Packages; [ setuptools ]; + + doCheck = false; # no tests in the PyPI tarball +} diff --git a/packages/wyzeapy/default.nix b/packages/wyzeapy/default.nix new file mode 100644 index 0000000..00d497a --- /dev/null +++ b/packages/wyzeapy/default.nix @@ -0,0 +1,23 @@ +{ fetchFromGitHub, python3Packages, ... }: +python3Packages.buildPythonPackage rec { + pname = "wyzeapy"; + version = "0.5.27"; + format = "pyproject"; + + src = fetchFromGitHub { + owner = "SecKatie"; + repo = "wyzeapy"; + rev = version; + sha256 = "sha256-IfhRsVWj/bcKOtpCdmpgrz3L8iY73e+weHlOo5rfKHw="; + }; + + buildInputs = with python3Packages; [ poetry-core ]; + + nativeBuildInputs = with python3Packages; [ + aiodns + aiohttp + pycryptodome + ]; + + doCheck = false; # no tests in the PyPI tarball +} diff --git a/systems/x86_64-linux/deck/boot.nix b/systems/x86_64-linux/deck/boot.nix index 279ee6b..a95cf02 100755 --- a/systems/x86_64-linux/deck/boot.nix +++ b/systems/x86_64-linux/deck/boot.nix @@ -33,11 +33,6 @@ in timeout = "0"; }; configurationLimit = 5; -# extraInstallCommands = '' -# ${pkgs.uutils-coreutils}/bin/uutils-echo "timeout 0 -# console-mode 1 -# default nixos-*" > /boot/loader/loader.conf -# ''; }; plymouth = { diff --git a/systems/x86_64-linux/deck/configuration.nix b/systems/x86_64-linux/deck/configuration.nix index 8a3863f..104f0d9 100755 --- a/systems/x86_64-linux/deck/configuration.nix +++ b/systems/x86_64-linux/deck/configuration.nix @@ -5,13 +5,6 @@ { config, lib, pkgs, ... }: { - imports = - [ - ./boot.nix - ./jovian.nix - ./networking.nix - ./sops.nix - ]; nix = { settings = { diff --git a/systems/x86_64-linux/deck/default.nix b/systems/x86_64-linux/deck/default.nix new file mode 100644 index 0000000..9392f46 --- /dev/null +++ b/systems/x86_64-linux/deck/default.nix @@ -0,0 +1,34 @@ +{ # Snowfall Lib provides a customized `lib` instance with access to your flake's library + # as well as the libraries available from your flake's inputs. + lib, + # An instance of `pkgs` with your overlays and packages applied is also available. + pkgs, + # You also have access to your flake's inputs. + inputs, + + # Additional metadata is provided by Snowfall Lib. + namespace, # The namespace used for your flake, defaulting to "internal" if not set. + system, # The system architecture for this host (eg. `x86_64-linux`). + target, # The Snowfall Lib target for this system (eg. `x86_64-iso`). + format, # A normalized name for the system target (eg. `iso`). + virtual, # A boolean to determine whether this system is a virtual target using nixos-generators. + systems, # An attribute map of your defined hosts. + + # All other arguments come from the system system. + config, + ... + }: + { + imports = [ + ./boot.nix + ./configuration.nix + ./jovian.nix + ./networking.nix + ./sops.nix + ]; + + ${namespace} = { + bootloader.lanzaboote.enable = true; + desktop.gnome.enable = true; + }; +} \ No newline at end of file diff --git a/systems/x86_64-linux/nuc/configuration.nix b/systems/x86_64-linux/nuc/default.nix similarity index 89% rename from systems/x86_64-linux/nuc/configuration.nix rename to systems/x86_64-linux/nuc/default.nix index 7c20df9..e51ab18 100644 --- a/systems/x86_64-linux/nuc/configuration.nix +++ b/systems/x86_64-linux/nuc/default.nix @@ -3,6 +3,7 @@ pkgs, lib, inputs, + namespace, ... }: { @@ -12,13 +13,15 @@ ./users.nix ./sops.nix - ../../modules/homeassistant/homeassistant.nix + # ../../modules/homeassistant/homeassistant.nix ]; security.tpm2 = { enable = true; }; + ${namespace}.services.home-assistant.enable = true; + # Enable nix flakes and nix-command tools nix = { settings = { diff --git a/systems/x86_64-linux/nuc/networking.nix b/systems/x86_64-linux/nuc/networking.nix index dd45e79..eb7385c 100755 --- a/systems/x86_64-linux/nuc/networking.nix +++ b/systems/x86_64-linux/nuc/networking.nix @@ -1,4 +1,4 @@ -{ config, ... }: +{ config, lib, ... }: let # settings = import ./settings.nix; ports = [ @@ -8,7 +8,7 @@ in { # Networking configs networking = { - hostName = "nuc-nixos";#settings.hostName; + hostName = lib.mkForce "nuc-nixos";#settings.hostName; useNetworkd = true; diff --git a/systems/x86_64-linux/nuc/sops.nix b/systems/x86_64-linux/nuc/sops.nix index e91b5e5..a37133a 100755 --- a/systems/x86_64-linux/nuc/sops.nix +++ b/systems/x86_64-linux/nuc/sops.nix @@ -18,7 +18,7 @@ in # Either the group id or group name representation of the secret group # It is recommended to get the group name from `config.users.users..group` to avoid misconfiguration sops = { - defaultSopsFile = ../../secrets/nuc-secrets.yaml; + defaultSopsFile = ../../../secrets/nuc-secrets.yaml; age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; # ------------------------------ @@ -27,7 +27,7 @@ in secrets = { "wifi" = { - sopsFile = ../../secrets/secrets.yaml; + sopsFile = ../../../secrets/secrets.yaml; }; # ------------------------------ @@ -35,37 +35,37 @@ in # ------------------------------ "secureboot/GUID" = { - sopsFile = ../../secrets/secrets.yaml; + sopsFile = ../../../secrets/secrets.yaml; path = "/etc/secureboot/GUID"; mode = "0640"; }; "secureboot/keys/db-key" = { - sopsFile = ../../secrets/secrets.yaml; + sopsFile = ../../../secrets/secrets.yaml; path = "/etc/secureboot/keys/db/db.key"; mode = "0640"; }; "secureboot/keys/db-pem" = { - sopsFile = ../../secrets/secrets.yaml; + sopsFile = ../../../secrets/secrets.yaml; path = "/etc/secureboot/keys/db/db.pem"; mode = "0640"; }; "secureboot/keys/KEK-key" = { - sopsFile = ../../secrets/secrets.yaml; + sopsFile = ../../../secrets/secrets.yaml; path = "/etc/secureboot/keys/KEK/KEK.key"; mode = "0640"; }; "secureboot/keys/KEK-pem" = { - sopsFile = ../../secrets/secrets.yaml; + sopsFile = ../../../secrets/secrets.yaml; path = "/etc/secureboot/keys/KEK/KEK.pem"; mode = "0640"; }; "secureboot/keys/PK-key" = { - sopsFile = ../../secrets/secrets.yaml; + sopsFile = ../../../secrets/secrets.yaml; path = "/etc/secureboot/keys/PK/PK.key"; mode = "0640"; }; "secureboot/keys/PK-pem" = { - sopsFile = ../../secrets/secrets.yaml; + sopsFile = ../../../secrets/secrets.yaml; path = "/etc/secureboot/keys/PK/PK.pem"; mode = "0640"; };