diff --git a/flake.nix b/flake.nix
index 22b6763..3e2f990 100644
--- a/flake.nix
+++ b/flake.nix
@@ -2,6 +2,7 @@
   inputs = {
     nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
     flake-utils.url = "github:numtide/flake-utils";
+
     shimmeringdarkness.url = "git+ssh://forgejo@ssh.git.moonythm.dev/prescientmoon/shimmeringdarkness.git";
     shimmeringdarkness.flake = false;
   };
diff --git a/nix/shimmeringmoon.nix b/nix/shimmeringmoon.nix
index 0b4f5d3..47001bc 100644
--- a/nix/shimmeringmoon.nix
+++ b/nix/shimmeringmoon.nix
@@ -1,4 +1,5 @@
 {
+  lib,
   pkg-config,
   makeWrapper,
 
@@ -15,7 +16,15 @@
 rustPlatform.buildRustPackage rec {
   pname = "shimmeringmoon";
   version = "unstable-2025-02-11";
-  src = ../.;
+  src = lib.fileset.toSource {
+    root = ../.;
+    fileset = lib.fileset.unions [
+      ../Cargo.lock
+      ../Cargo.toml
+      ../migrations
+      ../src
+    ];
+  };
 
   SHIMMERING_FONT_DIR = shimmering-fonts;
   SHIMMERING_CC_DIR = cc-data;
@@ -33,6 +42,7 @@ rustPlatform.buildRustPackage rec {
     openssl
   ];
 
+  useFetchCargoVendor = true;
   cargoLock = {
     lockFile = ../Cargo.lock;
     outputHashes = {
@@ -45,7 +55,7 @@ rustPlatform.buildRustPackage rec {
   # Disable all tests
   doCheck = false;
 
-  postBuild = ''
+  postFixup = ''
     for file in $out/bin/*; do
       wrapProgram $file \
         --set SHIMMERING_CC_DIR "${cc-data}" \