summaryrefslogtreecommitdiff
path: root/common/templates/rust/flake.nix
diff options
context:
space:
mode:
authorbrustybee <bee@4d2.org>2026-03-19 23:43:21 +0530
committerbrustybee <bee@4d2.org>2026-03-19 23:43:21 +0530
commit9d2256adddbb830d33119a5e01e3fad6b4b0652b (patch)
tree958e1de443a6d59a9b09716ba5815c52bfb7bfb3 /common/templates/rust/flake.nix
parentf9142a5822a4f212a3031b932cbf51b2d50344a8 (diff)
add flake templates
Diffstat (limited to 'common/templates/rust/flake.nix')
-rw-r--r--common/templates/rust/flake.nix50
1 files changed, 50 insertions, 0 deletions
diff --git a/common/templates/rust/flake.nix b/common/templates/rust/flake.nix
new file mode 100644
index 0000000..afe2601
--- /dev/null
+++ b/common/templates/rust/flake.nix
@@ -0,0 +1,50 @@
+{
+ inputs = {
+ nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
+ naersk.url = "github:nix-community/naersk";
+ naersk.inputs.nixpkgs.follows = "nixpkgs";
+ };
+
+ outputs =
+ {
+ self,
+ nixpkgs,
+ naersk,
+ ...
+ }:
+ let
+ inherit (nixpkgs) lib;
+ forAllSystems = lib.genAttrs lib.systems.flakeExposed;
+ in
+ {
+ devShells = forAllSystems (
+ system:
+ let
+ pkgs = nixpkgs.legacyPackages.${system};
+ in
+ {
+ default = pkgs.mkShell {
+ buildInputs = with pkgs; [
+ cargo
+ clippy
+ rustc
+ rustfmt
+ rust-analyzer
+ ];
+ RUST_SRC_PATH = pkgs.rustPlatform.rustLibSrc;
+ };
+ }
+ );
+
+ packages = forAllSystems (
+ system:
+ let
+ pkgs = nixpkgs.legacyPackages.${system};
+ naersk-lib = pkgs.callPackage naersk { };
+ in
+ {
+ default = naersk-lib.buildPackage self;
+ }
+ );
+ };
+}