Skip to content

Commit f54745f

Browse files
authored
Merge pull request numtide#289 from deemp/update-docs
Update docs and flake
2 parents 2c55ba1 + 8743a09 commit f54745f

File tree

25 files changed

+2093
-275
lines changed

25 files changed

+2093
-275
lines changed

README.md

Lines changed: 51 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# devshell - like virtualenv, but for all the languages.
1+
# devshell - like virtualenv, but for all the languages
22

3-
**STATUS: unstable**
3+
<h3>STATUS: unstable</h3>
44

55
[![Devshell Dev Environment](https://img.shields.io/badge/nix-devshell-blue?logo=NixOS&labelColor=ccc)](https://github.com/numtide/devshell) [![Support room on Matrix](https://img.shields.io/matrix/devshell:numtide.com.svg?label=%23devshell%3Anumtide.com&logo=matrix&server_fqdn=matrix.numtide.com)](https://matrix.to/#/#devshell:numtide.com)
66

@@ -37,16 +37,20 @@ compiler.
3737
This is why `mkShell` builds its environment from a `builtins.derivation`.
3838

3939
direnv loads will change from:
40-
```
40+
41+
```sh
4142
direnv: export +AR +AS +CC +CONFIG_SHELL +CXX +HOST_PATH +IN_NIX_SHELL +LD +NIX_BINTOOLS +NIX_BINTOOLS_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu +NIX_BUILD_CORES +NIX_BUILD_TOP +NIX_CC +NIX_CC_WRAPPER_TARGET_HOST_x86_64_unknown_linux_gnu +NIX_CFLAGS_COMPILE +NIX_ENFORCE_NO_NATIVE +NIX_HARDENING_ENABLE +NIX_INDENT_MAKE +NIX_LDFLAGS +NIX_STORE +NM +OBJCOPY +OBJDUMP +RANLIB +READELF +RUSTC +SIZE +SOURCE_DATE_EPOCH +STRINGS +STRIP +TEMP +TEMPDIR +TMP +TMPDIR +buildInputs +buildPhase +builder +builtDependencies +cargo_bins_jq_filter +cargo_build_options +cargo_options +cargo_release +cargo_test_options +cargoconfig +checkPhase +configureFlags +configurePhase +cratePaths +crate_sources +depsBuildBuild +depsBuildBuildPropagated +depsBuildTarget +depsBuildTargetPropagated +depsHostHost +depsHostHostPropagated +depsTargetTarget +depsTargetTargetPropagated +doCheck +doInstallCheck +docPhase +dontAddDisableDepTrack +dontUseCmakeConfigure +installPhase +name +nativeBuildInputs +out +outputs +patches +preInstallPhases +propagatedBuildInputs +propagatedNativeBuildInputs +remapPathPrefix +shell +src +stdenv +strictDeps +system +version ~PATH
4243
```
44+
4345
to:
44-
```
46+
47+
```sh
4548
direnv: export +DEVSHELL_DIR +PRJ_DATA_DIR +PRJ_ROOT +IN_NIX_SHELL +NIXPKGS_PATH ~PATH
4649
```
4750

4851
There are new environment variables useful to support the day-to-day
4952
activities:
53+
5054
* `DEVSHELL_DIR`: contains all the programs.
5155
* `PRJ_ROOT`: points to the project root.
5256
* `PRJ_DATA_DIR`: points to `$PRJ_ROOT/.data` by default. Is used to store runtime data.
@@ -57,8 +61,7 @@ activities:
5761
The shell comes pre-loaded with some utility functions. I'm not 100% sure if
5862
those are useful yet:
5963

60-
* `devshell-menu` - list all the programs available
61-
* `devshell-root` - `cd` back to the project root.
64+
* `menu` - list all the programs available
6265

6366
### MOTD
6467

@@ -67,15 +70,27 @@ commands are available.
6770

6871
When running `nix-shell` or `nix develop`, `mkShell` prints a welcome message:
6972

70-
```
73+
```sh
7174
🔨 Welcome to devshell
7275

73-
# Commands
76+
[[general commands]]
77+
78+
hello - prints hello
79+
menu - prints this menu
80+
81+
[formatters]
82+
83+
nixpkgs-fmt - Nix code formatter for nixpkgs
84+
85+
[linters]
86+
87+
golangci-lint - golang linter
88+
89+
[utilites]
7490

75-
devshell-menu - print this menu
76-
devshell-root - change directory to root
77-
hello - prints hello
78-
nixpkgs-fmt - used to format Nix code
91+
hub - github utility
92+
93+
[devshell]$
7994
```
8095

8196
### Configurable with a TOML file
@@ -113,7 +128,6 @@ nix run '.#<myapp>' -- <devshell-command> <and-args>
113128

114129
This project itself exposes a Nix application; you can try it out with:
115130

116-
117131
```sh
118132
nix run 'github:numtide/devshell' -- hello
119133
```
@@ -124,41 +138,35 @@ See [here](docs/flake-app.md) for how to export your devshell as a flake app.
124138

125139
A lot of things!
126140

127-
### Documentation
128-
129-
Explain how all of this works and all the use-cases.
130-
131-
### Testing
132-
133-
Write integration tests for all of the use-cases.
134-
135-
### Lazy dependencies
136-
137-
This requires some coordination with the repository structure. To keep the
138-
dev closure small, it would be nice to be able to load some of the
139-
dependencies on demand.
140-
141-
### Doctor / nix version check
142-
143-
Not everything can be nicely sandboxed. Is it possible to get a fast doctor
144-
script that checks that everything is in good shape?
145-
146-
### Support other shells
147-
148-
What? Not everyone is using bash? Right now, support is already available in
149-
direnv mode.
150-
151-
# Contributing
152-
153-
## Dev Setup
141+
* **Documentation**
142+
* Explain how all of this works and all the use-cases.
143+
* **Testing**
144+
* Write integration tests for all of the use-cases.
145+
* **Lazy dependencies**
146+
* This requires some coordination with the repository structure. To keep the
147+
dev closure small, it would be nice to be able to load some of the
148+
dependencies on demand.
149+
* **Doctor / nix version check**
150+
* Not everything can be nicely sandboxed. Is it possible to get a fast doctor
151+
script that checks that everything is in good shape?
152+
* **Support other shells**
153+
* What? Not everyone is using bash? Right now, support is already available in
154+
direnv mode.
155+
156+
## Contributing
154157

155158
### Docs
156159

157160
1. Change files in `docs/`
158-
2. Run `docs/serve.sh` (or the task in VSCode)
159-
3. Visit [`localhost:8000`](http://localhost:8000)
161+
1. Run `nix run .#docs`
162+
1. Open [`docs`](http://localhost:3000/index.html)
163+
164+
### Benchmark
165+
166+
1. See [benchmark/README.md](./benchmark/README.md)
167+
1. Run `nix run .#bench`
160168

161-
# Commercial support
169+
## Commercial support
162170

163171
Looking for help or customization?
164172

0 commit comments

Comments
 (0)