From ae8de5e68d38893577530fe665d8bf46a31a76ce Mon Sep 17 00:00:00 2001 From: Kyler Clay Date: Wed, 25 Sep 2024 15:56:23 -0400 Subject: [PATCH] Commit for generation 84 --- devflakes/rust/flake.nix | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 devflakes/rust/flake.nix diff --git a/devflakes/rust/flake.nix b/devflakes/rust/flake.nix new file mode 100644 index 0000000..104740b --- /dev/null +++ b/devflakes/rust/flake.nix @@ -0,0 +1,39 @@ +{ + description = "A flake for a clean Rust development environment"; + + inputs = { + nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; + flake-utils.url = "github:numtide/flake-utils"; + }; + + outputs = { self, nixpkgs, flake-utils }: flake-utils.lib.eachSystem [ "x86_64-linux" ] (system: + let + pkgs = import nixpkgs { + inherit system; + overlays = [ + (self: super: { + inherit (super) nixvim zsh git; + }) + ]; + }; + in rec { + devShell = pkgs.mkShell { + name = "rust-dev-env"; + buildInputs = [ + pkgs.rustup # Rust toolchain manager + pkgs.cargo # Cargo package manager + pkgs.rustc # Rust compiler + pkgs.cargo-watch # Automatically rebuilds Cargo project on change + pkgs.clippy # Linter for Rust + pkgs.rustfmt # Rust code formatting + pkgs.pkg-config # Needed for many Rust dependencies + pkgs.openssl # OpenSSL (common Rust dependency) + ]; + + shellHook = '' + echo "Rust dev environment initialized" + rustup default stable + ''; + }; + }); +}