I use NixOS, and I have various janky scripts for Racket development on NixOS. They aren't great or beautiful -- I basically wrote the minimal amount to get things working and I hack on them every time something goes wrong. At this point they seem to work for me. I use these scripts to get environments for building Racket in my home directory, using the official installers in my home directory, and doing package development using a Racket built or installed in my home directory. They are not for building an actual NixOS package. It might be nice to do Racket package development using a Racket in the nix-store, but it's frustrating that Racket's documentation setup stage wants to mutate documents that end up in the nix-store, thus giving errors each time you try to set up a package you are developing. Either the Nix package build or Racket's build process needs to be changed to play nicely there, and I haven't bothered looking into it. Anyway, my workflow is to use the NixOS Racket package as the stable Racket installation I use for non-development purposes (eg. to run my Rash scripts or other programs that have made it into my day-to-day workflow outside of hacking on Racket) and these script environments for hacking on packages and Racket itself.
The scripts are in my dotfiles repo on github. I'll highlight some pertinent parts that may help you. The core stuff is in the `nixos` subdirectory of the repo: https://github.com/willghatch/dotfileswgh/tree/master/nixos It has a nix-shell environment with the packages needed to build Racket, and a script to run as the nix-shell command that sets some needed environment variables for things like openssl to work. I tie that all together with a racket-dev-environment.sh script: https://github.com/willghatch/dotfileswgh/blob/master/commands/racket-dev-environment.sh And then I also have some convenience wrappers for it: `rpdev` for package development, `rcdev` for working on Racket itself, and `rdev` for an environment for testing multiple versions of Racket together. Each just sets some useful environment variables to set my path and helpful display in my shell prompt: https://github.com/willghatch/dotfileswgh/blob/master/commands/rpdev I'll also note that there is a `racket2nix` project for building Racket packages as NixOS packages. It's been a while since I've looked at it, but I'm hopeful that it will eventually make it trivial for Racket packages to become NixOS packages. https://github.com/fractalide/racket2nix -- You received this message because you are subscribed to the Google Groups "Racket Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to racket-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/20201005212704.GA28540%40conspirator.