diff --git a/nix/modules/home-manager/git.nix b/nix/modules/home-manager/git.nix
index 40bef112..c54b26af 100644
--- a/nix/modules/home-manager/git.nix
+++ b/nix/modules/home-manager/git.nix
@@ -146,10 +146,7 @@
     };
   };
 
-  home.packages = with pkgs; [
-    git-instafix
-    git-squash-merge
-  ];
+  home.packages = [ pkgs.git-instafix ];
 
   home.sessionVariables = {
     GIT_INSTAFIX_UPSTREAM = "origin/main";
diff --git a/nix/pkgs/default.nix b/nix/pkgs/default.nix
index 72f17e2a..d8cb0376 100644
--- a/nix/pkgs/default.nix
+++ b/nix/pkgs/default.nix
@@ -5,7 +5,6 @@ let
 in
 {
   build-glove80 = callPackage ./build-glove80.nix { };
-  git-squash-merge = callPackage ./git-squash-merge.nix { };
 
   vimPlugins = prev.vimPlugins // {
     conf-vim = callPackage ./vim-plugins/conf-vim.nix { };
diff --git a/nix/pkgs/git-squash-merge.nix b/nix/pkgs/git-squash-merge.nix
deleted file mode 100644
index bfc1ad4d..00000000
--- a/nix/pkgs/git-squash-merge.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ pkgs }:
-
-pkgs.writeShellApplication {
-  name = "git-squash-merge";
-
-  runtimeInputs = with pkgs; [
-    bashInteractive
-    coreutils
-    git
-  ];
-
-  text = ''
-    branch_to_merge=$1
-    target_branch=''${2:-main}
-
-    if [[ -z "$branch_to_merge" ]]; then
-      echo "Usage: $0 <branch-to-merge> [target-branch]"
-      exit 1
-    fi
-
-    if ! git checkout "$target_branch"; then
-      echo "Error: Failed to checkout target branch '$target_branch'."
-      exit 1
-    fi
-
-    if ! git merge --squash "$branch_to_merge"; then
-      echo "Error: Squash merge from '$branch_to_merge' to '$target_branch' failed."
-      exit 1
-    fi
-
-    squashed_commit_messages=$(git log "$target_branch..$branch_to_merge" --reverse --pretty=format:"%h %s%n%b%n")
-
-    temp_file=$(mktemp)
-    echo -e "$squashed_commit_messages" > "$temp_file"
-
-    GIT_COMMIT_EDITMSG="$temp_file" git commit --edit
-
-    rm -f "$temp_file"
-  '';
-}