nix flake templates — just one `nix flake init`
## Quick start
Add this flake to your flake registry, for example on NixOS like this:
```nix
# services/nix/default.nix
nix.registry = {
t.flake = nix_flake_templates;
};
```
Then you can just create a new directory and run `nix flake init -t t#` and
run the `init` script, like so:
```bash
mkdir lfcd
cd lfcd
# initialize the template
nix flake init -t t#rust
# set the executable bit on the `init` script and run it to populate the meta-data.
chmod +x ./init && ./init
```
## Supported templates
These are the actively supported templates (i.e. they are updated, whence I update my
process.). The key features of these templates have been highlighted.
### awk
### c
- Makefile with build directory support
### latex
- `lpm` and a file heavy structure included, to ensure visibility of the document structure at an FS level
- `build.sh` script to automate the building process
### rust
- `Cargo.toml` and `cog.toml` already pre-populated with the values from the `init` script
to allow a release on `crates.io`.
### shell
- Hooked up to [my shell library](https://shell-lib.b-peetz.de).
## License
Unless explicitly stated otherwise, any contribution intentionally
submitted for inclusion will be licensed under the [GPL-3.0-or-later
License](./COPYING). Beware that this license only affects the code in
this repository, not the generated templates nor the general inclusion
in your flake.