Переглянути джерело

feat(zellij): migrate from tmux to zellij

This commit migrates the development environment from tmux to Zellij as the primary terminal multiplexer.

The key changes include:
- Removing all tmux-related configurations, packages, and modules.
- Integrating Zellij with Neovim for seamless navigation.
- Adding the zellij-autolock plugin for improved navigation and mode management.
- Updating the Aerospace configuration to better integrate with Zellij.
- Removing unused flakes and packages such as zen-browser, sessionx, and karabiner-driverkit to streamline the configuration.
Zander Hawke 9 місяців тому
батько
коміт
d3c7ada291

+ 0 - 1
devenv.nix

@@ -17,7 +17,6 @@
     '';
     hms.exec = ''
       ${home-manager.exec} switch --flake .#$(whoami)@$(hostname);
-      zen --ProfileManager
     '';
 
     nrb.exec = ''

+ 1 - 103
flake.lock

@@ -136,23 +136,6 @@
         "type": "github"
       }
     },
-    "flake-parts_3": {
-      "inputs": {
-        "nixpkgs-lib": "nixpkgs-lib"
-      },
-      "locked": {
-        "lastModified": 1709336216,
-        "narHash": "sha256-Dt/wOWeW6Sqm11Yh+2+t0dfEWxoMxGBvv3JpIocFl9E=",
-        "owner": "hercules-ci",
-        "repo": "flake-parts",
-        "rev": "f7b3c975cf067e56e7cda6cb098ebe3fb4d74ca2",
-        "type": "github"
-      },
-      "original": {
-        "id": "flake-parts",
-        "type": "indirect"
-      }
-    },
     "flake-utils": {
       "inputs": {
         "systems": "systems"
@@ -240,27 +223,6 @@
         "type": "github"
       }
     },
-    "home-manager_2": {
-      "inputs": {
-        "nixpkgs": [
-          "zen-browser",
-          "nixpkgs"
-        ]
-      },
-      "locked": {
-        "lastModified": 1752603129,
-        "narHash": "sha256-S+wmHhwNQ5Ru689L2Gu8n1OD6s9eU9n9mD827JNR+kw=",
-        "owner": "nix-community",
-        "repo": "home-manager",
-        "rev": "e8c19a3cec2814c754f031ab3ae7316b64da085b",
-        "type": "github"
-      },
-      "original": {
-        "owner": "nix-community",
-        "repo": "home-manager",
-        "type": "github"
-      }
-    },
     "ixx": {
       "inputs": {
         "flake-utils": [
@@ -358,24 +320,6 @@
         "type": "github"
       }
     },
-    "nixpkgs-lib": {
-      "locked": {
-        "dir": "lib",
-        "lastModified": 1709237383,
-        "narHash": "sha256-cy6ArO4k5qTx+l5o+0mL9f5fa86tYUX3ozE1S+Txlds=",
-        "owner": "NixOS",
-        "repo": "nixpkgs",
-        "rev": "1536926ef5621b09bba54035ae2bb6d806d72ac8",
-        "type": "github"
-      },
-      "original": {
-        "dir": "lib",
-        "owner": "NixOS",
-        "ref": "nixos-unstable",
-        "repo": "nixpkgs",
-        "type": "github"
-      }
-    },
     "nixpkgs-unstable": {
       "locked": {
         "lastModified": 1754393734,
@@ -447,31 +391,7 @@
         "nixpkgs": "nixpkgs",
         "nixpkgs-darwin": "nixpkgs-darwin",
         "nixpkgs-unstable": "nixpkgs-unstable",
-        "nixvim": "nixvim",
-        "sessionx": "sessionx",
-        "zen-browser": "zen-browser"
-      }
-    },
-    "sessionx": {
-      "inputs": {
-        "flake-parts": "flake-parts_3",
-        "nixpkgs": [
-          "nixpkgs-unstable"
-        ]
-      },
-      "locked": {
-        "lastModified": 1755015079,
-        "narHash": "sha256-sdoAwL5qHkyjcHXAFHveujX7AfJ0Y0x+8IZgZITxmp4=",
-        "owner": "tstachl",
-        "repo": "tmux-sessionx",
-        "rev": "7df19f8311f3e83c528a7148a44ec74eaca3f72c",
-        "type": "github"
-      },
-      "original": {
-        "owner": "tstachl",
-        "ref": "feature-speed-up-find",
-        "repo": "tmux-sessionx",
-        "type": "github"
+        "nixvim": "nixvim"
       }
     },
     "systems": {
@@ -503,28 +423,6 @@
         "repo": "default",
         "type": "github"
       }
-    },
-    "zen-browser": {
-      "inputs": {
-        "home-manager": "home-manager_2",
-        "nixpkgs": [
-          "nixpkgs-unstable"
-        ]
-      },
-      "locked": {
-        "lastModified": 1755836873,
-        "narHash": "sha256-kqBx9zxViNZsg7rD2zqzOQgCWJF/VNrAn0/T1Q7RuBM=",
-        "owner": "0xc000022070",
-        "repo": "zen-browser-flake",
-        "rev": "a1bb1b39bee59f537799d9937c6919544c841e5b",
-        "type": "github"
-      },
-      "original": {
-        "owner": "0xc000022070",
-        "ref": "main",
-        "repo": "zen-browser-flake",
-        "type": "github"
-      }
     }
   },
   "root": "root",

