6 Commits

Author SHA1 Message Date
DerGrumpf 3049a605a2 Added 2026-07-10 10:30:24 +02:00
DerGrumpf 7dc85f8f9a Built but needs testing 2026-07-01 10:34:40 +02:00
DerGrumpf 1ecec8e0d6 WIP: Xonotic Overlay 2026-07-01 09:42:54 +02:00
DerGrumpf 544f7cf833 Updatet gitignore
CI / check (push) Has been cancelled
2026-06-28 15:10:12 +02:00
DerGrumpf 06a7a048cf Fixed double declartion redis overhauls 2026-06-25 14:38:38 +02:00
DerGrumpf da06bed086 Updated Flake and resolved Warnings 2026-06-25 14:30:30 +02:00
14 changed files with 339 additions and 82 deletions
+1
View File
@@ -2,6 +2,7 @@
result result
result-* result-*
*.qcow2 *.qcow2
extra_files/*
# Ignore everything in the secrets directory # Ignore everything in the secrets directory
secrets/* secrets/*
Generated
+41 -64
View File
@@ -57,11 +57,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781255309, "lastModified": 1782117778,
"narHash": "sha256-n2P5xkAYGylrJ3feu7L6uaCUw/+jW8rk+HO127gDbFA=", "narHash": "sha256-x6vIJpJziw3Hs0JKKDP+AeRPWwqyMDOmK6I26tqbYj4=",
"owner": "catppuccin", "owner": "catppuccin",
"repo": "nix", "repo": "nix",
"rev": "036c78ea4cd8a42c8546c6316a944fd7d59d4341", "rev": "e98afe2dfd950bda4e6a8ef32bb563ec2f04505a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -209,11 +209,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781788787, "lastModified": 1782358560,
"narHash": "sha256-YqlTCRRhGvNjcJejPeMuHrYQ/TVhOO2MV/nEGMWb8nk=", "narHash": "sha256-vCcLh9pw3XO/+Lxk8r6xv6QnoCrTfGqiACcI7O637Wg=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "d456f483f157d4b706416005da226234b9c116ff", "rev": "3a70e333f2950c302e875c44cfcfaff3f80f36bc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -320,11 +320,11 @@
"xdph": "xdph" "xdph": "xdph"
}, },
"locked": { "locked": {
"lastModified": 1781796010, "lastModified": 1782366482,
"narHash": "sha256-bIqjZgUfp3vba/C1UJLVqTo8zdpfqMDvuwWrHmqDWm4=", "narHash": "sha256-J+yvgoF+zbYZHJkGxfMCPWa8L3i5Nm7Xlgfw2Eky/Xs=",
"owner": "hyprwm", "owner": "hyprwm",
"repo": "Hyprland", "repo": "Hyprland",
"rev": "ae1690c2138313d988c81f5c25a9d0b6fadfd3b1", "rev": "c9e1a6c3a05c0310424f99c6b90af1164340af99",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -675,11 +675,11 @@
"nixpkgs-nixcord": "nixpkgs-nixcord" "nixpkgs-nixcord": "nixpkgs-nixcord"
}, },
"locked": { "locked": {
"lastModified": 1781775854, "lastModified": 1782349937,
"narHash": "sha256-0eb1+zKSTwgD3qsBm7UiuRabahHQNkTP94Z/s3nMK60=", "narHash": "sha256-2haY6BBTL+yCblUup/P9t3D8sUTMSqIok68n+qGjjYI=",
"owner": "kaylorben", "owner": "kaylorben",
"repo": "nixcord", "repo": "nixcord",
"rev": "b92ceb7923c87dfcfcf84415407b0ca63e17548b", "rev": "afdacaafb10aa459dfabbb8af99e4b0deb74f1d2",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -688,42 +688,6 @@
"type": "github" "type": "github"
} }
}, },
"nixlib": {
"locked": {
"lastModified": 1736643958,
"narHash": "sha256-tmpqTSWVRJVhpvfSN9KXBvKEXplrwKnSZNAoNPf/S/s=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "1418bc28a52126761c02dd3d89b2d8ca0f521181",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixos-generators": {
"inputs": {
"nixlib": "nixlib",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1769813415,
"narHash": "sha256-nnVmNNKBi1YiBNPhKclNYDORoHkuKipoz7EtVnXO50A=",
"owner": "nix-community",
"repo": "nixos-generators",
"rev": "8946737ff703382fda7623b9fab071d037e897d5",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixos-generators",
"type": "github"
}
},
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1780749050, "lastModified": 1780749050,
@@ -787,20 +751,34 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": {
"locked": {
"lastModified": 1781607440,
"narHash": "sha256-rxO+uc/KFbSJp+pgyXRuAX6QlG9hJdnt0BXpEQRXY+U=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "3e41b24abd260e8f71dbe2f5737d24122f972158",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixvim": { "nixvim": {
"inputs": { "inputs": {
"flake-parts": "flake-parts_2", "flake-parts": "flake-parts_2",
"nixpkgs": [ "nixpkgs": "nixpkgs_3",
"nixpkgs"
],
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1781713417, "lastModified": 1782254890,
"narHash": "sha256-Kaj44jTNmnaFhKrcADx8nXmUYPa7l2HYfb7m6lEPy7Q=", "narHash": "sha256-kjsEECqhpPnJWqhooXp6tWh2qGQftCPAo2G1GvZtKdw=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nixvim", "repo": "nixvim",
"rev": "caee4e5d4161778815f522d9ea1c9e3dc42462b7", "rev": "dbf9550dba8448b03e11d58e5695d6c44a464554",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -817,11 +795,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1781800183, "lastModified": 1782389847,
"narHash": "sha256-NcRZr/JQiAvqC2qCyMxcfx/98Hf1epwdtjcbwKHeMf8=", "narHash": "sha256-eP8eqJcG07GXr/mNOm6xS4ws+7sKw8pPk9xbAf11tb8=",
"owner": "nix-community", "owner": "nix-community",
"repo": "NUR", "repo": "NUR",
"rev": "0559d992b12ee209570bb325d79e90007b13da52", "rev": "a573a709b3b6778499500cdea3ea134faef25218",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -863,7 +841,6 @@
"hyprland-plugins": "hyprland-plugins", "hyprland-plugins": "hyprland-plugins",
"nix-homebrew": "nix-homebrew", "nix-homebrew": "nix-homebrew",
"nixcord": "nixcord", "nixcord": "nixcord",
"nixos-generators": "nixos-generators",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_2",
"nixvim": "nixvim", "nixvim": "nixvim",
"nur": "nur", "nur": "nur",
@@ -878,11 +855,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1780547341, "lastModified": 1782165805,
"narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=", "narHash": "sha256-478kKQBvK6SYTOdN2h9jhKJv94nbXRbFMfuL1WshErg=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a", "rev": "56b24064fdcaedca53553b1a6d607fd23b613a24",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -899,11 +876,11 @@
"systems": "systems_4" "systems": "systems_4"
}, },
"locked": { "locked": {
"lastModified": 1781425310, "lastModified": 1782031037,
"narHash": "sha256-GTBka4Df/ZOacmisI/DI2LICyNChEqn/giah83LucdM=", "narHash": "sha256-a7oWSyS7SN81UOqVt481yIEMDsMpaJ7GNdV6Eaz5Yqg=",
"owner": "Gerg-L", "owner": "Gerg-L",
"repo": "spicetify-nix", "repo": "spicetify-nix",
"rev": "aeaf7c81a45d3761da61cb05bfc370ac6d1b0441", "rev": "9cb27462cfd20edac174353f1e95bc03aa888863",
"type": "github" "type": "github"
}, },
"original": { "original": {
+30 -10
View File
@@ -5,11 +5,6 @@
# monorepo w/ recipes ("derivations") # monorepo w/ recipes ("derivations")
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
nixos-generators = {
url = "github:nix-community/nixos-generators";
inputs.nixpkgs.follows = "nixpkgs";
};
# declarative Configs # declarative Configs
home-manager = { home-manager = {
url = "github:nix-community/home-manager/master"; url = "github:nix-community/home-manager/master";
@@ -51,7 +46,6 @@
# declarative Neovim # declarative Neovim
nixvim = { nixvim = {
url = "github:nix-community/nixvim"; url = "github:nix-community/nixvim";
inputs.nixpkgs.follows = "nixpkgs";
}; };
# declarative Discord # declarative Discord
@@ -89,22 +83,37 @@
nixvim, nixvim,
hyprland, hyprland,
sops-nix, sops-nix,
nixos-generators,
nur, nur,
... ...
}@inputs: }@inputs:
let let
primaryUser = "phil"; primaryUser = "phil";
/*
mkIso - Build a NixOS image for a given target.
Available targets (imageModule imageBuildAttr):
ISO (minimal) : "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" "isoImage"
ISO (graphical): "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix" "isoImage"
Amazon EC2 : "${nixpkgs}/nixos/modules/virtualisation/amazon-image.nix" "amazonImage"
Linode : "${nixpkgs}/nixos/modules/virtualisation/linode-image.nix" "linodeImage"
Proxmox LXC : "${nixpkgs}/nixos/modules/virtualisation/proxmox-lxc.nix" "tarball"
Google Cloud : "${nixpkgs}/nixos/modules/virtualisation/google-compute-image.nix" "googleComputeImage"
Azure : "${nixpkgs}/nixos/modules/virtualisation/azure-image.nix" "azureImage"
QEMU (runnable): "${nixpkgs}/nixos/modules/virtualisation/qemu-vm.nix" "vm"
QEMU (headless): "${nixpkgs}/nixos/modules/virtualisation/qemu-vm.nix" "vmWithBootLoader"
- Claude Sonnet 4.6
*/
mkIso = mkIso =
{ {
hostName, hostName,
isDarwin ? false, isDarwin ? false,
isServer ? false, isServer ? false,
imageModule ? "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix",
imageBuildAttr ? "isoImage",
}: }:
nixos-generators.nixosGenerate { (nixpkgs.lib.nixosSystem {
system = "x86_64-linux"; system = "x86_64-linux";
format = "iso";
specialArgs = { specialArgs = {
inherit inherit
inputs inputs
@@ -116,6 +125,7 @@
; ;
}; };
modules = [ modules = [
imageModule
{ {
nixpkgs.overlays = [ nixpkgs.overlays = [
inputs.nur.overlays.default inputs.nur.overlays.default
@@ -145,10 +155,15 @@
backupFileExtension = "backup"; backupFileExtension = "backup";
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
}; sharedModules = [
{
programs.nixvim.nixpkgs.source = inputs.nixpkgs;
} }
]; ];
}; };
}
];
}).config.system.build.${imageBuildAttr};
mkSystem = mkSystem =
{ {
@@ -190,6 +205,11 @@
backupFileExtension = "hm-backup"; backupFileExtension = "hm-backup";
useGlobalPkgs = true; useGlobalPkgs = true;
useUserPackages = true; useUserPackages = true;
sharedModules = [
{
programs.nixvim.nixpkgs.source = inputs.nixpkgs;
}
];
}; };
} }
]; ];
+1 -1
View File
@@ -29,7 +29,7 @@
}; };
ollama = { ollama = {
endpoint = "http://100.109.179.25:11434"; # tailscale IP, no /v1 suffix endpoint = "http://100.86.56.71:11434"; # tailscale IP, no /v1 suffix
model = "qwen2.5:3b"; # swap for "llama3.2:3b" or "deepseek-r1:1.5b" model = "qwen2.5:3b"; # swap for "llama3.2:3b" or "deepseek-r1:1.5b"
timeout = 60000; # local + small model can be slow on first load timeout = 60000; # local + small model can be slow on first load
disable_tools = true; # these small models aren't reliable at tool calling disable_tools = true; # these small models aren't reliable at tool calling
+1 -1
View File
@@ -12,7 +12,7 @@ _: {
npm = "@ai-sdk/openai-compatible"; npm = "@ai-sdk/openai-compatible";
name = "Ollama (tailscale)"; name = "Ollama (tailscale)";
options = { options = {
baseURL = "http://100.109.179.25:11434/v1"; baseURL = "http://100.86.56.71:11434/v1";
}; };
models = { models = {
"llama3.2:3b" = { "llama3.2:3b" = {
@@ -21,6 +21,7 @@
initrd.kernelModules = [ ]; initrd.kernelModules = [ ];
kernelModules = [ "kvm-intel" ]; kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ]; extraModulePackages = [ ];
zfs.forceImportRoot = false;
}; };
fileSystems = { fileSystems = {
@@ -86,8 +87,5 @@
} }
]; ];
networking.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
} }
@@ -31,6 +31,7 @@
extraModprobeConfig = '' extraModprobeConfig = ''
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera" options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
''; '';
zfs.forceImportRoot = false;
}; };
sops = { sops = {
@@ -20,7 +20,9 @@
initrd.kernelModules = [ ]; initrd.kernelModules = [ ];
kernelModules = [ "kvm-intel" ]; kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ]; extraModulePackages = [ ];
zfs.forceImportRoot = false;
}; };
fileSystems = { fileSystems = {
"/" = { "/" = {
device = "/dev/disk/by-label/NIXROOT"; device = "/dev/disk/by-label/NIXROOT";
@@ -20,7 +20,9 @@
initrd.kernelModules = [ ]; initrd.kernelModules = [ ];
kernelModules = [ "kvm-intel" ]; kernelModules = [ "kvm-intel" ];
extraModulePackages = [ ]; extraModulePackages = [ ];
zfs.forceImportRoot = false;
}; };
fileSystems = { fileSystems = {
"/" = { "/" = {
device = "/dev/disk/by-label/NIXROOT"; device = "/dev/disk/by-label/NIXROOT";
+1 -2
View File
@@ -23,6 +23,7 @@
}; };
kernelModules = [ ]; kernelModules = [ ];
extraModulePackages = [ ]; extraModulePackages = [ ];
zfs.forceImportRoot = false;
}; };
fileSystems = { fileSystems = {
@@ -42,6 +43,4 @@
}; };
swapDevices = [ ]; swapDevices = [ ];
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
} }
+2 -1
View File
@@ -1,6 +1,7 @@
_: _:
let let
upstream = "100.109.179.25";
upstream = "100.86.56.71";
mkProxy = port: { mkProxy = port: {
forceSSL = true; forceSSL = true;
+2
View File
@@ -11,6 +11,8 @@ let
port = 11080; port = 11080;
in in
{ {
boot.kernel.sysctl."vm.overcommit_memory" = lib.mkForce "1";
services.searx = { services.searx = {
enable = true; enable = true;
package = pkgs.searxng; package = pkgs.searxng;
+1
View File
@@ -7,4 +7,5 @@ final: prev:
inherit (prev) vaultwarden; inherit (prev) vaultwarden;
}; };
netradiant-custom = final.callPackage ./netradiant-custom.nix { }; netradiant-custom = final.callPackage ./netradiant-custom.nix { };
xonotic-latest = final.callPackage ./xonotic-latest.nix { };
} }
+253
View File
@@ -0,0 +1,253 @@
{
lib,
stdenv,
fetchFromGitLab,
makeWrapper,
runCommand,
makeDesktopItem,
copyDesktopItems,
gmqcc,
libjpeg,
zlib,
libvorbis,
curl,
freetype,
libpng,
libtheora,
libx11,
SDL2,
gmp,
git,
gcc,
autoconf,
automake,
libtool,
withSDL ? true,
withDedicated ? true,
}:
let
version = "0-unstable-2025-01-01";
target = "release";
darkplaces-src = fetchFromGitLab {
domain = "gitlab.com";
owner = "xonotic";
repo = "darkplaces";
rev = "ddabe55ae766087df0b82d214ca4b6d79a443345";
hash = "sha256-S1jWfMx60lTcpMv4DxoDI2BT124bo/jzjtezSsQUL2M=";
};
d0_blind_id-src = fetchFromGitLab {
domain = "gitlab.com";
owner = "xonotic";
repo = "d0_blind_id";
rev = "64983f4156e860a94a6f5e264c67a1c2df69d7e9";
hash = "sha256-KblIXuzDTcFk7x3YFtJkugrqZ47+aQbDE0fL/sfUxUc=";
};
xonotic-data = fetchFromGitLab {
domain = "gitlab.com";
owner = "xonotic";
repo = "xonotic-data.pk3dir";
rev = "bc2ce0925b46ff79d4deb4cf4995f1330f00de43";
hash = "sha256-b5QvLdAFxn/7EjF0lufL1DbuXGgC39k6zfVN7G+mD2I=";
};
xonotic-music = fetchFromGitLab {
domain = "gitlab.com";
owner = "xonotic";
repo = "xonotic-music.pk3dir";
rev = "89bd037ad5d7c35fef606f5860d13b8fdbda8e88";
hash = "sha256-lYWqjjdMQ5cBfS0WzU3ayDdMGGvlVUuVhu+VCOUm6DU=";
};
xonotic-nexcompat = fetchFromGitLab {
domain = "gitlab.com";
owner = "xonotic";
repo = "xonotic-nexcompat.pk3dir";
rev = "a9c3bec5173d5f090fbf2c3a100f864ed35eadb0";
hash = "sha256-lYWqjjdMQ5cBfS0WzU3ayDdMGGvlVUuVhu+VCOUm6DU=";
};
xonotic-maps = fetchFromGitLab {
domain = "gitlab.com";
owner = "xonotic";
repo = "xonotic-maps.pk3dir";
rev = "552fbb5bdb4266ca374d2c5dc845bcd504bd499a";
hash = "sha256-lYWqjjdMQ5cBfS0WzU3ayDdMGGvlVUuVhu+VCOUm6DU=";
};
desktopItem = makeDesktopItem {
name = "xonotic-latest";
exec = "xonotic-latest";
comment = "Free fast-paced first-person shooter (git build)";
desktopName = "Xonotic (latest)";
categories = [
"Game"
"Shooter"
];
icon = "xonotic";
startupNotify = false;
};
d0_blind_id-built = stdenv.mkDerivation {
pname = "d0_blind_id";
inherit version;
src = d0_blind_id-src;
nativeBuildInputs = [
autoconf
automake
libtool
];
buildInputs = [ gmp ];
preConfigure = "autoreconf -fi";
enableParallelBuilding = true;
};
darkplaces-built = stdenv.mkDerivation {
pname = "darkplaces-xonotic-latest";
inherit version;
src = darkplaces-src;
buildInputs = [
libjpeg
zlib
libvorbis
curl
gmp
libx11
SDL2
];
dontStrip = false;
enableParallelBuilding = true;
env.NIX_CFLAGS_COMPILE = "-std=gnu11";
preBuild = ''
mkdir -p ../d0_blind_id/include ../d0_blind_id/lib
cp -r ${d0_blind_id-src}/*.h ../d0_blind_id/include/ 2>/dev/null || true
ln -sf ${d0_blind_id-built}/lib/libd0_blind_id.a ../d0_blind_id/lib/
ln -sf ${d0_blind_id-built}/lib/libd0_rijndael.a ../d0_blind_id/lib/ 2>/dev/null || true
'';
buildPhase = ''
runHook preBuild
${lib.optionalString withDedicated ''
make -j $NIX_BUILD_CORES sv-${target}
''}
${lib.optionalString withSDL ''
make -j $NIX_BUILD_CORES sdl-${target}
''}
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/bin
${lib.optionalString withDedicated ''
install -Dm755 darkplaces-dedicated $out/bin/xonotic-latest-dedicated
''}
${lib.optionalString withSDL ''
install -Dm755 darkplaces-sdl $out/bin/xonotic-latest-sdl
''}
${lib.optionalString withDedicated ''
patchelf --add-needed ${curl.out}/lib/libcurl.so $out/bin/xonotic-latest-dedicated
''}
${lib.optionalString withSDL ''
patchelf \
--add-needed ${curl.out}/lib/libcurl.so \
--add-needed ${libvorbis}/lib/libvorbisfile.so \
--add-needed ${libvorbis}/lib/libvorbisenc.so \
--add-needed ${libvorbis}/lib/libvorbis.so \
--add-needed ${freetype}/lib/libfreetype.so \
--add-needed ${libpng}/lib/libpng.so \
--add-needed ${libtheora}/lib/libtheora.so \
$out/bin/xonotic-latest-sdl
''}
runHook postInstall
'';
dontPatchELF = true;
};
xonotic-data-compiled = stdenv.mkDerivation {
pname = "xonotic-latest-data";
inherit version;
src = xonotic-data;
nativeBuildInputs = [
gmqcc
git
gcc
];
preBuild = ''
chmod +w qcsrc/tools/qcc.sh
patchShebangs qcsrc/tools/
'';
buildPhase = ''
runHook preBuild
export QCC="${gmqcc}/bin/gmqcc"
export CPP="cc -xc -E"
export WORKDIR="../.tmp"
export QCCFLAGS_WATERMARK="nix_build"
export ZIP=true
ls -la qcsrc/tools/qcc.sh || echo "MISSING"
ls -la qcsrc/tools/ || echo "DIR MISSING"
make -C qcsrc -j1
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/data
cp -r . $out/data/xonotic-data.pk3dir
cp -r ${xonotic-music} $out/data/xonotic-music.pk3dir
cp -r ${xonotic-nexcompat} $out/data/xonotic-nexcompat.pk3dir
cp -r ${xonotic-maps} $out/data/xonotic-maps.pk3dir
runHook postInstall
'';
};
in
runCommand "xonotic-latest-${version}"
{
inherit version;
nativeBuildInputs = [
makeWrapper
copyDesktopItems
];
desktopItems = [ desktopItem ];
meta = {
description = "Free fast-paced first-person shooter (git build)";
homepage = "https://xonotic.org/";
license = lib.licenses.gpl2Plus;
maintainers = with lib.maintainers; [ DerGrumpf ];
platforms = lib.platforms.linux;
};
}
''
mkdir -p $out/bin $out/share
${lib.optionalString withSDL ''
cp ${darkplaces-built}/bin/xonotic-latest-sdl $out/bin/xonotic-latest-sdl
chmod +x $out/bin/xonotic-latest-sdl
wrapProgram $out/bin/xonotic-latest-sdl \
--add-flags "-basedir ${xonotic-data-compiled}" \
--add-flags "+vid_dpi 96" \
--prefix LD_LIBRARY_PATH : "${darkplaces-built}/lib"
ln -sf $out/bin/xonotic-latest-sdl $out/bin/xonotic-latest
''}
${lib.optionalString withDedicated ''
cp ${darkplaces-built}/bin/xonotic-latest-dedicated $out/bin/xonotic-latest-dedicated
chmod +x $out/bin/xonotic-latest-dedicated
wrapProgram $out/bin/xonotic-latest-dedicated \
--add-flags "-basedir ${xonotic-data-compiled}" \
--prefix LD_LIBRARY_PATH : "${darkplaces-built}/lib"
''}
copyDesktopItems
''