about summary refs log tree commit diff
path: root/pkgs/build-support/build-fhs-userenv-bubblewrap
AgeCommit message (Collapse)AuthorFilesLines
2023-03-28Merge pull request #213378 from Atemu/steam-env-varsAtemu2-6/+11
steam: add extraEnv argument
2023-03-27Merge pull request #219091 from cdepillabout/buildfhsuserenv-versionAtemu1-1/+7
buildFHSUserEnv: add version arg
2023-03-26buildFHSEnvBubblewrap: allow deeper introspection via passthruAtemu2-6/+11
2023-03-17build-fhs-userenv-bubblewrap: Use more descriptive namesZhaofeng Li1-5/+5
2023-03-17build-fhs-userenv-bubblewrap: Preserve symlinks in /etcZhaofeng Li1-4/+15
If the original file in /etc is a symlink, make it a symlink inside the sandbox as well. This fixes https://github.com/NixOS/nixpkgs/issues/126234#issuecomment-1192203498 Co-authored-by: Linus Heckemann <git@sphalerite.org>
2023-03-03buildFHSUserEnv: rewrite not isNull checkDennis Gosnell1-1/+1
Co-authored-by: Atemu <atemu.main@gmail.com>
2023-03-02buildFHSUserEnv: add version argDennis Gosnell1-1/+7
This lets you set the version for the derivation produced from `buildFHSUserEnvChroot` and `buildFHSUserEnvBubblewrap`. This can help to make it more clear to end-users to see the versions of the packages they are using.
2023-02-16Merge pull request #215837 from K900/fhsenv-x11-socket-permissionsK9001-0/+13
buildFHSUserEnv: fix permissions on /tmp/.X11-unix
2023-02-13treewide: use optionalStringFelix Buehler1-1/+1
2023-02-11buildFHSUserEnv: fix permissions on /tmp/.X11-unixK9001-0/+13
This is kinda cursed, but it makes things like `steam-run gamescope` work OOTB.
2023-02-07treewide: cleanup some unused bindingsSandro Jäckel1-2/+0
2022-10-18FHSEnv: export /etc/shellsDaniel Poelzleithner1-0/+1
/etc/shells is often read by programs to determine which shells should be provided. Fixes problems with extensions in vscode-fhs
2022-10-18build-fhs-userenv-bubblewrap: use -m not -f for readlinkStella1-1/+1
This change will let more inexistent paths be passed along, avoiding extremely weird and hard to debug behavior. See https://github.com/containers/bubblewrap/issues/520 for what I personally encountered.
2022-08-17build-fhs-userenv-bubblewrap: fix evalK9001-2/+2
2022-08-17Merge pull request #132963 from jonringer/plex-on-aarch64Pascal Bach1-2/+4
plex: allow use on non-x86 platforms
2022-08-02steam: fix opengl inside pressure-vesselash lea2-1/+4
2022-06-14buildFHSUserEnvBubblewrap: allow for non-x86 platformsJonathan Ringer1-2/+4
2022-04-11Merge pull request #164825 from ilya-fedin/fhs-less-copyArtturi1-1/+1
2022-03-24buildFHSUserEnvBubblewrap: append graphics share to XDG_DATA_DIRJonathan Ringer1-0/+3
2022-03-20buildFHSUserEnv{Chroot,Bubblewrap}: fix handling of glib schemaDavid McFarland1-8/+11
An error would occur if share/glib-2.0/schema was a symlink.
2022-03-19build-fhs-userenv-bubblewrap: symlink share directory when there's no need ↵Ilya Fedin1-1/+1
to merge There's no need to copy files if the directory won't be merged with multilib one leading to unnecessary increase of closure size
2022-03-15Merge pull request #161739 from Artturin/gsettingsfhsenvArtturi1-0/+26
2022-03-03buildFHSUserEnv{Chroot,Bubblewrap}: link gsettings-schemas to the FHS locationArtturin1-0/+26
We shouldn't need to use wrapGAppsHook in expressions that use this builder.
2022-02-27bash: use default PATH in FHS environmentsDaniel Fullmer1-1/+1
If bash is executed within an environment where PATH is not set, it uses the DEFAULT_PATH_VALUE compiled into bash to set PATH. In nixpkgs we set this to /no-such-path by default. This makes sense in a nixpkgs/NixOS environment since paths like /bin or /usr/bin should not be used. However, when bash is used inside an FHS environment, this produces results that differ from distributions which follow the FHS standard. Before this change: $ steam-run env -i /bin/bash -c 'echo $PATH' /no-such-path After this change: $ steam-run env -i /bin/bash -c 'echo $PATH' /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/bin:/sbin:.
2022-01-18Merge pull request #145258 from Ma27/steam-resolv-conf-overrideLinus Heckemann1-1/+1
steam: fix `/etc/resolv.conf` reference in FHS env
2022-01-01fhs-userenv-bubblewrap: allow additional arguments to bwrapBen Pye1-1/+3
2021-12-25steam: fix `/etc/resolv.conf` reference in FHS envMaximilian Bosch1-1/+1
It seems as if it's a problem if `/etc/resolv.conf` is a symlink to `/run/systemd/resolve/stub-resolv.conf` which is the case when using `systemd-resolved.service`: bwrap: Can't bind mount /oldroot/etc/resolv.conf on /newroot/etc/resolv.conf: Unable to mount source on destination: No such file or directory I confirmed that by following the symlink of `/etc/resolv.conf` (pointing to `/run/systemd/resolve/stub-resolv.conf`) with `readlink -f` the issues are all gone.
2021-11-19Merge pull request #128126 from wentasah/chrootenv-optArtturi1-1/+1
2021-11-15fhs-userenv-bubblewrap: add ca-certificates to fhslibjared1-0/+1
In Arch Linux, many of the certs in /etc/ssl/certs/ are symlinks to /etc/ca-certificates/extracted/. These symlinks are broken in the FHS env. This commit adds ca-certificates to the list of bind mounts, which fixes connection issues with Steam, wget, etc on Arch Linux hosts.
2021-07-10build-fhs-user-env-bubblewrap: add compatibility for pipewire alsa emulationSimon Bruder1-0/+1
The NixOS pipewire module places its alsa compatiblity configuration in /etc/alsa/conf.d/ instead of /etc/asound.conf. This commit enables applications running in a bubblewrap fhs environment to use alsa on systems running pipewire.
2021-06-27buildFHSUserEnv: Allow having custom /opt in the FHS environmentMichal Sojka1-1/+1
buildFHSUserEnv is meant primarily for running 3rd-party software which is difficult to patch for NixOS. Such software is often built to run from /opt. Currently, running such a software from FHS environment is difficult for two reasons: 1. If the 3rd-party software is put into the Nix store via a simple derivation (with e.g. installPhase = "dpkg-deb -x $src $out"), the content of /opt directory of that derivation does not appear in the FHSEnv even if the derivation is specified in targetPkgs. This is why we change env.nix. 2. If using buildFHSUserEnvChroot and the host system has the /opt directory, it always gets bind-mounted to the FHSEnv even if some targetPkgs contain /opt (NB buildFHSUserEnvBubblewrap does not have this problem). If that directory is not accessible for non-root users (which is what docker's containerd does with /opt :-(), the user running the FHSEnv cannot use it. With the change in chrootenv.c, /opt is not bind-mounted to the container, but instead created as user-modifiable symlink to /host/opt (see the init attribute in build-fhs-userenv/default.nix). If needed, the user can remove this symlink and create an empty /opt directory which is under his/her control.
2021-05-02buildFHSUserEnvBubblewrap: add dieWithParent option, and /etc/nixJonathan Ringer1-2/+10
Allows for processes which fork to not be immediately killed when the parent process dies.
2021-03-11fhs-userenv-bubblewrap: Add store path to readlinkMatthew Mazzanti1-1/+1
Commit df4761 added a call to readlink, which fails if it is not in the user's path when run. Updated the readlink call to pull from the coreutils store path directly.
2021-02-23Merge pull request #114024 from LuigiPiucco/pressure-vesselBernardo Meurer2-7/+68
steam: fix proton versions with pressure-vessel
2021-02-23build-fhs-userenv-bubblewrap:->writeShellScriptBinLuigi Sartor Piucco1-4/+2
2021-02-23build-fhs-userenv-bubblewrap: add folders commentLuigi Sartor Piucco1-0/+7
2021-02-22build-fhs-userenv: fix ssl certificates mount pointAndré Silva1-3/+3
2021-02-22fhs-bubblewrap: mount cache on 32 bit glibc tooLuigi Sartor Piucco1-1/+6
2021-02-22fhs-bubblewrap: merge /usr/share from both archsLuigi Sartor Piucco1-2/+15
2021-02-22fhs-userenv-bubblewrap: add ld.so.conf/cache to fhsBenedikt Morbach2-3/+35
2021-02-22fhs-userenv-bubblewrap: Preserve symlinksBenedikt Morbach1-3/+9
Preserve top-level symlinks such as /lib -> /usr/lib. This allows nested containers such as Steam's new runtime to remount /usr if they need to and then run unmodified binaries that reference e.g. /lib/ld-linux-x86-64.so.2 Before, we would mount the fully resolved host directory at /lib and thus the dynamic loader would always be the one from the host filesystem.
2021-01-26build-fhs-userenv-bubblewrap: don't bind /etc/fonts from fhs environmentAndré Silva1-0/+5
2021-01-26build-fhs-userenv: bind /etc/profilesAndré Silva1-0/+2
2021-01-26build-fhs-userenv-bubblewrap: remove unused variableAndré Silva1-2/+0
2021-01-25treewide: remove stdenv where not neededPavol Rusnak1-1/+1
2020-12-08buildFHSUserEnvBubblewrap: expand unshare optionsJonathan Ringer1-11/+22
2020-11-22buildFHSUserEnvBubblewrap: use arrays for constructing argument listAtemu1-18/+21
Generally a cleaner way of doing it and prevents issues with spaces in paths Used to fix #97234 but #101967 already didt this with a smaller scope
2020-10-30buildFHSUserEnvBubblewrap: fix whitespace with root directoriesJonathan Ringer1-3/+3
2020-08-17build-fhs-user-env-bubblewrap: consistent camelCaseJörg Thalheim2-8/+8
2020-08-17fhs-userenv-bubblewrap: bind mount host's devfsMichael Eden1-1/+1
Allows us to talk to devices