1f5ef2bb41
At commit [5666e6b9](5666e6b9fb
), broot refactored the content of the file `/resources/default-conf.hjson` into multiple files under the directory `/resources/default-conf`, using [`imports`](5666e6b9fb/resources/default-conf/conf.hjson (L152-L165)
) to refer to other configurations. This refactoring is effective since version 1.14.0 of broot. After this refactoring, in `xdg.configFile.broot` (which defaults to `~/.config/broot`): - we need to copy all potentially referenced files (all files under `resources/default-conf`), - except we need to leave out `conf.hjson` which conflicts with the `conf.toml` generated by home-manager (because broot [accepts both conf.toml and conf.hjson](https://dystroy.org/broot/conf_file/)) To implement this, we use `symlinkJoin` to create the content of `xdg.configFile.broot` by merging multiple sources.
27 lines
594 B
Nix
27 lines
594 B
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
with lib;
|
|
|
|
{
|
|
config = {
|
|
programs.broot = {
|
|
enable = true;
|
|
settings.modal = true;
|
|
};
|
|
|
|
nmt.script = ''
|
|
assertFileExists home-files/.config/broot/conf.toml
|
|
assertFileContent home-files/.config/broot/conf.toml ${
|
|
pkgs.writeText "broot.expected" ''
|
|
imports = ["verbs.hjson", {file = "dark-blue-skin.hjson", luma = ["dark", "unknown"]}, {file = "white-skin.hjson", luma = "light"}]
|
|
modal = true
|
|
show_selection_mark = true
|
|
verbs = []
|
|
|
|
[skin]
|
|
''
|
|
}
|
|
'';
|
|
};
|
|
}
|