From 315059c5d8d630e9aeacb8e6f16f1f3ad679d730 Mon Sep 17 00:00:00 2001 From: Daniel Flanagan Date: Tue, 19 Dec 2023 10:33:43 -0600 Subject: [PATCH] Add initial rust template? --- templates/rust/.envrc | 1 + templates/rust/.gitignore | 2 ++ templates/rust/flake.nix | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+) create mode 100644 templates/rust/.envrc create mode 100644 templates/rust/.gitignore create mode 100644 templates/rust/flake.nix diff --git a/templates/rust/.envrc b/templates/rust/.envrc new file mode 100644 index 0000000..3550a30 --- /dev/null +++ b/templates/rust/.envrc @@ -0,0 +1 @@ +use flake diff --git a/templates/rust/.gitignore b/templates/rust/.gitignore new file mode 100644 index 0000000..6abfe1b --- /dev/null +++ b/templates/rust/.gitignore @@ -0,0 +1,2 @@ +/target +/.direnv diff --git a/templates/rust/flake.nix b/templates/rust/flake.nix new file mode 100644 index 0000000..c2d4e1d --- /dev/null +++ b/templates/rust/flake.nix @@ -0,0 +1,32 @@ +{ + inputs.nixpkgs.url = "github:NixOS/nixpkgs?rev=e4ad989506ec7d71f7302cc3067abd82730a4beb"; + outputs = { + self, + nixpkgs, + }: let + supportedSystems = ["x86_64-linux"]; + forEachSupportedSystem = f: + nixpkgs.lib.genAttrs supportedSystems (system: + f { + inherit system; + pkgs = import nixpkgs {inherit system;}; + }); + in { + devShells = forEachSupportedSystem ({ + pkgs, + system, + }: { + rust-development = pkgs.mkShell { + buildInputs = with pkgs; [ + cargo + rustc + rustfmt + rustPackages.clippy + rust-analyzer + ]; + }; + + default = forEachSupportedSystem ({system, ...}: self.outputs.${system}.rust-development); + }); + }; +}