minecraft docker container should work?

This commit is contained in:
Sky Hearn 2024-03-05 22:41:50 -08:00
parent 0516ff439d
commit 0cc72e047b
4 changed files with 155 additions and 14 deletions

View File

@ -98,7 +98,6 @@
pkgs.vim pkgs.vim
pkgs.arion pkgs.arion
# Do install the docker CLI to talk to podman. # Do install the docker CLI to talk to podman.
# Not needed when virtualisation.docker.enable = true; # Not needed when virtualisation.docker.enable = true;
pkgs.docker-client pkgs.docker-client

View File

@ -1,5 +1,105 @@
{ {
"nodes": { "nodes": {
"arion": {
"inputs": {
"flake-parts": "flake-parts",
"haskell-flake": "haskell-flake",
"hercules-ci-effects": "hercules-ci-effects",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1709606645,
"narHash": "sha256-yObjAl8deNvx1uIfQn7/vkB9Rnr0kqTo1HVrsk46l30=",
"owner": "hercules-ci",
"repo": "arion",
"rev": "d2d48c9ec304ac80c84ede138b8c6f298d07d995",
"type": "github"
},
"original": {
"id": "arion",
"type": "indirect"
}
},
"flake-parts": {
"inputs": {
"nixpkgs-lib": [
"arion",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709336216,
"narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"flake-parts_2": {
"inputs": {
"nixpkgs-lib": [
"arion",
"hercules-ci-effects",
"nixpkgs"
]
},
"locked": {
"lastModified": 1701473968,
"narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5",
"type": "github"
},
"original": {
"id": "flake-parts",
"type": "indirect"
}
},
"haskell-flake": {
"locked": {
"lastModified": 1675296942,
"narHash": "sha256-u1X1sblozi5qYEcLp1hxcyo8FfDHnRUVX3dJ/tW19jY=",
"owner": "srid",
"repo": "haskell-flake",
"rev": "c2cafce9d57bfca41794dc3b99c593155006c71e",
"type": "github"
},
"original": {
"owner": "srid",
"ref": "0.1.0",
"repo": "haskell-flake",
"type": "github"
}
},
"hercules-ci-effects": {
"inputs": {
"flake-parts": "flake-parts_2",
"nixpkgs": [
"arion",
"nixpkgs"
]
},
"locked": {
"lastModified": 1708547820,
"narHash": "sha256-xU/KC1PWqq5zL9dQ9wYhcdgxAwdeF/dJCLPH3PNZEBg=",
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"rev": "0ca27bd58e4d5be3135a4bef66b582e57abe8f4a",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
"type": "github"
}
},
"home-manager": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -24,18 +124,34 @@
"locked": { "locked": {
"lastModified": 1709479366, "lastModified": 1709479366,
"narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=", "narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=",
"owner": "nixos", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "b8697e57f10292a6165a20f03d2f42920dfaf973", "rev": "b8697e57f10292a6165a20f03d2f42920dfaf973",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "NixOS",
"ref": "nixos-unstable", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
}, },
"nixpkgs-23-11": {
"locked": {
"lastModified": 1709569716,
"narHash": "sha256-iOR44RU4jQ+YPGrn+uQeYAp7Xo7Z/+gT+wXJoGxxLTY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "617579a787259b9a6419492eaac670a5f7663917",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-23.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1709428628, "lastModified": 1709428628,
@ -53,6 +169,22 @@
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": {
"lastModified": 1709479366,
"narHash": "sha256-n6F0n8UV6lnTZbYPl1A9q1BS0p4hduAv1mGAP17CVd0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b8697e57f10292a6165a20f03d2f42920dfaf973",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": { "locked": {
"lastModified": 1709356872, "lastModified": 1709356872,
"narHash": "sha256-mvxCirJbtkP0cZ6ABdwcgTk0u3bgLoIoEFIoYBvD6+4=", "narHash": "sha256-mvxCirJbtkP0cZ6ABdwcgTk0u3bgLoIoEFIoYBvD6+4=",
@ -70,14 +202,16 @@
}, },
"root": { "root": {
"inputs": { "inputs": {
"arion": "arion",
"home-manager": "home-manager", "home-manager": "home-manager",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs_2",
"nixpkgs-23-11": "nixpkgs-23-11",
"sops-nix": "sops-nix" "sops-nix": "sops-nix"
} }
}, },
"sops-nix": { "sops-nix": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_3",
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": { "locked": {

View File

@ -2,20 +2,27 @@
description = "NixOS configuration"; description = "NixOS configuration";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager"; home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
sops-nix.url = "github:Mic92/sops-nix"; sops-nix.url = "github:Mic92/sops-nix";
nixpkgs-23-11.url = "github:nixos/nixpkgs/nixos-23.11";
}; };
outputs = inputs@{ nixpkgs, home-manager, sops-nix, ... }: { outputs = inputs@{ nixpkgs, nixpkgs-23-11, home-manager, sops-nix, arion, ... }: {
nixosConfigurations = { nixosConfigurations = {
rackserver = nixpkgs.lib.nixosSystem { rackserver = nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
modules = [ modules = [
./configuration.nix ./configuration.nix
sops-nix.nixosModules.sops sops-nix.nixosModules.sops
# https://github.com/hercules-ci/arion/issues/230
({pkgs, ...}:
{
nixpkgs.overlays = [ (final: prev: { arion = nixpkgs-23-11.legacyPackages.x86_64-linux.arion; }) ];
})
home-manager.nixosModules.home-manager home-manager.nixosModules.home-manager
{ {
home-manager.useGlobalPkgs = true; home-manager.useGlobalPkgs = true;

View File

@ -3,13 +3,14 @@
project.name = "minecraft"; project.name = "minecraft";
services = { services = {
mc = { mc = {
service.image = "itzg/minecraft-server"; service.image = "itzg/minecraft-server:latest";
service.volumes = [ "${toString ./.}/data:/data" ]; service.volumes = [ "${toString ./.}/data:/data" ];
service.ports = [ "25564:25565" ]; service.ports = [ "25565:25565" ];
service.environment = { service.environment = {
EULA = "true"; EULA = "true";
MOD_PLATFORM = "AUTO_CURSEFORGE"; MOD_PLATFORM = "AUTO_CURSEFORGE";
CF_API_KEY = "$2a$10$BiefeMHCHbPFjXkIwpHk/.LvfbKaohRF7HcB3PF8oJtVAI/PfMpwe"; # free API key <3 # https://stackoverflow.com/questions/49897503/
CF_API_KEY = "$$2a$$10$$BiefeMHCHbPFjXkIwpHk/.LvfbKaohRF7HcB3PF8oJtVAI/PfMpwe"; # free API key <3
CF_FORCE_SYNCHRONIZE = "true"; CF_FORCE_SYNCHRONIZE = "true";
CF_PAGE_URL = "https://www.curseforge.com/minecraft/modpacks/valhelsia-6/files/5135030"; CF_PAGE_URL = "https://www.curseforge.com/minecraft/modpacks/valhelsia-6/files/5135030";
MEMORY = "16G"; MEMORY = "16G";