diff --git a/pkgs/shells/hilbish/default.nix b/pkgs/shells/hilbish/default.nix
index ddc5b28e5e09..be2bdf318f40 100644
--- a/pkgs/shells/hilbish/default.nix
+++ b/pkgs/shells/hilbish/default.nix
@@ -8,13 +8,30 @@ buildGoModule rec {
     owner = "Rosettea";
     repo = "Hilbish";
     rev = "v${version}";
-    sha256 = "sha256-xqGesBNN9lZTYx0kTZfFARq1a/dEC+c3Fo0xLxZuZP4=";
+    sha256 = "sha256-557Je9KeBpkZxVAxcjWAhybIJJYlzhtbnIyZh0rCRUc=";
+    fetchSubmodules = true;
   };
 
   vendorSha256 = "sha256-8l+Kb1ADMLwv0Hf/ikok8eUcEEST07rhk8BjHxJI0lc=";
 
   buildInputs = [ readline ];
 
+  ldflags = [ "-s" "-w" ];
+
+  postPatch = ''
+    # in master vars.go is called vars_linux.go
+    substituteInPlace vars.go \
+      --replace "/usr/share" "${placeholder "out"}/share/"
+  '';
+
+  postInstall = ''
+    mkdir -p "$out/share/hilbish"
+
+    cp .hilbishrc.lua $out/share/hilbish/
+    cp -r libs -t $out/share/hilbish/
+    cp preload.lua $out/share/hilbish/
+  '';
+
   meta = with lib; {
     description = "An interactive Unix-like shell written in Go";
     changelog = "https://github.com/Rosettea/Hilbish/releases/tag/v${version}";