docs: write docs

This commit is contained in:
technofab 2025-09-15 16:02:36 +02:00
parent 1ecf4d461d
commit 312b725620
No known key found for this signature in database
5 changed files with 112 additions and 1 deletions

80
docs/usage.md Normal file
View file

@ -0,0 +1,80 @@
# Usage
## Basic Shell
The absolute minimum to get started:
```nix
devshell.mkShell {}
```
That's it. You've got yourself a shell. Not very exciting, but it works.
## Adding Packages
Want some tools? Throw them in:
```nix
devshell.mkShell {
packages = [ pkgs.hello pkgs.git pkgs.nodejs ];
}
```
## Environment Variables
Set some env vars (because who doesn't love those):
```nix
devshell.mkShell {
env = {
HELLO.value = "world";
};
}
```
## Shell Hooks
Run stuff when entering the shell:
```nix
devshell.mkShell {
enterShellCommands."hello".text = ''
echo "Welcome to the devshell!"
echo "Current directory: $PWD"
'';
}
```
## Putting It All Together
A more realistic example:
```nix
devshell.mkShell {
packages = [ pkgs.nodejs pkgs.yarn pkgs.git ];
env = {
NODE_ENV.value = "development";
API_URL.value = "http://localhost:3000";
};
enterShellCommands."enter".text = ''
echo "🚀 Development environment ready!"
node --version
'';
}
```
## Need More Features?
For additional functionality, import modules:
```nix
devshell.mkShell {
imports = [ some-module.devshellModule ];
# your config...
}
```
Check out [available modules](./integrations.md) for things like automatic file
generation, dev tools and more.