+ 0 - 7
flake.nix

@@ -15,13 +15,6 @@
 
     nixvim.url = "github:nix-community/nixvim/nixos-25.05?shallow=true";
     nixvim.inputs.nixpkgs.follows = "nixpkgs";
-
-    zen-browser.url = "github:0xc000022070/zen-browser-flake/main?shallow=true";
-    zen-browser.inputs.nixpkgs.follows = "nixpkgs-unstable";
-
-    sessionx.url = "github:tstachl/tmux-sessionx/feature-speed-up-find";
-    # sessionx.url = "path:/Users/thomas/workspace/tstachl/tmux-sessionx";
-    sessionx.inputs.nixpkgs.follows = "nixpkgs-unstable";
   };
 
   outputs = { self, ... } @ inputs: rec {

+ 0 - 1
home/features/cli/default.nix

@@ -7,7 +7,6 @@
     ./gnupg.nix
     ./ssh.nix
     ./starship.nix
-    ./tmux.nix
     ./zellij.nix
   ];
 

+ 10 - 0
home/features/cli/zellij.nix

@@ -308,6 +308,16 @@ in
             _children = [{ welcome_screen._args = [ true ]; }];
           };
         }
+        {
+          autolock = {
+            _props.location = "https://github.com/fresh2dev/zellij-autolock/releases/latest/download/zellij-autolock.wasm";
+            _children = [
+              { triggers._args = [ "nvim|vim|v|nv" ]; }
+              { watch_triggers._args = [ "fzf|zoxide|atuin|atac" ]; }
+              { watch_interval._args = [ "1.0" ]; }
+            ];
+          };
+        }
       ];
     };
   };

+ 29 - 70
home/features/desktop/aerospace.nix

