Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 3049a605a2 | |||
| 7dc85f8f9a | |||
| 1ecec8e0d6 | |||
| 544f7cf833 | |||
| 06a7a048cf | |||
| da06bed086 |
@@ -2,6 +2,7 @@
|
||||
result
|
||||
result-*
|
||||
*.qcow2
|
||||
extra_files/*
|
||||
|
||||
# Ignore everything in the secrets directory
|
||||
secrets/*
|
||||
|
||||
Generated
+41
-64
@@ -57,11 +57,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781255309,
|
||||
"narHash": "sha256-n2P5xkAYGylrJ3feu7L6uaCUw/+jW8rk+HO127gDbFA=",
|
||||
"lastModified": 1782117778,
|
||||
"narHash": "sha256-x6vIJpJziw3Hs0JKKDP+AeRPWwqyMDOmK6I26tqbYj4=",
|
||||
"owner": "catppuccin",
|
||||
"repo": "nix",
|
||||
"rev": "036c78ea4cd8a42c8546c6316a944fd7d59d4341",
|
||||
"rev": "e98afe2dfd950bda4e6a8ef32bb563ec2f04505a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -209,11 +209,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781788787,
|
||||
"narHash": "sha256-YqlTCRRhGvNjcJejPeMuHrYQ/TVhOO2MV/nEGMWb8nk=",
|
||||
"lastModified": 1782358560,
|
||||
"narHash": "sha256-vCcLh9pw3XO/+Lxk8r6xv6QnoCrTfGqiACcI7O637Wg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "d456f483f157d4b706416005da226234b9c116ff",
|
||||
"rev": "3a70e333f2950c302e875c44cfcfaff3f80f36bc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -320,11 +320,11 @@
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781796010,
|
||||
"narHash": "sha256-bIqjZgUfp3vba/C1UJLVqTo8zdpfqMDvuwWrHmqDWm4=",
|
||||
"lastModified": 1782366482,
|
||||
"narHash": "sha256-J+yvgoF+zbYZHJkGxfMCPWa8L3i5Nm7Xlgfw2Eky/Xs=",
|
||||
"owner": "hyprwm",
|
||||
"repo": "Hyprland",
|
||||
"rev": "ae1690c2138313d988c81f5c25a9d0b6fadfd3b1",
|
||||
"rev": "c9e1a6c3a05c0310424f99c6b90af1164340af99",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -675,11 +675,11 @@
|
||||
"nixpkgs-nixcord": "nixpkgs-nixcord"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781775854,
|
||||
"narHash": "sha256-0eb1+zKSTwgD3qsBm7UiuRabahHQNkTP94Z/s3nMK60=",
|
||||
"lastModified": 1782349937,
|
||||
"narHash": "sha256-2haY6BBTL+yCblUup/P9t3D8sUTMSqIok68n+qGjjYI=",
|
||||
"owner": "kaylorben",
|
||||
"repo": "nixcord",
|
||||
"rev": "b92ceb7923c87dfcfcf84415407b0ca63e17548b",
|
||||
"rev": "afdacaafb10aa459dfabbb8af99e4b0deb74f1d2",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -688,42 +688,6 @@
|
||||
"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": {
|
||||
"locked": {
|
||||
"lastModified": 1780749050,
|
||||
@@ -787,20 +751,34 @@
|
||||
"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": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781713417,
|
||||
"narHash": "sha256-Kaj44jTNmnaFhKrcADx8nXmUYPa7l2HYfb7m6lEPy7Q=",
|
||||
"lastModified": 1782254890,
|
||||
"narHash": "sha256-kjsEECqhpPnJWqhooXp6tWh2qGQftCPAo2G1GvZtKdw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "caee4e5d4161778815f522d9ea1c9e3dc42462b7",
|
||||
"rev": "dbf9550dba8448b03e11d58e5695d6c44a464554",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -817,11 +795,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781800183,
|
||||
"narHash": "sha256-NcRZr/JQiAvqC2qCyMxcfx/98Hf1epwdtjcbwKHeMf8=",
|
||||
"lastModified": 1782389847,
|
||||
"narHash": "sha256-eP8eqJcG07GXr/mNOm6xS4ws+7sKw8pPk9xbAf11tb8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "0559d992b12ee209570bb325d79e90007b13da52",
|
||||
"rev": "a573a709b3b6778499500cdea3ea134faef25218",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -863,7 +841,6 @@
|
||||
"hyprland-plugins": "hyprland-plugins",
|
||||
"nix-homebrew": "nix-homebrew",
|
||||
"nixcord": "nixcord",
|
||||
"nixos-generators": "nixos-generators",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nixvim": "nixvim",
|
||||
"nur": "nur",
|
||||
@@ -878,11 +855,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1780547341,
|
||||
"narHash": "sha256-Gq8KNx5A7hBB3uGJaj6eQfLDIz5YdLu92gqBcvHvoUo=",
|
||||
"lastModified": 1782165805,
|
||||
"narHash": "sha256-478kKQBvK6SYTOdN2h9jhKJv94nbXRbFMfuL1WshErg=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "9ed65852b6257fbeae4355bc24ecfea307ca759a",
|
||||
"rev": "56b24064fdcaedca53553b1a6d607fd23b613a24",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -899,11 +876,11 @@
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1781425310,
|
||||
"narHash": "sha256-GTBka4Df/ZOacmisI/DI2LICyNChEqn/giah83LucdM=",
|
||||
"lastModified": 1782031037,
|
||||
"narHash": "sha256-a7oWSyS7SN81UOqVt481yIEMDsMpaJ7GNdV6Eaz5Yqg=",
|
||||
"owner": "Gerg-L",
|
||||
"repo": "spicetify-nix",
|
||||
"rev": "aeaf7c81a45d3761da61cb05bfc370ac6d1b0441",
|
||||
"rev": "9cb27462cfd20edac174353f1e95bc03aa888863",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -5,11 +5,6 @@
|
||||
# monorepo w/ recipes ("derivations")
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||
|
||||
nixos-generators = {
|
||||
url = "github:nix-community/nixos-generators";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# declarative Configs
|
||||
home-manager = {
|
||||
url = "github:nix-community/home-manager/master";
|
||||
@@ -51,7 +46,6 @@
|
||||
# declarative Neovim
|
||||
nixvim = {
|
||||
url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
# declarative Discord
|
||||
@@ -89,22 +83,37 @@
|
||||
nixvim,
|
||||
hyprland,
|
||||
sops-nix,
|
||||
nixos-generators,
|
||||
nur,
|
||||
...
|
||||
}@inputs:
|
||||
let
|
||||
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 =
|
||||
{
|
||||
hostName,
|
||||
isDarwin ? 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";
|
||||
format = "iso";
|
||||
specialArgs = {
|
||||
inherit
|
||||
inputs
|
||||
@@ -116,6 +125,7 @@
|
||||
;
|
||||
};
|
||||
modules = [
|
||||
imageModule
|
||||
{
|
||||
nixpkgs.overlays = [
|
||||
inputs.nur.overlays.default
|
||||
@@ -145,10 +155,15 @@
|
||||
backupFileExtension = "backup";
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
sharedModules = [
|
||||
{
|
||||
programs.nixvim.nixpkgs.source = inputs.nixpkgs;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
}).config.system.build.${imageBuildAttr};
|
||||
|
||||
mkSystem =
|
||||
{
|
||||
@@ -190,6 +205,11 @@
|
||||
backupFileExtension = "hm-backup";
|
||||
useGlobalPkgs = true;
|
||||
useUserPackages = true;
|
||||
sharedModules = [
|
||||
{
|
||||
programs.nixvim.nixpkgs.source = inputs.nixpkgs;
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
};
|
||||
|
||||
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"
|
||||
timeout = 60000; # local + small model can be slow on first load
|
||||
disable_tools = true; # these small models aren't reliable at tool calling
|
||||
|
||||
+1
-1
@@ -12,7 +12,7 @@ _: {
|
||||
npm = "@ai-sdk/openai-compatible";
|
||||
name = "Ollama (tailscale)";
|
||||
options = {
|
||||
baseURL = "http://100.109.179.25:11434/v1";
|
||||
baseURL = "http://100.86.56.71:11434/v1";
|
||||
};
|
||||
models = {
|
||||
"llama3.2:3b" = {
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
initrd.kernelModules = [ ];
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
extraModulePackages = [ ];
|
||||
zfs.forceImportRoot = false;
|
||||
};
|
||||
|
||||
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;
|
||||
}
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
extraModprobeConfig = ''
|
||||
options v4l2loopback exclusive_caps=1 card_label="Virtual Camera"
|
||||
'';
|
||||
zfs.forceImportRoot = false;
|
||||
};
|
||||
|
||||
sops = {
|
||||
|
||||
@@ -20,7 +20,9 @@
|
||||
initrd.kernelModules = [ ];
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
extraModulePackages = [ ];
|
||||
zfs.forceImportRoot = false;
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/NIXROOT";
|
||||
|
||||
@@ -20,7 +20,9 @@
|
||||
initrd.kernelModules = [ ];
|
||||
kernelModules = [ "kvm-intel" ];
|
||||
extraModulePackages = [ ];
|
||||
zfs.forceImportRoot = false;
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
"/" = {
|
||||
device = "/dev/disk/by-label/NIXROOT";
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
};
|
||||
kernelModules = [ ];
|
||||
extraModulePackages = [ ];
|
||||
zfs.forceImportRoot = false;
|
||||
};
|
||||
|
||||
fileSystems = {
|
||||
@@ -42,6 +43,4 @@
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
_:
|
||||
let
|
||||
upstream = "100.109.179.25";
|
||||
|
||||
upstream = "100.86.56.71";
|
||||
|
||||
mkProxy = port: {
|
||||
forceSSL = true;
|
||||
|
||||
@@ -11,6 +11,8 @@ let
|
||||
port = 11080;
|
||||
in
|
||||
{
|
||||
boot.kernel.sysctl."vm.overcommit_memory" = lib.mkForce "1";
|
||||
|
||||
services.searx = {
|
||||
enable = true;
|
||||
package = pkgs.searxng;
|
||||
|
||||
@@ -7,4 +7,5 @@ final: prev:
|
||||
inherit (prev) vaultwarden;
|
||||
};
|
||||
netradiant-custom = final.callPackage ./netradiant-custom.nix { };
|
||||
xonotic-latest = final.callPackage ./xonotic-latest.nix { };
|
||||
}
|
||||
|
||||
@@ -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
|
||||
''
|
||||
Reference in New Issue
Block a user