# Zellij-ps — project-aware Zellij session manager. # Installs the zellij-ps package directly and sets project folders. # Note: Does NOT use the m3ta-nixpkgs cli.zellij-ps module to avoid # overlay dependency issues when m3ta-home is used standalone. { config, lib, pkgs, inputs, ... }: with lib; let cfg = config.base.cliTools.zellijPs; in { options.base.cliTools.zellijPs = { # Enabled by default — base modules are always-on. enable = (mkEnableOption "enable zellij-ps project session manager") // {default = true;}; projectFolders = mkOption { type = types.listOf types.path; description = "Project root folders scanned by zellij-ps."; default = ["${config.home.homeDirectory}/p"]; }; }; config = mkIf cfg.enable { home.packages = [ (inputs.m3ta-nixpkgs.packages.${pkgs.stdenv.hostPlatform.system}.zellij-ps or pkgs.zellij-ps) ]; home.sessionVariables.PROJECT_FOLDERS = lib.concatStringsSep ":" (map toString cfg.projectFolders); }; }