@@ -1,50 +1,19 @@
-{ pkgs
-, config
-, lib
-, ...
-}:
-let
-  cfg = config.programs.aerospace;
-  aerospace-focus = "${lib.getExe pkgs.aerospace-tmux-focus}";
-in
 {
-  home.packages = [ pkgs.aerospace-tmux-focus ];
-
-  launchd.agents.aerospace = {
-    enable = lib.mkForce true;
-    config = {
-      ProgramArguments = [
-        "${cfg.package}/Applications/AeroSpace.app/Contents/MacOS/AeroSpace"
-        "--started-at-login"
-      ];
-      KeepAlive = true;
-      RunAtLoad = true;
-    };
-  };
-
   programs.aerospace = {
     enable = true;
     userSettings = {
       start-at-login = true;
 
       mode.main.binding = {
-        # window focus
-        ctrl-left = "exec-and-forget ${aerospace-focus} left";
-        ctrl-down = "exec-and-forget ${aerospace-focus} down";
-        ctrl-up = "exec-and-forget ${aerospace-focus} up";
-        ctrl-right = "exec-and-forget ${aerospace-focus} right";
-
         # vim-style window focusing
-        ctrl-h = "exec-and-forget ${aerospace-focus} left";
-        ctrl-j = "exec-and-forget ${aerospace-focus} down";
-        ctrl-k = "exec-and-forget ${aerospace-focus} up";
-        ctrl-l = "exec-and-forget ${aerospace-focus} right";
-
-        # move windows
-        ctrl-shift-left = "move left";
-        ctrl-shift-down = "move down";
-        ctrl-shift-up = "move up";
-        ctrl-shift-right = "move right";
+        # ctrl-h = "exec-and-forget ${aerospace-focus} left";
+        # ctrl-j = "exec-and-forget ${aerospace-focus} down";
+        # ctrl-k = "exec-and-forget ${aerospace-focus} up";
+        # ctrl-l = "exec-and-forget ${aerospace-focus} right";
+        ctrl-h = "focus left";
+        ctrl-j = "focus down";
+        ctrl-k = "focus up";
+        ctrl-l = "focus right";
 
         # vim-style window moving
         ctrl-shift-h = "move left";
@@ -53,31 +22,22 @@ in
         ctrl-shift-l = "move right";
 
         # jump to workspace
-        ctrl-b = "workspace B"; # Browser
-        ctrl-e = "workspace E"; # Finder
-        ctrl-m = "workspace M"; # Mail
-        ctrl-n = "workspace N"; # Notes
-        ctrl-s = "workspace S"; # Signal
-        ctrl-t = "workspace T"; # Terminal
-        ctrl-v = "workspace V"; # Video
+        ctrl-1 = "workspace 1"; # Browser
+        ctrl-2 = "workspace 2"; # Terminal
+        ctrl-3 = "workspace 3"; # Mail
+        ctrl-4 = "workspace 4"; # Video
 
         # move window to workspace
-        ctrl-shift-b = "move-node-to-workspace B";
-        ctrl-shift-e = "move-node-to-workspace E";
-        ctrl-shift-t = "move-node-to-workspace T";
-        ctrl-shift-m = "move-node-to-workspace M";
-        ctrl-shift-n = "move-node-to-workspace N";
-        ctrl-shift-s = "move-node-to-workspace S";
-        ctrl-shift-v = "move-node-to-workspace V";
+        ctrl-shift-1 = "move-node-to-workspace 1";
+        ctrl-shift-2 = "move-node-to-workspace 2";
+        ctrl-shift-3 = "move-node-to-workspace 3";
+        ctrl-shift-4 = "move-node-to-workspace 4";
 
         # follow window to workspace
-        ctrl-cmd-b = [ "move-node-to-workspace B" "workspace B" ];
-        ctrl-cmd-e = [ "move-node-to-workspace E" "workspace E" ];
-        ctrl-cmd-t = [ "move-node-to-workspace T" "workspace M" ];
-        ctrl-cmd-m = [ "move-node-to-workspace M" "workspace N" ];
-        ctrl-cmd-n = [ "move-node-to-workspace N" "workspace S" ];
-        ctrl-cmd-s = [ "move-node-to-workspace S" "workspace T" ];
-        ctrl-cmd-v = [ "move-node-to-workspace V" "workspace V" ];
+        ctrl-cmd-1 = [ "move-node-to-workspace 1" "workspace 1" ];
+        ctrl-cmd-2 = [ "move-node-to-workspace 2" "workspace 2" ];
+        ctrl-cmd-3 = [ "move-node-to-workspace 3" "workspace 3" ];
+        ctrl-cmd-4 = [ "move-node-to-workspace 4" "workspace 4" ];
 
         # window management
         ctrl-q = "close";
@@ -92,13 +52,14 @@ in
         ctrl-shift-space = "layout accordion horizontal vertical";
 
         # resize mode
-        ctrl-r = "mode resize";
+        ctrl-shift-r = "mode resize";
 
         # application launchers; not necessary since we're using app launcher
-        # ctrl-return      = "exec-and-forget open -a Terminal";
-        # ctrl-e           = "exec-and-forget open -a Finder";
-        # ctrl-b           = "exec-and-forget open -a Safari";
-        ctrl-d = "exec-and-forget open -a Raycast";
+        alt-enter = "exec-and-forget open -a Ghostty";
+        alt-e = "exec-and-forget open -a Finder";
+        alt-b = "exec-and-forget open -a Vivaldi.app";
+        alt-v = "exec-and-forget open -a \"Vivaldi.app\" -n --args --profile-directory=YouTube";
+        # ctrl-d = "exec-and-forget open -a Raycast";
 
         # reload configuration; probably not necessary since we're using hm
         # ctrl-ctrl-r      = "reload-config";
@@ -125,15 +86,13 @@ in
         ctrl-r = "mode main";
       };
 
+      # FIXME: these don't work, probably because of toml
       on-window-detected = [
         # disable on "Picture-in-Picture"
         {
           check-further-callbacks = false;
-          "if" = {
-            app-id = "com.brave.Browser";
-            window-title-regex-substring = "Picture in Picture";
-          };
-          run = [ "layout floating" ];
+          "if".window-title-regex-substring = "youtube";
+          run = [ "move-node-to-workspace 4" ];
         }
         {
           check-further-callbacks = false;

+ 1 - 4
home/features/desktop/default.nix

@@ -4,12 +4,9 @@
     ./fonts.nix
     ./ghostty.nix
     ./yubikey.nix
-    ./zen-browser.nix
   ] ++ lib.optionals (isDarwin) [
     ./aerospace.nix
-  ] ++ lib.optionals (!isDarwin) [
-    # ./hyprland.nix
-  ];
+  ] ++ lib.optionals (!isDarwin) [ ];
 
   services.syncthing.enable = true;
 }

+ 16 - 5
home/features/nvim/default.nix

@@ -16,7 +16,7 @@
   ];
 
   programs.nixvim.plugins = {
-    tmux-navigator.enable = true; # tmux navigation
+    zellij-nav.enable = true;
     todo-comments.enable = true; # todo comments eg TODO, FIXME, etc
   };
 
@@ -83,6 +83,12 @@
           end
         '';
       }
