{
config,
lib,
...
}: let
mkLayoutFile = file_name: {
"zellij/layouts/${file_name}".source = ./layouts/${file_name};
};
merge = lib.foldl (a: b: a // b) {};
layouts = with builtins; map mkLayoutFile (attrNames (readDir ./layouts));
in {
xdg.configFile =
(merge layouts)
// {
"zellij/themes/rose-pine.kdl".source = ./themes/rose-pine.kdl;
"zellij/config.kdl".text =
''
layout_dir "${config.xdg.configHome}/zellij/layouts"
theme_dir "${config.xdg.configHome}/zellij/themes"
''
+ builtins.readFile ./config.kdl;
};
}