144 lines
3.6 KiB
Nix
144 lines
3.6 KiB
Nix
{
|
|
lib,
|
|
config,
|
|
pkgs,
|
|
options,
|
|
inputs,
|
|
...
|
|
}: {
|
|
options.mods = {
|
|
hyprland = {
|
|
anyrun = {
|
|
enable = lib.mkOption {
|
|
default = true;
|
|
example = false;
|
|
type = lib.types.bool;
|
|
description = "Enables anyrun";
|
|
};
|
|
useDefaultConfig = lib.mkOption {
|
|
default = true;
|
|
example = false;
|
|
type = lib.types.bool;
|
|
description = ''
|
|
Use preconfigured anyrun config.
|
|
'';
|
|
};
|
|
customConfig = lib.mkOption {
|
|
default = {};
|
|
example = {};
|
|
type = with lib.types; attrsOf anything;
|
|
description = ''
|
|
Custom anyrun configuration.
|
|
Will be merged with default configuration if enabled.
|
|
'';
|
|
};
|
|
useDefaultCss = lib.mkOption {
|
|
default = true;
|
|
example = false;
|
|
type = lib.types.bool;
|
|
description = ''
|
|
Use preconfigured anyrun css.
|
|
'';
|
|
};
|
|
customCss = lib.mkOption {
|
|
default = '''';
|
|
example = ''
|
|
#window {
|
|
border-radius: none;
|
|
}
|
|
'';
|
|
type = lib.types.lines;
|
|
description = ''
|
|
Custom anyrun css.
|
|
Will be merged with default css if enabled.
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf config.mods.hyprland.anyrun.enable (
|
|
lib.optionalAttrs (options ? home.packages) {
|
|
programs.anyrun = lib.mkForce {
|
|
enable = true;
|
|
config =
|
|
if config.mods.hyprland.anyrun.useDefaultConfig
|
|
then
|
|
{
|
|
plugins = [
|
|
inputs.anyrun.packages.${pkgs.system}.applications
|
|
inputs.anyrun.packages.${pkgs.system}.rink
|
|
inputs.anyrun.packages.${pkgs.system}.translate
|
|
inputs.anyrun.packages.${pkgs.system}.websearch
|
|
];
|
|
hideIcons = false;
|
|
width = {
|
|
fraction = 0.3;
|
|
};
|
|
y = {
|
|
fraction = 0.5;
|
|
};
|
|
layer = "overlay";
|
|
hidePluginInfo = true;
|
|
closeOnClick = true;
|
|
}
|
|
// config.mods.hyprland.anyrun.customConfig
|
|
else config.mods.hyprland.anyrun.customConfig;
|
|
|
|
extraCss =
|
|
if config.mods.hyprland.anyrun.useDefaultCss
|
|
then
|
|
''
|
|
#window {
|
|
border-radius: 10px;
|
|
background-color: transparent;
|
|
}
|
|
|
|
box#main {
|
|
border-radius: 10px;
|
|
}
|
|
|
|
list#main {
|
|
border-radius: 10px;
|
|
margin: 0px 10px 10px 10px;
|
|
}
|
|
|
|
list#plugin {
|
|
border-radius: 10px;
|
|
}
|
|
|
|
list#match {
|
|
border-radius: 10px;
|
|
}
|
|
|
|
entry#entry {
|
|
border: 0;
|
|
border-radius: 10px;
|
|
margin: 10px 10px 0px 10px;
|
|
}
|
|
|
|
label#match-desc {
|
|
font-size: 12px;
|
|
border-radius: 10px;
|
|
}
|
|
|
|
label#match-title {
|
|
font-size: 12px;
|
|
border-radius: 10px;
|
|
}
|
|
|
|
label#plugin {
|
|
font-size: 16px;
|
|
border-radius: 10px;
|
|
}
|
|
|
|
* {
|
|
border-radius: 10px;
|
|
}
|
|
''
|
|
+ config.mods.hyprland.anyrun.customCss
|
|
else config.mods.hyprland.anyrun.customCss;
|
|
};
|
|
}
|
|
);
|
|
}
|