From 2a2e51f2b6add1df9f59c6c1a4818a89801bd1d8 Mon Sep 17 00:00:00 2001
From: Patrick Auernig <patrick.auernig@mykolab.com>
Date: Sun, 29 Sep 2024 14:41:28 +0200
Subject: [PATCH] Update rust workspace template

---
 templates/rust/workspace/flake.nix | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/templates/rust/workspace/flake.nix b/templates/rust/workspace/flake.nix
index eeb52ab..c6a7ff6 100644
--- a/templates/rust/workspace/flake.nix
+++ b/templates/rust/workspace/flake.nix
@@ -3,34 +3,40 @@
 
     inputs = {
         nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
-        rust-overlay.url = "github:oxalica/rust-overlay";
+        rust-overlay = {
+            url = "github:oxalica/rust-overlay";
+            inputs.nixpkgs.follows = "nixpkgs";
+        };
     };
 
     outputs = { nixpkgs, rust-overlay, ... }:
     let
         system = "x86_64-linux";
 
+        overlays = [ (import rust-overlay) ];
         pkgs = import nixpkgs {
-            inherit system;
-            overlays = [ (import rust-overlay) ];
+            inherit system overlays;
         };
 
-        rustToolchain = pkgs.rust-bin.fromRustupToolchainFile ./rust-toolchain.toml;
-        rustNightlyToolchain = pkgs.rust-bin.selectLatestNightlyWith (toolchain: toolchain.minimal.override {
+        rust = pkgs.rust-bin;
+
+        rustToolchain = rust.fromRustupToolchainFile ./rust-toolchain.toml;
+        rustNightlyToolchain = rust.selectLatestNightlyWith (tc: tc.minimal.override {
             extensions = [ "rustfmt" ];
             targets = [ "x86_64-unknown-linux-gnu" ];
         });
 
-
-        buildTools = with pkgs; [
+        buildTools = [
             rustToolchain
             rustNightlyToolchain
-            pkg-config
         ];
 
         devShell = pkgs.mkShell {
             name = "@project_name@";
             buildInputs = buildTools;
+            packages = with pkgs; [
+                rust-analyzer
+            ];
         };
     in {
         devShells.${system}.default = devShell;