diff --git a/flake.nix b/flake.nix index 9b513b7..475a41f 100755 --- a/flake.nix +++ b/flake.nix @@ -424,67 +424,6 @@ desktop-nixos-hardware.nixosModules.common-pc ]; }; - - # Desktop - "matt-netboot" = desktop-nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { - inherit inputs outputs; - }; - modules = [ - ./base/base-nogui - ./base/base-gui - ./hosts/desktop/netboot.nix - ./modules/desktop-environments/gnome - - # Chaotic Nyx - desktop-chaotic.nixosModules.default - - desktop-sops-nix.nixosModules.sops - - # Home Manager - desktop-home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.matt = - { ... }: - { - imports = [ - ./hosts/desktop/home.nix - ./share/home/defaults.nix - ./share/home/git.nix - ./share/home/gnome.nix - ./share/home/librewolf.nix - ./share/home/office.nix - ./share/home/shell.nix - ./share/home/vscode.nix - desktop-steam-rom-manager.homeManagerModules.default - desktop-sops-nix.homeManagerModules.sops - ]; - }; - home-manager.users.root = - { ... }: - { - imports = [ - ./share/root-user - desktop-sops-nix.homeManagerModules.sops - ]; - }; - home-manager.backupFileExtension = "backup"; - } - - desktop-cosmic.nixosModules.default - - # nixos hardware - desktop-nixos-hardware.nixosModules.common-cpu-amd - desktop-nixos-hardware.nixosModules.common-cpu-amd-pstate - desktop-nixos-hardware.nixosModules.common-cpu-amd-zenpower - desktop-nixos-hardware.nixosModules.common-gpu-amd - desktop-nixos-hardware.nixosModules.common-hidpi - desktop-nixos-hardware.nixosModules.common-pc - ]; - }; # NAS "jallen-nas" = nas-nixpkgs.lib.nixosSystem { diff --git a/hosts/homeassistant/homeassistant.nix b/hosts/homeassistant/homeassistant.nix index 6484935..2809ce0 100755 --- a/hosts/homeassistant/homeassistant.nix +++ b/hosts/homeassistant/homeassistant.nix @@ -97,7 +97,7 @@ let }; # In configuration.nix or a separate file - pythonSteam = pkgs.python3.withPackages (ps: with ps; [ + pythonSteam = pkgs.python3.withPackages (ps: [ (ps.buildPythonPackage rec { pname = "steam"; version = "1.4.4"; # Check for the latest version diff --git a/hosts/pi5/configuration.nix b/hosts/pi5/configuration.nix index fa13887..c1d0626 100755 --- a/hosts/pi5/configuration.nix +++ b/hosts/pi5/configuration.nix @@ -16,6 +16,8 @@ in ./networking.nix ./services.nix ./sops.nix + + ./hass.nix ]; # Enable nix flakes and nix-command tools diff --git a/hosts/pi5/hass.nix b/hosts/pi5/hass.nix new file mode 100644 index 0000000..35fd275 --- /dev/null +++ b/hosts/pi5/hass.nix @@ -0,0 +1,51 @@ +{ ... }: +let + hostAddress = "10.0.1.18"; + localAddress = "10.0.5.18"; + hassPort = 8192; +in +{ + containers.homeassistant = { + autoStart = true; + privateNetwork = true; + hostAddress = hostAddress; + localAddress = localAddress; + + config = { lib, ... }: + { + imports = [ ../homeassistant/homeassistant.nix ]; + + networking = { + firewall = { + enable = true; + allowedTCPPorts = [ hassPort ]; + }; + # Use systemd-resolved inside the container + # Workaround for bug https://github.com/NixOS/nixpkgs/issues/162686 + useHostResolvConf = lib.mkForce false; + }; + + # Create and set permissions for required directories + system.activationScripts.gitea-dirs = '' + mkdir -p /var/lib/gitea + chown -R gitea:gitea /var/lib/gitea + chmod -R 775 /var/lib/gitea + mkdir -p /run/secrets/jallen-nas + chown -R gitea:gitea /run/secrets/jallen-nas + chmod -R 775 /run/secrets/jallen-nas + ''; + + services.resolved.enable = true; + system.stateVersion = "23.11"; + }; + }; + + networking.nat = { + forwardPorts = [ + { + destination = "${localAddress}:${toString hassPort}"; + sourcePort = hassPort; + } + ]; + }; +} \ No newline at end of file diff --git a/modules/desktop-environments/hyprland/specialisation.nix b/modules/desktop-environments/hyprland/specialisation.nix index 9225bc6..5f25bbd 100755 --- a/modules/desktop-environments/hyprland/specialisation.nix +++ b/modules/desktop-environments/hyprland/specialisation.nix @@ -1,6 +1,6 @@ -{ lib, ... }: +{ ... }: { specialisation.hyprland.configuration = { - imports = [ ./default.nix ] + imports = [ ./default.nix ]; }; }