home-manager/tests/modules/programs/rofi/custom-theme.nix
Thiago Kenji Okada 98d030f723
rofi: add support to custom themes
If this commit now it is possible to define a custom theme directly
using Nix, like this:

```nix
{
   programs.rofi.theme = {
      "*" = {
         background-color = "#000000";
         border-color = "FFFFFF";
         width = 512;
      };
      listview = {
         cycle = true;
      };
   };
}
```

And this will be converted to the proper rasi format to be used in
rofi.
2021-01-30 09:13:28 +01:00

39 lines
937 B
Nix

{ config, lib, pkgs, ... }:
with lib;
{
config = {
programs.rofi = {
enable = true;
theme = with config.lib.formats.rasi; {
"*" = {
background-color = mkLiteral "#000000";
foreground-color = mkLiteral "rgba ( 250, 251, 252, 100 % )";
border-color = mkLiteral "#FFFFFF";
width = 512;
};
"#textbox-prompt-colon" = {
expand = false;
str = ":";
margin = mkLiteral "0px 0.3em 0em 0em";
text-color = mkLiteral "@foreground-color";
};
};
};
nixpkgs.overlays =
[ (self: super: { rofi = pkgs.writeScriptBin "dummy-rofi" ""; }) ];
nmt.script = ''
assertFileContent \
home-files/.config/rofi/config.rasi \
${./custom-theme-config.rasi}
assertFileContent \
home-files/.local/share/rofi/themes/custom.rasi \
${./custom-theme.rasi}
'';
};
}