diff --git a/hosts/WCE-Home/default.nix b/hosts/WCE-Home/default.nix new file mode 100644 index 0000000..61d3699 --- /dev/null +++ b/hosts/WCE-Home/default.nix @@ -0,0 +1,28 @@ +{lib, config, pkgs, ...}:{ + imports = [ + ../../modules + ]; + + networking.hostName = "WCE-Home"; + networking.firewall.allowedTCPPorts = [ 8123 ]; + + virtualisation.oci-containers = { + backend = "podman"; + containers.homeassistant = { + volumes = [ "home-assistant:/config" ]; + environment.TZ = "America/New_York"; + image = "ghcr.io/home-assistant/home-assistant:stable"; + extraOptions = [ + "--network=host", + "--device=/dev/ttyACM0:/dev/ttyACM0"; + ]; + }; + }; + + packages.gui.enable = false; + packages.wayland.enable = false; + packages.programming.enable = false; + + users.crow.enable = false; + users.ha.enable = true; +} diff --git a/modules/core.nix b/modules/core.nix index 1c4d582..3d9d1fa 100644 --- a/modules/core.nix +++ b/modules/core.nix @@ -26,6 +26,9 @@ vault = { enable = lib.mkEnableOption "enable vault"; }; + ha = { + enable = lib.mkEnableOption "enable home assistant user"; + }; }; }; @@ -48,6 +51,9 @@ vault = { enable = lib.mkDefault false; }; + ha = { + enable = lib.mkDefault false; + }; }; fonts.packages = with pkgs; [ diff --git a/modules/users/default.nix b/modules/users/default.nix index 766afbe..7ef348e 100644 --- a/modules/users/default.nix +++ b/modules/users/default.nix @@ -2,6 +2,7 @@ imports = [ ./crow ./vault + ./ha ]; config.home-manager = { diff --git a/modules/users/ha/default.nix b/modules/users/ha/default.nix new file mode 100644 index 0000000..9712fa4 --- /dev/null +++ b/modules/users/ha/default.nix @@ -0,0 +1,5 @@ +{lib, config, ...}: { + imports = [ + ./user.nix + ]; +} diff --git a/modules/users/ha/user.nix b/modules/users/ha/user.nix new file mode 100644 index 0000000..96f25d7 --- /dev/null +++ b/modules/users/ha/user.nix @@ -0,0 +1,7 @@ +{ lib, config, ...}: { + config.users.users.ha = lib.mkIf config.users.ha.enable { + isNormalUser = true; + initialPassword = "changeme"; + extraGroups = [ "wheel" "libvirtd" ]; + }; +}