Compare commits
5 Commits
43118be4b8
...
dd283fdffe
| Author | SHA1 | Date | |
|---|---|---|---|
|
dd283fdffe
|
|||
|
138724434d
|
|||
|
8d50b65f60
|
|||
|
4fdaae79a0
|
|||
|
f42f4d2aba
|
@@ -7,6 +7,33 @@
|
||||
with lib; let
|
||||
cfg = config.home.shell.zellij;
|
||||
isEmpty = list: list == [];
|
||||
plugin = {
|
||||
options = {
|
||||
name = mkOption {
|
||||
type = types.str;
|
||||
example = "filepicket";
|
||||
};
|
||||
location = mkOption {
|
||||
type = types.nullOr types.str;
|
||||
example = "zellij:strider";
|
||||
description = ''
|
||||
When null, defaults to zellij:`name`
|
||||
'';
|
||||
};
|
||||
config = mkOption {
|
||||
type = types.nullOr types.attrs;
|
||||
default = null;
|
||||
};
|
||||
};
|
||||
};
|
||||
pluginToLines = plugin: let
|
||||
location =
|
||||
if plugin ? location
|
||||
then plugin.location
|
||||
else "location=\"${plugin.name}\"";
|
||||
in ''
|
||||
${plugin.name} ${location}
|
||||
'';
|
||||
keybind = {
|
||||
options = {
|
||||
bind = mkOption {
|
||||
@@ -99,17 +126,15 @@ with lib; let
|
||||
keybinds = values;
|
||||
};
|
||||
in {
|
||||
options.home.shell.zellij = let
|
||||
jsonFormat = pkgs.formats.yaml {};
|
||||
in {
|
||||
options.home.shell.zellij = {
|
||||
enable = mkEnableOption "Enable Zellij";
|
||||
clearDefaultKeybinds = mkEnableOption "Clear default keybinds";
|
||||
settings = mkOption {
|
||||
inherit (jsonFormat) type;
|
||||
type = (pkgs.formats.yaml {}).type;
|
||||
default = {};
|
||||
};
|
||||
layouts = mkOption {
|
||||
inherit (jsonFormat) type;
|
||||
type = (pkgs.formats.yaml {}).type;
|
||||
default = {};
|
||||
};
|
||||
extraSettings = mkOption {
|
||||
|
||||
Reference in New Issue
Block a user