Merge pull request #225748 from Atemu/buildFHSEnvBubblewrap-by-default

buildFHSEnv: use bubblewrap by default

authored by

Atemu and committed by
GitHub
445ef285 327a9c55

+128 -136
+3 -3
doc/builders/special/fhs-environments.section.md
··· 1 - # buildFHSUserEnv {#sec-fhs-environments} 2 3 - `buildFHSUserEnv` provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound `/nix/store`, so its footprint in terms of disk space needed is quite small. This allows one to run software which is hard or unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries. It uses Linux namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without root user rights requirement. Accepted arguments are: 4 5 - `name` 6 Environment name. ··· 26 ```nix 27 { pkgs ? import <nixpkgs> {} }: 28 29 - (pkgs.buildFHSUserEnv { 30 name = "simple-x11-env"; 31 targetPkgs = pkgs: (with pkgs; 32 [ udev
··· 1 + # buildFHSEnv {#sec-fhs-environments} 2 3 + `buildFHSEnv` provides a way to build and run FHS-compatible lightweight sandboxes. It creates an isolated root with bound `/nix/store`, so its footprint in terms of disk space needed is quite small. This allows one to run software which is hard or unfeasible to patch for NixOS -- 3rd-party source trees with FHS assumptions, games distributed as tarballs, software with integrity checking and/or external self-updated binaries. It uses Linux namespaces feature to create temporary lightweight environments which are destroyed after all child processes exit, without root user rights requirement. Accepted arguments are: 4 5 - `name` 6 Environment name. ··· 26 ```nix 27 { pkgs ? import <nixpkgs> {} }: 28 29 + (pkgs.buildFHSEnv { 30 name = "simple-x11-env"; 31 targetPkgs = pkgs: (with pkgs; 32 [ udev
+1 -1
nixos/doc/manual/configuration/adding-custom-packages.section.md
··· 94 Then instead of running the AppImage "as-is", run `appimage-run foo.appimage`. 95 96 To make other pre-built executables work on NixOS, you need to package them 97 - with Nix and special helpers like `autoPatchelfHook` or `buildFHSUserEnv`. See 98 the [Nixpkgs manual](https://nixos.org/nixpkgs/manual) for details. This 99 is complex and often doing a source build is easier.
··· 94 Then instead of running the AppImage "as-is", run `appimage-run foo.appimage`. 95 96 To make other pre-built executables work on NixOS, you need to package them 97 + with Nix and special helpers like `autoPatchelfHook` or `buildFHSEnv`. See 98 the [Nixpkgs manual](https://nixos.org/nixpkgs/manual) for details. This 99 is complex and often doing a source build is easier.
+1 -1
nixos/modules/services/computing/boinc/client.nix
··· 6 cfg = config.services.boinc; 7 allowRemoteGuiRpcFlag = optionalString cfg.allowRemoteGuiRpc "--allow_remote_gui_rpc"; 8 9 - fhsEnv = pkgs.buildFHSUserEnv { 10 name = "boinc-fhs-env"; 11 targetPkgs = pkgs': [ cfg.package ] ++ cfg.extraEnvPackages; 12 runScript = "/bin/boinc_client";
··· 6 cfg = config.services.boinc; 7 allowRemoteGuiRpcFlag = optionalString cfg.allowRemoteGuiRpc "--allow_remote_gui_rpc"; 8 9 + fhsEnv = pkgs.buildFHSEnv { 10 name = "boinc-fhs-env"; 11 targetPkgs = pkgs': [ cfg.package ] ++ cfg.extraEnvPackages; 12 runScript = "/bin/boinc_client";
+2 -2
pkgs/applications/blockchains/sparrow/fhsenv.nix
··· 1 { lib 2 - , buildFHSUserEnv 3 , sparrow-unwrapped 4 }: 5 6 - buildFHSUserEnv { 7 name = "sparrow"; 8 9 runScript = "${sparrow-unwrapped}/bin/sparrow";
··· 1 { lib 2 + , buildFHSEnv 3 , sparrow-unwrapped 4 }: 5 6 + buildFHSEnv { 7 name = "sparrow"; 8 9 runScript = "${sparrow-unwrapped}/bin/sparrow";
+2 -2
pkgs/applications/editors/android-studio/common.nix
··· 2 3 { alsa-lib 4 , bash 5 - , buildFHSUserEnv 6 , cacert 7 , coreutils 8 , dbus ··· 178 # Android Studio downloads prebuilt binaries as part of the SDK. These tools 179 # (e.g. `mksdcard`) have `/lib/ld-linux.so.2` set as the interpreter. An FHS 180 # environment is used as a work around for that. 181 - fhsEnv = buildFHSUserEnv { 182 name = "${drvName}-fhs-env"; 183 multiPkgs = pkgs: [ 184 ncurses5
··· 2 3 { alsa-lib 4 , bash 5 + , buildFHSEnv 6 , cacert 7 , coreutils 8 , dbus ··· 178 # Android Studio downloads prebuilt binaries as part of the SDK. These tools 179 # (e.g. `mksdcard`) have `/lib/ld-linux.so.2` set as the interpreter. An FHS 180 # environment is used as a work around for that. 181 + fhsEnv = buildFHSEnv { 182 name = "${drvName}-fhs-env"; 183 multiPkgs = pkgs: [ 184 ncurses5
+2 -2
pkgs/applications/editors/android-studio/default.nix
··· 1 - { callPackage, makeFontsConf, gnome2, buildFHSUserEnv, tiling_wm ? false }: 2 3 let 4 mkStudio = opts: callPackage (import ./common.nix opts) { ··· 6 fontDirectories = []; 7 }; 8 inherit (gnome2) GConf gnome_vfs; 9 - inherit buildFHSUserEnv; 10 inherit tiling_wm; 11 }; 12 stableVersion = {
··· 1 + { callPackage, makeFontsConf, gnome2, buildFHSEnv, tiling_wm ? false }: 2 3 let 4 mkStudio = opts: callPackage (import ./common.nix opts) { ··· 6 fontDirectories = []; 7 }; 8 inherit (gnome2) GConf gnome_vfs; 9 + inherit buildFHSEnv; 10 inherit tiling_wm; 11 }; 12 stableVersion = {
+3 -3
pkgs/applications/editors/quartus-prime/default.nix
··· 1 - { stdenv, lib, buildFHSUserEnv, callPackage, makeDesktopItem, writeScript 2 , supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ] 3 , unwrapped ? callPackage ./quartus.nix { inherit supportedDevices; } 4 }: ··· 13 categories = [ "Development" ]; 14 }; 15 # I think modelsim_ase/linux/vlm checksums itself, so use FHSUserEnv instead of `patchelf` 16 - in buildFHSUserEnv rec { 17 name = "quartus-prime-lite"; # wrapped 18 19 targetPkgs = pkgs: with pkgs; [ ··· 44 xorg.libXext 45 xorg.libXrender 46 libudev0-shim 47 - libxcrypt 48 ]; 49 50 passthru = { inherit unwrapped; };
··· 1 + { stdenv, lib, buildFHSEnvChroot, callPackage, makeDesktopItem, writeScript 2 , supportedDevices ? [ "Arria II" "Cyclone V" "Cyclone IV" "Cyclone 10 LP" "MAX II/V" "MAX 10 FPGA" ] 3 , unwrapped ? callPackage ./quartus.nix { inherit supportedDevices; } 4 }: ··· 13 categories = [ "Development" ]; 14 }; 15 # I think modelsim_ase/linux/vlm checksums itself, so use FHSUserEnv instead of `patchelf` 16 + in buildFHSEnvChroot rec { 17 name = "quartus-prime-lite"; # wrapped 18 19 targetPkgs = pkgs: with pkgs; [ ··· 44 xorg.libXext 45 xorg.libXrender 46 libudev0-shim 47 + libxcrypt-legacy 48 ]; 49 50 passthru = { inherit unwrapped; };
+3 -3
pkgs/applications/editors/vscode/generic.nix
··· 1 { stdenv, lib, makeDesktopItem 2 , unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages 3 , atomEnv, at-spi2-atk, autoPatchelfHook 4 - , systemd, fontconfig, libdbusmenu, glib, buildFHSUserEnvBubblewrap, wayland 5 6 # Populate passthru.tests 7 , tests ··· 150 # in order to create or update extensions. 151 # See: #83288 #91179 #73810 #41189 152 # 153 - # buildFHSUserEnv allows for users to use the existing vscode 154 # extension tooling without significant pain. 155 - fhs = { additionalPkgs ? pkgs: [] }: buildFHSUserEnvBubblewrap { 156 # also determines the name of the wrapped command 157 name = executableName; 158
··· 1 { stdenv, lib, makeDesktopItem 2 , unzip, libsecret, libXScrnSaver, libxshmfence, buildPackages 3 , atomEnv, at-spi2-atk, autoPatchelfHook 4 + , systemd, fontconfig, libdbusmenu, glib, buildFHSEnv, wayland 5 6 # Populate passthru.tests 7 , tests ··· 150 # in order to create or update extensions. 151 # See: #83288 #91179 #73810 #41189 152 # 153 + # buildFHSEnv allows for users to use the existing vscode 154 # extension tooling without significant pain. 155 + fhs = { additionalPkgs ? pkgs: [] }: buildFHSEnv { 156 # also determines the name of the wrapped command 157 name = executableName; 158
+3 -3
pkgs/applications/graphics/unigine-superposition/default.nix
··· 22 , mkDerivation 23 , xkeyboard_config 24 , fetchurl 25 - , buildFHSUserEnv 26 , openal 27 , makeDesktopItem 28 }: ··· 94 in 95 96 # We can patch the "/bin/superposition", but "/bin/launcher" checks it for changes. 97 - # For that we need use a buildFHSUserEnv. 98 99 - buildFHSUserEnv { 100 name = "Superposition"; 101 102 targetPkgs = pkgs: [
··· 22 , mkDerivation 23 , xkeyboard_config 24 , fetchurl 25 + , buildFHSEnv 26 , openal 27 , makeDesktopItem 28 }: ··· 94 in 95 96 # We can patch the "/bin/superposition", but "/bin/launcher" checks it for changes. 97 + # For that we need use a buildFHSEnv. 98 99 + buildFHSEnv { 100 name = "Superposition"; 101 102 targetPkgs = pkgs: [
+3 -3
pkgs/applications/misc/bottles/fhsenv.nix
··· 1 { lib 2 - , buildFHSUserEnvBubblewrap 3 , symlinkJoin 4 , bottles-unwrapped 5 , gst_all_1 ··· 99 symlinkJoin { 100 name = "bottles"; 101 paths = [ 102 - (buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles"; runScript = "bottles"; })) 103 - (buildFHSUserEnvBubblewrap (fhsEnv // { name = "bottles-cli"; runScript = "bottles-cli"; })) 104 ]; 105 postBuild = '' 106 mkdir -p $out/share
··· 1 { lib 2 + , buildFHSEnv 3 , symlinkJoin 4 , bottles-unwrapped 5 , gst_all_1 ··· 99 symlinkJoin { 100 name = "bottles"; 101 paths = [ 102 + (buildFHSEnv (fhsEnv // { name = "bottles"; runScript = "bottles"; })) 103 + (buildFHSEnv (fhsEnv // { name = "bottles-cli"; runScript = "bottles-cli"; })) 104 ]; 105 postBuild = '' 106 mkdir -p $out/share
+2 -2
pkgs/applications/misc/houdini/default.nix
··· 1 - { lib, stdenv, writeScript, callPackage, buildFHSUserEnv, unwrapped ? callPackage ./runtime.nix {} }: 2 3 - buildFHSUserEnv rec { 4 name = "houdini-${unwrapped.version}"; 5 6 targetPkgs = pkgs: with pkgs; [
··· 1 + { lib, stdenv, writeScript, callPackage, buildFHSEnv, unwrapped ? callPackage ./runtime.nix {} }: 2 3 + buildFHSEnv rec { 4 name = "houdini-${unwrapped.version}"; 5 6 targetPkgs = pkgs: with pkgs; [
+2 -2
pkgs/applications/misc/lutris/fhsenv.nix
··· 1 - { lib, buildFHSUserEnv, lutris-unwrapped 2 , extraPkgs ? pkgs: [ ] 3 , extraLibraries ? pkgs: [ ] 4 , steamSupport ? true ··· 13 libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite 14 ]; 15 16 - in buildFHSUserEnv { 17 name = "lutris"; 18 19 runScript = "lutris";
··· 1 + { lib, buildFHSEnv, lutris-unwrapped 2 , extraPkgs ? pkgs: [ ] 3 , extraLibraries ? pkgs: [ ] 4 , steamSupport ? true ··· 13 libXxf86vm libXinerama libSM libXv libXaw libXi libXcursor libXcomposite 14 ]; 15 16 + in buildFHSEnv { 17 name = "lutris"; 18 19 runScript = "lutris";
+4 -2
pkgs/applications/misc/pdfstudio/common.nix
··· 5 , version 6 , desktopName 7 , longDescription 8 - , buildFHSUserEnv 9 , extraBuildInputs ? [ ] 10 , jdk 11 , stdenv ··· 68 69 in 70 # Package with cups in FHS sandbox, because JAVA bin expects "/usr/bin/lpr" for printing. 71 - buildFHSUserEnv { 72 name = pname; 73 targetPkgs = pkgs: [ 74 cups ··· 94 ]; 95 license = licenses.unfree; 96 platforms = platforms.linux; 97 mainProgram = pname; 98 maintainers = [ maintainers.pwoelfel ]; 99 };
··· 5 , version 6 , desktopName 7 , longDescription 8 + , broken ? false 9 + , buildFHSEnv 10 , extraBuildInputs ? [ ] 11 , jdk 12 , stdenv ··· 69 70 in 71 # Package with cups in FHS sandbox, because JAVA bin expects "/usr/bin/lpr" for printing. 72 + buildFHSEnv { 73 name = pname; 74 targetPkgs = pkgs: [ 75 cups ··· 95 ]; 96 license = licenses.unfree; 97 platforms = platforms.linux; 98 + inherit broken; 99 mainProgram = pname; 100 maintainers = [ maintainers.pwoelfel ]; 101 };
+4
pkgs/applications/misc/pdfstudio/default.nix
··· 40 sha256 = "sha256-cc8YjrMsYZqgmwp5+AA+HsqzjxzFcTT/ga31NQz/OWc="; 41 }; 42 jdk = jdk11; 43 }; 44 45 pdfstudio2021 = callPackage ./common.nix rec { ··· 66 (lib.getLib stdenv.cc.cc) # for libstdc++.so.6 and libgomp.so.1 67 ]; 68 jdk = jdk17; 69 }; 70 }.${pname}
··· 40 sha256 = "sha256-cc8YjrMsYZqgmwp5+AA+HsqzjxzFcTT/ga31NQz/OWc="; 41 }; 42 jdk = jdk11; 43 + 44 + broken = true; # Bad hash, probably unstable 45 }; 46 47 pdfstudio2021 = callPackage ./common.nix rec { ··· 68 (lib.getLib stdenv.cc.cc) # for libstdc++.so.6 and libgomp.so.1 69 ]; 70 jdk = jdk17; 71 + 72 + broken = true; # URL 404s, probably unstable 73 }; 74 }.${pname}
+2 -2
pkgs/applications/misc/sidequest/default.nix
··· 1 - { stdenv, lib, fetchurl, buildFHSUserEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }: 2 let 3 pname = "sidequest"; 4 version = "0.10.24"; ··· 38 "$out/lib/SideQuest/sidequest" 39 ''; 40 }; 41 - in buildFHSUserEnv { 42 name = "SideQuest"; 43 44 passthru = {
··· 1 + { stdenv, lib, fetchurl, buildFHSEnv, makeDesktopItem, makeWrapper, atomEnv, libuuid, at-spi2-atk, icu, openssl, zlib }: 2 let 3 pname = "sidequest"; 4 version = "0.10.24"; ··· 38 "$out/lib/SideQuest/sidequest" 39 ''; 40 }; 41 + in buildFHSEnv { 42 name = "SideQuest"; 43 44 passthru = {
+2 -2
pkgs/applications/networking/cisco-packet-tracer/7.nix
··· 1 { stdenv 2 , lib 3 - , buildFHSUserEnvBubblewrap 4 , copyDesktopItems 5 , dpkg 6 , lndir ··· 40 mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ]; 41 }; 42 43 - fhs = buildFHSUserEnvBubblewrap { 44 name = "packettracer7"; 45 runScript = "${ptFiles}/bin/packettracer7"; 46
··· 1 { stdenv 2 , lib 3 + , buildFHSEnv 4 , copyDesktopItems 5 , dpkg 6 , lndir ··· 40 mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ]; 41 }; 42 43 + fhs = buildFHSEnv { 44 name = "packettracer7"; 45 runScript = "${ptFiles}/bin/packettracer7"; 46
+2 -2
pkgs/applications/networking/cisco-packet-tracer/8.nix
··· 2 , lib 3 , alsa-lib 4 , autoPatchelfHook 5 - , buildFHSUserEnvBubblewrap 6 , copyDesktopItems 7 , dbus 8 , dpkg ··· 97 mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ]; 98 }; 99 100 - fhs = buildFHSUserEnvBubblewrap { 101 name = "packettracer8"; 102 runScript = "${ptFiles}/bin/packettracer"; 103 targetPkgs = pkgs: [ libudev0-shim ];
··· 2 , lib 3 , alsa-lib 4 , autoPatchelfHook 5 + , buildFHSEnv 6 , copyDesktopItems 7 , dbus 8 , dpkg ··· 97 mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ]; 98 }; 99 100 + fhs = buildFHSEnv { 101 name = "packettracer8"; 102 runScript = "${ptFiles}/bin/packettracer"; 103 targetPkgs = pkgs: [ libudev0-shim ];
+2 -2
pkgs/applications/networking/dropbox/default.nix
··· 1 - { stdenv, lib, buildFHSUserEnv, writeScript, makeDesktopItem }: 2 3 let platforms = [ "i686-linux" "x86_64-linux" ]; in 4 ··· 30 }; 31 in 32 33 - buildFHSUserEnv { 34 name = "dropbox"; 35 36 targetPkgs = pkgs: with pkgs; with xorg; [
··· 1 + { stdenv, lib, buildFHSEnv, writeScript, makeDesktopItem }: 2 3 let platforms = [ "i686-linux" "x86_64-linux" ]; in 4 ··· 30 }; 31 in 32 33 + buildFHSEnv { 34 name = "dropbox"; 35 36 targetPkgs = pkgs: with pkgs; with xorg; [
+2 -2
pkgs/applications/networking/expressvpn/default.nix
··· 1 { autoPatchelfHook 2 - , buildFHSUserEnv 3 , dpkg 4 , fetchurl 5 , inotify-tools ··· 41 ''; 42 }; 43 44 - expressvpndFHS = buildFHSUserEnv { 45 name = "expressvpnd"; 46 47 # When connected, it directly creates/deletes resolv.conf to change the DNS entries.
··· 1 { autoPatchelfHook 2 + , buildFHSEnv 3 , dpkg 4 , fetchurl 5 , inotify-tools ··· 41 ''; 42 }; 43 44 + expressvpndFHS = buildFHSEnv { 45 name = "expressvpnd"; 46 47 # When connected, it directly creates/deletes resolv.conf to change the DNS entries.
+1 -1
pkgs/applications/networking/pcloud/default.nix
··· 3 # of applications. 4 # 5 # What Nix does, simplifying a bit, is that it extracts an AppImage and starts 6 - # it via buildFHSUserEnv - this is totally fine for majority of apps, but makes 7 # it by-design *impossible* to launch SUID wrappers [^1]; in case of pCloud, 8 # it's fusermount. 9 # (so pCloud starts, but silently fails to mount the FUSE drive.)
··· 3 # of applications. 4 # 5 # What Nix does, simplifying a bit, is that it extracts an AppImage and starts 6 + # it via buildFHSEnv - this is totally fine for majority of apps, but makes 7 # it by-design *impossible* to launch SUID wrappers [^1]; in case of pCloud, 8 # it's fusermount. 9 # (so pCloud starts, but silently fails to mount the FUSE drive.)
+2 -2
pkgs/applications/networking/remote/vmware-horizon-client/default.nix
··· 1 { stdenv 2 , lib 3 - , buildFHSUserEnv 4 , fetchurl 5 , gsettings-desktop-schemas 6 , makeDesktopItem ··· 57 ''; 58 }; 59 60 - vmwareFHSUserEnv = name: buildFHSUserEnv { 61 inherit name; 62 63 runScript = "${vmwareHorizonClientFiles}/bin/${name}_wrapper";
··· 1 { stdenv 2 , lib 3 + , buildFHSEnv 4 , fetchurl 5 , gsettings-desktop-schemas 6 , makeDesktopItem ··· 57 ''; 58 }; 59 60 + vmwareFHSUserEnv = name: buildFHSEnv { 61 inherit name; 62 63 runScript = "${vmwareHorizonClientFiles}/bin/${name}_wrapper";
+2 -2
pkgs/applications/science/electronics/bitscope/common.nix
··· 1 { atk 2 - , buildFHSUserEnv 3 , cairo 4 , dpkg 5 , gdk-pixbuf ··· 56 ${(wrapBinary libs) attrs.toolName} 57 ''; 58 }); 59 - in buildFHSUserEnv { 60 name = "${attrs.toolName}-${attrs.version}"; 61 runScript = "${pkg.outPath}/bin/${attrs.toolName}"; 62 } // { inherit (pkg) meta name; }
··· 1 { atk 2 + , buildFHSEnv 3 , cairo 4 , dpkg 5 , gdk-pixbuf ··· 56 ${(wrapBinary libs) attrs.toolName} 57 ''; 58 }); 59 + in buildFHSEnv { 60 name = "${attrs.toolName}-${attrs.version}"; 61 runScript = "${pkg.outPath}/bin/${attrs.toolName}"; 62 } // { inherit (pkg) meta name; }
+2 -2
pkgs/applications/science/misc/foldingathome/client.nix
··· 1 { lib, stdenv 2 , autoPatchelfHook 3 - , buildFHSUserEnv 4 , dpkg 5 , fetchurl 6 , gcc-unwrapped ··· 35 installPhase = "cp -ar usr $out"; 36 }; 37 in 38 - buildFHSUserEnv { 39 name = fahclient.name; 40 41 targetPkgs = pkgs': [
··· 1 { lib, stdenv 2 , autoPatchelfHook 3 + , buildFHSEnv 4 , dpkg 5 , fetchurl 6 , gcc-unwrapped ··· 35 installPhase = "cp -ar usr $out"; 36 }; 37 in 38 + buildFHSEnv { 39 name = fahclient.name; 40 41 targetPkgs = pkgs': [
+2 -2
pkgs/applications/video/davinci-resolve/default.nix
··· 8 , addOpenGLRunpath 9 , libGLU 10 , xorg 11 - , buildFHSUserEnv 12 , bash 13 , writeText 14 , ocl-icd ··· 133 } 134 ); 135 in 136 - buildFHSUserEnv { 137 name = "davinci-resolve"; 138 targetPkgs = pkgs: with pkgs; [ 139 librsvg
··· 8 , addOpenGLRunpath 9 , libGLU 10 , xorg 11 + , buildFHSEnv 12 , bash 13 , writeText 14 , ocl-icd ··· 133 } 134 ); 135 in 136 + buildFHSEnv { 137 name = "davinci-resolve"; 138 targetPkgs = pkgs: with pkgs; [ 139 librsvg
+2 -2
pkgs/applications/video/lightworks/default.nix
··· 1 - { lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv 2 , gtk3, gdk-pixbuf, cairo, libjpeg_original, glib, pango, libGLU 3 , libGL, nvidia_cg_toolkit, zlib, openssl, libuuid , alsa-lib, udev, libjack2 4 }: ··· 73 }; 74 75 # Lightworks expects some files in /usr/share/lightworks 76 - in buildFHSUserEnv { 77 name = lightworks.name; 78 79 targetPkgs = pkgs: [
··· 1 + { lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSEnv 2 , gtk3, gdk-pixbuf, cairo, libjpeg_original, glib, pango, libGLU 3 , libGL, nvidia_cg_toolkit, zlib, openssl, libuuid , alsa-lib, udev, libjack2 4 }: ··· 73 }; 74 75 # Lightworks expects some files in /usr/share/lightworks 76 + in buildFHSEnv { 77 name = lightworks.name; 78 79 targetPkgs = pkgs: [
+2 -2
pkgs/applications/video/webtorrent_desktop/default.nix
··· 2 ## - export ELECTRON_SKIP_BINARY_DOWNLOAD=1 3 ## - jq "del(.scripts.preinstall)" node_modules/shellcheck/package.json | sponge node_modules/shellcheck/package.json 4 { 5 - lib, stdenv, buildFHSUserEnvBubblewrap, runCommand, writeScript, fetchurl, fetchzip 6 }: 7 let 8 pname = "webtorrent-desktop"; ··· 20 else 21 throw "Webtorrent is not currently supported on ${stdenv.hostPlatform.system}"; 22 23 - fhs = buildFHSUserEnvBubblewrap rec { 24 name = "fhsEnterWebTorrent"; 25 runScript = "${src}/WebTorrent"; 26 ## use the trampoline, if you need to shell into the fhsenv
··· 2 ## - export ELECTRON_SKIP_BINARY_DOWNLOAD=1 3 ## - jq "del(.scripts.preinstall)" node_modules/shellcheck/package.json | sponge node_modules/shellcheck/package.json 4 { 5 + lib, stdenv, buildFHSEnv, runCommand, writeScript, fetchurl, fetchzip 6 }: 7 let 8 pname = "webtorrent-desktop"; ··· 20 else 21 throw "Webtorrent is not currently supported on ${stdenv.hostPlatform.system}"; 22 23 + fhs = buildFHSEnv rec { 24 name = "fhsEnterWebTorrent"; 25 runScript = "${src}/WebTorrent"; 26 ## use the trampoline, if you need to shell into the fhsenv
+2 -2
pkgs/applications/virtualization/vmware-workstation/default.nix
··· 1 { stdenv 2 - , buildFHSUserEnv 3 , fetchurl 4 , lib 5 , zlib ··· 64 ''; 65 }); 66 67 - vmware-unpack-env = buildFHSUserEnv rec { 68 name = "vmware-unpack-env"; 69 targetPkgs = pkgs: [ zlib ]; 70 };
··· 1 { stdenv 2 + , buildFHSEnv 3 , fetchurl 4 , lib 5 , zlib ··· 64 ''; 65 }); 66 67 + vmware-unpack-env = buildFHSEnv rec { 68 name = "vmware-unpack-env"; 69 targetPkgs = pkgs: [ zlib ]; 70 };
+2 -2
pkgs/build-support/appimage/default.nix
··· 6 , libarchive 7 , pv 8 , squashfsTools 9 - , buildFHSUserEnv 10 , pkgs 11 }: 12 ··· 43 extraPkgs, 44 meta ? {}, 45 ... 46 - }: buildFHSUserEnv 47 (defaultFhsEnvArgs // { 48 inherit name; 49
··· 6 , libarchive 7 , pv 8 , squashfsTools 9 + , buildFHSEnv 10 , pkgs 11 }: 12 ··· 43 extraPkgs, 44 meta ? {}, 45 ... 46 + }: buildFHSEnv 47 (defaultFhsEnvArgs // { 48 inherit name; 49
pkgs/build-support/build-fhs-userenv-bubblewrap/buildFHSEnv.nix pkgs/build-support/build-fhsenv-bubblewrap/buildFHSEnv.nix
pkgs/build-support/build-fhs-userenv-bubblewrap/default.nix pkgs/build-support/build-fhsenv-bubblewrap/default.nix
pkgs/build-support/build-fhs-userenv/chrootenv/default.nix pkgs/build-support/build-fhsenv-chroot/chrootenv/default.nix
pkgs/build-support/build-fhs-userenv/chrootenv/src/chrootenv.c pkgs/build-support/build-fhsenv-chroot/chrootenv/src/chrootenv.c
pkgs/build-support/build-fhs-userenv/chrootenv/src/meson.build pkgs/build-support/build-fhsenv-chroot/chrootenv/src/meson.build
pkgs/build-support/build-fhs-userenv/default.nix pkgs/build-support/build-fhsenv-chroot/default.nix
pkgs/build-support/build-fhs-userenv/env.nix pkgs/build-support/build-fhsenv-chroot/env.nix
+2 -2
pkgs/development/compilers/flutter/flutter.nix
··· 6 }: 7 8 { bash 9 - , buildFHSUserEnv 10 , cacert 11 , git 12 , runCommand ··· 100 101 # Wrap flutter inside an fhs user env to allow execution of binary, 102 # like adb from $ANDROID_HOME or java from android-studio. 103 - fhsEnv = buildFHSUserEnv { 104 name = "${drvName}-fhs-env"; 105 multiPkgs = pkgs: [ 106 # Flutter only use these certificates
··· 6 }: 7 8 { bash 9 + , buildFHSEnv 10 , cacert 11 , git 12 , runCommand ··· 100 101 # Wrap flutter inside an fhs user env to allow execution of binary, 102 # like adb from $ANDROID_HOME or java from android-studio. 103 + fhsEnv = buildFHSEnv { 104 name = "${drvName}-fhs-env"; 105 multiPkgs = pkgs: [ 106 # Flutter only use these certificates
+3 -3
pkgs/development/embedded/arduino/arduino-cli/default.nix
··· 1 - { lib, stdenv, buildGoModule, fetchFromGitHub, buildFHSUserEnv, installShellFiles }: 2 3 let 4 ··· 48 49 in 50 if stdenv.isLinux then 51 - # buildFHSUserEnv is needed because the arduino-cli downloads compiler 52 # toolchains from the internet that have their interpreters pointed at 53 # /lib64/ld-linux-x86-64.so.2 54 - buildFHSUserEnv 55 { 56 inherit (pkg) name meta; 57
··· 1 + { lib, stdenv, buildGoModule, fetchFromGitHub, buildFHSEnv, installShellFiles }: 2 3 let 4 ··· 48 49 in 50 if stdenv.isLinux then 51 + # buildFHSEnv is needed because the arduino-cli downloads compiler 52 # toolchains from the internet that have their interpreters pointed at 53 # /lib64/ld-linux-x86-64.so.2 54 + buildFHSEnv 55 { 56 inherit (pkg) name meta; 57
+2 -2
pkgs/development/embedded/arduino/arduino-core/chrootenv.nix
··· 1 - { lib, buildFHSUserEnv, arduino-core-unwrapped, withGui ? false, withTeensyduino ? false }: 2 let 3 arduino-unwrapped = arduino-core-unwrapped.override { inherit withGui withTeensyduino; }; 4 in 5 - buildFHSUserEnv { 6 name = "arduino"; 7 8 targetPkgs =
··· 1 + { lib, buildFHSEnv, arduino-core-unwrapped, withGui ? false, withTeensyduino ? false }: 2 let 3 arduino-unwrapped = arduino-core-unwrapped.override { inherit withGui withTeensyduino; }; 4 in 5 + buildFHSEnv { 6 name = "arduino"; 7 8 targetPkgs =
+2 -2
pkgs/development/embedded/platformio/chrootenv.nix
··· 1 - { lib, buildFHSUserEnv, platformio-core }: 2 3 let 4 pio-pkgs = pkgs: ··· 19 ]); 20 21 in 22 - buildFHSUserEnv { 23 name = "platformio"; 24 25 targetPkgs = pio-pkgs;
··· 1 + { lib, buildFHSEnv, platformio-core }: 2 3 let 4 pio-pkgs = pkgs: ··· 19 ]); 20 21 in 22 + buildFHSEnv { 23 name = "platformio"; 24 25 targetPkgs = pio-pkgs;
+2 -2
pkgs/development/interpreters/nextflow/default.nix
··· 8 , gnused 9 , gawk 10 , coreutils 11 - , buildFHSUserEnv 12 }: 13 14 let ··· 68 }; 69 in 70 if stdenv.isLinux then 71 - buildFHSUserEnv 72 { 73 name = "nextflow"; 74 targetPkgs = pkgs: [ nextflow ];
··· 8 , gnused 9 , gawk 10 , coreutils 11 + , buildFHSEnv 12 }: 13 14 let ··· 68 }; 69 in 70 if stdenv.isLinux then 71 + buildFHSEnv 72 { 73 name = "nextflow"; 74 targetPkgs = pkgs: [ nextflow ];
+1 -1
pkgs/development/python-modules/mlflow/default.nix
··· 94 95 # no tests in PyPI dist 96 # run into https://stackoverflow.com/questions/51203641/attributeerror-module-alembic-context-has-no-attribute-config 97 - # also, tests use conda so can't run on NixOS without buildFHSUserEnv 98 doCheck = false; 99 100 meta = with lib; {
··· 94 95 # no tests in PyPI dist 96 # run into https://stackoverflow.com/questions/51203641/attributeerror-module-alembic-context-has-no-attribute-config 97 + # also, tests use conda so can't run on NixOS without buildFHSEnv 98 doCheck = false; 99 100 meta = with lib; {
+2 -2
pkgs/development/tools/electron-fiddle/default.nix
··· 1 - { buildFHSUserEnv 2 , electron_22 3 , fetchFromGitHub 4 , fetchYarnDeps ··· 86 }; 87 88 in 89 - buildFHSUserEnv { 90 name = "electron-fiddle"; 91 runScript = "${electron}/bin/electron ${unwrapped}/lib/electron-fiddle/resources/app.asar"; 92
··· 1 + { buildFHSEnv 2 , electron_22 3 , fetchFromGitHub 4 , fetchYarnDeps ··· 86 }; 87 88 in 89 + buildFHSEnv { 90 name = "electron-fiddle"; 91 runScript = "${electron}/bin/electron ${unwrapped}/lib/electron-fiddle/resources/app.asar"; 92
+2 -2
pkgs/development/tools/hover/default.nix
··· 1 { lib 2 , buildGoModule 3 - , buildFHSUserEnv 4 , binutils 5 , dejavu_fonts 6 , pkg-config ··· 84 }; 85 86 in 87 - buildFHSUserEnv rec { 88 name = pname; 89 targetPkgs = pkgs: [ 90 binutils
··· 1 { lib 2 , buildGoModule 3 + , buildFHSEnv 4 , binutils 5 , dejavu_fonts 6 , pkg-config ··· 84 }; 85 86 in 87 + buildFHSEnv rec { 88 name = pname; 89 targetPkgs = pkgs: [ 90 binutils
+2 -2
pkgs/development/tools/unityhub/default.nix
··· 1 - { lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSUserEnv 2 , extraPkgs ? pkgs: [ ] 3 , extraLibs ? pkgs: [ ] 4 }: ··· 17 makeWrapper 18 ]; 19 20 - fhsEnv = buildFHSUserEnv { 21 name = "${pname}-fhs-env"; 22 runScript = ""; 23
··· 1 + { lib, stdenv, fetchurl, dpkg, makeWrapper, buildFHSEnv 2 , extraPkgs ? pkgs: [ ] 3 , extraLibs ? pkgs: [ ] 4 }: ··· 17 makeWrapper 18 ]; 19 20 + fhsEnv = buildFHSEnv { 21 name = "${pname}-fhs-env"; 22 runScript = ""; 23
+3 -3
pkgs/games/anki/bin.nix
··· 1 - { fetchurl, stdenv, lib, buildFHSUserEnv, appimageTools, writeShellScript, anki, undmg, zstd, commandLineArgs ? [] }: 2 3 let 4 pname = "anki-bin"; ··· 50 51 passthru = { inherit sources; }; 52 53 - fhsUserEnvAnki = buildFHSUserEnv (appimageTools.defaultFhsEnvArgs // { 54 inherit pname version; 55 name = null; # Appimage sets it to "appimage-env" 56 ··· 75 }); 76 in 77 78 - if stdenv.isLinux then fhsUserEnvAnki 79 else stdenv.mkDerivation { 80 inherit pname version passthru; 81
··· 1 + { fetchurl, stdenv, lib, buildFHSEnv, appimageTools, writeShellScript, anki, undmg, zstd, commandLineArgs ? [] }: 2 3 let 4 pname = "anki-bin"; ··· 50 51 passthru = { inherit sources; }; 52 53 + fhsEnvAnki = buildFHSEnv (appimageTools.defaultFhsEnvArgs // { 54 inherit pname version; 55 name = null; # Appimage sets it to "appimage-env" 56 ··· 75 }); 76 in 77 78 + if stdenv.isLinux then fhsEnvAnki 79 else stdenv.mkDerivation { 80 inherit pname version passthru; 81
+2 -2
pkgs/games/clonehero/fhs-wrapper.nix
··· 1 { clonehero-unwrapped 2 , makeDesktopItem 3 - , buildFHSUserEnv 4 , liberation_ttf 5 , callPackage 6 }: ··· 16 categories = [ "Game" ]; 17 }; 18 in 19 - buildFHSUserEnv { 20 inherit name; 21 inherit (clonehero-unwrapped) meta; 22
··· 1 { clonehero-unwrapped 2 , makeDesktopItem 3 + , buildFHSEnv 4 , liberation_ttf 5 , callPackage 6 }: ··· 16 categories = [ "Game" ]; 17 }; 18 in 19 + buildFHSEnv { 20 inherit name; 21 inherit (clonehero-unwrapped) meta; 22
+2 -2
pkgs/games/heroic/fhsenv.nix
··· 1 { lib 2 - , buildFHSUserEnv 3 , heroic-unwrapped 4 , extraPkgs ? pkgs: [ ] 5 , extraLibraries ? pkgs: [ ] 6 }: 7 8 - buildFHSUserEnv { 9 name = "heroic"; 10 11 runScript = "heroic";
··· 1 { lib 2 + , buildFHSEnv 3 , heroic-unwrapped 4 , extraPkgs ? pkgs: [ ] 5 , extraLibraries ? pkgs: [ ] 6 }: 7 8 + buildFHSEnv { 9 name = "heroic"; 10 11 runScript = "heroic";
+2 -2
pkgs/games/left4gore/default.nix
··· 1 - { stdenvNoCC, lib, fetchurl, buildFHSUserEnv }: 2 3 let 4 version = "2.3"; ··· 20 }; 21 22 # FHS env, as patchelf will not work 23 - env = buildFHSUserEnv { 24 name = "left4gore-env-${version}"; 25 targetPkgs = _: [ left4gore-unwrapped ]; 26 runScript = "left4gore";
··· 1 + { stdenvNoCC, lib, fetchurl, buildFHSEnv }: 2 3 let 4 version = "2.3"; ··· 20 }; 21 22 # FHS env, as patchelf will not work 23 + env = buildFHSEnv { 24 name = "left4gore-env-${version}"; 25 targetPkgs = _: [ left4gore-unwrapped ]; 26 runScript = "left4gore";
+3 -3
pkgs/games/runescape-launcher/default.nix
··· 1 { stdenv 2 , lib 3 , autoPatchelfHook 4 - , buildFHSUserEnv 5 , cairo 6 , dpkg 7 , fetchurl ··· 109 110 /* 111 * We can patch the runescape launcher, but it downloads a client at runtime and checks it for changes. 112 - * For that we need use a buildFHSUserEnv. 113 * FHS simulates a classic linux shell 114 */ 115 - buildFHSUserEnv { 116 name = "RuneScape"; 117 targetPkgs = pkgs: [ 118 runescape
··· 1 { stdenv 2 , lib 3 , autoPatchelfHook 4 + , buildFHSEnv 5 , cairo 6 , dpkg 7 , fetchurl ··· 109 110 /* 111 * We can patch the runescape launcher, but it downloads a client at runtime and checks it for changes. 112 + * For that we need use a buildFHSEnv. 113 * FHS simulates a classic linux shell 114 */ 115 + buildFHSEnv { 116 name = "RuneScape"; 117 targetPkgs = pkgs: [ 118 runescape
+2 -2
pkgs/games/shticker-book-unwritten/default.nix
··· 1 - { buildFHSUserEnv, callPackage, lib }: 2 let 3 4 shticker-book-unwritten-unwrapped = callPackage ./unwrapped.nix { }; 5 6 - in buildFHSUserEnv { 7 name = "shticker_book_unwritten"; 8 targetPkgs = pkgs: with pkgs; [ 9 alsa-lib
··· 1 + { buildFHSEnv, callPackage, lib }: 2 let 3 4 shticker-book-unwritten-unwrapped = callPackage ./unwrapped.nix { }; 5 6 + in buildFHSEnv { 7 name = "shticker_book_unwritten"; 8 targetPkgs = pkgs: with pkgs; [ 9 alsa-lib
+2 -2
pkgs/games/steam/default.nix
··· 1 { makeScopeWithSplicing, generateSplicesForMkScope 2 - , stdenv, buildFHSUserEnv, pkgsi686Linux 3 }: 4 5 let ··· 19 if self.steamArch == "amd64" 20 then pkgsi686Linux.steamPackages.steam-runtime-wrapped 21 else null; 22 - inherit buildFHSUserEnv; 23 }; 24 steam-fhsenv-small = steam-fhsenv.override { withGameSpecificLibraries = false; }; 25 steamcmd = callPackage ./steamcmd.nix { };
··· 1 { makeScopeWithSplicing, generateSplicesForMkScope 2 + , stdenv, buildFHSEnv, pkgsi686Linux 3 }: 4 5 let ··· 19 if self.steamArch == "amd64" 20 then pkgsi686Linux.steamPackages.steam-runtime-wrapped 21 else null; 22 + inherit buildFHSEnv; 23 }; 24 steam-fhsenv-small = steam-fhsenv.override { withGameSpecificLibraries = false; }; 25 steamcmd = callPackage ./steamcmd.nix { };
+3 -3
pkgs/games/steam/fhsenv.nix
··· 1 - { lib, stdenv, writeShellScript, buildFHSUserEnv, steam, glxinfo-i686 2 , steam-runtime-wrapped, steam-runtime-wrapped-i686 ? null 3 , extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs 4 , extraLibraries ? pkgs: [ ] # extra packages to add to multiPkgs ··· 55 56 envScript = lib.toShellVars extraEnv; 57 58 - in buildFHSUserEnv rec { 59 name = "steam"; 60 61 targetPkgs = pkgs: with pkgs; [ ··· 270 # breaks the ability for application to reference shared memory. 271 unsharePid = false; 272 273 - passthru.run = buildFHSUserEnv { 274 name = "steam-run"; 275 276 targetPkgs = commonTargetPkgs;
··· 1 + { lib, stdenv, writeShellScript, buildFHSEnv, steam, glxinfo-i686 2 , steam-runtime-wrapped, steam-runtime-wrapped-i686 ? null 3 , extraPkgs ? pkgs: [ ] # extra packages to add to targetPkgs 4 , extraLibraries ? pkgs: [ ] # extra packages to add to multiPkgs ··· 55 56 envScript = lib.toShellVars extraEnv; 57 58 + in buildFHSEnv rec { 59 name = "steam"; 60 61 targetPkgs = pkgs: with pkgs; [ ··· 270 # breaks the ability for application to reference shared memory. 271 unsharePid = false; 272 273 + passthru.run = buildFHSEnv { 274 name = "steam-run"; 275 276 targetPkgs = commonTargetPkgs;
+2 -2
pkgs/games/unvanquished/default.nix
··· 4 , fetchFromGitHub 5 , fetchpatch 6 , SDL2 7 - , buildFHSUserEnv 8 , cmake 9 , copyDesktopItems 10 , curl ··· 95 ''; 96 }; 97 98 - fhsEnv = buildFHSUserEnv { 99 name = "unvanquished-fhs-wrapper"; 100 101 targetPkgs = pkgs: [ libstdcpp-preload-for-unvanquished-nacl ];
··· 4 , fetchFromGitHub 5 , fetchpatch 6 , SDL2 7 + , buildFHSEnv 8 , cmake 9 , copyDesktopItems 10 , curl ··· 95 ''; 96 }; 97 98 + fhsEnv = buildFHSEnv { 99 name = "unvanquished-fhs-wrapper"; 100 101 targetPkgs = pkgs: [ libstdcpp-preload-for-unvanquished-nacl ];
+2 -2
pkgs/servers/onlyoffice-documentserver/default.nix
··· 1 { lib 2 , stdenv 3 - , buildFHSUserEnvBubblewrap 4 , corefonts 5 , dejavu_fonts 6 , dpkg ··· 57 dontStrip = true; 58 59 passthru = { 60 - fhs = buildFHSUserEnvBubblewrap { 61 name = "onlyoffice-wrapper"; 62 63 targetPkgs = pkgs: [
··· 1 { lib 2 , stdenv 3 + , buildFHSEnv 4 , corefonts 5 , dejavu_fonts 6 , dpkg ··· 57 dontStrip = true; 58 59 passthru = { 60 + fhs = buildFHSEnv { 61 name = "onlyoffice-wrapper"; 62 63 targetPkgs = pkgs: [
+2 -2
pkgs/servers/plex/default.nix
··· 1 # The actual Plex package that we run is a FHS userenv of the "raw" package. 2 { stdenv 3 - , buildFHSUserEnvBubblewrap 4 , writeScript 5 , plexRaw 6 ··· 9 , dataDir ? "/var/lib/plex" 10 }: 11 12 - buildFHSUserEnvBubblewrap { 13 name = "plexmediaserver"; 14 15 inherit (plexRaw) meta;
··· 1 # The actual Plex package that we run is a FHS userenv of the "raw" package. 2 { stdenv 3 + , buildFHSEnv 4 , writeScript 5 , plexRaw 6 ··· 9 , dataDir ? "/var/lib/plex" 10 }: 11 12 + buildFHSEnv { 13 name = "plexmediaserver"; 14 15 inherit (plexRaw) meta;
+2 -2
pkgs/tools/networking/burpsuite/default.nix
··· 1 - { lib, fetchurl, jdk, buildFHSUserEnv, unzip, makeDesktopItem }: 2 let 3 version = "2023.2.4"; 4 ··· 23 }; 24 25 in 26 - buildFHSUserEnv { 27 inherit name; 28 29 runScript = "${jdk}/bin/java -jar ${src}";
··· 1 + { lib, fetchurl, jdk, buildFHSEnv, unzip, makeDesktopItem }: 2 let 3 version = "2023.2.4"; 4 ··· 23 }; 24 25 in 26 + buildFHSEnv { 27 inherit name; 28 29 runScript = "${jdk}/bin/java -jar ${src}";
+2 -2
pkgs/tools/package-management/appimage-run/default.nix
··· 1 - { appimageTools, buildFHSUserEnv, makeDesktopItem, extraPkgs ? pkgs: [], appimage-run-tests ? null }: 2 3 let 4 name = "appimage-run"; ··· 14 mimeTypes = ["application/vnd.appimage" "application/x-iso9660-appimage"]; 15 categories = ["PackageManager" "Utility"]; 16 }; 17 - in buildFHSUserEnv (fhsArgs // { 18 inherit name; 19 20 targetPkgs = pkgs: [ appimageTools.appimage-exec ]
··· 1 + { appimageTools, buildFHSEnv, makeDesktopItem, extraPkgs ? pkgs: [], appimage-run-tests ? null }: 2 3 let 4 name = "appimage-run"; ··· 14 mimeTypes = ["application/vnd.appimage" "application/x-iso9660-appimage"]; 15 categories = ["PackageManager" "Utility"]; 16 }; 17 + in buildFHSEnv (fhsArgs // { 18 inherit name; 19 20 targetPkgs = pkgs: [ appimageTools.appimage-exec ]
+2 -2
pkgs/tools/package-management/conda/default.nix
··· 3 , fetchurl 4 , runCommand 5 , makeWrapper 6 - , buildFHSUserEnv 7 , libselinux 8 , libarchive 9 , libGL ··· 63 --prefix "LD_LIBRARY_PATH" : "${libPath}" 64 ''); 65 in 66 - buildFHSUserEnv { 67 name = "conda-shell"; 68 targetPkgs = pkgs: (builtins.concatLists [ [ conda ] condaDeps extraPkgs]); 69 profile = ''
··· 3 , fetchurl 4 , runCommand 5 , makeWrapper 6 + , buildFHSEnv 7 , libselinux 8 , libarchive 9 , libGL ··· 63 --prefix "LD_LIBRARY_PATH" : "${libPath}" 64 ''); 65 in 66 + buildFHSEnv { 67 name = "conda-shell"; 68 targetPkgs = pkgs: (builtins.concatLists [ [ conda ] condaDeps extraPkgs]); 69 profile = ''
+2 -2
pkgs/tools/security/beyond-identity/default.nix
··· 1 - { lib, stdenv, fetchurl, dpkg, buildFHSUserEnv 2 , glibc, glib, openssl, tpm2-tss 3 , gtk3, gnome, polkit, polkit_gnome 4 }: ··· 70 ''; 71 }; 72 # /usr/bin/pkcheck is hardcoded in binary - we need FHS 73 - in buildFHSUserEnv { 74 inherit meta; 75 name = pname; 76
··· 1 + { lib, stdenv, fetchurl, dpkg, buildFHSEnv 2 , glibc, glib, openssl, tpm2-tss 3 , gtk3, gnome, polkit, polkit_gnome 4 }: ··· 70 ''; 71 }; 72 # /usr/bin/pkcheck is hardcoded in binary - we need FHS 73 + in buildFHSEnv { 74 inherit meta; 75 name = pname; 76
+4
pkgs/top-level/aliases.nix
··· 163 bud = throw "bud has been removed: abandoned by upstream"; # Added 2022-03-14 164 inherit (libsForQt5.mauiPackages) buho; # added 2022-05-17 165 buttersink = throw "buttersink has been removed: abandoned by upstream"; # Added 2022-04-05 166 167 # bitwarden_rs renamed to vaultwarden with release 1.21.0 (2021-04-30) 168 bitwarden_rs = vaultwarden;
··· 163 bud = throw "bud has been removed: abandoned by upstream"; # Added 2022-03-14 164 inherit (libsForQt5.mauiPackages) buho; # added 2022-05-17 165 buttersink = throw "buttersink has been removed: abandoned by upstream"; # Added 2022-04-05 166 + # Shorter names; keep the longer name for back-compat. Added 2023-04-11 167 + buildFHSUserEnv = buildFHSEnv; 168 + buildFHSUserEnvChroot = buildFHSEnvChroot; 169 + buildFHSUserEnvBubblewrap = buildFHSEnvBubblewrap; 170 171 # bitwarden_rs renamed to vaultwarden with release 1.21.0 (2021-04-30) 172 bitwarden_rs = vaultwarden;
+11 -29
pkgs/top-level/all-packages.nix
··· 194 195 appflowy = callPackage ../applications/office/appflowy { }; 196 197 - appimageTools = callPackage ../build-support/appimage { 198 - buildFHSUserEnv = buildFHSUserEnvBubblewrap; 199 - }; 200 201 appindicator-sharp = callPackage ../development/libraries/appindicator-sharp { }; 202 ··· 373 374 buildEnv = callPackage ../build-support/buildenv { }; # not actually a package 375 376 - # TODO: eventually migrate everything to buildFHSUserEnvBubblewrap 377 - buildFHSUserEnv = buildFHSUserEnvChroot; 378 - buildFHSUserEnvChroot = callPackage ../build-support/build-fhs-userenv { }; 379 - buildFHSUserEnvBubblewrap = callPackage ../build-support/build-fhs-userenv-bubblewrap { }; 380 381 buildMaven = callPackage ../build-support/build-maven.nix { }; 382 ··· 12342 openjdk = openjdk.override { enableJavaFX = true; }; 12343 }; 12344 12345 - sparrow = callPackage ../applications/blockchains/sparrow/fhsenv.nix { 12346 - buildFHSUserEnv = buildFHSUserEnvBubblewrap; 12347 - }; 12348 12349 sparsehash = callPackage ../development/libraries/sparsehash { }; 12350 ··· 16453 16454 z88dk = callPackage ../development/compilers/z88dk { }; 16455 16456 - zulip = callPackage ../applications/networking/instant-messengers/zulip { 16457 - # Bubblewrap breaks zulip, see https://github.com/NixOS/nixpkgs/pull/97264#issuecomment-704454645 16458 - appimageTools = pkgs.appimageTools.override { 16459 - buildFHSUserEnv = pkgs.buildFHSUserEnv; 16460 - }; 16461 - }; 16462 16463 zulip-term = callPackage ../applications/networking/instant-messengers/zulip-term { }; 16464 ··· 28825 ams-lv2 = callPackage ../applications/audio/ams-lv2 { }; 28826 28827 androidStudioPackages = recurseIntoAttrs 28828 - (callPackage ../applications/editors/android-studio { 28829 - buildFHSUserEnv = buildFHSUserEnvBubblewrap; 28830 - }); 28831 android-studio = androidStudioPackages.stable; 28832 28833 animbar = callPackage ../applications/graphics/animbar { }; ··· 31796 luppp = callPackage ../applications/audio/luppp { }; 31797 31798 lutris-unwrapped = python3.pkgs.callPackage ../applications/misc/lutris { }; 31799 - lutris = callPackage ../applications/misc/lutris/fhsenv.nix { 31800 - buildFHSUserEnv = buildFHSUserEnvBubblewrap; 31801 - }; 31802 lutris-free = lutris.override { 31803 steamSupport = false; 31804 }; ··· 35563 35564 heroic-unwrapped = callPackage ../games/heroic { }; 35565 35566 - heroic = callPackage ../games/heroic/fhsenv.nix { 35567 - buildFHSUserEnv = buildFHSUserEnvBubblewrap; 35568 - }; 35569 35570 julius = callPackage ../games/julius { }; 35571 ··· 35669 anki = callPackage ../games/anki { 35670 inherit (darwin.apple_sdk.frameworks) CoreAudio; 35671 }; 35672 - anki-bin = callPackage ../games/anki/bin.nix { buildFHSUserEnv = buildFHSUserEnvBubblewrap; }; 35673 35674 armagetronad = callPackage ../games/armagetronad { }; 35675 ··· 36502 36503 stockfish = callPackage ../games/stockfish { }; 36504 36505 - steamPackages = dontRecurseIntoAttrs (callPackage ../games/steam { 36506 - buildFHSUserEnv = buildFHSUserEnvBubblewrap; 36507 - }); 36508 36509 steam = steamPackages.steam-fhsenv; 36510 steam-small = steamPackages.steam-fhsenv-small;
··· 194 195 appflowy = callPackage ../applications/office/appflowy { }; 196 197 + appimageTools = callPackage ../build-support/appimage { }; 198 199 appindicator-sharp = callPackage ../development/libraries/appindicator-sharp { }; 200 ··· 371 372 buildEnv = callPackage ../build-support/buildenv { }; # not actually a package 373 374 + buildFHSEnv = buildFHSEnvBubblewrap; 375 + buildFHSEnvChroot = callPackage ../build-support/build-fhsenv-chroot { }; # Deprecated; use buildFHSEnv/buildFHSEnvBubblewrap 376 + buildFHSEnvBubblewrap = callPackage ../build-support/build-fhsenv-bubblewrap { }; 377 378 buildMaven = callPackage ../build-support/build-maven.nix { }; 379 ··· 12339 openjdk = openjdk.override { enableJavaFX = true; }; 12340 }; 12341 12342 + sparrow = callPackage ../applications/blockchains/sparrow/fhsenv.nix { }; 12343 12344 sparsehash = callPackage ../development/libraries/sparsehash { }; 12345 ··· 16448 16449 z88dk = callPackage ../development/compilers/z88dk { }; 16450 16451 + zulip = callPackage ../applications/networking/instant-messengers/zulip { }; 16452 16453 zulip-term = callPackage ../applications/networking/instant-messengers/zulip-term { }; 16454 ··· 28815 ams-lv2 = callPackage ../applications/audio/ams-lv2 { }; 28816 28817 androidStudioPackages = recurseIntoAttrs 28818 + (callPackage ../applications/editors/android-studio { }); 28819 android-studio = androidStudioPackages.stable; 28820 28821 animbar = callPackage ../applications/graphics/animbar { }; ··· 31784 luppp = callPackage ../applications/audio/luppp { }; 31785 31786 lutris-unwrapped = python3.pkgs.callPackage ../applications/misc/lutris { }; 31787 + lutris = callPackage ../applications/misc/lutris/fhsenv.nix { }; 31788 lutris-free = lutris.override { 31789 steamSupport = false; 31790 }; ··· 35549 35550 heroic-unwrapped = callPackage ../games/heroic { }; 35551 35552 + heroic = callPackage ../games/heroic/fhsenv.nix { }; 35553 35554 julius = callPackage ../games/julius { }; 35555 ··· 35653 anki = callPackage ../games/anki { 35654 inherit (darwin.apple_sdk.frameworks) CoreAudio; 35655 }; 35656 + anki-bin = callPackage ../games/anki/bin.nix { }; 35657 35658 armagetronad = callPackage ../games/armagetronad { }; 35659 ··· 36486 36487 stockfish = callPackage ../games/stockfish { }; 36488 36489 + steamPackages = dontRecurseIntoAttrs (callPackage ../games/steam { }); 36490 36491 steam = steamPackages.steam-fhsenv; 36492 steam-small = steamPackages.steam-fhsenv-small;