yep, more dotfiles
1{ config
2, lib
3, pkgs
4, ...
5}:
6
7let
8 cfg = config.local.fragment.vm;
9
10 theme = config.local.colorScheme.palette;
11 keyValueFormat = lib.generators.toKeyValue { };
12in
13{
14 config = lib.mkIf cfg.enable {
15 wayland.windowManager.sway.config.menu =
16 let
17 tofi-drun = lib.getExe' pkgs.tofi "tofi-drun";
18 swaymsg = lib.getExe' config.wayland.windowManager.sway.package "swaymsg";
19
20 jetbrains-nerd-font-regular = "${pkgs.nerd-fonts.jetbrains-mono}/share/fonts/truetype/JetBrainsMonoNerdFont-Regular.ttf";
21 in
22 "${tofi-drun} --font ${jetbrains-nerd-font-regular} | xargs ${swaymsg} exec --";
23
24 xdg.configFile."tofi/config".text = keyValueFormat {
25 font-size = 14;
26
27 horizontal = true;
28 anchor = "top";
29 width = "100%";
30 height = 48;
31
32 outline-width = 0;
33 border-width = 0;
34
35 min-input-width = 100;
36 result-spacing = 20;
37
38 padding-top = 12;
39 padding-bottom = 12;
40 padding-left = 20;
41 padding-right = 20;
42
43 text-color = "#${theme.base06}";
44 background-color = "#${theme.base00}";
45
46 prompt-text = " ";
47 prompt-padding = 30;
48 prompt-background = "#${theme.base01}";
49 prompt-background-padding = "5, 10";
50 prompt-background-corner-radius = 5;
51
52 input-color = "#${theme.base07}";
53 input-background = "#${theme.base01}";
54 input-background-padding = "5, 10";
55 input-background-corner-radius = 5;
56
57 selection-color = "#${theme.base0E}";
58 selection-background = "#${theme.base01}";
59 selection-background-padding = "5, 10";
60 selection-background-corner-radius = 8;
61 selection-match-color = "#${theme.base08}";
62
63 clip-to-padding = false;
64 };
65 };
66}