diff --git a/flake.nix b/flake.nix
index e389de9..0b0503c 100644
--- a/flake.nix
+++ b/flake.nix
@@ -113,6 +113,11 @@
 
             # get shared libs
             find . -type f -executable | xargs ldd | awk '{print $3}' | grep -v systemd | sort -u | xargs cp -t usr/lib
+            find . -type f -executable | xargs chmod 755
+
+            # hacky patch elf
+            find . -type f -executable -print | xargs -I {} ${pkgs.lib.getExe pkgs.patchelf} --set-rpath /lib:/lib64 {}
+            find . -type f -executable -print | xargs -I {} ${pkgs.lib.getExe pkgs.patchelf} --set-interpreter /lib/ld-linux-x86-64.so.2 {}
 
             # gen initrd
             find . -print0 | ${pkgs.lib.getExe pkgs.cpio} --null --owner=root:root -o --format=newc | ${pkgs.lib.getExe pkgs.gzip} -9 > ../initrd.gz