+      {
+        event = "VimLeave";
+        desc = "Return to Zellij normal mode when leaving nvim.";
+        pattern = "*";
+        command = "silent !zellij action switch-mode normal";
+      }
     ];
 
     autoGroups = {
@@ -96,10 +102,10 @@
       # Exit terminal mode in the builtin terminal
       # { key = "<Esc><Esc>"; action = "<C-\\><C-n>"; mode = "t"; option.desc = "Exit terminal mode"; }
       # Keybinds to make split navigation easier. TODO: figure out if these work
-      { key = "<C-h>"; action = "<C-w><C-h>"; mode = "n"; options.desc = "Move focus to the left window"; }
-      { key = "<C-l>"; action = "<C-w><C-l>"; mode = "n"; options.desc = "Move focus to the right window"; }
-      { key = "<C-j>"; action = "<C-w><C-j>"; mode = "n"; options.desc = "Move focus to the lower window"; }
-      { key = "<C-k>"; action = "<C-w><C-k>"; mode = "n"; options.desc = "Move focus to the upper window"; }
+      # { key = "<C-h>"; action = "<C-w>h"; mode = "n"; options.desc = "Move focus to the left window"; }
+      # { key = "<C-l>"; action = "<C-w>l"; mode = "n"; options.desc = "Move focus to the right window"; }
+      # { key = "<C-j>"; action = "<C-w>j"; mode = "n"; options.desc = "Move focus to the lower window"; }
+      # { key = "<C-k>"; action = "<C-w>k"; mode = "n"; options.desc = "Move focus to the upper window"; }
       # Move highlighed blocks of code up and down
       { key = "K"; action = ":m '<-2<CR>gv=gv"; mode = "v"; options.desc = "Move highlighted block up"; }
       { key = "J"; action = ":m '>+1<CR>gv=gv"; mode = "v"; options.desc = "Move highlighted block down"; }
@@ -111,6 +117,11 @@
 
       { key = "n"; action = "nzzzv"; mode = "n"; options.desc = "Find next and center cursor"; }
       { key = "N"; action = "Nzzzv"; mode = "n"; options.desc = "Find previous and center cursor"; }
+
+      { key = "<c-h>"; action = "<cmd>ZellijNavigateLeftTab<cr>"; options.silent = true; options.desc = "navigate left or tab"; }
+      { key = "<c-j>"; action = "<cmd>ZellijNavigateDown<cr>"; options.silent = true; options.desc = "navigate down"; }
+      { key = "<c-k>"; action = "<cmd>ZellijNavigateUp<cr>"; options.silent = true; options.desc = "navigate up"; }
+      { key = "<c-l>"; action = "<cmd>ZellijNavigateRightTab<cr>"; options.silent = true; options.desc = "navigate right or tab"; }
     ];
   };
 }

+ 2 - 1
hosts/meili/software.nix

@@ -21,7 +21,7 @@
       # "mac-mouse-fix"
       # "alacritty" # => we're using the home-manager package now
       # "bitwarden"
-      "brave-browser"
+      # "brave-browser"
       # "docker"
       # "deepl"
       "ghostty"
@@ -43,6 +43,7 @@
       # "tor-browser"
       # "utm"
       # "vlc"
+      "vivaldi"
       # "whatsapp"
       # "krunkit"
     ];

+ 1 - 3
modules/home-manager/default.nix

@@ -1,3 +1 @@
-{
-  tmux-sessionizer = import ./tmux-sessionizer.nix;
-}
+{ }

+ 0 - 167
modules/home-manager/tmux-sessionizer.nix

