Files
m3ta-home/profiles/base/cli-tools/zellij-ps.nix

33 lines
1017 B
Nix

# 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);
};
}