diff --git a/modules/home/shell/nvim-lua/plugins/nvim-treesitter.lua b/modules/home/shell/nvim-lua/plugins/nvim-treesitter.lua
new file mode 100644
index 0000000..b69028d
--- /dev/null
+++ b/modules/home/shell/nvim-lua/plugins/nvim-treesitter.lua
@@ -0,0 +1,8 @@
+return {
+  {
+    "nvim-treesitter/nvim-treesitter",
+    config = function ()
+      require("nvim-treesitter.install").compilers = {vim.g.gcc_bin_path}
+    end,
+  }
+}
diff --git a/modules/nixos/default.nix b/modules/nixos/default.nix
index 951db34..c521ad5 100644
--- a/modules/nixos/default.nix
+++ b/modules/nixos/default.nix
@@ -8,7 +8,7 @@
 }: let
   cfg = config.myConfig;
 in {
-  imports = [./bootloader.nix ./locale.nix ./greetd.nix ./rebuild.nix ./sops.nix ./sway.nix ./wifi.nix ./music.nix ./cups.nix ./gpu/amd.nix ./touch.nix ./cache.nix ./nix.nix ./update.nix ./podman.nix ./qemu.nix ./bluetooth.nix ./network.nix];
+  imports = [./bootloader.nix ./locale.nix ./greetd.nix ./rebuild.nix ./sops.nix ./sway.nix ./wifi.nix ./music.nix ./cups.nix ./gpu/amd.nix ./touch.nix ./cache.nix ./nix.nix ./update.nix ./podman.nix ./qemu.nix ./bluetooth.nix ./network.nix ./nix-ld.nix];
 
   options.myConfig = {
     enable = lib.mkEnableOption "my custom config";
@@ -33,6 +33,7 @@ in {
       qemu.enable = true;
       qemu.kvm = lib.mkIf (system == "x86_64-linux") true;
       network.enable = true;
+      nix-ld.enable = true;
 
       greetd.enable = lib.mkIf cfg.desktop true;
       sway.enable = lib.mkIf cfg.desktop true;
diff --git a/modules/nixos/nix-ld.nix b/modules/nixos/nix-ld.nix
new file mode 100644
index 0000000..7559243
--- /dev/null
+++ b/modules/nixos/nix-ld.nix
@@ -0,0 +1,19 @@
+{
+  lib,
+  config,
+  pkgs,
+  ...
+}: let
+  cfg = config.myConfig.nix-ld;
+in {
+  options.myConfig.nix-ld = {
+    enable = lib.mkEnableOption "ld replacement for external binaries";
+  };
+
+  config = lib.mkIf cfg.enable {
+    programs.nix-ld = {
+      enable = true;
+      libraries = with pkgs; [];
+    };
+  };
+}