diff options
| author | Dylan <boss@tehbox.org> | 2026-10-17 21:53:43 +1300 |
|---|---|---|
| committer | Dylan <boss@tehbox.org> | 2026-10-17 21:53:43 +1300 |
| commit | 280e1bbe5e733128a451260685cc8ecd10a042a3 (patch) | |
| tree | 78bab82353bbfa00f9a781015e246c274a5c983b /modules/my-pkgs | |
| parent | bcfc69e424802276cc52fb6e00fb4a42e9c37816 (diff) | |
| download | nixos-configuration-280e1bbe5e733128a451260685cc8ecd10a042a3.tar.gz nixos-configuration-280e1bbe5e733128a451260685cc8ecd10a042a3.zip | |
feat: Dendritic pattern
This re-write was done with the help of claude, and still needs a
decent amount of changes before it properly follows the dendritic
pattern
Diffstat (limited to 'modules/my-pkgs')
| -rw-r--r-- | modules/my-pkgs/adom.nix | 59 | ||||
| -rw-r--r-- | modules/my-pkgs/default.nix | 12 | ||||
| -rw-r--r-- | modules/my-pkgs/stk-installers.nix | 44 |
3 files changed, 115 insertions, 0 deletions
diff --git a/modules/my-pkgs/adom.nix b/modules/my-pkgs/adom.nix new file mode 100644 index 0000000..0c2ad03 --- /dev/null +++ b/modules/my-pkgs/adom.nix @@ -0,0 +1,59 @@ +{ + perSystem = + { pkgs, ... }: + { + packages.adom = pkgs.callPackage ( + { stdenv, fetchurl, autoPatchelfHook, makeDesktopItem, makeWrapper, ncurses5, libtinfo, SDL2, SDL2_image, SDL2_mixer, SDL2_net, SDL2_ttf, luajit} : + + stdenv.mkDerivation rec { + pname = "adom"; + version = "3.3.3"; + src = fetchurl { + url = "https://sjc4.dl.dbolical.com/dl/2019/01/29/adom_noteye_linux_ubuntu_64_${version}.tar.gz?st=PcXL3PZSxDxr6H6v58PFfw==&e=1750223221"; + hash = "sha256-7c39tEPlrpWIL6QH0BIOLLrFFIlhEHPw5F3knMUh+BA="; + }; + + nativeBuildInputs = [ + autoPatchelfHook + makeWrapper + ]; + + buildInputs = [ + (ncurses5.override { unicodeSupport = false; }) + ncurses5 + SDL2 + SDL2_image + SDL2_mixer + SDL2_net + SDL2_ttf + luajit + stdenv.cc.cc.lib + ]; + + sourceRoot = "adom"; + installPhase = let desktopEntry = makeDesktopItem { + name = "adom"; + desktopName = "ADOM"; + exec = "OUT_DIR/bin/adom"; + #path = "OUT_DIR/share"; + }; in '' + runHook preInstall + install -m755 -D adom $out/bin/adom + wrapProgram $out/bin/adom \ + --chdir $out/share + install -m644 -D lib/libnoteye.so $out/lib/libnoteye.so + mkdir -p $out/share + cp -r common $out/share/ + cp -r docs $out/share/ + cp -r games $out/share/ + cp -r gfx $out/share/ + cp -r licenses $out/share/ + cp -r sound $out/share/ + mkdir -p $out/share/applications + sed -e "s|OUT_DIR|$out|g" ${desktopEntry}/share/applications/adom.desktop > $out/share/applications/adom.desktop + runHook postInstall +''; + } + ) { }; + }; +} diff --git a/modules/my-pkgs/default.nix b/modules/my-pkgs/default.nix new file mode 100644 index 0000000..fb227d0 --- /dev/null +++ b/modules/my-pkgs/default.nix @@ -0,0 +1,12 @@ +{ inputs, ... }: +{ + flake.modules.nixos.my-pkgs = + { config, pkgs, lib, ... }: + { + nixpkgs.overlays = [ + (final: prev: { + adom = inputs.self.packages.${final.stdenv.hostPlatform.system}.adom; + }) + ]; + }; +} diff --git a/modules/my-pkgs/stk-installers.nix b/modules/my-pkgs/stk-installers.nix new file mode 100644 index 0000000..0558733 --- /dev/null +++ b/modules/my-pkgs/stk-installers.nix @@ -0,0 +1,44 @@ +{ + perSystem = + { pkgs, ... }: + { + packages.stk-installers = pkgs.callPackage ( + { stdenv, fetchurl, lib, writeText, ... }: + stdenv.mkDerivation rec { + pname = "stk-installers"; + version = "0.1.0"; + + srcs = let + releaseHashes = { + #"installer-aarch64.exe" = "sha256-orLoDvW+fUDucqY4KcC0DQ4JbA2LaG3RQtaBEjtG6HU="; + #"installer-i686.exe" = "sha256-knC7XF6OeY/dQ2VnyjYm+IlJxU8g6s/S395Nr4HZ6Jk="; + # "installer-x86_64.exe" = "sha256-oSYOu3PdnaE+w+N/Um8p5JSztmwAwF/XB2ezCkSX2V4="; + # "linux-arm64.tar.gz" = "sha256-lhtLaRtEVHzcrae6OdrRVhpufnZskLIsot8foYqi5Hc="; + #"linux-armv7.tar.gz" = "sha256-jQYR2wkIu1j7c5xEfzdIa9fnQFU1wNKAVq35NZB/BzA="; + # "linux-x86.tar.gz" = "sha256-sT57jnRV7Wa4qC8p1/fOTwXfelM66fRckdfQvqMqOOs="; + "linux-x86_64.tar.gz" = "sha256-VwkLbCFj62kfIBBK6XEiBKy7ToNBBZ3uCl/1MV78QBs="; + # "mac-signed.zip" = "sha256-wmas24pjo/4w9SZS2bdJ9b66Sr655UOC+7k0sAxTswM="; + # "src.tar.gz" = "sha256-M8+IQeT/QILYC5JIAUKVu76mHRRoPobf8QDjq497J8s="; + # "win.zip" = "sha256-nffi1n6FYhJ6O7YzAw8b1O53+p5/CuEQiXRzAlr4rNw="; + }; + in + lib.attrsets.mapAttrsToList (release: hash: fetchurl { + url = "https://github.com/supertuxkart/stk-code/releases/download/1.5/SuperTuxKart-1.5-${release}"; + sha256 = hash; + }) releaseHashes + ++ [(writeText "hashes.txt" (builtins.concatStringsSep "\n" (lib.attrsets.mapAttrsToList (release: hash: "SuperTuxKart-1.5-${release} ${hash}") releaseHashes)))]; + + sourceRoot = "."; + + unpackPhase = ":"; + + installPhase = '' +mkdir -p $out/srv/www +for srcFile in $srcs; do + cp $srcFile "$out/srv/www/$(stripHash $srcFile)" +done +''; + } + ) { }; + }; +} |
