Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Default Development Shell

The default devenv shell in this repository includes common CLI, Nix, and setup tools used across day-to-day development.

Entering the Shell

Automatic shell entry via direnv, to enable this, run:

direnv allow

Or directly with nix:

nix develop --override-input devenv-root file+file://<path-to-nix-config>/.devenv/root

Helper Commands

The shell also exposes repository helper commands from flake/dev/scripts/. rebuild-target accepts action host, or just host; when the action is omitted it defaults to switch. Extra args are forwarded to nh / nix after --accept-flake-config, and args that start with -- must be separated with a literal --:

rebuild-target build nixmi -- --fallback
rebuild-target switch nixmi

Generated .luarc.json

Entering the default shell refreshes .luarc.json in the repository root.

The shell task manages the "workspace.library" key by:

  • creating .luarc.json when missing
  • ensuring the current Hyprland stub path is present
  • removing stale entries containing share/hypr/stubs/
  • respect and preserve any other existing keys in .luarc.json that are not managed by the shell task.