mirror of
https://gitlab.com/rensa-nix/devshell.git
synced 2025-12-11 22:00:08 +01:00
docs: write docs
This commit is contained in:
parent
1ecf4d461d
commit
312b725620
5 changed files with 112 additions and 1 deletions
80
docs/usage.md
Normal file
80
docs/usage.md
Normal 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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue