diff --git a/.envrc b/.envrc
new file mode 100644
index 0000000000000000000000000000000000000000..3550a30f2de389e537ee40ca5e64a77dc185c79b
--- /dev/null
+++ b/.envrc
@@ -0,0 +1 @@
+use flake
diff --git a/.gitignore b/.gitignore
index 62f863d40f726805a9b168306d91ccf0867ea849..a7d9f913e6d0893bd2e09076883a1a12575cd4dc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 /target
 config.toml
-config.yaml
\ No newline at end of file
+config.yaml
+.direnv
diff --git a/flake.nix b/flake.nix
index 0ee57ce0b6cd6220a8b530192cab827749b3f66d..44543595379b30cae10d7aae82472f40a7530fe1 100644
--- a/flake.nix
+++ b/flake.nix
@@ -27,7 +27,7 @@
 
         devShell = pkgs.mkShell {
           buildInputs = with pkgs; [dbus];
-          nativeBuildInputs = with pkgs; [rustc cargo pkg-config];
+          nativeBuildInputs = with pkgs; [rustc cargo rust-analyzer pkg-config];
         };
 
         formatter = nixpkgs.legacyPackages.${system}.alejandra;