diff --git a/modules/features/services/aurora-greeter/default.nix b/modules/features/aurora-greeter.nix similarity index 100% rename from modules/features/services/aurora-greeter/default.nix rename to modules/features/aurora-greeter.nix diff --git a/modules/features/virtualization/docker/authentik/default.nix b/modules/features/authentik.nix similarity index 100% rename from modules/features/virtualization/docker/authentik/default.nix rename to modules/features/authentik.nix diff --git a/modules/features/services/avahi/default.nix b/modules/features/avahi.nix similarity index 100% rename from modules/features/services/avahi/default.nix rename to modules/features/avahi.nix diff --git a/modules/features/virtualization/containers/code-server/default.nix b/modules/features/code-server.nix similarity index 100% rename from modules/features/virtualization/containers/code-server/default.nix rename to modules/features/code-server.nix diff --git a/modules/features/virtualization/docker/docker-mailserver/default.nix b/modules/features/docker-mailserver.nix similarity index 100% rename from modules/features/virtualization/docker/docker-mailserver/default.nix rename to modules/features/docker-mailserver.nix diff --git a/modules/features/virtualization/docker/default.nix b/modules/features/docker.nix similarity index 100% rename from modules/features/virtualization/docker/default.nix rename to modules/features/docker.nix diff --git a/modules/features/services/dynamicDNS/default.nix b/modules/features/dynamicDNS.nix similarity index 100% rename from modules/features/services/dynamicDNS/default.nix rename to modules/features/dynamicDNS.nix diff --git a/modules/features/etc/default.nix b/modules/features/etc/default.nix deleted file mode 100644 index eff77cf..0000000 --- a/modules/features/etc/default.nix +++ /dev/null @@ -1,9 +0,0 @@ -{ ... }: { - - - flake.nixosModules.default = { lib, ... }: { - - config = { - }; - }; -} diff --git a/modules/features/virtualization/docker/gitea/default.nix b/modules/features/gitea.nix similarity index 55% rename from modules/features/virtualization/docker/gitea/default.nix rename to modules/features/gitea.nix index 6c666a4..0fcdf93 100644 --- a/modules/features/virtualization/docker/gitea/default.nix +++ b/modules/features/gitea.nix @@ -1,6 +1,119 @@ { ... }: { - flake.nixosModules.default = { config, lib, pkgs, ... }: let + flake.nixosModules.default = { config, lib, ... }: { + + options.sysconfig.containers.gitea.enable = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + + config = lib.mkIf config.sysconfig.containers.gitea.enable { + + networking = { + nat.internalInterfaces = [ "ve-gitea" ]; + }; + + sops.secrets = { + "gitea/dbpass" = {}; + }; + + containers.gitea = { + + autoStart = true; + privateNetwork = true; + hostAddress = "192.168.100.10"; + localAddress = "192.168.100.20"; + + bindMounts = { + "/etc/gitea/data" = { + hostPath = "/ssd1/Gitea/data"; + isReadOnly = false; + }; + }; + + extraFlags = [ + "--load-credential=dbpass:${config.sops.secrets."gitea/dbpass".path}" + ]; + + config = { + + systemd.services.secrets_setup = { + wantedBy = [ "gitea.service" ]; + + serviceConfig = { + LoadCredential = [ + "dbpass" + ]; + }; + + script = '' + cat ''${CREDENTIALS_DIRECTORY}/dbpass > /etc/gitea/dbpass + chown gitea:gitea /etc/gitea/* + ''; + }; + + services.gitea = { + enable = true; + + stateDir = "/etc/gitea/data"; + + dump.enable = false; + + appName = "Gitea"; + + settings = { + server = { + DOMAIN = "gitea.esotericbytes.com"; + HTTP_PORT = 3000; + ROOT_URL = "https://gitea.esotericbytes.com/"; + }; + service = { + DISABLE_REGISTRATION = false; + ALLOW_ONLY_EXTERNAL_REGISTRATION = true; + REQUIRE_SIGNIN_VIEW = false; + }; + oauth2_client = { + ENABLE_AUTO_REGISTRATION = true; + }; + session.COOKIE_SECURE = true; + + cron = { + ENABLED = true; + RUN_AT_START = true; + }; + + repository = { + DEFAULT_BRANCH = "master"; + }; + }; + + database = { + passwordFile = "/etc/gitea/dbpass"; + type = "postgres"; + }; + + }; + + services.openssh = { + enable = true; + openFirewall = true; + settings = { + PermitRootLogin = lib.mkForce "no"; + PasswordAuthentication = false; + KbdInteractiveAuthentication = false; + }; + ports = [ 2222 ]; + }; + + networking.firewall.allowedTCPPorts = [ 3000 ]; + + system.stateVersion = "24.11"; + }; + }; + }; + }; + + flake.nixosModules.gitea-docker = { config, lib, pkgs, ... }: let subdomain = "gitea"; @@ -151,4 +264,5 @@ }; }; + } diff --git a/modules/features/virtualization/docker/home-assistant/configuration.yaml b/modules/features/home-assistant/configuration.yaml similarity index 100% rename from modules/features/virtualization/docker/home-assistant/configuration.yaml rename to modules/features/home-assistant/configuration.yaml diff --git a/modules/features/virtualization/docker/home-assistant/default.nix b/modules/features/home-assistant/home-assistant.nix similarity index 83% rename from modules/features/virtualization/docker/home-assistant/default.nix rename to modules/features/home-assistant/home-assistant.nix index 320807c..14692fe 100644 --- a/modules/features/virtualization/docker/home-assistant/default.nix +++ b/modules/features/home-assistant/home-assistant.nix @@ -58,4 +58,18 @@ }; }; }; + + flake.nixosModules.home-assistant-vm = { config, lib, ... }: { + + options.sysconfig.virtual-machines.home-assistant = { + enable = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + }; + + config = lib.mkIf config.sysconfig.virtual-machines.home-assistant.enable { + + }; + }; } diff --git a/modules/features/programs/hyprland/default.nix b/modules/features/hyprland.nix similarity index 100% rename from modules/features/programs/hyprland/default.nix rename to modules/features/hyprland.nix diff --git a/modules/features/virtualization/docker/jellyfin/default.nix b/modules/features/jellyfin.nix similarity index 100% rename from modules/features/virtualization/docker/jellyfin/default.nix rename to modules/features/jellyfin.nix diff --git a/modules/features/services/kdePlasma6/default.nix b/modules/features/kdePlasma6.nix similarity index 100% rename from modules/features/services/kdePlasma6/default.nix rename to modules/features/kdePlasma6.nix diff --git a/modules/features/virtualization/docker/kiwix/default.nix b/modules/features/kiwix.nix similarity index 100% rename from modules/features/virtualization/docker/kiwix/default.nix rename to modules/features/kiwix.nix diff --git a/modules/features/virtualization/docker/minecraft/default.nix b/modules/features/minecraft.nix similarity index 100% rename from modules/features/virtualization/docker/minecraft/default.nix rename to modules/features/minecraft.nix diff --git a/modules/features/virtualization/docker/n8n/default.nix b/modules/features/n8n.nix similarity index 100% rename from modules/features/virtualization/docker/n8n/default.nix rename to modules/features/n8n.nix diff --git a/modules/features/virtualization/docker/netbird/config/management.json b/modules/features/netbird/config/management.json similarity index 100% rename from modules/features/virtualization/docker/netbird/config/management.json rename to modules/features/netbird/config/management.json diff --git a/modules/features/virtualization/docker/netbird/default.nix b/modules/features/netbird/netbird.nix similarity index 90% rename from modules/features/virtualization/docker/netbird/default.nix rename to modules/features/netbird/netbird.nix index 4d88ec3..22b9bed 100644 --- a/modules/features/virtualization/docker/netbird/default.nix +++ b/modules/features/netbird/netbird.nix @@ -1,7 +1,46 @@ -{ ... }: { +{ inputs, ... }: { + flake.nixosModules.default = { config, lib, pkgs, ... }: { + options.sysconfig = { + + services.netbird.enable = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + }; + + config = let + pkgs-us = import inputs.nixpkgs-us { + system = "x86_64-linux"; + }; + in lib.mkIf config.sysconfig.services.netbird.enable { + + services.netbird = { + enable = lib.mkDefault config.sysconfig.services.netbird.enable; + + clients.default = { + port = 51820; + name = "netbird"; + interface = "wt0"; + hardened = false; + + ui = { + enable = lib.mkDefault config.sysconfig.graphical; + #package = pkgs-us.netbird-ui; + #package = pkgs.netbird-ui; + }; + }; + + package = pkgs-us.netbird; + #package = pkgs.netbird; + }; + }; + }; + + flake.nixosModules.netbird-docker = { config, lib, pkgs, ... }: { + options.sysconfig.docker.netbird.enable = with lib; mkOption { type = with types; bool; default = false; diff --git a/modules/features/virtualization/docker/nextcloud/default.nix b/modules/features/nextcloud.nix similarity index 100% rename from modules/features/virtualization/docker/nextcloud/default.nix rename to modules/features/nextcloud.nix diff --git a/modules/features/virtualization/containers/nginx/default.nix b/modules/features/nginx.nix similarity index 100% rename from modules/features/virtualization/containers/nginx/default.nix rename to modules/features/nginx.nix diff --git a/modules/features/virtualization/containers/novnc/default.nix b/modules/features/novnc.nix similarity index 64% rename from modules/features/virtualization/containers/novnc/default.nix rename to modules/features/novnc.nix index d4d3105..21c16a6 100644 --- a/modules/features/virtualization/containers/novnc/default.nix +++ b/modules/features/novnc.nix @@ -2,6 +2,37 @@ flake.nixosModules.default = { config, lib, pkgs, ... }: { + options.sysconfig.services.novnc.enable = lib.mkOption { + type = lib.types.bool; + default = false; + }; + + config = lib.mkIf config.sysconfig.services.novnc.enable { + systemd.services.novnc = { + enable = true; + + path = with pkgs; [ + novnc + ps + ]; + + script = '' + novnc --listen 80 --vnc 127.0.0.1:5900 + ''; + + serviceConfig = { + Type = "exec"; + }; + + wantedBy = [ "multi-user.target" ]; + }; + + networking.firewall.allowedTCPPorts = [ 80 ]; + }; + }; + + flake.nixosModules.ntfy-container = { config, lib, pkgs, ... }: { + options.sysconfig.containers.novnc.enable = lib.mkOption { type = lib.types.bool; default = false; @@ -52,4 +83,6 @@ }; }; }; + } + diff --git a/modules/features/virtualization/containers/ntfy/default.nix b/modules/features/ntfy.nix similarity index 100% rename from modules/features/virtualization/containers/ntfy/default.nix rename to modules/features/ntfy.nix diff --git a/modules/features/virtualization/docker/ollama/default.nix b/modules/features/ollama.nix similarity index 70% rename from modules/features/virtualization/docker/ollama/default.nix rename to modules/features/ollama.nix index 08270cc..2e5398c 100644 --- a/modules/features/virtualization/docker/ollama/default.nix +++ b/modules/features/ollama.nix @@ -1,6 +1,32 @@ -{ ... }: { +{ inputs, ... }: { - flake.nixosModules.default = { config, lib, pkgs, ... }: let + flake.nixosModules.default = { config, lib, ... }: { + + options = { + sysconfig.services.ollama.enable = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + }; + + config = lib.mkIf config.sysconfig.services.ollama.enable { + services.ollama = { + enable = true; + acceleration = "cuda"; + environmentVariables = { + OLLAMA_CONTEXT_LENGTH = lib.mkDefault "16000"; + }; + package = let + pkgs-us = import inputs.nixpkgs-us { + system = "x86_64-linux"; + config.allowUnfree = true; + }; + in pkgs-us.ollama-cuda; + }; + }; + }; + + flake.nixosModules.ollama-docker = { config, lib, pkgs, ... }: let hostPort = 11434; @@ -74,3 +100,4 @@ }; }; } + diff --git a/modules/features/services/openssh/default.nix b/modules/features/openssh.nix similarity index 100% rename from modules/features/services/openssh/default.nix rename to modules/features/openssh.nix diff --git a/modules/features/virtualization/docker/openwebui/default.nix b/modules/features/openwebui.nix similarity index 100% rename from modules/features/virtualization/docker/openwebui/default.nix rename to modules/features/openwebui.nix diff --git a/modules/features/packages/default.nix b/modules/features/packages.nix similarity index 93% rename from modules/features/packages/default.nix rename to modules/features/packages.nix index 019ad30..b7947e6 100644 --- a/modules/features/packages/default.nix +++ b/modules/features/packages.nix @@ -3,6 +3,7 @@ flake.nixosModules.default = { pkgs, ... }: { environment.systemPackages = with pkgs; [ + age sops inputs.disko.packages.${pkgs.stdenv.hostPlatform.system}.disko-install ]; diff --git a/modules/features/virtualization/docker/passbolt/docker-compose.nix-txt b/modules/features/passbolt/docker-compose.nix-txt similarity index 100% rename from modules/features/virtualization/docker/passbolt/docker-compose.nix-txt rename to modules/features/passbolt/docker-compose.nix-txt diff --git a/modules/features/virtualization/docker/passbolt/default.nix b/modules/features/passbolt/passbolt.nix similarity index 100% rename from modules/features/virtualization/docker/passbolt/default.nix rename to modules/features/passbolt/passbolt.nix diff --git a/modules/features/virtualization/docker/pihole/default.nix b/modules/features/pihole.nix similarity index 100% rename from modules/features/virtualization/docker/pihole/default.nix rename to modules/features/pihole.nix diff --git a/modules/features/services/pipewire/default.nix b/modules/features/pipewire.nix similarity index 100% rename from modules/features/services/pipewire/default.nix rename to modules/features/pipewire.nix diff --git a/modules/features/virtualization/docker/portainer/default.nix b/modules/features/portainer.nix similarity index 100% rename from modules/features/virtualization/docker/portainer/default.nix rename to modules/features/portainer.nix diff --git a/modules/features/virtualization/docker/rustdesk/default.nix b/modules/features/rustdesk/default.nix similarity index 100% rename from modules/features/virtualization/docker/rustdesk/default.nix rename to modules/features/rustdesk/default.nix diff --git a/modules/features/virtualization/docker/rustdesk/docker-compose.nix-txt b/modules/features/rustdesk/docker-compose.nix-txt similarity index 100% rename from modules/features/virtualization/docker/rustdesk/docker-compose.nix-txt rename to modules/features/rustdesk/docker-compose.nix-txt diff --git a/modules/features/virtualization/containers/sandbox/default.nix b/modules/features/sandbox.nix similarity index 100% rename from modules/features/virtualization/containers/sandbox/default.nix rename to modules/features/sandbox.nix diff --git a/modules/features/services/sddm/default.nix b/modules/features/sddm.nix similarity index 100% rename from modules/features/services/sddm/default.nix rename to modules/features/sddm.nix diff --git a/modules/features/virtualization/docker/searxng/default.nix b/modules/features/searxng/searxng.nix similarity index 100% rename from modules/features/virtualization/docker/searxng/default.nix rename to modules/features/searxng/searxng.nix diff --git a/modules/features/virtualization/docker/searxng/settings.yml b/modules/features/searxng/settings.yml similarity index 100% rename from modules/features/virtualization/docker/searxng/settings.yml rename to modules/features/searxng/settings.yml diff --git a/modules/features/services/netbird/default.nix b/modules/features/services/netbird/default.nix deleted file mode 100644 index 547d361..0000000 --- a/modules/features/services/netbird/default.nix +++ /dev/null @@ -1,41 +0,0 @@ -{ inputs, ... }: { - - flake.nixosModules.default = { config, lib, pkgs, ... }: { - - options.sysconfig = { - - services.netbird.enable = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - }; - - config = let - pkgs-us = import inputs.nixpkgs-us { - system = "x86_64-linux"; - }; - in lib.mkIf config.sysconfig.services.netbird.enable { - - services.netbird = { - enable = lib.mkDefault config.sysconfig.services.netbird.enable; - - clients.default = { - port = 51820; - name = "netbird"; - interface = "wt0"; - hardened = false; - - ui = { - enable = lib.mkDefault config.sysconfig.graphical; - #package = pkgs-us.netbird-ui; - #package = pkgs.netbird-ui; - }; - }; - - package = pkgs-us.netbird; - #package = pkgs.netbird; - }; - }; - }; -} - diff --git a/modules/features/services/novnc/default.nix b/modules/features/services/novnc/default.nix deleted file mode 100644 index a8555d2..0000000 --- a/modules/features/services/novnc/default.nix +++ /dev/null @@ -1,34 +0,0 @@ -{ ... }: { - - flake.nixosModules.default = { config, lib, pkgs, ... }: { - - options.sysconfig.services.novnc.enable = lib.mkOption { - type = lib.types.bool; - default = false; - }; - - config = lib.mkIf config.sysconfig.services.novnc.enable { - systemd.services.novnc = { - enable = true; - - path = with pkgs; [ - novnc - ps - ]; - - script = '' - novnc --listen 80 --vnc 127.0.0.1:5900 - ''; - - serviceConfig = { - Type = "exec"; - }; - - wantedBy = [ "multi-user.target" ]; - }; - - networking.firewall.allowedTCPPorts = [ 80 ]; - }; - }; -} - diff --git a/modules/features/services/ollama/default.nix b/modules/features/services/ollama/default.nix deleted file mode 100644 index 062326c..0000000 --- a/modules/features/services/ollama/default.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ inputs, ... }: { - - flake.nixosModules.default = { config, lib, ... }: { - - options = { - sysconfig.services.ollama.enable = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - }; - - config = lib.mkIf config.sysconfig.services.ollama.enable { - services.ollama = { - enable = true; - acceleration = "cuda"; - environmentVariables = { - OLLAMA_CONTEXT_LENGTH = lib.mkDefault "16000"; - }; - package = let - pkgs-us = import inputs.nixpkgs-us { - system = "x86_64-linux"; - config.allowUnfree = true; - }; - in pkgs-us.ollama-cuda; - }; - }; - }; -} - diff --git a/modules/features/services/wyoming/default.nix b/modules/features/services/wyoming/default.nix deleted file mode 100644 index 0cd121f..0000000 --- a/modules/features/services/wyoming/default.nix +++ /dev/null @@ -1,69 +0,0 @@ -{ ... }: { - - flake.nixosModules.default = { config, lib, ... }: { - - options.sysconfig.services.wyoming = { - enable = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - piper = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - openwakeword = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - faster-whisper = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - satellite = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - }; - - config = lib.mkIf config.sysconfig.services.wyoming.enable { - - services.wyoming = { - - piper = lib.mkIf config.sysconfig.services.wyoming.piper { - - servers.piper = { - enable = true; - voice = "en-us-ryan-medium"; - uri = "tcp://0.0.0.0:11435"; - }; - }; - - openwakeword = lib.mkIf config.sysconfig.services.wyoming.openwakeword { - enable = true; - uri = "tcp://0.0.0.0:11432"; - - threshold = 0.5; - customModelsDirectories = [ -#./wake_words - ]; - }; - - faster-whisper = lib.mkIf config.sysconfig.services.wyoming.faster-whisper { - servers.whisper = { - enable = true; - device = "auto"; - language = "en"; - model = "medium.en"; - uri = "tcp://0.0.0.0:11433"; - }; - }; - - satellite = lib.mkIf config.sysconfig.services.wyoming.satellite { - enable = true; - uri = "tcp://0.0.0.0:11431"; - }; - }; - - }; - }; -} diff --git a/modules/features/programs/steam/default.nix b/modules/features/steam.nix similarity index 100% rename from modules/features/programs/steam/default.nix rename to modules/features/steam.nix diff --git a/modules/features/virtualization/docker/traefik/config/routing.yml b/modules/features/traefik/config/routing.yml similarity index 100% rename from modules/features/virtualization/docker/traefik/config/routing.yml rename to modules/features/traefik/config/routing.yml diff --git a/modules/features/virtualization/docker/traefik/config/traefik.yml b/modules/features/traefik/config/traefik.yml similarity index 100% rename from modules/features/virtualization/docker/traefik/config/traefik.yml rename to modules/features/traefik/config/traefik.yml diff --git a/modules/features/virtualization/docker/traefik/default.nix b/modules/features/traefik/traefik.nix similarity index 100% rename from modules/features/virtualization/docker/traefik/default.nix rename to modules/features/traefik/traefik.nix diff --git a/modules/features/users/default.nix b/modules/features/users.nix similarity index 100% rename from modules/features/users/default.nix rename to modules/features/users.nix diff --git a/modules/features/users/nathan/default.nix b/modules/features/users/nathan/default.nix deleted file mode 100644 index d8e28bc..0000000 --- a/modules/features/users/nathan/default.nix +++ /dev/null @@ -1,27 +0,0 @@ -{ ... }: { - - flake.nixosModules.default = { config, lib, pkgs, ... }: { - - config = lib.mkIf ( - config.sysconfig.users ? nathan && config.sysconfig.users.nathan.usePresets - ) { - - sops.secrets."nathan/pass".neededForUsers = true; - - users.users.nathan = { - shell = lib.mkDefault pkgs.zsh; - name = lib.mkDefault "nathan"; - isNormalUser = lib.mkDefault true; -#hashedPasswordFile = lib.mkIf (cfg.hashedPasswordFile != null) cfg.hashedPasswordFile; - extraGroups = [ "networkmanager" "docker" "libvirtd" ]; - openssh.authorizedKeys.keys = with config.sysconfig.users.nathan; lib.mkIf config.sysconfig.services.openssh.enable ( - ssh.keys ++ (map (z: config.sysconfig.sshHostKeys.${z}) ssh.hosts) - ); - packages = lib.mkIf ( - config.sysconfig.users.nathan.home-manager.enable && config.sysconfig.users.nathan.home-manager.standalone - ) [ pkgs.home-manager ]; - - }; - }; - }; -} diff --git a/modules/features/virtualization/virtual-machines/default.nix b/modules/features/virtual-machines.nix similarity index 100% rename from modules/features/virtualization/virtual-machines/default.nix rename to modules/features/virtual-machines.nix diff --git a/modules/features/virtualization/containers/gitea/default.nix b/modules/features/virtualization/containers/gitea/default.nix deleted file mode 100644 index 711e6f2..0000000 --- a/modules/features/virtualization/containers/gitea/default.nix +++ /dev/null @@ -1,115 +0,0 @@ -{ ... }: { - - flake.nixosModules.default = { config, lib, ... }: { - - options.sysconfig.containers.gitea.enable = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - - config = lib.mkIf config.sysconfig.containers.gitea.enable { - - networking = { - nat.internalInterfaces = [ "ve-gitea" ]; - }; - - sops.secrets = { - "gitea/dbpass" = {}; - }; - - containers.gitea = { - - autoStart = true; - privateNetwork = true; - hostAddress = "192.168.100.10"; - localAddress = "192.168.100.20"; - - bindMounts = { - "/etc/gitea/data" = { - hostPath = "/ssd1/Gitea/data"; - isReadOnly = false; - }; - }; - - extraFlags = [ - "--load-credential=dbpass:${config.sops.secrets."gitea/dbpass".path}" - ]; - - config = { - - systemd.services.secrets_setup = { - wantedBy = [ "gitea.service" ]; - - serviceConfig = { - LoadCredential = [ - "dbpass" - ]; - }; - - script = '' - cat ''${CREDENTIALS_DIRECTORY}/dbpass > /etc/gitea/dbpass - chown gitea:gitea /etc/gitea/* - ''; - }; - - services.gitea = { - enable = true; - - stateDir = "/etc/gitea/data"; - - dump.enable = false; - - appName = "Gitea"; - - settings = { - server = { - DOMAIN = "gitea.esotericbytes.com"; - HTTP_PORT = 3000; - ROOT_URL = "https://gitea.esotericbytes.com/"; - }; - service = { - DISABLE_REGISTRATION = false; - ALLOW_ONLY_EXTERNAL_REGISTRATION = true; - REQUIRE_SIGNIN_VIEW = false; - }; - oauth2_client = { - ENABLE_AUTO_REGISTRATION = true; - }; - session.COOKIE_SECURE = true; - - cron = { - ENABLED = true; - RUN_AT_START = true; - }; - - repository = { - DEFAULT_BRANCH = "master"; - }; - }; - - database = { - passwordFile = "/etc/gitea/dbpass"; - type = "postgres"; - }; - - }; - - services.openssh = { - enable = true; - openFirewall = true; - settings = { - PermitRootLogin = lib.mkForce "no"; - PasswordAuthentication = false; - KbdInteractiveAuthentication = false; - }; - ports = [ 2222 ]; - }; - - networking.firewall.allowedTCPPorts = [ 3000 ]; - - system.stateVersion = "24.11"; - }; - }; - }; - }; -} diff --git a/modules/features/virtualization/containers/rustdesk/default.nix b/modules/features/virtualization/containers/rustdesk/default.nix deleted file mode 100644 index 54c2a1c..0000000 --- a/modules/features/virtualization/containers/rustdesk/default.nix +++ /dev/null @@ -1,88 +0,0 @@ -{ ... }: { - - flake.nixosModules.default = { config, lib, ... }: { - - options.sysconfig.containers.rustdesk.enable = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - - config = lib.mkIf config.sysconfig.containers.rustdesk.enable { - - /*networking = { - firewall.allowedTCPPorts = [ 21115 21116 21117 21118 21119 ]; - firewall.allowedUDPPorts = [ 21116 ]; - };*/ - containers.rustdesk = { - - autoStart = true; - privateNetwork = true; - hostAddress = "192.168.100.10"; - localAddress = "192.168.100.27"; - /* forwardPorts = [ - { - containerPort = 21115; - hostPort = 21115; - protocol = "tcp"; - } - { - containerPort = 21116; - hostPort = 21116; - protocol = "tcp"; - } - { - containerPort = 21116; - hostPort = 21116; - protocol = "udp"; - } - { - containerPort = 21117; - hostPort = 21117; - protocol = "tcp"; - } - { - containerPort = 21118; - hostPort = 21118; - protocol = "tcp"; - } - - { - containerPort = 21119; - hostPort = 21119; - protocol = "tcp"; - } - - - ];*/ - config = { - - services.rustdesk-server = { - enable = true; - - openFirewall = true; - - relay = { - enable = true; - extraArgs = [ - "-k" - "AAAAC3NzaC1lZDI1NTE5AAAAIIPztDjwgB3xCza5+p5z1jpGVYoVQNl3fqD69pPCm0NA" - ]; - }; - - signal = { - enable = true; -#relayHosts = [ "esotericbytes.com" ]; - relayHosts = [ "192.168.100.27" ]; - extraArgs = [ - "-k" - "AAAAC3NzaC1lZDI1NTE5AAAAIIPztDjwgB3xCza5+p5z1jpGVYoVQNl3fqD69pPCm0NA" - ]; - }; - }; - - system.stateVersion = "24.05"; - }; - }; - }; - }; -} diff --git a/modules/features/virtualization/docker/wyoming/default.nix b/modules/features/virtualization/docker/wyoming/default.nix deleted file mode 100644 index 0967ef4..0000000 --- a/modules/features/virtualization/docker/wyoming/default.nix +++ /dev/null @@ -1 +0,0 @@ -{} diff --git a/modules/features/virtualization/virtual-machines/home-assistant/default.nix b/modules/features/virtualization/virtual-machines/home-assistant/default.nix deleted file mode 100644 index d3557f4..0000000 --- a/modules/features/virtualization/virtual-machines/home-assistant/default.nix +++ /dev/null @@ -1,17 +0,0 @@ -{ ... }: { - - flake.nixosModules.default = { config, lib, ... }: { - - options.sysconfig.virtual-machines.home-assistant = { - enable = lib.options.mkOption { - type = lib.types.bool; - default = false; - }; - }; - - config = lib.mkIf config.sysconfig.virtual-machines.home-assistant.enable { - - }; - }; -} - diff --git a/modules/features/virtualization/containers/wyoming/default.nix b/modules/features/wyoming.nix similarity index 67% rename from modules/features/virtualization/containers/wyoming/default.nix rename to modules/features/wyoming.nix index e604b3d..e2d4e41 100644 --- a/modules/features/virtualization/containers/wyoming/default.nix +++ b/modules/features/wyoming.nix @@ -1,6 +1,73 @@ { ... }: { - flake.nixosModules.default = { config, lib, ... }: { + flake.nixosModules.wyoming = { config, lib, ... }: { + + options.sysconfig.services.wyoming = { + enable = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + piper = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + openwakeword = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + faster-whisper = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + satellite = lib.options.mkOption { + type = lib.types.bool; + default = false; + }; + }; + + config = lib.mkIf config.sysconfig.services.wyoming.enable { + + services.wyoming = { + + piper = lib.mkIf config.sysconfig.services.wyoming.piper { + + servers.piper = { + enable = true; + voice = "en-us-ryan-medium"; + uri = "tcp://0.0.0.0:11435"; + }; + }; + + openwakeword = lib.mkIf config.sysconfig.services.wyoming.openwakeword { + enable = true; + uri = "tcp://0.0.0.0:11432"; + + threshold = 0.5; + customModelsDirectories = [ +#./wake_words + ]; + }; + + faster-whisper = lib.mkIf config.sysconfig.services.wyoming.faster-whisper { + servers.whisper = { + enable = true; + device = "auto"; + language = "en"; + model = "medium.en"; + uri = "tcp://0.0.0.0:11433"; + }; + }; + + satellite = lib.mkIf config.sysconfig.services.wyoming.satellite { + enable = true; + uri = "tcp://0.0.0.0:11431"; + }; + }; + + }; + }; + + flake.nixosModules.wyoming-container = { config, lib, ... }: { options.sysconfig.containers.wyoming = { enable = lib.options.mkOption { @@ -131,4 +198,5 @@ }; }; + } diff --git a/modules/homes/nathan/home.nix b/modules/homes/nathan/home.nix deleted file mode 100644 index 2522967..0000000 --- a/modules/homes/nathan/home.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ self, inputs, ... }: { - - flake.homeModules.nathan = { lib, ... }: - - { - - config = { - homeconfig = { - graphical = lib.mkDefault false; - minimal = lib.mkDefault false; - - hyprland.enable = lib.mkDefault false; - }; - - - nix = { - nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; - settings = { - experimental-features = [ "nix-command" "flakes" ]; - builders = "ssh://builder x86_64-linux,aarch64-linux /run/secrets/remoteBuildKey 1 1 nixos-test,benchmark,big-parallel,kvm - -"; - builders-use-substitutes = true; - }; - }; - - programs.home-manager.enable = true; - }; - }; - - flake.homeConfigurations.nathan = inputs.home-manager.lib.homeManagerConfiguration { - pkgs = import inputs.nixpkgs { - system = builtins.currentSystem; - }; - - modules = [ - self.homeModules.nathan - ]; - }; -} diff --git a/modules/users/nathan/default.nix b/modules/users/nathan/default.nix new file mode 100644 index 0000000..c869701 --- /dev/null +++ b/modules/users/nathan/default.nix @@ -0,0 +1,63 @@ +{ self, inputs, ... }: { + + flake.nixosModules.user-nathan = { config, lib, pkgs, ... }: { + + config = lib.mkIf ( + config.sysconfig.users ? nathan && config.sysconfig.users.nathan.usePresets + ) { + + sops.secrets."nathan/pass".neededForUsers = true; + + users.users.nathan = { + shell = lib.mkDefault pkgs.zsh; + name = lib.mkDefault "nathan"; + isNormalUser = lib.mkDefault true; +#hashedPasswordFile = lib.mkIf (cfg.hashedPasswordFile != null) cfg.hashedPasswordFile; + extraGroups = [ "networkmanager" "docker" "libvirtd" ]; + openssh.authorizedKeys.keys = with config.sysconfig.users.nathan; lib.mkIf config.sysconfig.services.openssh.enable ( + ssh.keys ++ (map (z: config.sysconfig.sshHostKeys.${z}) ssh.hosts) + ); + packages = lib.mkIf ( + config.sysconfig.users.nathan.home-manager.enable && config.sysconfig.users.nathan.home-manager.standalone + ) [ pkgs.home-manager ]; + + }; + }; + }; + + flake.homeModules.nathan = { lib, ... }: + + { + + config = { + homeconfig = { + graphical = lib.mkDefault false; + minimal = lib.mkDefault false; + + hyprland.enable = lib.mkDefault false; + }; + + + nix = { + nixPath = [ "nixpkgs=${inputs.nixpkgs}" ]; + settings = { + experimental-features = [ "nix-command" "flakes" ]; + builders = "ssh://builder x86_64-linux,aarch64-linux /run/secrets/remoteBuildKey 1 1 nixos-test,benchmark,big-parallel,kvm - -"; + builders-use-substitutes = true; + }; + }; + + programs.home-manager.enable = true; + }; + }; + + flake.homeConfigurations.nathan = inputs.home-manager.lib.homeManagerConfiguration { + pkgs = import inputs.nixpkgs { + system = builtins.currentSystem; + }; + + modules = [ + self.homeModules.nathan + ]; + }; +} diff --git a/modules/homes/nathan/home-manager/.sops.yaml b/modules/users/nathan/home-manager/.sops.yaml similarity index 100% rename from modules/homes/nathan/home-manager/.sops.yaml rename to modules/users/nathan/home-manager/.sops.yaml diff --git a/modules/homes/nathan/home-manager/default.nix b/modules/users/nathan/home-manager/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/default.nix rename to modules/users/nathan/home-manager/default.nix diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/Tron.jpg b/modules/users/nathan/home-manager/dotfiles/Wallpaper/Tron.jpg similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/Tron.jpg rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/Tron.jpg diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/bluescape.jpg b/modules/users/nathan/home-manager/dotfiles/Wallpaper/bluescape.jpg similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/bluescape.jpg rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/bluescape.jpg diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/chainsaw_man.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/chainsaw_man.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/chainsaw_man.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/chainsaw_man.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/eighty-six1.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/eighty-six1.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/eighty-six1.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/eighty-six1.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/eighty-six2.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/eighty-six2.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/eighty-six2.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/eighty-six2.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/eighty-six3.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/eighty-six3.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/eighty-six3.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/eighty-six3.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/frieren.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/frieren.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/frieren.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/frieren.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/galaxy.jpg b/modules/users/nathan/home-manager/dotfiles/Wallpaper/galaxy.jpg similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/galaxy.jpg rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/galaxy.jpg diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer1.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer1.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer1.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer1.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer2.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer2.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer2.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer2.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer3.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer3.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer3.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/goblin_slayer3.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/higuruma.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/higuruma.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/higuruma.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/higuruma.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/higuruma1.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/higuruma1.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/higuruma1.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/higuruma1.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/kurisu.gif b/modules/users/nathan/home-manager/dotfiles/Wallpaper/kurisu.gif similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/kurisu.gif rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/kurisu.gif diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/kurisu.jpg b/modules/users/nathan/home-manager/dotfiles/Wallpaper/kurisu.jpg similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/kurisu.jpg rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/kurisu.jpg diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/llenn.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/llenn.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/llenn.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/llenn.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/megumin.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/megumin.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/megumin.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/megumin.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/megumin1.gif b/modules/users/nathan/home-manager/dotfiles/Wallpaper/megumin1.gif similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/megumin1.gif rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/megumin1.gif diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/megumin2.gif b/modules/users/nathan/home-manager/dotfiles/Wallpaper/megumin2.gif similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/megumin2.gif rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/megumin2.gif diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/ngnl.jpg b/modules/users/nathan/home-manager/dotfiles/Wallpaper/ngnl.jpg similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/ngnl.jpg rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/ngnl.jpg diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/nier_automata.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/nier_automata.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/nier_automata.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/nier_automata.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/orangescape.jpg b/modules/users/nathan/home-manager/dotfiles/Wallpaper/orangescape.jpg similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/orangescape.jpg rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/orangescape.jpg diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/pink_fc.mp4 b/modules/users/nathan/home-manager/dotfiles/Wallpaper/pink_fc.mp4 similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/pink_fc.mp4 rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/pink_fc.mp4 diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/recoil1.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/recoil1.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/recoil1.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/recoil1.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/recoil2.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/recoil2.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/recoil2.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/recoil2.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/rezero.gif b/modules/users/nathan/home-manager/dotfiles/Wallpaper/rezero.gif similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/rezero.gif rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/rezero.gif diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/rimuru.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/rimuru.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/rimuru.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/rimuru.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/sao.gif b/modules/users/nathan/home-manager/dotfiles/Wallpaper/sao.gif similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/sao.gif rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/sao.gif diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/sao.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/sao.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/sao.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/sao.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/shield_hero.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/shield_hero.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/shield_hero.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/shield_hero.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/sinon.gif b/modules/users/nathan/home-manager/dotfiles/Wallpaper/sinon.gif similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/sinon.gif rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/sinon.gif diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/sinon.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/sinon.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/sinon.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/sinon.png diff --git a/modules/homes/nathan/home-manager/dotfiles/Wallpaper/tanya.png b/modules/users/nathan/home-manager/dotfiles/Wallpaper/tanya.png similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/Wallpaper/tanya.png rename to modules/users/nathan/home-manager/dotfiles/Wallpaper/tanya.png diff --git a/modules/homes/nathan/home-manager/dotfiles/default.nix b/modules/users/nathan/home-manager/dotfiles/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/default.nix rename to modules/users/nathan/home-manager/dotfiles/default.nix diff --git a/modules/homes/nathan/home-manager/dotfiles/hypr/dwindle.conf b/modules/users/nathan/home-manager/dotfiles/hypr/dwindle.conf similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/hypr/dwindle.conf rename to modules/users/nathan/home-manager/dotfiles/hypr/dwindle.conf diff --git a/modules/homes/nathan/home-manager/dotfiles/hypr/main.conf b/modules/users/nathan/home-manager/dotfiles/hypr/main.conf similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/hypr/main.conf rename to modules/users/nathan/home-manager/dotfiles/hypr/main.conf diff --git a/modules/homes/nathan/home-manager/dotfiles/hypr/master.conf b/modules/users/nathan/home-manager/dotfiles/hypr/master.conf similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/hypr/master.conf rename to modules/users/nathan/home-manager/dotfiles/hypr/master.conf diff --git a/modules/homes/nathan/home-manager/dotfiles/hypr/pypr.conf b/modules/users/nathan/home-manager/dotfiles/hypr/pypr.conf similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/hypr/pypr.conf rename to modules/users/nathan/home-manager/dotfiles/hypr/pypr.conf diff --git a/modules/homes/nathan/home-manager/dotfiles/hypr/pyprland.toml b/modules/users/nathan/home-manager/dotfiles/hypr/pyprland.toml similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/hypr/pyprland.toml rename to modules/users/nathan/home-manager/dotfiles/hypr/pyprland.toml diff --git a/modules/homes/nathan/home-manager/dotfiles/hypr/scroll.conf b/modules/users/nathan/home-manager/dotfiles/hypr/scroll.conf similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/hypr/scroll.conf rename to modules/users/nathan/home-manager/dotfiles/hypr/scroll.conf diff --git a/modules/homes/nathan/home-manager/dotfiles/ohmyposh/ohmyposh.toml b/modules/users/nathan/home-manager/dotfiles/ohmyposh/ohmyposh.toml similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/ohmyposh/ohmyposh.toml rename to modules/users/nathan/home-manager/dotfiles/ohmyposh/ohmyposh.toml diff --git a/modules/homes/nathan/home-manager/dotfiles/swaylock/config b/modules/users/nathan/home-manager/dotfiles/swaylock/config similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/swaylock/config rename to modules/users/nathan/home-manager/dotfiles/swaylock/config diff --git a/modules/homes/nathan/home-manager/dotfiles/wal/templates/cava_config b/modules/users/nathan/home-manager/dotfiles/wal/templates/cava_config similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/wal/templates/cava_config rename to modules/users/nathan/home-manager/dotfiles/wal/templates/cava_config diff --git a/modules/homes/nathan/home-manager/dotfiles/wal/templates/colors-discord.css b/modules/users/nathan/home-manager/dotfiles/wal/templates/colors-discord.css similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/wal/templates/colors-discord.css rename to modules/users/nathan/home-manager/dotfiles/wal/templates/colors-discord.css diff --git a/modules/homes/nathan/home-manager/dotfiles/wal/templates/colors-tmux.conf b/modules/users/nathan/home-manager/dotfiles/wal/templates/colors-tmux.conf similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/wal/templates/colors-tmux.conf rename to modules/users/nathan/home-manager/dotfiles/wal/templates/colors-tmux.conf diff --git a/modules/homes/nathan/home-manager/dotfiles/wal/templates/ohmyposh.toml b/modules/users/nathan/home-manager/dotfiles/wal/templates/ohmyposh.toml similarity index 100% rename from modules/homes/nathan/home-manager/dotfiles/wal/templates/ohmyposh.toml rename to modules/users/nathan/home-manager/dotfiles/wal/templates/ohmyposh.toml diff --git a/modules/homes/nathan/home-manager/packages/default.nix b/modules/users/nathan/home-manager/packages/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/packages/default.nix rename to modules/users/nathan/home-manager/packages/default.nix diff --git a/modules/homes/nathan/home-manager/packages/scripts/default.nix b/modules/users/nathan/home-manager/packages/scripts/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/packages/scripts/default.nix rename to modules/users/nathan/home-manager/packages/scripts/default.nix diff --git a/modules/homes/nathan/home-manager/programs/aurora/default.nix b/modules/users/nathan/home-manager/programs/aurora/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/aurora/default.nix rename to modules/users/nathan/home-manager/programs/aurora/default.nix diff --git a/modules/homes/nathan/home-manager/programs/calcurse/default.nix b/modules/users/nathan/home-manager/programs/calcurse/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/calcurse/default.nix rename to modules/users/nathan/home-manager/programs/calcurse/default.nix diff --git a/modules/homes/nathan/home-manager/programs/default.nix b/modules/users/nathan/home-manager/programs/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/default.nix rename to modules/users/nathan/home-manager/programs/default.nix diff --git a/modules/homes/nathan/home-manager/programs/firefox/default.nix b/modules/users/nathan/home-manager/programs/firefox/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/firefox/default.nix rename to modules/users/nathan/home-manager/programs/firefox/default.nix diff --git a/modules/homes/nathan/home-manager/programs/git/default.nix b/modules/users/nathan/home-manager/programs/git/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/git/default.nix rename to modules/users/nathan/home-manager/programs/git/default.nix diff --git a/modules/homes/nathan/home-manager/programs/hypridle/default.nix b/modules/users/nathan/home-manager/programs/hypridle/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/hypridle/default.nix rename to modules/users/nathan/home-manager/programs/hypridle/default.nix diff --git a/modules/homes/nathan/home-manager/programs/hyprland/default.nix b/modules/users/nathan/home-manager/programs/hyprland/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/hyprland/default.nix rename to modules/users/nathan/home-manager/programs/hyprland/default.nix diff --git a/modules/homes/nathan/home-manager/programs/nh/default.nix b/modules/users/nathan/home-manager/programs/nh/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/nh/default.nix rename to modules/users/nathan/home-manager/programs/nh/default.nix diff --git a/modules/homes/nathan/home-manager/programs/pywal/default.nix b/modules/users/nathan/home-manager/programs/pywal/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/pywal/default.nix rename to modules/users/nathan/home-manager/programs/pywal/default.nix diff --git a/modules/homes/nathan/home-manager/programs/rofi/default.nix b/modules/users/nathan/home-manager/programs/rofi/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/rofi/default.nix rename to modules/users/nathan/home-manager/programs/rofi/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/bash/default.nix b/modules/users/nathan/home-manager/programs/terminal/bash/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/bash/default.nix rename to modules/users/nathan/home-manager/programs/terminal/bash/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/bat/default.nix b/modules/users/nathan/home-manager/programs/terminal/bat/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/bat/default.nix rename to modules/users/nathan/home-manager/programs/terminal/bat/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/eza/default.nix b/modules/users/nathan/home-manager/programs/terminal/eza/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/eza/default.nix rename to modules/users/nathan/home-manager/programs/terminal/eza/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/fzf/default.nix b/modules/users/nathan/home-manager/programs/terminal/fzf/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/fzf/default.nix rename to modules/users/nathan/home-manager/programs/terminal/fzf/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/kitty/default.nix b/modules/users/nathan/home-manager/programs/terminal/kitty/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/kitty/default.nix rename to modules/users/nathan/home-manager/programs/terminal/kitty/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/ohmyposh/default.nix b/modules/users/nathan/home-manager/programs/terminal/ohmyposh/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/ohmyposh/default.nix rename to modules/users/nathan/home-manager/programs/terminal/ohmyposh/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/opencode/default.nix b/modules/users/nathan/home-manager/programs/terminal/opencode/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/opencode/default.nix rename to modules/users/nathan/home-manager/programs/terminal/opencode/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/ripgrep/default.nix b/modules/users/nathan/home-manager/programs/terminal/ripgrep/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/ripgrep/default.nix rename to modules/users/nathan/home-manager/programs/terminal/ripgrep/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/ssh/default.nix b/modules/users/nathan/home-manager/programs/terminal/ssh/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/ssh/default.nix rename to modules/users/nathan/home-manager/programs/terminal/ssh/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/tmux/default.nix b/modules/users/nathan/home-manager/programs/terminal/tmux/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/tmux/default.nix rename to modules/users/nathan/home-manager/programs/terminal/tmux/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/yazi/default.nix b/modules/users/nathan/home-manager/programs/terminal/yazi/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/yazi/default.nix rename to modules/users/nathan/home-manager/programs/terminal/yazi/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/zoxide/default.nix b/modules/users/nathan/home-manager/programs/terminal/zoxide/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/zoxide/default.nix rename to modules/users/nathan/home-manager/programs/terminal/zoxide/default.nix diff --git a/modules/homes/nathan/home-manager/programs/terminal/zsh/default.nix b/modules/users/nathan/home-manager/programs/terminal/zsh/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/programs/terminal/zsh/default.nix rename to modules/users/nathan/home-manager/programs/terminal/zsh/default.nix diff --git a/modules/homes/nathan/home-manager/secrets.yaml b/modules/users/nathan/home-manager/secrets.yaml similarity index 100% rename from modules/homes/nathan/home-manager/secrets.yaml rename to modules/users/nathan/home-manager/secrets.yaml diff --git a/modules/homes/nathan/home-manager/services/custom/default.nix b/modules/users/nathan/home-manager/services/custom/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/services/custom/default.nix rename to modules/users/nathan/home-manager/services/custom/default.nix diff --git a/modules/homes/nathan/home-manager/services/mpd/default.nix b/modules/users/nathan/home-manager/services/mpd/default.nix similarity index 100% rename from modules/homes/nathan/home-manager/services/mpd/default.nix rename to modules/users/nathan/home-manager/services/mpd/default.nix