diff --git a/config/hosts/gameserver-node-1/configuration.nix b/config/hosts/gameserver-node-1/configuration.nix new file mode 100644 index 0000000..fcdeeae --- /dev/null +++ b/config/hosts/gameserver-node-1/configuration.nix @@ -0,0 +1,26 @@ +{ pterodactyl, ... }: +{ + boot.loader.grub = { + enable = true; + device = "/dev/vda"; + }; + + networking = { + hostName = "gameserver-node-1"; + }; + + #environment.systemPackages = [ + # pterodactyl.packages."x86_64-linux".pterodactyl-wings + #]; + + imports = [ + pterodactyl.nixosModules.pterodactyl-wings + ]; + + services.wings = { + enable = false; + configuration = ""; + }; + + system.stateVersion = "24.05"; +} diff --git a/config/hosts/gameserver-node-1/default.nix b/config/hosts/gameserver-node-1/default.nix new file mode 100644 index 0000000..0167962 --- /dev/null +++ b/config/hosts/gameserver-node-1/default.nix @@ -0,0 +1,6 @@ +{ ... }: +{ + imports = [ + ./configuration.nix + ]; +} diff --git a/config/hosts/hydra/configuration.nix b/config/hosts/hydra/configuration.nix index 9b554d8..eff89d1 100644 --- a/config/hosts/hydra/configuration.nix +++ b/config/hosts/hydra/configuration.nix @@ -24,7 +24,6 @@ users.users.builder = { isNormalUser = true; openssh.authorizedKeys.keys = [ - "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIK/plZfxF/RtB+pJsUYx9HUgRcB56EoO0uj+j3AGzZta root@cherry" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKeIiHkHA5c6/jZx+BB28c5wchdzlFI7R1gbvNmPyoOg root@kiara" ]; }; diff --git a/config/hosts/paperless/configuration.nix b/config/hosts/paperless/configuration.nix index 494f08c..a48164e 100644 --- a/config/hosts/paperless/configuration.nix +++ b/config/hosts/paperless/configuration.nix @@ -13,5 +13,5 @@ }; }; - system.stateVersion = "23.05"; + system.stateVersion = "24.05"; } diff --git a/config/hosts/torrent/qbittorrent-nox/services.nix b/config/hosts/torrent/qbittorrent-nox/services.nix index 71d22f8..4050e15 100644 --- a/config/hosts/torrent/qbittorrent-nox/services.nix +++ b/config/hosts/torrent/qbittorrent-nox/services.nix @@ -2,9 +2,9 @@ # - https://github.com/NixOS/nixpkgs/issues/236736#issuecomment-1704670598 # - https://nixos.org/manual/nixos/stable/#sect-nixos-systemd-nixos -{ nixpkgs-unstable, ... }: +{ pkgs, ... }: { - systemd.packages = [ nixpkgs-unstable.legacyPackages."x86_64-linux".qbittorrent-nox ]; + systemd.packages = [ pkgs.qbittorrent-nox ]; systemd.services."qbittorrent-nox@torrent" = { overrideStrategy = "asDropin"; diff --git a/config/hosts/web-public-2/virtualHosts/nekover.se.nix b/config/hosts/web-public-2/virtualHosts/nekover.se.nix index 08a61ea..19a7766 100644 --- a/config/hosts/web-public-2/virtualHosts/nekover.se.nix +++ b/config/hosts/web-public-2/virtualHosts/nekover.se.nix @@ -16,7 +16,22 @@ ''; }; locations."/.well-known/matrix/client" = { - return = "200 '{\"m.homeserver\": {\"base_url\": \"https://matrix.nekover.se\"}, \"m.identity_server\": {\"base_url\": \"https://vector.im\"}, \"org.matrix.msc3575.proxy\": {\"url\": \"https://matrix.nekover.se\"}, \"org.matrix.msc2965.authentication\": {\"issuer\": \"https://id.nekover.se/realms/nekoverse\", \"account\": \"https://id.nekover.se/realms/nekoverse/account/\"}}'"; + return = "200 ' + { + \"m.homeserver\": { + \"base_url\": \"https://matrix.nekover.se\" + }, + \"m.identity_server\": { + \"base_url\": \"https://vector.im\" + }, + \"org.matrix.msc3575.proxy\": { + \"url\": \"https://matrix.nekover.se\" + }, + \"org.matrix.msc2965.authentication\": { + \"issuer\": \"https://nekover.se/\", + \"account\": \"https://matrix-auth.nekover.se/account\" + } + }'"; extraConfig = '' default_type application/json; add_header Access-Control-Allow-Origin *; diff --git a/flake.lock b/flake.lock index 8e74f17..ac44c20 100644 --- a/flake.lock +++ b/flake.lock @@ -55,11 +55,11 @@ ] }, "locked": { - "lastModified": 1732151224, - "narHash": "sha256-5IgpueM8SGLOadzUJK6Gk37zEBXGd56BkNOtoWmnZos=", + "lastModified": 1731892054, + "narHash": "sha256-BJtD9NGUWaBe4OZ1JO77w8qBP9yHDJJUjsxkG/milFc=", "owner": "nix-community", "repo": "nixos-generators", - "rev": "3280fdde8c8f0276c9f5286ad5c0f433dfa5d56c", + "rev": "15a87ccb45e06d24a9fd5f99a49782efe11b23f0", "type": "github" }, "original": { @@ -101,11 +101,11 @@ }, "nixpkgs-master": { "locked": { - "lastModified": 1732154639, - "narHash": "sha256-GeEhJmh0/KEQmoe4Lmsv9VC0SrQn4K9V27KbHJ0Zs/g=", + "lastModified": 1732074992, + "narHash": "sha256-HxcMSQ0SRjKFyf0vTUuoFbmrZSHPMWwppeAGZ+LS4vE=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "516819d9b5b97ee1f461aecb4caed7aa6b769d5d", + "rev": "5a27cc051d111db0b33537d80cc2f8b8d2e687f2", "type": "github" }, "original": { @@ -117,11 +117,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1732136765, - "narHash": "sha256-622zKMMp0mw2a+fJJoVQdNmxwRGDkWsDTn5OSPK8DLk=", + "lastModified": 1732007104, + "narHash": "sha256-qaWPxgLAvtIHTDcm0qJuc+WNYjcy4ZKigOyn2ag4ihM=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "e35b0f3f9787cfe51f406f7dd5a4446a858bfdb2", + "rev": "0705964c881cea8896474610188905ba41b59b08", "type": "github" }, "original": { @@ -132,6 +132,22 @@ } }, "nixpkgs_2": { + "locked": { + "lastModified": 1729265718, + "narHash": "sha256-4HQI+6LsO3kpWTYuVGIzhJs1cetFcwT7quWCk/6rqeo=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "ccc0c2126893dd20963580b6478d1a10a4512185", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixpkgs-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_3": { "locked": { "lastModified": 1717602782, "narHash": "sha256-pL9jeus5QpX5R+9rsp3hhZ+uplVHscNJh8n8VpqscM0=", @@ -146,12 +162,31 @@ "type": "indirect" } }, + "pterodactyl": { + "inputs": { + "nixpkgs": "nixpkgs_2" + }, + "locked": { + "lastModified": 1730915158, + "narHash": "sha256-qQvhHUbC5yKD6x/G0P2tvHoRf92Nd/QWB76CRnV5oyI=", + "ref": "refs/heads/main", + "rev": "1eff87119f6e48b6b1d1afef468ee4ff1aebe333", + "revCount": 3, + "type": "git", + "url": "https://git.nekover.se/fi/pterodactyl.git" + }, + "original": { + "type": "git", + "url": "https://git.nekover.se/fi/pterodactyl.git" + } + }, "root": { "inputs": { "nixos-generators": "nixos-generators", "nixpkgs": "nixpkgs", "nixpkgs-master": "nixpkgs-master", "nixpkgs-unstable": "nixpkgs-unstable", + "pterodactyl": "pterodactyl", "simple-nixos-mailserver": "simple-nixos-mailserver" } }, @@ -159,7 +194,7 @@ "inputs": { "blobs": "blobs", "flake-compat": "flake-compat", - "nixpkgs": "nixpkgs_2", + "nixpkgs": "nixpkgs_3", "nixpkgs-24_05": "nixpkgs-24_05", "utils": "utils" }, diff --git a/flake.nix b/flake.nix index 5cf2232..3aae2d8 100644 --- a/flake.nix +++ b/flake.nix @@ -8,9 +8,12 @@ inputs.nixpkgs.follows = "nixpkgs"; }; simple-nixos-mailserver.url = "gitlab:simple-nixos-mailserver/nixos-mailserver/nixos-24.05"; + pterodactyl = { + url = "git+https://git.nekover.se/fi/pterodactyl.git"; + }; }; - outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-master, nixos-generators, simple-nixos-mailserver, ... }@inputs: + outputs = { self, nixpkgs, nixpkgs-unstable, nixpkgs-master, nixos-generators, simple-nixos-mailserver, pterodactyl, ... }@inputs: let hosts = import ./hosts.nix inputs; helper = import ./helper.nix inputs; @@ -28,7 +31,7 @@ nodeNixpkgs = builtins.mapAttrs (name: host: host.pkgs) hosts; specialArgs = { - inherit nixpkgs-unstable nixpkgs-master hosts simple-nixos-mailserver; + inherit nixpkgs-unstable nixpkgs-master hosts simple-nixos-mailserver pterodactyl; # Provide environment for secret key command keyCommandEnv = [ "env" "GNUPGHOME=/home/yuri/.passinfra_gnupg" "PASSWORD_STORE_DIR=/home/yuri/pass/infra" ]; diff --git a/hosts.nix b/hosts.nix index 17e93a6..820e5cb 100644 --- a/hosts.nix +++ b/hosts.nix @@ -26,6 +26,10 @@ let }) hosts; in generateDefaults { + gameserver-node-1 = { + site = "vs"; + environment = "proxmox"; + }; hydra = { site = "vs"; environment = "proxmox"; @@ -57,12 +61,17 @@ in site = "vs"; environment = "proxmox"; }; + mail-2 = { + site = "wg"; + environment = "proxmox"; + }; mastodon = { hostNixpkgs = nixpkgs-unstable; site = "vs"; environment = "proxmox"; }; matrix = { + hostNixpkgs = nixpkgs-unstable; site = "vs"; environment = "proxmox"; }; @@ -70,6 +79,11 @@ in site = "vs"; environment = "proxmox"; }; + navidrome = { + hostNixpkgs = nixpkgs-unstable; + site = "wg"; + environment = "proxmox"; + }; netbox = { site = "vs"; environment = "proxmox"; @@ -92,6 +106,7 @@ in environment = "proxmox"; }; torrent = { + hostNixpkgs = nixpkgs-unstable; site = "vs"; environment = "proxmox"; }; @@ -103,6 +118,10 @@ in site = "af"; environment = "openstack"; }; + web-public-1 = { + site = "wg"; + environment = "proxmox"; + }; web-public-2 = { site = "vs"; environment = "proxmox";