There is probably a way to have it work with substituteInPlace, but
using sed is a cheap solution to not having to figure out how to escape
"'$'" in Nix that works in both versions.
Issue #31179.
Fixes#33833.
sg and newgrp only changes the current user session and should be
available to users even if the "users.mutableUsers" option is set.
These are common, useful commands.
chfn does modify the /etc/passwd GECOS field which is also controlled
by the option "users.users.<name?>.description", so it's less
appropriate to make it available when "users.mutableUsers" is set.
However, because CHFN_RESTRICT in login.defs is never set in current
NixOS the chfn functionality is never available to users anyway and
may as well have its SUID disabled, as only root is able to use it.
This is recommended in the chfn man page in this case.
The linter (nixpkgs-lint) was not able to find the bitscope packages
because `recurseIntoAttrs` was not applied to the suite's set.
The name supplied to `buildFHSUserEnv` produces a binary that
corresponds to the binary names in the deb packages (e.g.: bitscope-dso,
bitscope-chart, bitscope-logic, etc), however; this name does not
constitute a valid nixpkgs name. Valid nixpkgs names satisfy the
`/(.*)(-[0-9].*)$/` pattern, therefore a valid name is merged into the
derivation produced by `buildFHSUserEnv`.
This change sets an environment variable to ensure that Android Studio
uses the correct drivers to avoid any breackage when trying to run a
native application on a virtual device.
Without proper configuration `android-studio` would be unable to load
the drivers for the AVD and yield messages like this:
```
3:32 PM Executing tasks: [:app:assembleDebug]
3:32 PM Emulator: libGL error: unable to load driver: i965_dri.so
3:32 PM Emulator: libGL error: driver pointer missing
3:32 PM Emulator: libGL error: failed to load driver: i965
3:32 PM Emulator: libGL error: unable to load driver: i965_dri.so
3:32 PM Emulator: libGL error: driver pointer missing
3:32 PM Emulator: libGL error: failed to load driver: i965
3:32 PM Emulator: libGL error: unable to load driver: swrast_dri.so
3:32 PM Emulator: libGL error: failed to load driver: swrast
3:32 PM Emulator: X Error of failed request: BadValue (integer parameter out of range for operation)
3:32 PM Emulator: Major opcode of failed request: 155 (GLX)
3:32 PM Emulator: Minor opcode of failed request: 24 (X_GLXCreateNewContext)
3:32 PM Emulator: Value in failed request: 0x0
3:32 PM Emulator: Serial number of failed request: 64
3:32 PM Emulator: Current serial number in output stream: 65
3:32 PM Emulator: emulator: ERROR: Missing initial data partition file: /home/ma27/.android/avd/Nexus_5X_API_27.avd/userdata.img
3:32 PM Emulator: Process finished with exit code 1
3:32 PM Gradle build finished with 2 warnings(s) in 6s 378ms
```
For further reference have a look at the following StackOverflow
message: https://stackoverflow.com/a/40790339