···108108 if [ -n "$__ETC_ZSHENV_SOURCED" ]; then return; fi
109109 export __ETC_ZSHENV_SOURCED=1
110110111111+ ${config.system.build.setEnvironment.text}
112112+111113 ${cfge.shellInit}
112114113115 ${cfg.shellInit}
···126128 # Only execute this file once per shell.
127129 if [ -n "$__ETC_ZPROFILE_SOURCED" ]; then return; fi
128130 __ETC_ZPROFILE_SOURCED=1
129129-130130- ${config.system.build.setEnvironment.text}
131131132132 ${cfge.loginShellInit}
133133
+5-3
nixos/tests/hardened.nix
···25252626 testScript =
2727 ''
2828+ $machine->waitForUnit("multi-user.target");
2929+2830 # Test hidepid
2931 subtest "hidepid", sub {
3032 $machine->succeed("grep -Fq hidepid=2 /proc/mounts");
3131- $machine->succeed("[ `su - sybil -c 'pgrep -c -u root'` = 0 ]");
3232- $machine->succeed("[ `su - alice -c 'pgrep -c -u root'` != 0 ]");
3333+ # cannot use pgrep -u here, it segfaults when access to process info is denied
3434+ $machine->succeed("[ `su - sybil -c 'ps --no-headers --user root | wc -l'` = 0 ]");
3535+ $machine->succeed("[ `su - alice -c 'ps --no-headers --user root | wc -l'` != 0 ]");
3336 };
34373538 # Test kernel module hardening
3639 subtest "lock-modules", sub {
3737- $machine->waitForUnit("multi-user.target");
3840 # note: this better a be module we normally wouldn't load ...
3941 $machine->fail("modprobe dccp");
4042 };
···2424 meta = with stdenv.lib; {
2525 description = "A fast replacement for PGAdmin";
2626 longDescription = ''
2727- At the heart of Postage is a modern, fast, event-based C-binary, built in
2828- the style of NGINX and Node.js. This heart makes Postage as fast as any
2929- PostgreSQL interface can hope to be.
2727+ At the heart of pgManage is a modern, fast, event-based C-binary, built in
2828+ the style of NGINX and Node.js. This heart makes pgManage as fast as any
2929+ PostgreSQL interface can hope to be. (Note: pgManage replaces Postage,
3030+ which is no longer maintained.)
3031 '';
3132 homepage = https://github.com/pgManage/pgManage;
3233 license = licenses.postgresql;