Advertisement
Guest User

fhs.nix

a guest
Oct 29th, 2020
57
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.93 KB | None | 0 0
  1. { stdenv, buildFHSUserEnv, writeScript, runtimeShell
  2. , gnome3, shared-mime-info, glib, gsettings-desktop-schemas, gtk3
  3. , apulse
  4. , extraPkgs ? pkgs: [ ]
  5. , extraLibs ? pkgs: [ ]
  6. }:
  7.  
  8. with stdenv.lib;
  9.  
  10. let
  11. WRAPPER_XDG_DATA_DIRS = concatMapStringsSep ":" (x: "${x}/share") [
  12. gnome3.adwaita-icon-theme
  13. shared-mime-info
  14. ] + ":" + concatMapStringsSep ":" (x: "${x}/share/gsettings-schemas/${x.name}") [
  15. glib
  16. gsettings-desktop-schemas
  17. gtk3
  18. ];
  19.  
  20. WRAPPER_LD_LIBRARY_PATH = ""; #"${apulse}/lib/apulse";
  21.  
  22. in buildFHSUserEnv rec {
  23. name = "fhs";
  24.  
  25. targetPkgs = pkgs: with pkgs; [
  26. ] ++ extraPkgs pkgs;
  27.  
  28. multiPkgs = pkgs: with pkgs; [
  29. stdenv.cc.cc
  30. stdenv.cc.libc
  31.  
  32. # Common run-time dependencies
  33. libGLU
  34. libxml2
  35. zlib
  36.  
  37. # libxul run-time dependencies
  38. atk
  39. cairo
  40. dbus
  41. dbus-glib
  42. fontconfig
  43. freetype
  44. gdk-pixbuf
  45. glib
  46. gtk2
  47. gtk3
  48. pango
  49.  
  50. # Xorg
  51. xorg.libX11
  52. xorg.libXScrnSaver
  53. xorg.libXcomposite
  54. xorg.libXcursor
  55. xorg.libxcb
  56. xorg.libXdamage
  57. xorg.libXext
  58. xorg.libXfixes
  59. xorg.libXi
  60. xorg.libXinerama
  61. xorg.libXrender
  62. xorg.libXt
  63.  
  64. # Media support
  65. apulse
  66. alsaLib
  67. (lib.getDev alsaLib)
  68. libpulseaudio
  69. (lib.getDev libpulseaudio)
  70. ffmpeg
  71. ] ++ extraLibs pkgs;
  72.  
  73. extraBuildCommands = ''
  74. ln -s "$out/usr/lib32/libpango-1.0.so.0" "$out/usr/lib32/libpangox-1.0.so.0"
  75. '';
  76.  
  77. runScript = writeScript "run.sh" ''
  78. #!/bin/sh
  79.  
  80. if [ -z "$XDG_DATA_DIRS" ]; then
  81. XDG_DATA_DIRS="${WRAPPER_XDG_DATA_DIRS}"
  82. else
  83. XDG_DATA_DIRS="${WRAPPER_XDG_DATA_DIRS}:$XDG_DATA_DIRS"
  84. fi
  85. export XDG_DATA_DIRS
  86.  
  87. if [ -z "$LD_LIBRARY_PATH" ]; then
  88. LD_LIBRARY_PATH="${WRAPPER_LD_LIBRARY_PATH}"
  89. else
  90. LD_LIBRARY_PATH="${WRAPPER_LD_LIBRARY_PATH}:$LD_LIBRARY_PATH"
  91. fi
  92. export LD_LIBRARY_PATH
  93.  
  94. exec "$@"
  95. '';
  96.  
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement