biome: 1.9.2 -> 1.9.3
[NixPkgs.git] / pkgs / build-support / fake-nss / default.nix
blob7d85ec5fc0a5f456d4c63e352905d18121acf859
1 # Provide a /etc/passwd and /etc/group that contain root and nobody.
2 # Useful when packaging binaries that insist on using nss to look up
3 # username/groups (like nginx).
4 # /bin/sh is fine to not exist, and provided by another shim.
5 { lib, symlinkJoin, writeTextDir, runCommand, extraPasswdLines ? [], extraGroupLines ? [] }:
6 symlinkJoin {
7   name = "fake-nss";
8   paths = [
9     (writeTextDir "etc/passwd" ''
10       root:x:0:0:root user:/var/empty:/bin/sh
11       ${lib.concatStrings (map (line: line + "\n") extraPasswdLines)}nobody:x:65534:65534:nobody:/var/empty:/bin/sh
12     '')
13     (writeTextDir "etc/group" ''
14       root:x:0:
15       ${lib.concatStrings (map (line: line + "\n") extraGroupLines)}nobody:x:65534:
16     '')
17     (writeTextDir "etc/nsswitch.conf" ''
18       hosts: files dns
19     '')
20     (runCommand "var-empty" { } ''
21       mkdir -p $out/var/empty
22     '')
23   ];