diff --git a/config/hosts/aspects/servers/rpi5.nix b/config/hosts/aspects/servers/rpi5.nix index 196bad4..91bc92a 100644 --- a/config/hosts/aspects/servers/rpi5.nix +++ b/config/hosts/aspects/servers/rpi5.nix @@ -9,19 +9,9 @@ includes = [ + ]; nixos = { - users.users = { - doloro = { - isNormalUser = true; - extraGroups = [ - "wheel" - "docker" - ]; - initialPassword = "meowmeowmeow"; - }; - }; - networking.hostName = "nixos-001-rp5"; networking.firewall = { diff --git a/config/hosts/servers.nix b/config/hosts/servers.nix index d855c9e..806cfdf 100644 --- a/config/hosts/servers.nix +++ b/config/hosts/servers.nix @@ -6,20 +6,34 @@ }: { # The single rpi5 i have running on the side of my desk - den.aspects.doloro-server = { - includes = [ ]; + den.aspects = { + doloro-server = { + includes = [ + + ]; + nixos = { + users.users.doloro = { + isNormalUser = true; + extraGroups = [ + "wheel" + "networkmanager" + ]; + }; + }; + }; + root-server = { + includes = [ + + ]; + }; }; den.hosts.aarch64-linux.rpi5 = { includes = [ ]; users.doloro = { - includes = [ - - - ]; aspect = "doloro-server"; }; users.root = { - includes = [ ]; + aspect = "root-server"; }; }; diff --git a/config/modules/services/home-assistant.nix b/config/modules/services/home-assistant.nix new file mode 100644 index 0000000..87d30e0 --- /dev/null +++ b/config/modules/services/home-assistant.nix @@ -0,0 +1,36 @@ +{ + den, + __findFile, + modules, + ... +}: +{ + # Basic traefik + modules.services.provides.home-assistant = { + nixos = + { config, pkgs, ... }: + let + homeAssistantImg = pkgs.dockerTools.pullImage { + imageName = "homeassistant/home-assistant"; + imageDigest = "sha256:17441c45ba14560b4ef727ee06aac4d605cf0dc0625fc4f2e043cb2551d72749"; + finalImageName = "homeassistant/home-assistant"; + finalImageTag = "latest"; + sha256 = "sha256-fSQ3luRSFHiWP0qDzsiZsEf/l+wYgyrdicjSayZ61yQ="; + arch = "aarch64"; + }; + in + { + virtualisation.oci-containers.containers = { + home-assistant = { + image = "homeassistant/home-assistant"; + imageFile = homeAssistantImg; + labels = { + "traefik.enable" = "true"; + "traefik.http.routers.websecure.service" = "home-assistant"; + "traefik.http.routers.websecure.rule" = "Host(`ha.home.doloro.co.uk`)"; + }; + }; + }; + }; + }; +} diff --git a/config/modules/services/traefik.nix b/config/modules/services/traefik.nix index 5729a7b..24cd4aa 100644 --- a/config/modules/services/traefik.nix +++ b/config/modules/services/traefik.nix @@ -39,7 +39,6 @@ }; providers = { docker = { - endpoint = "unix:///var/run/docker.sock"; }; }; api.dashboard = true;