mirror of
https://github.com/nix-community/home-manager.git
synced 2025-11-08 19:46:05 +01:00
rofi: modes option (#6115)
Adds `programs.rofi.modes` option. For the tiny convenience of supporting the custom mode syntax.
This commit is contained in:
parent
2ede089d11
commit
cea975d46d
4 changed files with 39 additions and 3 deletions
|
|
@ -132,6 +132,7 @@ let
|
|||
else
|
||||
cfg.theme;
|
||||
|
||||
modes = map (mode: if isString mode then mode else "${mode.name}:${mode.path}") cfg.modes;
|
||||
in
|
||||
{
|
||||
options.programs.rofi = {
|
||||
|
|
@ -254,11 +255,36 @@ in
|
|||
description = "Path where to put generated configuration file.";
|
||||
};
|
||||
|
||||
modes = mkOption {
|
||||
default = [ ];
|
||||
example = literalExpression ''
|
||||
[
|
||||
"drun"
|
||||
"emoji"
|
||||
"ssh"
|
||||
{
|
||||
name = "whatnot";
|
||||
path = lib.getExe pkgs.rofi-whatnot;
|
||||
}
|
||||
]
|
||||
'';
|
||||
type =
|
||||
with types;
|
||||
listOf (
|
||||
either str (submodule {
|
||||
options = {
|
||||
name = mkOption { type = str; };
|
||||
path = mkOption { type = str; };
|
||||
};
|
||||
})
|
||||
);
|
||||
description = "Modes to enable. For custom modes see `man 5 rofi-script`.";
|
||||
};
|
||||
|
||||
extraConfig = mkOption {
|
||||
default = { };
|
||||
example = literalExpression ''
|
||||
{
|
||||
modi = "drun,emoji,ssh";
|
||||
kb-primary-paste = "Control+V,Shift+Insert";
|
||||
kb-secondary-paste = "Control+v,Insert";
|
||||
}
|
||||
|
|
@ -313,6 +339,7 @@ in
|
|||
toRasi {
|
||||
configuration = (
|
||||
{
|
||||
inherit modes;
|
||||
font = cfg.font;
|
||||
terminal = cfg.terminal;
|
||||
cycle = cfg.cycle;
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
configuration {
|
||||
location: 0;
|
||||
modes: [ ];
|
||||
xoffset: 0;
|
||||
yoffset: 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ font: "Droid Sans Mono 14";
|
|||
kb-primary-paste: "Control+V,Shift+Insert";
|
||||
kb-secondary-paste: "Control+v,Insert";
|
||||
location: 0;
|
||||
modi: "drun,emoji,ssh";
|
||||
modes: [ "drun","emoji","ssh","foo:bar" ];
|
||||
terminal: "/some/path";
|
||||
xoffset: 0;
|
||||
yoffset: 0;
|
||||
|
|
|
|||
|
|
@ -9,8 +9,16 @@
|
|||
border = "border";
|
||||
separator = "separator";
|
||||
};
|
||||
modes = [
|
||||
"drun"
|
||||
"emoji"
|
||||
"ssh"
|
||||
{
|
||||
name = "foo";
|
||||
path = "bar";
|
||||
}
|
||||
];
|
||||
extraConfig = {
|
||||
modi = "drun,emoji,ssh";
|
||||
kb-primary-paste = "Control+V,Shift+Insert";
|
||||
kb-secondary-paste = "Control+v,Insert";
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue