added stuff
This commit is contained in:
parent
937f28770d
commit
236b8c2a6b
907 changed files with 70990 additions and 0 deletions
50
nyx/modules/extra/shared/home-manager/vifm/default.nix
Normal file
50
nyx/modules/extra/shared/home-manager/vifm/default.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with builtins; let
|
||||
inherit (lib) types mkIf mkOption mkEnableOption mkPackageOptionMD literalExpression;
|
||||
|
||||
cfg = config.programs.vifm;
|
||||
in {
|
||||
meta.maintainers = [maintainers.NotAShelf];
|
||||
options.programs.vifm = {
|
||||
enable = mkEnableOption "vifm, file manager with curses interface, which provides Vim-like environment for managing objects within file systems";
|
||||
|
||||
package = mkPackageOptionMD pkgs "vifm" {};
|
||||
|
||||
config = mkOption {
|
||||
type = types.lines;
|
||||
default = "";
|
||||
description = "Vifm configuration to be written in vifmrc";
|
||||
|
||||
example = literalExpression ''
|
||||
" vim:ft=vifm
|
||||
set vicmd="nvim"
|
||||
set runexec
|
||||
'';
|
||||
};
|
||||
|
||||
extraConfigFiles = mkOption {
|
||||
type = with types; listOf str;
|
||||
default = [];
|
||||
example = ["~/.config/vifm/vifmrc.local"];
|
||||
description = ''
|
||||
Extra vifm configuration files to be sourced in vifmrc
|
||||
|
||||
Can be an absolute path, or a path relative to `$XDG_CONFIG_HOME/vifm`
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = [cfg.package];
|
||||
|
||||
xdg.configFile."vifm/vifmrc".source = pkgs.writeText "vifmrc" (
|
||||
(lib.concatLines (lib.forEach cfg.extraConfigFiles (x: "source ${x}")))
|
||||
+ cfg.config
|
||||
);
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue