96 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
	
		
			2.5 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
{
 | 
						|
  config,
 | 
						|
  pkgs,
 | 
						|
  lib,
 | 
						|
  font,
 | 
						|
  ...
 | 
						|
}:
 | 
						|
let
 | 
						|
  inherit (config.my)
 | 
						|
    key
 | 
						|
    theme
 | 
						|
    accent
 | 
						|
    font
 | 
						|
    ;
 | 
						|
  inherit (theme) color;
 | 
						|
in
 | 
						|
{
 | 
						|
  config = {
 | 
						|
    programs.rofi = {
 | 
						|
      enable = true;
 | 
						|
      package = pkgs.rofi-wayland.override {
 | 
						|
        plugins = with pkgs; [
 | 
						|
          rofi-emoji
 | 
						|
          rofi-file-browser
 | 
						|
        ];
 | 
						|
      };
 | 
						|
      extraConfig = {
 | 
						|
        show-icons = true;
 | 
						|
        modi = "drun,emoji";
 | 
						|
        terminal = "alacritty";
 | 
						|
        display-drun = "Iniciar: ";
 | 
						|
 | 
						|
        kb-primary-paste = "Control+V,Shift+Insert";
 | 
						|
        kb-secondary-paste = "Control+v,Insert";
 | 
						|
      };
 | 
						|
      theme =
 | 
						|
        let
 | 
						|
          # Use `mkLiteral` for string-like values that should show without
 | 
						|
          # quotes, e.g.:
 | 
						|
          # {
 | 
						|
          #   foo = "abc"; => foo: "abc";
 | 
						|
          #   bar = mkLiteral "abc"; => bar: abc;
 | 
						|
          # };
 | 
						|
          inherit (config.lib.formats.rasi) mkLiteral;
 | 
						|
        in
 | 
						|
        {
 | 
						|
          "*" = {
 | 
						|
            # foreground-color = mkLiteral color.txt;
 | 
						|
            text-color = mkLiteral color.txt;
 | 
						|
            # background-color = mkLiteral color.bg;
 | 
						|
            background-color = mkLiteral "transparent";
 | 
						|
            # width = 512;
 | 
						|
          };
 | 
						|
 | 
						|
          "#window" = {
 | 
						|
            background-color = mkLiteral "${color.bg}${lib.toHexString (theme.opacity * 255 / 100)}";
 | 
						|
            # children = map mkLiteral [ "prompt" "entry" ];
 | 
						|
            border = mkLiteral "2px solid";
 | 
						|
            border-color = mkLiteral accent.color;
 | 
						|
            padding = 0;
 | 
						|
          };
 | 
						|
          "#inputbar" = {
 | 
						|
            margin = mkLiteral "10px";
 | 
						|
          };
 | 
						|
          "#listview" = {
 | 
						|
            # fixed-height=0;
 | 
						|
            border = mkLiteral "2px solid 0px 0px";
 | 
						|
            # border-color = mkLiteral "@separatorcolor";
 | 
						|
            # spacing= 0 ;
 | 
						|
          };
 | 
						|
 | 
						|
          # "#textbox-prompt-colon" = {
 | 
						|
          #   expand = false;
 | 
						|
          #   str = ":";
 | 
						|
          #   margin = mkLiteral "0px 0.3em 0em 0em";
 | 
						|
          #   text-color = mkLiteral "@foreground-color";
 | 
						|
          # };
 | 
						|
          "#element" = {
 | 
						|
            # text-color = mkLiteral "#252525";
 | 
						|
            background-color = mkLiteral "transparent";
 | 
						|
            padding = mkLiteral "3px 10px";
 | 
						|
          };
 | 
						|
          "#element selected" = {
 | 
						|
            # text-color = mkLiteral "#252525";
 | 
						|
            background-color = mkLiteral accent.color;
 | 
						|
          };
 | 
						|
          element-icon = {
 | 
						|
            # background-color= inherit;
 | 
						|
            # text-color=       inherit;
 | 
						|
            margin-right = mkLiteral "20px";
 | 
						|
            size = 24;
 | 
						|
          };
 | 
						|
        };
 | 
						|
    };
 | 
						|
  };
 | 
						|
}
 |