I prefer not to play with bones, so I tried setting OPTIONS=bones:no in my .nethackrc file. When I load nethack (the version compiled from source), it just tells me "Bad syntax in OPTIONS in .nethackrc: bones:no.", even though it worked when I put it in my defaults.nh file on Windows. All of my other options work properly, so it seems like this one is the only problematic one. I even tried using the nethack.alt.org git repository for the source code, and it still doesn't recognize the option. Is there an option I can set to do this on Linux?

  • Wouldn't it be easier just to run a script that deletes all the bones level files after each time you run nethack?
    – Canageek
    Jan 17, 2014 at 18:30
  • In most cases, probably. In my particular case, due to my computer's configuration and the way nethack was installed, my main user had execute permissions for nethack but no write permissions in the folder, and because of the way character names are chosen, I didn't want to play as root. Jan 17, 2014 at 18:33
  • murgatroid99: My *nix is rusty, but couldn't you give the script write permissions for that folder via sudo or root, but run it as a lower-level user? Or, more easily, edit your .nethackrc to move the bones folder to say, /dev/null or at least somewhere you have write permission? It doesn't have to stay with the rest of your nethack stuff.
    – Canageek
    Jan 17, 2014 at 18:37
  • I'm not actually sure how using sudo in a script works, but I don't think it's that simple. And what you describe isn't an option in .nethackrc. That file only lets you change predefined options. Jan 17, 2014 at 18:50
  • BONESDIR is an option on windows, along with HACKDIR, LEVELDIR, SAVEDIR, LOCKDIR, and TROUBLEDIR. Is this not the case on *nix? It can be done with a script, though doing it properly would be a bit of a pain.
    – Canageek
    Jan 18, 2014 at 1:52

2 Answers 2


bones is not an option for vanilla nethack.

It is an option, however, in the nethack.alt.org server, which make their source available via git on this repo, if it bothers you.

An alternative would be to reinstall nethack and/or revert any changes to nhdat made after each session of play, though this will also remove high scores, etc. If you kept a copy of the "default" or "clean" version in your home directory, for example, you could copy this over the updated version (containing bones, scores, all other data used in the game) each time your start the game.

Finally, you may un-define DLB during the compile (which is defaulted to on, IIRC) so that the files in /usr/lib/nethack are not concatenated as nhdat and will instead appear as files starting with bones in that directory and you can then remove them manually before or after each play-through.

  • Building NAOhack for a machine that's not configured exactly like NAO is, unfortunately, non-trivial. As far as I can tell the patch that adds the bones option is also not available separately on bilious, although I could just be having trouble with the search interface.
    – Wooble
    Dec 19, 2013 at 13:56
  • Yes, I tried using the NAO version from their git repo, and it still tells me that the bones:no option has bad syntax. Everything else still works though. Dec 19, 2013 at 17:17
  • Also, the bones files are already generated as separate files prefixed with "bon", but I would prefer to just not have them at all. Dec 20, 2013 at 5:28

I decided to achieve this by manually modding my source files. In particular, I modified the src/bones.c by replacing the function body of can_make_bones() with

#ifdef BONES
  // the function body
  return FALSE

And I just did not #define BONES anywhere.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .