roc/devtools
2023-01-09 17:59:22 +01:00
..
flake.lock update vscode flake 2023-01-09 17:59:22 +01:00
flake.nix update vscode flake 2023-01-09 17:59:22 +01:00
README.md update vscode flake 2023-01-09 17:59:22 +01:00

devtools

To make rust-analyzer and other vscode extensions work well you want them using the same rustc, glibc, zig... as specified in the roc nix flake. The easiest way to do this is to use another flake for all your dev tools that takes the roc flake as an input.

The flake in this folder is meant for vscode, feel free to create a PR if you'like to add a flake for a different editor.

Further steps:

  1. Copy the flake.nix and flake.lock file to a new folder outside of the roc repo folder.
  2. Run git init in the new folder.
  3. Execute git add flake.nix, nix will error if you don't do this.
  4. Change roc.url = "path:/home/username/gitrepos/roc1/roc"; to the location of the roc folder on your machine.
  5. Follow instructions about vscode extensions here.
  6. add other dev tools you like in the devInputs list. You can search for those here.
  7. Run nix develop.
  8. cd to the folder of the roc repo
  9. Run code . to start vscode.

vscode is able to share settings between this nix version and your regular vscode so there is no need to set everything up from scratch.

If you use lorri or direnv it is possible to load the dev flake instead of the roc flake. For lorri:

  1. copy the shell.nix at the root of this repo to the folder containing your dev tools flake.
  2. edit .envrc to contain:
eval "$(lorri direnv --shell-file path-to-your-dev-flake-folder/shell.nix)"

Extensions

for those we have some Nix experience

Add vscode extensions you want to use below vscodeExtensions = .... You can search for extension names here. You may not be able to install extensions through the UI in vscode, I'd recommend always adding them to the flake. If you are inside a nix develop shell, run exit and nix develop path-to-your-dev-flake-folder to be able to run vscode with the newly added extensions.

If your extension is not available on nix, you can add them from the vscode marketplaces as well.

for those with little to no Nix experience

Instead of running code in the last step you can use the --extensions-dir flag to allow you to install extensions using the vscode GUI. On MacOS or Linux:

code --extensions-dir="$HOME/.vscode/extensions"