NYSHELL(1)

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

πŸ’… NYSHELL(1) β€” General Commands Manual, bestie

okay so this is nyshell(1), straight out of the General Commands Manual, and honestly? she's a little niche but she works. sit down, grab a strawberry drink πŸ“, and let me tell you about her.


✨ NAME ✨

nyshell β€” the tool that generates shell scripts to build nypatchy output. that's the whole vibe. πŸŽ€


🌸 SYNOPSIS 🌸

nyshell logfile options cradle [ print ] [ .go ]

πŸ¦‹ DESCRIPTION πŸ¦‹

so nyshell is one of the programs in the Nypatchy suite β€” the whole crew that deals with Patchy Master Files (aka PAM files), and yeah, you should see nypatchy(1) for the big picture, iykyk.

what she does specifically: you hand her the log file from a nypatchy run, and she makes you a shell script that compiles, like, all the source code files nypatchy spat out. iconic behavior honestly πŸ‘‘

she's basically fcasplit's cousin, except β€” and this is the main character detail β€” she takes the log file as input instead of a source file, and she remembers which source files have already been compiled in previous runs. she has memory. she's not doing the same work twice. periodt. πŸ’…


🌈 USAGE 🌈

okay let's walk through the lineup:

  • logfile β€” the name of the log file coming out of nypatchy. default extension is .log, so you can be lazy about it 🫢
  • cradle β€” a cradle file you may give, which adds extra setup options like which compilers you want or which compiler flags to use. (peep the reference manual for the nitty-gritty, bestie.)
  • print β€” the file where informational output goes. if you omit it, the default is standard output, easy.
  • options β€” a sequence of single-character flags. yes, single characters, we'll get to the list.

here's the tea on what she produces: she generates a shell script file named name.shfca β€” where name is the part of logfile with the extension chopped off β€” and you can run that script to build all the object files. and then there's name.xqtlog, which is the file that "remembers" the current state. she's keeping receipts. 🧾

and listen β€” the command should be ended with .go unless you actually want to drop into the Nypatchy interactive shell. don't skip the .go and then act surprised, bestie 😭

✨ OPTIONS ✨

okay important housekeeping first: options go in as one single string of characters, no space separation, and no using the - character β€” with exactly one exception: you can put - in place of the options field when you don't want any options at all. and alphabetic options are not case-sensitive, so go off, capitalize however you feel. πŸ’–

  • A β€” Force recompilation of all routines. everything gets rebuilt. no shortcuts, no mercy πŸ”₯
  • B β€” Bypass tests based on the .xqtlog file. she's not checking the receipts this time.
  • E β€” Bypass tests based on the .xqtlog file if it is empty. (only when it's empty, okay, don't get it twisted)
  • H β€” Print help information only. just the help, nothing else, tyvm πŸŽ€
  • Q β€” "quick" β€” Do not print the setup. quiet girlie mode 🀫
  • S β€” Print the setup only β€” and heads up, this one only works together with H.
  • U β€” "up to date" β€” Check that all .o files are ready to go into a library. a little vibe check on your object files ⭐
  • V β€” "verbose" β€” Print the complete setup. she's telling you everything πŸ—£οΈ

πŸ’œ SEE ALSO πŸ’œ

the whole friend group, go say hi:

fcasplit(1), nycheck(1), nydiff(1), nyindex(1), nylist(1), nypatchy(1), nymerge(1), nysynopt(1), nytidy(1), yexpand(1)

also, the reference manual for the whole Nypatchy suite is available in compressed PostScript format at this URL, yes it's giving vintage but it's still there:

http://wwwasdoc.web.cern.ch/wwwasdoc/psdir/p5refman.ps.gz

and two little cheat codes for you 🫢:

  • running the command nyshell help .no also gives some brief help on usage.
  • running the command nyshell - hs .no prints the default setup (compiler names and options) that will be used in the generated shell scripts. chef's kiss for debugging πŸ‘‘

πŸŽ€ AUTHOR πŸŽ€

this manual page was written by Kevin McCarty <kmccarty@debian.org> for the Debian GNU/Linux system (but may be used by others β€” sharing is caring, bestie). it's licensed under the GNU General Public License, version 2 or later (at your choice). slay, and legally so.


Copyright (C) Kevin B. McCarty, 2008.


okay that's the whole page, you're basically an expert now, go build something beautiful πŸ’…πŸ¦‹πŸŒΈ

sign-off: this was nyshell(1) from the General Commands Manual, dated Mar 12, 2008 β€” ily, go compile responsibly ✨
πŸ“¦ where this page comes from