@@ -1,167 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-  cfg = config.programs.tmux.sessionizer;
-
-  # Generate the configuration file content
-  configContent = ''
-    # tmux-sessionizer configuration
-    ${optionalString (cfg.searchPaths != []) ''
-    TS_SEARCH_PATHS=(${concatStringsSep " " cfg.searchPaths})
-    ''}
-
-    ${optionalString (cfg.extraSearchPaths != []) ''
-    TS_EXTRA_SEARCH_PATHS=(${concatStringsSep " " (map (entry: 
-      if entry.depth != null 
-      then ''"${entry.path}:${toString entry.depth}"''
-      else ''"${entry.path}"''
-    ) cfg.extraSearchPaths)})
-    ''}
-
-    ${optionalString (cfg.maxDepth != null) ''
-    TS_MAX_DEPTH=${toString cfg.maxDepth}
-    ''}
-
-    ${optionalString (cfg.sessionCommands != []) ''
-    TS_SESSION_COMMANDS=(${concatStringsSep " " (map (cmd: ''"${cmd}"'') cfg.sessionCommands)})
-    ''}
-
-    ${optionalString cfg.logging.enable ''
-    TS_LOG="${cfg.logging.type}"
-    ${optionalString (cfg.logging.file != null) ''
-    TS_LOG_FILE="${cfg.logging.file}"
-    ''}
-    ''}
-
-    ${cfg.extraConfig}
-  '';
-
-in
-{
-  options.programs.tmux.sessionizer = {
-    enable = mkEnableOption "tmux-sessionizer integration";
-
-    package = mkOption {
-      type = types.package;
-      default = pkgs.tmux-sessionizer;
-      description = "The tmux-sessionizer package to use.";
-    };
-
-    searchPaths = mkOption {
-      type = types.listOf types.str;
-      default = [ "~/" "~/personal" "~/personal/dev/env/.config" ];
-      description = ''
-        List of paths to search for directories. These override the default search paths.
-      '';
-      example = [ "~/" "~/projects" "~/work" ];
-    };
-
-    extraSearchPaths = mkOption {
-      type = types.listOf (types.submodule {
-        options = {
-          path = mkOption {
-            type = types.str;
-            description = "Path to search in addition to the main search paths.";
-          };
-          depth = mkOption {
-            type = types.nullOr types.ints.positive;
-            default = null;
-            description = "Maximum depth to search in this path.";
-          };
-        };
-      });
-      default = [ ];
-      description = ''
-        Additional search paths with optional depth specification.
-      '';
-      example = [
-        { path = "~/ghq"; depth = 3; }
-        { path = "~/Git"; depth = 3; }
-        { path = "~/.config"; depth = 2; }
-      ];
-    };
-
-    maxDepth = mkOption {
-      type = types.nullOr types.ints.positive;
-      default = null;
-      description = ''
-        Maximum depth for directory searches. Overrides the default depth of 1.
-      '';
-      example = 2;
-    };
-
-    sessionCommands = mkOption {
-      type = types.listOf types.str;
-      default = [ ];
-      description = ''
-        List of commands that can be executed in tmux sessions using the -s flag.
-        These commands run in windows with indices starting from 69.
-      '';
-      example = [ "nvim" "git status" "npm run dev" ];
-    };
-
-    logging = {
-      enable = mkEnableOption "logging for tmux-sessionizer";
-
-      type = mkOption {
-        type = types.enum [ "echo" "file" "true" ];
-        default = "file";
-        description = ''
-          Type of logging to use:
-          - "echo": Print logs to stdout
-          - "file": Write logs to a file
-          - "true": Enable logging (same as "file")
-        '';
-      };
-
-      file = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        description = ''
-          Custom log file path. If not specified, defaults to 
-          ~/.local/share/tmux-sessionizer/tmux-sessionizer.logs
-        '';
-        example = "~/.cache/tmux-sessionizer.log";
-      };
-    };
-
-    extraConfig = mkOption {
-      type = types.lines;
-      default = "";
-      description = ''
-        Extra configuration to add to the tmux-sessionizer config file.
-      '';
-      example = ''
-        # Custom configuration
-        export CUSTOM_VAR="value"
-      '';
-    };
-
-    keyBinding = mkOption {
-      type = types.nullOr types.str;
-      default = "f";
-      description = ''
-        Key binding to launch tmux-sessionizer. Set to null to disable.
-      '';
-      example = "f";
-    };
-  };
-
-  config = mkIf (config.programs.tmux.enable && cfg.enable) {
-    # Add the package to home packages
-    home.packages = [ cfg.package ];
-
-    # Create the configuration file
-    xdg.configFile."tmux-sessionizer/tmux-sessionizer.conf" = mkIf (configContent != "") {
-      text = configContent;
-    };
-
-    # Add key binding to tmux configuration
-    programs.tmux.extraConfig = mkIf (cfg.keyBinding != null) ''
-      # tmux-sessionizer key binding
-      bind-key -r ${cfg.keyBinding} run-shell "tmux neww ${lib.getExe cfg.package}"
-    '';
-  };
-}

