about summary refs log tree commit diff stats
path: root/README.md
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-06-11 09:37:13 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-06-11 09:37:13 +0200
commit7307e6c94d9558dc19dfaea0871d2a3095b4e957 (patch)
tree3193d5857489817cde74daddce7e420be9152c0e /README.md
parentchore(COPYING): Add a license (diff)
downloadflake-templates-7307e6c94d9558dc19dfaea0871d2a3095b4e957.tar.gz
flake-templates-7307e6c94d9558dc19dfaea0871d2a3095b4e957.zip
docs(README): init
Diffstat (limited to 'README.md')
-rw-r--r--README.md66
1 files changed, 66 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..25bba0f
--- /dev/null
+++ b/README.md
@@ -0,0 +1,66 @@
+<h1 align="center">
+  <br>
+  <img src="https://upload.wikimedia.org/wikipedia/commons/2/28/Nix_snowflake.svg" alt="nix snowflake logo" width="200">
+  <br>
+  nix flake templates — just one `nix flake init`
+  <br>
+  <br>
+</h1>
+
+## 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#<template-name>` 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.