33 lines
1017 B
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);
|
|
};
|
|
}
|