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); + }); + }; +}