+ 0 - 3
packages/default.nix

@@ -1,9 +1,6 @@
 { pkgs ? (import <nixpkgs>) { } }: {
   aerospace-tmux-focus = pkgs.callPackage ./aerospace-tmux-focus.nix { };
   hello = pkgs.callPackage ./hello.nix { };
-  karabiner-driverkit = pkgs.callPackage ./karabiner-driverkit.nix { };
   opencode-nvim = pkgs.callPackage ./opencode-nvim.nix { };
   photo-cli = pkgs.callPackage ./photo-cli.nix { };
-  tmux-select-pane-no-wrap = pkgs.callPackage ./tmux-select-pane-no-wrap.nix { };
-  tmux-sessionizer = pkgs.callPackage ./tmux-sessionizer.nix { };
 }

+ 0 - 44
packages/karabiner-driverkit.nix

@@ -1,44 +0,0 @@
-{ lib
-, stdenv
-, fetchurl
-, xar
-, cpio
-}: stdenv.mkDerivation rec {
-  pname = "karabiner-driverkit";
-  version = "6.0.0";
-
-  src = fetchurl {
-    url = "https://github.com/pqrs-org/Karabiner-DriverKit-VirtualHIDDevice/releases/download/v${version}/Karabiner-DriverKit-VirtualHIDDevice-${version}.pkg";
-    sha256 = "sha256-S14c06v/L/PraLekzIroG6FQnV5dpx0cyJNb9ylB458=";
-  };
-
-  sourceRoot = ".";
-
-  nativeBuildInputs = [ cpio xar ];
-
-  unpackPhase = ''
-    runHook preUnpack
-
-    xar -xf $src
-    zcat Payload | cpio -id
-
-    runHook postUnpack
-  '';
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out
-    cp -r Applications $out/
-    cp -r Library $out/
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    description = "Virtual HID Device Driver for Karabiner-Elements";
-    homepage = "https://github.com/pqrs-org/Karabiner-DriverKit-VirtualHIDDevice";
-    platforms = platforms.darwin;
-    license = licenses.unlicense;
-  };
-}

+ 0 - 15
packages/tmux-select-pane-no-wrap.nix

@@ -1,15 +0,0 @@
-{ fetchFromGitHub
-, tmuxPlugins
-,
-}:
-tmuxPlugins.mkTmuxPlugin rec {
-  pluginName = "select-pane-no-wrap";
-  version = "00add78";
-  rtpFilePath = "${pluginName}.tmux";
-  src = fetchFromGitHub {
-    owner = "dalejung";
-    repo = "tmux-${pluginName}";
-    rev = version;
-    sha256 = "sha256-ot0cHvk1TXvHOw9z+7TLSiHT77jHwvV2PSHcNuhOorQ=";
-  };
-}

+ 0 - 39
packages/tmux-sessionizer.nix

@@ -1,39 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, bash, tmux, fzf, findutils, gnugrep, procps, coreutils }:
-
-stdenv.mkDerivation rec {
-  pname = "tmux-sessionizer";
-  version = "0.1.0";
-
-  src = fetchFromGitHub {
-    owner = "theprimeagen";
-    repo = pname;
-    rev = "7edf8211e36368c29ffc0d2c6d5d2d350b4d729b";
-    sha256 = "sha256-4QGlq/cLbed7AZhQ3R1yH+44gmgp9gSzbiQft8X5NwU=";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ bash ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp tmux-sessionizer $out/bin/tmux-sessionizer
-    chmod +x $out/bin/tmux-sessionizer
-
-    wrapProgram $out/bin/tmux-sessionizer \
-      --prefix PATH : ${lib.makeBinPath [ 
-        tmux
-        fzf
-        findutils
-        gnugrep
-        procps
-        coreutils
-      ]}
-  '';
-
-  meta = with lib; {
-    description = "Tmux session manager with fuzzy finding";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    mainProgram = pname;
-  };
-}