diff options
author | Karel Kočí <cynerd@email.cz> | 2025-07-31 16:44:09 +0200 |
---|---|---|
committer | Karel Kočí <cynerd@email.cz> | 2025-07-31 16:44:09 +0200 |
commit | 3b1525c6423db76d95c8693e3d8d9f768f8d7471 (patch) | |
tree | cf0d05f7f830deb20965dba25fd5d18aaff61259 | |
parent | 8c3f71ed4b6eda2e5e3f7832abbc912d2d7a9b6c (diff) | |
download | nixos-personal-3b1525c6423db76d95c8693e3d8d9f768f8d7471.tar.gz nixos-personal-3b1525c6423db76d95c8693e3d8d9f768f8d7471.tar.bz2 nixos-personal-3b1525c6423db76d95c8693e3d8d9f768f8d7471.zip |
-rw-r--r-- | flake.nix | 104 | ||||
-rw-r--r-- | nixos/modules/homeassistant.nix | 8 |
2 files changed, 56 insertions, 56 deletions
@@ -20,7 +20,7 @@ outputs = { self, - flake-utils, + systems, nixpkgs, nixosdeploy, personal-secret, @@ -32,59 +32,63 @@ nixturris, ... }: let - inherit (flake-utils.lib) eachDefaultSystem filterPackages; - inherit (nixpkgs.lib) mapAttrs' nameValuePair filterAttrs; - in - { - overlays = { - lib = final: prev: import ./lib final prev; - pkgs = final: prev: import ./pkgs final prev; - default = nixpkgs.lib.composeManyExtensions [ - agenix.overlays.default - nixosdeploy.overlays.default - self.overlays.pkgs - shellrc.overlays.default - shvcli.overlays.default - shvcli-ell.overlays.packages - usbkey.overlays.default - ]; - }; + inherit (nixpkgs.lib) genAttrs mapAttrs' nameValuePair filterAttrs; + forSystems = genAttrs (import systems); + withPkgs = func: forSystems (system: func self.legacyPackages.${system}); - nixosModules = import ./nixos/modules { - inherit (nixpkgs) lib; - default_modules = [ - nixosdeploy.nixosModules.default - nixturris.nixosModules.default - personal-secret.nixosModules.default - shellrc.nixosModules.default - usbkey.nixosModules.default - ]; - }; + osFilterMap = system: attr: + mapAttrs' (n: v: let + os = + if v.config.nixpkgs.hostPlatform.system == system + then v + else (v.extendModules {modules = [{nixpkgs.buildPlatform.system = system;}];}); + in + nameValuePair "${attr}-${n}" os.config.system.build."${attr}") + (filterAttrs (_: v: v.config.system.build ? "${attr}") + self.nixosConfigurations); + in { + overlays = { + lib = final: prev: import ./lib final prev; + pkgs = final: prev: import ./pkgs final prev; + default = nixpkgs.lib.composeManyExtensions [ + agenix.overlays.default + nixosdeploy.overlays.default + self.overlays.pkgs + shellrc.overlays.default + shvcli.overlays.default + shvcli-ell.overlays.packages + usbkey.overlays.default + ]; + }; - nixosConfigurations = import ./nixos/configurations self; - lib = import ./lib nixpkgs.lib; - } - // eachDefaultSystem (system: let - pkgs = nixpkgs.legacyPackages."${system}".extend self.overlays.default; + nixosModules = import ./nixos/modules { + inherit (nixpkgs) lib; + default_modules = [ + nixosdeploy.nixosModules.default + nixturris.nixosModules.default + personal-secret.nixosModules.default + shellrc.nixosModules.default + usbkey.nixosModules.default + ]; + }; - osFilterMap = attr: - mapAttrs' (n: v: let - os = - if v.config.nixpkgs.hostPlatform.system == system - then v - else (v.extendModules {modules = [{nixpkgs.buildPlatform.system = system;}];}); - in - nameValuePair "${attr}-${n}" os.config.system.build."${attr}") - (filterAttrs (_: v: v.config.system.build ? "${attr}") - self.nixosConfigurations); - in { - packages = + nixosConfigurations = import ./nixos/configurations self; + lib = import ./lib nixpkgs.lib; + + legacyPackages = + forSystems (system: + nixpkgs.legacyPackages.${system}.extend self.overlays.default); + + packages = forSystems ( + system: {inherit (nixosdeploy.packages.${system}) default;} // (osFilterMap "toplevel") // (osFilterMap "tarball") - // (osFilterMap "firmware"); - legacyPackages = pkgs; - devShells = filterPackages system (import ./devShells pkgs); - formatter = pkgs.alejandra; - }); + // (osFilterMap "firmware") + ); + + devShells = withPkgs (import ./devShells); + + formatter = withPkgs (pkgs: pkgs.alejandra); + }; } diff --git a/nixos/modules/homeassistant.nix b/nixos/modules/homeassistant.nix index 000e6c4..f7ebe9c 100644 --- a/nixos/modules/homeassistant.nix +++ b/nixos/modules/homeassistant.nix @@ -25,13 +25,9 @@ in { containers.homeassistant = { volumes = ["home-assistant:/config" "/run/dbus:/run/dbus:ro"]; environment.TZ = "Europe/Prague"; - image = "ghcr.io/home-assistant/armv7-homeassistant:stable"; + image = "ghcr.io/home-assistant/armv7-homeassistant:latest"; extraOptions = - [ - "--privileged" - "--pull=always" - "--network=host" - ] + ["--privileged" "--network=host"] ++ cnf.extraOptions; }; }; |