diff --git a/flake.nix b/flake.nix index c0e5449..c4c7b1d 100644 --- a/flake.nix +++ b/flake.nix @@ -241,6 +241,7 @@ }; morris = prev.callPackage packages/morris.nix { }; cro = prev.callPackage packages/cro.nix { }; + exodus = prev.callPackage packages/exodus.nix { }; dmenu = prev.writers.writeDashBin "dmenu" ''exec ${final.rofi}/bin/rofi -dmenu "$@"''; weechatScripts = prev.weechatScripts // { hotlist2extern = prev.callPackage packages/weechatScripts/hotlist2extern.nix { }; # TODO upstream @@ -518,6 +519,7 @@ devour dmenu-randr emailmenu + exodus fkill fzfmenu gfs-fonts diff --git a/packages/exodus.nix b/packages/exodus.nix new file mode 100644 index 0000000..6782c2e --- /dev/null +++ b/packages/exodus.nix @@ -0,0 +1,41 @@ +{ + lib, + stdenv, + fetchFromGitHub, + cmake, + SDL2, + makeWrapper, +}: +stdenv.mkDerivation { + pname = "exodus"; + version = "unstable-2025-03-31"; + src = fetchFromGitHub { + owner = "nrootconauto"; + repo = "EXODUS"; + rev = "6d806dd5ae5507858c03c4d13be1f3d37a06fa4b"; + hash = "sha256-EmIoJj5IjLy0dvuBQR46Oi/xgkbqv/IT+cJa59/aaWI="; + }; + nativeBuildInputs = [ + cmake + makeWrapper + ]; + buildInputs = [ SDL2 ]; + installPhase = '' + runHook preInstall + mkdir -p $out/bin + cp -a ../exodus $out/bin + runHook postInstall + ''; + # tell the EXODUS program where the TempleOS root and bootstrap is + postFixup = '' + wrapProgram $out/bin/exodus \ + --add-flags "--root=$src/T --hcrtfile=$src/HCRT_BOOTSTRAP.BIN" + ''; + meta = { + description = "Run templeOS emulator in userspace"; + homepage = "https://github.com/nrootconauto/EXODUS"; + license = lib.licenses.zlib; + maintainers = with lib.maintainers; [ matthewcroughan ]; + platforms = lib.platforms.unix; + }; +}