diff --git a/configs/desktop.nix b/configs/desktop.nix index 239a00f..b701fea 100644 --- a/configs/desktop.nix +++ b/configs/desktop.nix @@ -88,7 +88,7 @@ chromium gimp gparted - idea-ultimate-fhs + idea-ultimate-fixed mpv obsidian strawberry diff --git a/exprs/idea-fixed.nix b/exprs/idea-fixed.nix new file mode 100644 index 0000000..9655ad5 --- /dev/null +++ b/exprs/idea-fixed.nix @@ -0,0 +1,69 @@ +{ + lib, + stdenv, + jetbrains, + makeWrapper, + symlinkJoin, + alsa-lib, + flite, + glfw3-minecraft, + libGL, + libX11, + libXcursor, + libXext, + libXrandr, + libXxf86vm, + libjack2, + libpulseaudio, + mesa-demos, + openal, + pciutils, + pipewire, + udev, + xrandr, +}: let + inherit (jetbrains) idea-ultimate; +in + symlinkJoin { + name = "idea-ultimate-fixed-${idea-ultimate.version}"; + + paths = [idea-ultimate]; + + nativeBuildInputs = [makeWrapper]; + + postBuild = let + runtimeLibs = [ + stdenv.cc.cc.lib + ## native versions + glfw3-minecraft + openal + + ## openal + alsa-lib + libjack2 + libpulseaudio + pipewire + + ## glfw + libGL + libX11 + libXcursor + libXext + libXrandr + libXxf86vm + + udev # oshi + flite # tts + ]; + + runtimePrograms = [ + mesa-demos + pciutils # need lspci + xrandr # needed for LWJGL [2.9.2, 3) https://github.com/LWJGL/lwjgl/issues/128 + ]; + in '' + wrapProgram $out/bin/idea-ultimate \ + --set LD_LIBRARY_PATH ${lib.makeLibraryPath runtimeLibs} \ + --prefix PATH : ${lib.makeBinPath runtimePrograms} + ''; + } diff --git a/exprs/openssh-fhs-fix.patch b/exprs/openssh-fhs-fix.patch deleted file mode 100644 index 27cc5ce..0000000 --- a/exprs/openssh-fhs-fix.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/readconf.h b/readconf.h -index ded13c9..94f489e 100644 ---- a/readconf.h -+++ b/readconf.h -@@ -203,7 +203,7 @@ typedef struct { - #define SESSION_TYPE_SUBSYSTEM 1 - #define SESSION_TYPE_DEFAULT 2 - --#define SSHCONF_CHECKPERM 1 /* check permissions on config file */ -+#define SSHCONF_CHECKPERM 0 /* check permissions on config file */ - #define SSHCONF_USERCONF 2 /* user provided config file not system */ - #define SSHCONF_FINAL 4 /* Final pass over config, after canon. */ - #define SSHCONF_NEVERMATCH 8 /* Match/Host never matches; internal only */ \ No newline at end of file diff --git a/exprs/overlay.nix b/exprs/overlay.nix index 7397303..1af7aa5 100644 --- a/exprs/overlay.nix +++ b/exprs/overlay.nix @@ -10,43 +10,5 @@ final: prev: { }; }); - fhs-openssh = prev.openssh.overrideAttrs (old: { - patches = old.patches or [] ++ [./openssh-fhs-fix.patch]; - }); - - idea-ultimate-fhs = prev.buildFHSEnv { - name = "idea-ultimate"; - - targetPkgs = pkgs: (with pkgs; [ - fhs-openssh - stdenv.cc.cc.lib - glfw3-minecraft - openal - - ## openal - alsa-lib - libjack2 - libpulseaudio - pipewire - - ## glfw - libGL - xorg.libX11 - xorg.libXcursor - xorg.libXext - xorg.libXrandr - xorg.libXxf86vm - - udev # oshi - flite - - esbuild - ]); - - extraInstallCommands = '' - ln -s "${prev.jetbrains.idea-ultimate}/share" "$out/" - ''; - - runScript = prev.lib.getExe prev.jetbrains.idea-ultimate; - }; + idea-ultimate-fixed = prev.callPackage ./idea-fixed.nix {}; }