convert to layered image
This commit is contained in:
parent
fbd4dd8db9
commit
759aa234c6
2 changed files with 19 additions and 40 deletions
58
flake.nix
58
flake.nix
|
|
@ -22,28 +22,13 @@
|
|||
hash = "sha256-nWzx44EVkEqWZw42Yi4NLa0b9lJ4HVIIqEvqEcjW+Q4=";
|
||||
stripRoot = false;
|
||||
};
|
||||
#src = fetchurl {
|
||||
# url = "https://cdn.vintagestory.at/gamefiles/stable/vs_server_linux-x64_${version}.tar.gz";
|
||||
# hash = "sha256-gPe5ZQn7MrK07R1nT6UK1D9YMUbVTUltzkOycvJFZ3o=";
|
||||
# stripRoot = false;
|
||||
#};
|
||||
|
||||
nativeBuildInputs = [pkgs.makeWrapper];
|
||||
|
||||
buildInputs = [pkgs.dotnet-runtime_7];
|
||||
|
||||
runtimeLibs = pkgs.lib.makeLibraryPath (with pkgs; [
|
||||
gtk2
|
||||
sqlite
|
||||
openal
|
||||
cairo
|
||||
libGLU
|
||||
SDL2
|
||||
freealut
|
||||
libglvnd
|
||||
pipewire
|
||||
libpulseaudio
|
||||
dotnet-runtime_7
|
||||
]);
|
||||
|
||||
installPhase = ''
|
||||
|
|
@ -70,29 +55,26 @@
|
|||
done
|
||||
'';
|
||||
};
|
||||
|
||||
home = pkgs.stdenv.mkDerivation {
|
||||
name = "vintagestory-server-home-directories";
|
||||
dontUnpack = true;
|
||||
installPhase = ''
|
||||
mkdir -p $out/home/dotnet
|
||||
mkdir -p $out/game
|
||||
mkdir -p $out/tmp
|
||||
'';
|
||||
};
|
||||
in {
|
||||
packages.x86_64-linux.default = server;
|
||||
images = {
|
||||
default = pkgs.dockerTools.buildImage {
|
||||
name = "vintage-server";
|
||||
default = pkgs.dockerTools.buildLayeredImage {
|
||||
name = "docker-vintagestory-server";
|
||||
tag = "latest";
|
||||
architecture = "amd64";
|
||||
|
||||
copyToRoot =
|
||||
[
|
||||
(pkgs.buildEnv
|
||||
{
|
||||
name = "image-root";
|
||||
paths = [
|
||||
pkgs.hello
|
||||
pkgs.coreutils
|
||||
pkgs.strace
|
||||
pkgs.bash
|
||||
pkgs.dotnet-sdk_7
|
||||
server
|
||||
];
|
||||
pathsToLink = ["/bin"];
|
||||
})
|
||||
]
|
||||
contents =
|
||||
[home server pkgs.bash pkgs.coreutils]
|
||||
++ (with pkgs.dockerTools; [
|
||||
usrBinEnv
|
||||
binSh
|
||||
|
|
@ -100,14 +82,10 @@
|
|||
fakeNss
|
||||
]);
|
||||
|
||||
runAsRoot = ''
|
||||
mkdir -p /home/dotnet
|
||||
mkdir -p /game
|
||||
'';
|
||||
|
||||
config = {
|
||||
Env = ["HOME=/home/dotnet" "VS_DATA_PATH=/game"];
|
||||
Cmd = ["/bin/bash"];
|
||||
Env = ["HOME=/home/dotnet"];
|
||||
Cmd = ["vintagestory-server" "--dataPath" "/game"];
|
||||
#Cmd = ["/bin/bash"];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue