diff --git a/flake.nix b/flake.nix index e20a1c0..b5d2ac6 100644 --- a/flake.nix +++ b/flake.nix @@ -69,32 +69,30 @@ }; }; - sin = { + thea = {name, nodes, pkgs, ...}: { imports = [ - ./hosts/n100/configuration.nix - ./hosts/n100/hardware-configuration.nix + ./hosts/${name}/configuration.nix + ./hosts/${name}/hardware-configuration.nix ] ++ [ # modules - ./modules/gitea/n100 + ./modules/gitea/${name} ]; - deployment.targetHost = "n100.homelab.local"; + deployment.targetHost = "thea.homelab.local"; }; - zimablade = { + sin = {name, nodes, pkgs, ...}: { imports = [ disko.nixosModules.disko agenix.nixosModules.default - ./hosts/zimablade/configuration.nix - ./hosts/zimablade/hardware-configuration.nix + ./hosts/${name}/configuration.nix + ./hosts/${name}/hardware-configuration.nix ] ++ [ # modules - ./modules/gitea/zimablade + ./modules/gitea/${name} ]; - deployment.targetHost = "zimablade.homelab.local"; - # deployment.targetHost = "10.0.0.4"; - # deployment.targetPort = 22223; + deployment.targetHost = "sin.homelab.local"; }; }; devShells = forEachSupportedSystem ({ pkgs }: { diff --git a/hosts/zimablade/.envrc b/hosts/sin/.envrc similarity index 100% rename from hosts/zimablade/.envrc rename to hosts/sin/.envrc diff --git a/hosts/zimablade/configuration.nix b/hosts/sin/configuration.nix similarity index 100% rename from hosts/zimablade/configuration.nix rename to hosts/sin/configuration.nix diff --git a/hosts/zimablade/copyparty.nix b/hosts/sin/copyparty.nix similarity index 100% rename from hosts/zimablade/copyparty.nix rename to hosts/sin/copyparty.nix diff --git a/hosts/zimablade/coredns/db.homelab.local b/hosts/sin/coredns/db.homelab.local similarity index 73% rename from hosts/zimablade/coredns/db.homelab.local rename to hosts/sin/coredns/db.homelab.local index f53fd4a..e67d57f 100644 --- a/hosts/zimablade/coredns/db.homelab.local +++ b/hosts/sin/coredns/db.homelab.local @@ -2,5 +2,5 @@ $ORIGIN homelab.local. @ IN SOA dns.homelab.local. shobu_serhao.proton.me. 2502011720 7200 3600 1209600 3600 dns IN A 10.0.0.5 -n100 IN A 10.0.0.5 -zimablade IN A 10.0.0.4 +thea IN A 10.0.0.5 +sin IN A 10.0.0.4 diff --git a/hosts/zimablade/coredns/default.nix b/hosts/sin/coredns/default.nix similarity index 100% rename from hosts/zimablade/coredns/default.nix rename to hosts/sin/coredns/default.nix diff --git a/hosts/zimablade/flake.lock b/hosts/sin/flake.lock similarity index 100% rename from hosts/zimablade/flake.lock rename to hosts/sin/flake.lock diff --git a/hosts/zimablade/flake.nix b/hosts/sin/flake.nix similarity index 100% rename from hosts/zimablade/flake.nix rename to hosts/sin/flake.nix diff --git a/hosts/zimablade/glances.nix b/hosts/sin/glances.nix similarity index 100% rename from hosts/zimablade/glances.nix rename to hosts/sin/glances.nix diff --git a/hosts/zimablade/hardware-configuration.nix b/hosts/sin/hardware-configuration.nix similarity index 100% rename from hosts/zimablade/hardware-configuration.nix rename to hosts/sin/hardware-configuration.nix diff --git a/hosts/zimablade/homepage.nix b/hosts/sin/homepage.nix similarity index 100% rename from hosts/zimablade/homepage.nix rename to hosts/sin/homepage.nix diff --git a/hosts/zimablade/jellyfin.nix b/hosts/sin/jellyfin.nix similarity index 100% rename from hosts/zimablade/jellyfin.nix rename to hosts/sin/jellyfin.nix diff --git a/hosts/zimablade/luks-btrfs-raid.nix b/hosts/sin/luks-btrfs-raid.nix similarity index 100% rename from hosts/zimablade/luks-btrfs-raid.nix rename to hosts/sin/luks-btrfs-raid.nix diff --git a/hosts/zimablade/matrix.nix b/hosts/sin/matrix.nix similarity index 100% rename from hosts/zimablade/matrix.nix rename to hosts/sin/matrix.nix diff --git a/hosts/zimablade/secrets.nix b/hosts/sin/secrets.nix similarity index 100% rename from hosts/zimablade/secrets.nix rename to hosts/sin/secrets.nix diff --git a/hosts/zimablade/secrets/airvpn_wireguard_key_env.age b/hosts/sin/secrets/airvpn_wireguard_key_env.age similarity index 100% rename from hosts/zimablade/secrets/airvpn_wireguard_key_env.age rename to hosts/sin/secrets/airvpn_wireguard_key_env.age diff --git a/hosts/zimablade/secrets/matrix_captcha.age b/hosts/sin/secrets/matrix_captcha.age similarity index 100% rename from hosts/zimablade/secrets/matrix_captcha.age rename to hosts/sin/secrets/matrix_captcha.age diff --git a/hosts/zimablade/transmission.nix b/hosts/sin/transmission.nix similarity index 100% rename from hosts/zimablade/transmission.nix rename to hosts/sin/transmission.nix diff --git a/hosts/n100/configuration.nix b/hosts/thea/configuration.nix similarity index 93% rename from hosts/n100/configuration.nix rename to hosts/thea/configuration.nix index fbe9bd0..081df6c 100644 --- a/hosts/n100/configuration.nix +++ b/hosts/thea/configuration.nix @@ -20,14 +20,14 @@ boot.loader.efi.canTouchEfiVariables = true; networking = { - hostName = "n100"; # Define your hostname. + hostName = "thea"; # Define your hostname. nameservers = [ "10.0.0.4" ]; dhcpcd.extraConfig = "nohook resolv.conf"; firewall = { - allowedTCPPorts = [ nodes.zimablade.config.services.gitea.settings.server.SSH_PORT ]; + allowedTCPPorts = [ nodes.sin.config.services.gitea.settings.server.SSH_PORT ]; }; nat = { enable = true; @@ -35,7 +35,7 @@ externalInterface = "enp1s0"; forwardPorts = [ { # TODO refactor this in the gitea/n100 module - sourcePort = nodes.zimablade.config.services.gitea.settings.server.SSH_PORT; + sourcePort = nodes.sin.config.services.gitea.settings.server.SSH_PORT; proto = "tcp"; destination = "10.0.0.4:22"; } ]; diff --git a/hosts/n100/cybercoffee/default.nix b/hosts/thea/cybercoffee/default.nix similarity index 100% rename from hosts/n100/cybercoffee/default.nix rename to hosts/thea/cybercoffee/default.nix diff --git a/hosts/n100/cybercoffee/halflife.nix b/hosts/thea/cybercoffee/halflife.nix similarity index 100% rename from hosts/n100/cybercoffee/halflife.nix rename to hosts/thea/cybercoffee/halflife.nix diff --git a/hosts/n100/flake.lock b/hosts/thea/flake.lock similarity index 100% rename from hosts/n100/flake.lock rename to hosts/thea/flake.lock diff --git a/hosts/n100/flake.nix b/hosts/thea/flake.nix similarity index 100% rename from hosts/n100/flake.nix rename to hosts/thea/flake.nix diff --git a/hosts/n100/hardware-configuration.nix b/hosts/thea/hardware-configuration.nix similarity index 100% rename from hosts/n100/hardware-configuration.nix rename to hosts/thea/hardware-configuration.nix diff --git a/hosts/n100/minecraft.nix b/hosts/thea/minecraft.nix similarity index 100% rename from hosts/n100/minecraft.nix rename to hosts/thea/minecraft.nix diff --git a/hosts/n100/nginx.nix b/hosts/thea/nginx.nix similarity index 100% rename from hosts/n100/nginx.nix rename to hosts/thea/nginx.nix diff --git a/hosts/n100/ollama.nix b/hosts/thea/ollama.nix similarity index 100% rename from hosts/n100/ollama.nix rename to hosts/thea/ollama.nix diff --git a/hosts/n100/shares.nix b/hosts/thea/shares.nix similarity index 100% rename from hosts/n100/shares.nix rename to hosts/thea/shares.nix diff --git a/hosts/n100/striped/back.nix b/hosts/thea/striped/back.nix similarity index 100% rename from hosts/n100/striped/back.nix rename to hosts/thea/striped/back.nix diff --git a/hosts/n100/striped/default.nix b/hosts/thea/striped/default.nix similarity index 100% rename from hosts/n100/striped/default.nix rename to hosts/thea/striped/default.nix diff --git a/modules/gitea/n100/default.nix b/modules/gitea/n100/default.nix deleted file mode 100644 index 4d0e9d3..0000000 --- a/modules/gitea/n100/default.nix +++ /dev/null @@ -1,7 +0,0 @@ -{nodes, ...}:{ - networking.nat.forwardPorts = [{ - sourcePort = nodes.zimablade.config.services.gitea.settings.server.SSH_PORT; - proto = "tcp"; - destination = "10.0.0.4:22"; - }]; -} diff --git a/modules/gitea/zimablade/default.nix b/modules/gitea/sin/default.nix similarity index 50% rename from modules/gitea/zimablade/default.nix rename to modules/gitea/sin/default.nix index 91e1f3e..95ec1de 100644 --- a/modules/gitea/zimablade/default.nix +++ b/modules/gitea/sin/default.nix @@ -8,7 +8,15 @@ in { server = { DOMAIN = "git.shobu.fr"; SSH_PORT = ssh_port; + ROOT_URL = "https://git.shobu.fr"; }; + service = { + REGISTER_EMAIL_CONFIRM = false; + REGISTER_MANUAL_CONFIRM = true; + }; + actions = { + ENABLED = true; + }; }; }; }; diff --git a/modules/gitea/thea/default.nix b/modules/gitea/thea/default.nix new file mode 100644 index 0000000..1ec2f54 --- /dev/null +++ b/modules/gitea/thea/default.nix @@ -0,0 +1,10 @@ +{nodes, ...}:{ + imports = [ + ./virtualisation.nix + ]; + networking.nat.forwardPorts = [{ + sourcePort = nodes.sin.config.services.gitea.settings.server.SSH_PORT; + proto = "tcp"; + destination = "10.0.0.4:22"; + }]; +} diff --git a/modules/gitea/thea/virtualisation.nix b/modules/gitea/thea/virtualisation.nix new file mode 100644 index 0000000..ba7940d --- /dev/null +++ b/modules/gitea/thea/virtualisation.nix @@ -0,0 +1,36 @@ +{nodes, ...}: { + systemd.sockets.podman.socketConfig.Symlinks = [ + "/run/docker.sock" + ]; + virtualisation = { + containers = { + enable = true; + # storage.settings = { + # storage = { + # driver = "btrfs"; + # }; + # }; + }; + podman = { + enable = true; + dockerCompat = true; + dockerSocket.enable = true; + defaultNetwork.settings.dns_enabled = true; + autoPrune.enable = true; + }; + }; + + virtualisation.oci-containers.containers = { + gitea-runner = { + image = "gitea/act_runner@sha256:8477d5b61b655caad4449888bae39f1f34bebd27db56cb15a62dccb3dcf3a944"; + autoStart = true; + environment = { + GITEA_INSTANCE_URL = nodes.sin.config.services.gitea.settings.server.ROOT_URL; + GITEA_RUNNER_REGISTRATION_TOKEN = "uEDPBW6Z9oItAKRtloVwis0LkPbD4OmV2w5esOhW"; + }; + volumes = [ + "/var/run/docker.sock:/var/run/docker.sock" + ]; + }; + }; +}