shell.nix (1883B)
1 with import <nixpkgs> {}; 2 let 3 package = pkgs.callPackage ./. {}; 4 fennel-ls1 = 5 let inherit (pkgs) stdenv pandoc; 6 in stdenv.mkDerivation { 7 name = "fennel-ls"; 8 buildInputs = [ package.lua ]; 9 nativeBuildInputs = [ pandoc ]; 10 makeFlags = [ "PREFIX=\\$out" ]; 11 src = fetchFromSourcehut { 12 owner ="~xerool"; 13 repo ="fennel-ls"; 14 rev = "552b03b983c18d7db5053350711bef9088cc9110"; 15 hash = "sha256-npR10hzPYgDPbKWB5ueq8cXAWYvUEbVVJ1R/EEdCnVY="; 16 }; 17 }; 18 fennel-ls = pkgs.fennel-ls.override { inherit (package) lua luaPackages; }; 19 luaProfiler = 20 let 21 inherit (pkgs) stdenv cmake; 22 inherit (package) lua; 23 in stdenv.mkDerivation { 24 name = "LuaProfiler"; 25 src = fetchFromGitHub { 26 owner = "Patrick08T"; 27 repo = "LuaProfiler"; 28 rev = "abb989337f6f46b820c9d2eb1e1d339e8f6f3760"; 29 hash = "sha256-43kwZCZZmWD5ens1qCzD7LTg/jKMfcb9Vw/DBiN2sSo="; 30 }; 31 buildInputs = [ lua ]; 32 postPatch = '' 33 sed -i.bak -e 's/VERSION 2.8/VERSION 3.5/' CMakeLists.txt 34 ''; 35 installPhase = '' 36 mkdir -p "$out/lib/lua/${lua.luaversion}" 37 echo cp /build/source/bin/release/libluaperf.so "$out/lib/lua/${lua.luaversion}" 38 cp /build/source/bin/release/libluaperf.so "$out/lib/lua/${lua.luaversion}" 39 ''; 40 nativeBuildInputs = [ cmake ]; 41 }; 42 in 43 package.overrideAttrs(o: { 44 nativeBuildInputs = [ 45 # fennel-ls luaProfiler flamegraph 46 tmux 47 ] ++ o.nativeBuildInputs; 48 shellHook = '' 49 mkdir -p bin 50 ( cd bin && ln -sf `type -p fennel-ls` `type -p fennel` . ) 51 export LUA_CPATH=$(lua -e "print(package.cpath)")\;${luaProfiler}/lib/lua/${package.lua.luaversion}/\?.so 52 export LUA_PATH=$(lua -e "print(package.path)")\;$RXI_JSON/share/lua/5.3/?.lua 53 XDG_DATA_DIRS=$GSETTINGS_SCHEMAS_PATH:$XDG_DATA_DIRS 54 ''; 55 })