shh-run(1)

πŸ“¦ version 2026.3.8, in nixos 26.05, nixpkgs unstable

πŸ’– NAME πŸ’–

okay so bestie, this is shh-run(1) from the General Commands Manual β€” and it's literally the glow-up page for running a program so you can profile its behavior. main character energy fr fr πŸ’…βœ¨

πŸ¦‹ SYNOPSIS πŸ¦‹

shh run [-i|--instance] [-c|--container] [-m|--mode]
[-f|--network-firewalling] [-w|--filesystem-whitelisting]
[--merge-paths-threshold] [--systemd-options] [-p|--profile-data-path]
[-l|--strace-log-path] [-h|--help] <COMMAND>

🌸 DESCRIPTION 🌸

Run a program to profile its behavior. that's the whole vibe β€” you run the thing, it gets profiled, you get the tea β˜•πŸ‘‘

✨ OPTIONS ✨

  • -i, --instance <INSTANCE> [default: system] β€” systemd instance of the service. lowkey your choices are "system" or "user" for per-user instances of the service manager 🫢

[possible values: system, user]

  • -c, --container β€” EXPERIMENTAL bestie!! assume the systemd .service unit has been generated from a .container template. it's giving experimental, so don't forget that part πŸ’€
  • -m, --mode <MODE> [default: standard] β€” how hard we should harden. like, how much are we locking things down? πŸ‘‘

Possible values:

  • generic β€” try to generate hardening options that are more likely to be portable across different systems for this service. WARNING: this is a best effort attempt, and NOT a guarantee. the only way to ensure the options will work is to run profiling on the same exact system 😭 no cap.
  • standard β€” only generate hardening options if they have a negligible risk of breaking things. safe-ish queen behavior 🌸
  • aggressive β€” will harden further and prevent circumventing restrictions of some options, but may increase the risk of breaking services. it is highly recommended to manually review the generated options. highkey read them before you commit, bestie πŸ™ˆπŸ”₯
  • -f, --network-firewalling β€” enable advanced network firewalling. only use this if you know that the network addresses and ports of local system and remote peers will not change. like, if those addresses are gonna shift? do not. 🚫🌐
  • -w, --filesystem-whitelisting β€” enable whitelist-based filesystem hardening. only use this if you know that the paths accessed by the service will not change. paths gotta stay put, periodt πŸŽ€
  • --merge-paths-threshold <MERGE_PATHS_THRESHOLD> [default: 5] β€” when using whitelist-based filesystem hardening, if path whitelist is longer than this value, try to merge paths with the same parent. cute little path-grouping moment πŸ§šπŸ’œ
  • --systemd-options <SYSTEMD_OPTIONS>... β€” disable all systemd options except these (case sensitive). other options may be generated when mutating these options to make them compatible with profiling data. for testing only πŸ§ͺ✨
  • -p, --profile-data-path <PROFILE_DATA_PATH> β€” generate profile data file to be merged with others instead of generating systemd options directly. it's giving "collect the data first, merge later" πŸ’–
  • -l, --strace-log-path <STRACE_LOG_PATH> β€” log strace output to this file. only use for debugging: this will slow down processing, and may generate a huge file. debugging only!! your disk is gonna be like πŸ˜­πŸ’€ if you're not careful.
  • -h, --help β€” print help (see a summary with '-h'). iconic little helper behavior 🫢
  • <COMMAND> β€” the command line to run. this is literally the program you're sending into the profiling machine 🌈⭐

okay bestie, that's the whole page β€” and the cute little sign-off at the very end says this is sourced from run on the left and shh-run(1) on the right, under the General Commands Manual πŸ’…πŸŽ€ you're welcome, go profile something iconic ✨

πŸ“¦ where this page comes from