From 39b22bfd0be70da9d3363eefe23f51ab8fd3c65a Mon Sep 17 00:00:00 2001 From: William Date: Tue, 27 Aug 2024 08:51:27 -0300 Subject: [PATCH] started shanghai --- flake.nix | 56 +++++++++--- hosts/servers/alexandria/minecraft.nix | 85 +++++++++++++++---- hosts/servers/shanghai.nix | 25 ++++++ hosts/servers/shanghai/default.nix | 5 ++ .../shanghai/hardware-configuration.nix | 22 +++++ srcs | 13 +++ 6 files changed, 176 insertions(+), 30 deletions(-) create mode 100644 hosts/servers/shanghai.nix create mode 100644 hosts/servers/shanghai/default.nix create mode 100644 hosts/servers/shanghai/hardware-configuration.nix create mode 100644 srcs diff --git a/flake.nix b/flake.nix index ceac2b0..3492598 100644 --- a/flake.nix +++ b/flake.nix @@ -95,22 +95,41 @@ }) ]; }; - }; - homeConfigurations = { - desktop = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.x86_64-linux; - extraSpecialArgs = { inherit inputs; }; - modules = [ ./users/desktops/user.nix ]; - }; - - server = home-manager.lib.homeManagerConfiguration { - pkgs = nixpkgs.legacyPackages.x86_64-linux; - extraSpecialArgs = { inherit inputs; }; - modules = [ ./users/servers/user.nix ]; + shanghai = nixpkgs-stable.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + ./hosts/servers/shanghai.nix + agenix.nixosModules.default + self.nixosModules.qbittorrent + ({ config, pkgs, ... }: + let + unstable-overlay = final: prev: { + unstable = nixpkgs.legacyPackages.x86_64-linux; + }; + in { + nixpkgs.overlays = [ unstable-overlay agenix.overlays.default ]; + imports = [ ]; + }) + ]; }; }; + # homeConfigurations = { + # desktop = home-manager.lib.homeManagerConfiguration { + # pkgs = nixpkgs.legacyPackages.x86_64-linux; + # extraSpecialArgs = { inherit inputs; }; + # modules = [ ./users/desktops/user.nix ]; + # }; + + # server = home-manager.lib.homeManagerConfiguration { + # pkgs = nixpkgs.legacyPackages.x86_64-linux; + # extraSpecialArgs = { inherit inputs; }; + # modules = [ ./users/servers/user.nix ]; + # }; + # }; + deploy = { autoRollback = true; magicRollback = false; @@ -128,6 +147,19 @@ }; }; + shanghai = { + hostname = "shanghai"; + profiles = { + system = { + user = "root"; + sshUser = "root"; + remoteBuild = true; + plath = deploy-rs.lib.x86_64-linux.activate.nixos + self.nixosConfigurations.shanghai; + }; + }; + }; + io = { hostname = "io"; profiles = { diff --git a/hosts/servers/alexandria/minecraft.nix b/hosts/servers/alexandria/minecraft.nix index 81a1871..d9aa9db 100644 --- a/hosts/servers/alexandria/minecraft.nix +++ b/hosts/servers/alexandria/minecraft.nix @@ -1,34 +1,83 @@ { inputs, config, pkgs, lib, ... }: -let - modpack = (pkgs.fetchPackwizModpack { - url = - "https://raw.githubusercontent.com/baduhai/FFS/9544cadf6700c0a3eb743888150c5dfb971641a3/pack.toml"; - packHash = "sha256-JXqyRnfz10RQPYrXUFpg/T8F9eT7y+/LTflIWMrRHS8="; - }); - mcVersion = modpack.manifest.versions.minecraft; - fabricVersion = modpack.manifest.versions.fabric; - serverVersion = lib.replaceStrings [ "." ] [ "_" ] "fabric-${mcVersion}"; - -in { +{ services.minecraft-servers = { enable = true; eula = true; dataDir = "/data/minecraft"; - servers."expansion" = { + servers."kingdomcums" = { enable = true; - package = pkgs.fabricServers.${serverVersion}.override { - loaderVersion = fabricVersion; - }; + package = pkgs.fabricServers.fabric-1_20_1; openFirewall = true; serverProperties = { - difficulty = "hard"; + difficulty = "normal"; gamemode = "survival"; - motd = "Expansion"; + motd = "Kingdom Cums"; online-mode = false; spawn-protection = false; }; - symlinks."mods" = "${modpack}/mods"; + symlinks."mods" = pkgs.linkFarmFromDrvs "mods" (builtins.attrValues { + villagerNames = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/gqRXDo8B/versions/rzXhJ2pH/villagernames-1.20.1-8.1.jar"; + sha256 = "0hcbbp3zi3nnr12kian9l645f22jr7495bcrlbng46nxp9h08pg5"; + }; + lithium = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/gvQqBUqZ/versions/ZSNsJrPI/lithium-fabric-mc1.20.1-0.11.2.jar"; + sha256 = "1ycdvrs46bbdxsa6i38sfx70v47nvzzbmblfpy3hq3k8blsrbid0"; + }; + lootr = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/EltpO5cN/versions/fqmzdpE2/lootr-fabric-1.20-0.7.33.81.jar"; + sha256 = "0db0472rb07nbc9i925qp3n7s7nmrq6q3alhprflgc9gqg0j0f14"; + }; + malilib = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/GcWjdA9I/versions/V7yLDtJV/malilib-fabric-1.20.1-0.16.3.jar"; + sha256 = "129m1jnk58p0wid5fmagqx13wp6pw4gja01yx14aljdxgzr8kqas"; + }; + immersivePaintings = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/6txNkua3/versions/UjL11A4h/immersive_paintings-0.6.7%2B1.20.1-fabric.jar"; + sha256 = "1di9a67q372z6lplnsa1kmh86armya83mimn61c8ai7izjlsfnid"; + }; + entityCulling = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/NNAgCjsB/versions/mahLIqpj/entityculling-fabric-1.6.7-mc1.20.1.jar"; + sha256 = "01iz8rgljgzl0d8gcwpmr6wcvv3b0cf1siggp3dn8q5hv9przk9k"; + }; + fabricAPI = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/P7dR8mSH/versions/P7uGFii0/fabric-api-0.92.2%2B1.20.1.jar"; + sha256 = "1z3hcxng2p9ymph1c0k729vxxaasi34n6fcdsqwx0wsmqi2gh025"; + }; + fallingTree = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/Fb4jn8m6/versions/NrtzFkZE/FallingTree-1.20.1-4.3.4.jar"; + sha256 = "0sfv2laxzgmkhmr0kizi7g09r6fkccjhj9p5j0viqywnwx02r7fs"; + }; + carryOn = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/joEfVgkn/versions/Mkla4B3q/carryon-fabric-1.20.1-2.1.2.7.jar"; + sha256 = "1pgbqrjrxw7bgwn6phpywgpjfmf5h341ba93j76ibk649wbgn9cd"; + }; + collective = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/e0M1UDsY/versions/jo7YkyNS/collective-1.20.1-7.84.jar"; + sha256 = "01qvaqmd5kmxq7sins6703xq5ckc47qs5kd62gnjyfq1dbjp2y2b"; + }; + dynamicLights = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/7YjclEGc/versions/eU6PA0pr/dynamiclights-v1.8.3-mc1.17x-1.21x-mod.jar"; + sha256 = "0vdv525gis1vj514iqh4rbl6byp7k0ls3lsyj0c3db8g58d784gm"; + }; + appleSkin = pkgs.fetchurl { + url = + "https://cdn.modrinth.com/data/EsAfCjCV/versions/xcauwnEB/appleskin-fabric-mc1.20.1-2.5.1.jar"; + sha256 = "1d9qmzjlk763ycmizqpmhcq0hhqw9j8hij6xk8p8l11ljr13mql5"; + }; + }); }; }; } diff --git a/hosts/servers/shanghai.nix b/hosts/servers/shanghai.nix new file mode 100644 index 0000000..afd0eb2 --- /dev/null +++ b/hosts/servers/shanghai.nix @@ -0,0 +1,25 @@ +{ ... }: + +{ + imports = [ + # Host-common imports + ../common + # Server-common imports + ./common + # Host-specific imports + ./shanghai + ]; + + nix.nixPath = [ "nixos-config=${./shanghai.nix}" ]; + + networking = { + hostName = "shanghai"; + firewall = { + allowedTCPPorts = [ 25565 ]; + allowedUDPPorts = [ 25565 ]; + }; + nftables.enable = true; + }; + + zramSwap.enable = true; +} diff --git a/hosts/servers/shanghai/default.nix b/hosts/servers/shanghai/default.nix new file mode 100644 index 0000000..704aaf0 --- /dev/null +++ b/hosts/servers/shanghai/default.nix @@ -0,0 +1,5 @@ +{ ... }: + +{ + imports = [ ./hardware-configuration.nix ]; +} diff --git a/hosts/servers/shanghai/hardware-configuration.nix b/hosts/servers/shanghai/hardware-configuration.nix new file mode 100644 index 0000000..e5f757a --- /dev/null +++ b/hosts/servers/shanghai/hardware-configuration.nix @@ -0,0 +1,22 @@ +{ modulesPath, ... }: + +{ + imports = [ (modulesPath + "/profiles/qemu-guest.nix") ]; + + boot.initrd = { + availableKernelModules = + [ "ata_piix" "uhci_hcd" "xen_blkfront" "vmw_pvscsi" ]; + kernelModules = [ "nvme" ]; + }; + + fileSystems = { + "/" = { + device = "/dev/sda4"; + fsType = "xfs"; + }; + "/boot" = { + device = "/dev/disk/by-uuid/14EF-4002"; + fsType = "vfat"; + }; + }; +} diff --git a/srcs b/srcs new file mode 100644 index 0000000..04b3ebf --- /dev/null +++ b/srcs @@ -0,0 +1,13 @@ +https://cdn.modrinth.com/data/gqRXDo8B/versions/rzXhJ2pH/villagernames-1.20.1-8.1.jar +https://cdn.modrinth.com/data/gvQqBUqZ/versions/ZSNsJrPI/lithium-fabric-mc1.20.1-0.11.2.jar +https://cdn.modrinth.com/data/EltpO5cN/versions/fqmzdpE2/lootr-fabric-1.20-0.7.33.81.jar +https://cdn.modrinth.com/data/GcWjdA9I/versions/V7yLDtJV/malilib-fabric-1.20.1-0.16.3.jar +https://cdn.modrinth.com/data/6txNkua3/versions/UjL11A4h/immersive_paintings-0.6.7+1.20.1-fabric.jar +https://cdn.modrinth.com/data/NNAgCjsB/versions/mahLIqpj/entityculling-fabric-1.6.7-mc1.20.1.jar +https://cdn.modrinth.com/data/P7dR8mSH/versions/P7uGFii0/fabric-api-0.92.2+1.20.1.jar +https://cdn.modrinth.com/data/Fb4jn8m6/versions/NrtzFkZE/FallingTree-1.20.1-4.3.4.jar +https://cdn.modrinth.com/data/joEfVgkn/versions/Mkla4B3q/carryon-fabric-1.20.1-2.1.2.7.jar +https://cdn.modrinth.com/data/e0M1UDsY/versions/jo7YkyNS/collective-1.20.1-7.84.jar +https://cdn.modrinth.com/data/7YjclEGc/versions/eU6PA0pr/dynamiclights-v1.8.3-mc1.17x-1.21x-mod.jar +https://cdn.modrinth.com/data/EsAfCjCV/versions/xcauwnEB/appleskin-fabric-mc1.20.1-2.5.1.jar +https://cdn.modrinth.com/data/WNiQAmtw/versions/4SEJgBqk/PortForwarded-1.2.jar