# zellij-ps Home Manager Module Zellij project switcher for Home Manager. ## Overview This module configures the zellij-ps tool, a Fish script that provides a fast, interactive way to switch between project folders in Zellij terminal multiplexer sessions. ## Quick Start ```nix {config, ...}: { imports = [m3ta-nixpkgs.homeManagerModules.default]; m3ta.cli.zellij-ps = { enable = true; }; } ``` ## Module Options ### `m3ta.cli.zellij-ps.enable` Enable zellij-ps module. - Type: `boolean` - Default: `false` ### `m3ta.cli.zellij-ps.package` Custom package to use. - Type: `package` - Default: `pkgs.zellij-ps` ## Usage After enabling, zellij-ps will be available in your path: ```bash # Run from outside Zellij to start a project session zellij-ps # Or pass a project path directly zellij-ps ~/projects/my-project ``` ### Basic Usage 1. Set `$PROJECT_FOLDERS` in your shell config (e.g., `~/projects:~/code`) 2. Run `zellij-ps` from outside a Zellij session 3. Use fzf to select a project from your configured folders 4. Zellij will create or attach to a session for that project ## Configuration ### Custom Package Use a custom or modified package: ```nix m3ta.cli.zellij-ps = { enable = true; package = pkgs.callPackage ./my-zellij-ps {}; }; ``` ## Dependencies The module ensures these are installed: - `fish` - Shell for script execution - `fd` - Fast file search - `fzf` - Fuzzy finder - `zellij` - Terminal multiplexer ## Related - [zellij-ps Package](../../packages/zellij-ps.md) - Package documentation - [Using Modules Guide](../../guides/using-modules.md) - Module usage patterns