+8
.envrc
+8
.envrc
···+source_url "https://raw.githubusercontent.com/nix-community/nix-direnv/3.1.0/direnvrc" "sha256-yMJ2OVMzrFaDPn7q8nCBZFRYpL/f0RcHzhmw/i6btJM="
+1
.gitattributes
+1
.gitattributes
···
+19
.github/workflows/ci-nix.yml
+19
.github/workflows/ci-nix.yml
···
+24
.github/workflows/ci.yml
+24
.github/workflows/ci.yml
···
+6
.gitignore
+6
.gitignore
+9
.vscode/extensions.json
+9
.vscode/extensions.json
+8
.vscode/settings.json
+8
.vscode/settings.json
+251
Cargo.lock
+251
Cargo.lock
···
+15
Cargo.toml
+15
Cargo.toml
···+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+21
LICENSE
+21
LICENSE
···
+50
README.md
+50
README.md
···+A template Rust project with fully functional and no-frills Nix support, as well as builtin VSCode configuration to get IDE experience without any manual setup (just [install direnv](https://nixos.asia/en/direnv), open in VSCode and accept the suggestions). It uses [crane](https://crane.dev/), via [rust-flake](https://github.com/juspay/rust-flake).+> If you are looking for the original template based on [this blog post](https://srid.ca/rust-nix)'s use of `crate2nix`, browse from [this tag](https://github.com/srid/jacquard/tree/crate2nix). The evolution of this template can be gleaned from [releases](https://github.com/srid/jacquard/releases).+- There are two CI workflows, and one of them uses Nix which is slower (unless you configure a cache) than the other one based on rustup. Pick one or the other depending on your trade-offs.+We also provide a [`justfile`](https://just.systems/) for Makefile'esque commands to be run inside of the devShell.+- [pre-commit] hooks will automatically be setup in Nix shell. You can also run `pre-commit run -a` manually to run the hooks (e.g.: to autoformat the project tree using `rustfmt`, `nixpkgs-fmt`, etc.).+- [nixos.wiki: Packaging Rust projects with nix](https://nixos.wiki/wiki/Rust#Packaging_Rust_projects_with_nix)
+11
crates/jacquard/Cargo.toml
+11
crates/jacquard/Cargo.toml
···+# If you change the name here, you must also do it in flake.nix (and run `cargo generate-lockfile` afterwards)+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+25
crates/jacquard/src/main.rs
+25
crates/jacquard/src/main.rs
···
+172
flake.lock
+172
flake.lock
···
+26
flake.nix
+26
flake.nix
···
+14
justfile
+14
justfile
···
+23
nix/modules/devshell.nix
+23
nix/modules/devshell.nix
···
+14
nix/modules/pre-commit.nix
+14
nix/modules/pre-commit.nix
+53
nix/modules/rust.nix
+53
nix/modules/rust.nix
···
+71
nix/modules/template.nix
+71
nix/modules/template.nix
···