From bd47069dd69b618909b86720c4ea130610f82bda Mon Sep 17 00:00:00 2001 From: Dmitriy Date: Sun, 22 Sep 2019 16:40:16 +0400 Subject: [PATCH] changes --- modules/applications/i3lock-fancy-ffmpeg.nix | 29 ---- modules/applications/i3lock-fancy.nix | 37 +++++ modules/applications/packages.nix | 11 +- modules/barrier-conf.nix | 91 ------------ modules/default.nix | 1 - modules/packages.nix | 6 +- modules/workspace/barrier.nix | 137 +++++++++++++++--- modules/workspace/i3/default.nix | 88 +++++------ modules/workspace/rofi.nix | 145 ++++++++++++++++++- 9 files changed, 350 insertions(+), 195 deletions(-) delete mode 100644 modules/applications/i3lock-fancy-ffmpeg.nix create mode 100644 modules/applications/i3lock-fancy.nix delete mode 100644 modules/barrier-conf.nix diff --git a/modules/applications/i3lock-fancy-ffmpeg.nix b/modules/applications/i3lock-fancy-ffmpeg.nix deleted file mode 100644 index 1cbcab6..0000000 --- a/modules/applications/i3lock-fancy-ffmpeg.nix +++ /dev/null @@ -1,29 +0,0 @@ -{ stdenv, fetchFromGitHub, coreutils, scrot, ffmpeg, gawk -, i3lock-color, getopt, fontconfig -}: - -stdenv.mkDerivation rec { - rev = "c8f648c5e35178dd39ecc83094bf921752b7878b"; - name = "i3lock-fancy-ffmpeg_rev${builtins.substring 0 7 rev}"; - src = fetchFromGitHub { - owner = "rinfiyks"; - repo = "i3lock-fancy"; - inherit rev; - sha256 = "1pdvzi5d9p2r5md2g289j95333nkpb3ah3si91c5f6350swd8jmz"; - }; - patchPhase = '' - rm Makefile - ''; - installPhase = '' - mkdir -p $out/bin $out/share/i3lock-fancy-ffmpeg/icons - cp i3lock-fancy $out/bin/i3lock-fancy-ffmpeg - cp icons/lock*.png $out/share/i3lock-fancy-ffmpeg/icons - ''; - meta = with stdenv.lib; { - description = "i3lock is a bash script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text."; - homepage = https://github.com/meskarune/i3lock-fancy; - maintainers = with maintainers; [ ]; - license = licenses.mit; - platforms = platforms.linux; - }; -} diff --git a/modules/applications/i3lock-fancy.nix b/modules/applications/i3lock-fancy.nix new file mode 100644 index 0000000..1b1d47e --- /dev/null +++ b/modules/applications/i3lock-fancy.nix @@ -0,0 +1,37 @@ +{ stdenv, fetchFromGitHub, coreutils, i3lock-color, getopt, fontconfig, ffmpeg_4, xorg }: + +stdenv.mkDerivation rec { + rev = "c8f648c5e35178dd39ecc83094bf921752b7878b"; + name = "i3lock-fancy-ffmpeg_rev${builtins.substring 0 7 rev}"; + src = fetchFromGitHub { + owner = "rinfiyks"; + repo = "i3lock-fancy"; + inherit rev; + sha256 = "1pdvzi5d9p2r5md2g289j95333nkpb3ah3si91c5f6350swd8jmz"; + }; + buildInputs = [ i3lock-color xorg.xrandr ffmpeg_4 coreutils getopt fontconfig ]; + patchPhase = '' + sed -i -e "s|(mktemp)|(${coreutils}/bin/mktemp)|" i3lock-fancy + sed -i -e "s|(xrandr)|(${xorg.xrandr}/bin/xrandr)|" i3lock-fancy + sed -i -e "s|'rm -f |'${coreutils}/bin/rm -f |" i3lock-fancy + sed -i -e "s|i3lock -i |${i3lock-color}/bin/i3lock-color -i |" i3lock-fancy + sed -i -e 's|lock_file="/usr/share/i3lock-fancy/lock.png"|lock_file="'$out'/share/i3lock-fancy/icons/lock.png"|' i3lock-fancy + sed -i -e "s|getopt |${getopt}/bin/getopt |" i3lock-fancy + sed -i -e "s|fc-match |${fontconfig.bin}/bin/fc-match |" i3lock-fancy + sed -i -e "s|fc-list |${fontconfig.bin}/bin/fc-list |" i3lock-fancy + sed -i -e "s|ffmpeg -f |${ffmpeg_4}/bin/ffmpeg -f |" i3lock-fancy + rm Makefile + ''; + installPhase = '' + mkdir -p $out/bin $out/share/i3lock-fancy/icons + cp i3lock-fancy $out/bin/i3lock-fancy + cp icons/lock*.png $out/share/i3lock-fancy/icons + ''; + meta = with stdenv.lib; { + description = "i3lock is a bash script that takes a screenshot of the desktop, blurs the background and adds a lock icon and text."; + homepage = https://github.com/meskarune/i3lock-fancy; + maintainers = with maintainers; [ ]; + license = licenses.mit; + platforms = platforms.linux; + }; +} diff --git a/modules/applications/packages.nix b/modules/applications/packages.nix index a5b815a..bb187a8 100644 --- a/modules/applications/packages.nix +++ b/modules/applications/packages.nix @@ -17,7 +17,7 @@ with deviceSpecific; { lxqt.pavucontrol-qt bibata-cursors - i3lock-fancy-ffmpeg + i3lock-fancy # Samba support cifs-utils # Utils @@ -39,7 +39,6 @@ with deviceSpecific; { ranger youtube-dl speedcrunch - libreoffice feh setroot maim @@ -51,12 +50,11 @@ with deviceSpecific; { powertop # Other blueman + ] ++ lib.optionals (!isVM) [ + libreoffice ]; home-manager.users.alukard.home.packages = with pkgs; [ - steam - steam-run - nix-zsh-completions qbittorrent vscodium @@ -64,6 +62,9 @@ with deviceSpecific; { tdesktop spotifywm discord + ] ++ lib.optionals (!isVM) [ + steam + steam-run ]; } diff --git a/modules/barrier-conf.nix b/modules/barrier-conf.nix deleted file mode 100644 index 55b9653..0000000 --- a/modules/barrier-conf.nix +++ /dev/null @@ -1,91 +0,0 @@ -{ config, lib, pkgs, ... }: -with lib; -let - cfgC = config.services.barrier.client; - cfgS = config.services.barrier.server; -in -{ - options = { - services.barrier = { - client = { - enable = mkOption { - default = false; - description = " - Whether to enable the Barrier client (receive keyboard and mouse events from a Barrier server). - "; - }; - screenName = mkOption { - default = ""; - description = '' - Use the given name instead of the hostname to identify - ourselves to the server. - ''; - }; - serverAddress = mkOption { - description = '' - The server address is of the form: [hostname][:port]. The - hostname must be the address or hostname of the server. The - port overrides the default port, 24800. - ''; - }; - autoStart = mkOption { - default = true; - type = types.bool; - description = "Whether the Barrier client should be started automatically."; - }; - }; - - server = { - enable = mkOption { - default = false; - description = '' - Whether to enable the Barrier server (send keyboard and mouse events). - ''; - }; - configFile = mkOption { - default = "/etc/barrier-server.conf"; - description = "The Barrier server configuration file."; - }; - screenName = mkOption { - default = ""; - description = '' - Use the given name instead of the hostname to identify - this screen in the configuration. - ''; - }; - address = mkOption { - default = ""; - description = "Address on which to listen for clients."; - }; - autoStart = mkOption { - default = true; - type = types.bool; - description = "Whether the Barrier server should be started automatically."; - }; - }; - }; - }; - - config = mkMerge [ - (mkIf cfgC.enable { - systemd.user.services."barrier-client" = { - after = [ "network.target" "graphical-session.target" ]; - description = "Barrier client"; - wantedBy = optional cfgC.autoStart "graphical-session.target"; - path = [ pkgs.barrier ]; - serviceConfig.ExecStart = ''${pkgs.barrier}/bin/barrierc -f ${optionalString (cfgC.screenName != "") "-n ${cfgC.screenName}"} ${cfgC.serverAddress}''; - serviceConfig.Restart = "on-failure"; - }; - }) - (mkIf cfgS.enable { - systemd.user.services."barrier-server" = { - after = [ "network.target" "graphical-session.target" ]; - description = "Barrier server"; - wantedBy = optional cfgS.autoStart "graphical-session.target"; - path = [ pkgs.barrier ]; - serviceConfig.ExecStart = ''${pkgs.barrier}/bin/barriers -c ${cfgS.configFile} -f ${optionalString (cfgS.address != "") "-a ${cfgS.address}"} ${optionalString (cfgS.screenName != "") "-n ${cfgS.screenName}" }''; - serviceConfig.Restart = "on-failure"; - }; - }) - ]; -} \ No newline at end of file diff --git a/modules/default.nix b/modules/default.nix index eae8d13..76db5bb 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -21,7 +21,6 @@ # ./workspace/rclone.nix ./workspace/xresources.nix ./workspace/barrier.nix - ./barrier-conf.nix ./themes.nix ./applications.nix ./secrets.nix diff --git a/modules/packages.nix b/modules/packages.nix index ad4487f..b15579e 100644 --- a/modules/packages.nix +++ b/modules/packages.nix @@ -4,8 +4,12 @@ rec { # nerdfonts = nur.balsoft.pkgs.roboto-mono-nerd; youtube-to-mpv = pkgs.callPackage ./applications/youtube-to-mpv.nix {}; - i3lock-fancy-ffmpeg = pkgs.callPackage ./applications/i3lock-fancy-ffmpeg.nix {}; } ) ]; + nixpkgs.config = { + packageOverrides = pkgs: { + i3lock-fancy = pkgs.callPackage ./applications/i3lock-fancy.nix {}; + }; + }; } \ No newline at end of file diff --git a/modules/workspace/barrier.nix b/modules/workspace/barrier.nix index be9d1ec..326c676 100644 --- a/modules/workspace/barrier.nix +++ b/modules/workspace/barrier.nix @@ -1,26 +1,117 @@ -{ config, lib, pkgs, ... }: { - services.barrier = if config.device == "NixOS-VM" then { - server.enable = true; - server.autoStart = true; - server.configFile = pkgs.writeTextFile { - name = "barrier.conf"; - text = '' - section: screens - NixOS-VM: - Dell-Laptop: - end - section: links - Dell-Laptop: - right = NixOS-VM - end - section: options - keystroke(super+alt+left) = switchInDirection(left) - keystroke(super+alt+right) = switchInDirection(right) - end - ''; +{ config, lib, pkgs, ... }: +with lib; +let + cfgC = config.services.barrier.client; + cfgS = config.services.barrier.server; +in +{ + options = { + services.barrier = { + client = { + enable = mkOption { + default = false; + description = " + Whether to enable the Barrier client (receive keyboard and mouse events from a Barrier server). + "; + }; + screenName = mkOption { + default = ""; + description = '' + Use the given name instead of the hostname to identify + ourselves to the server. + ''; + }; + serverAddress = mkOption { + description = '' + The server address is of the form: [hostname][:port]. The + hostname must be the address or hostname of the server. The + port overrides the default port, 24800. + ''; + }; + autoStart = mkOption { + default = true; + type = types.bool; + description = "Whether the Barrier client should be started automatically."; + }; + }; + + server = { + enable = mkOption { + default = false; + description = '' + Whether to enable the Barrier server (send keyboard and mouse events). + ''; + }; + configFile = mkOption { + default = "/etc/barrier-server.conf"; + description = "The Barrier server configuration file."; + }; + screenName = mkOption { + default = ""; + description = '' + Use the given name instead of the hostname to identify + this screen in the configuration. + ''; + }; + address = mkOption { + default = ""; + description = "Address on which to listen for clients."; + }; + autoStart = mkOption { + default = true; + type = types.bool; + description = "Whether the Barrier server should be started automatically."; + }; + }; }; - } else { - client.enable = true; - client.serverAddress = "NixOS-VM"; }; + + config = mkMerge [ + (mkIf cfgC.enable { + systemd.user.services."barrier-client" = { + after = [ "network.target" "graphical-session.target" ]; + description = "Barrier client"; + wantedBy = optional cfgC.autoStart "graphical-session.target"; + path = [ pkgs.barrier ]; + serviceConfig.ExecStart = ''${pkgs.barrier}/bin/barrierc -f ${optionalString (cfgC.screenName != "") "-n ${cfgC.screenName}"} ${cfgC.serverAddress}''; + serviceConfig.Restart = "on-failure"; + }; + }) + (mkIf cfgS.enable { + systemd.user.services."barrier-server" = { + after = [ "network.target" "graphical-session.target" ]; + description = "Barrier server"; + wantedBy = optional cfgS.autoStart "graphical-session.target"; + path = [ pkgs.barrier ]; + serviceConfig.ExecStart = ''${pkgs.barrier}/bin/barriers -c ${cfgS.configFile} -f ${optionalString (cfgS.address != "") "-a ${cfgS.address}"} ${optionalString (cfgS.screenName != "") "-n ${cfgS.screenName}" }''; + serviceConfig.Restart = "on-failure"; + }; + }) + ] // { + services.barrier = if config.device == "NixOS-VM" then { + server.enable = true; + server.autoStart = true; + server.configFile = pkgs.writeTextFile { + name = "barrier.conf"; + text = '' + section: screens + NixOS-VM: + dell-ataraxia: + end + section: links + dell-ataraxia: + right = NixOS-VM + end + section: options + keystroke(super+alt+left) = switchInDirection(left) + keystroke(super+alt+right) = switchInDirection(right) + end + ''; + }; + } else { + client.enable = true; + client.serverAddress = "NixOS-VM"; + }; + }; + } \ No newline at end of file diff --git a/modules/workspace/i3/default.nix b/modules/workspace/i3/default.nix index 8319beb..9d80933 100644 --- a/modules/workspace/i3/default.nix +++ b/modules/workspace/i3/default.nix @@ -4,6 +4,7 @@ let apps = config.defaultApplications; in { environment.sessionVariables._JAVA_AWT_WM_NONREPARENTING = "1"; + home-manager.users.alukard.xsession.windowManager.i3 = { enable = true; package = pkgs.i3-gaps; @@ -19,9 +20,10 @@ in { ]; "ﱘ" = [{ class = "cantata"; }]; }; - bars = [ ]; fonts = [ "RobotoMono 9" ]; + bars = [ ]; + colors = rec { background = thm.bg; unfocused = { @@ -49,7 +51,7 @@ in { smartGaps = true; smartBorders = "on"; }; - focus.mouseWarping = true; + focus.mouseWarping = false; focus.followMouse = false; modifier = "Mod4"; window = { @@ -61,16 +63,15 @@ in { command = "border pixel 2px"; criteria = { window_role = "popup"; }; } - { - command = "floating disable"; - criteria = { class = "pavucontrol-qt"; }; - } ]; }; startup = map (a: { notification = false; } // a) [ { command = "${pkgs.xorg.xrdb}/bin/xrdb -merge ~/.Xresources"; } ]; keybindings = let + script = name: content: "exec ${pkgs.writeScript name content}"; + workspaces = (builtins.genList (x: [ (toString x) (toString x) ]) 10) + ++ [ [ "c" "" ] [ "t" "" ] [ "m" "ﱘ" ] ]; moveMouse = '' "sh -c 'eval `${pkgs.xdotool}/bin/xdotool \ getactivewindow \ @@ -82,45 +83,43 @@ in { "${modifier}+w" = "exec ${apps.dmenu.cmd}"; "${modifier}+Return" = "exec ${apps.term.cmd}"; "${modifier}+e" = "exec ${apps.editor.cmd}"; - "${modifier}+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv"; - "${modifier}+Shift+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv --no-video"; - "${modifier}+l" = "layout toggle"; - "${modifier}+Left" = "focus child; focus left; exec ${moveMouse}"; - "${modifier}+Right" = "focus child; focus right; exec ${moveMouse}"; - "${modifier}+Up" = "focus child; focus up; exec ${moveMouse}"; - "${modifier}+Down" = "focus child; focus down; exec ${moveMouse}"; - "${modifier}+Control+Left" = - "focus parent; focus left; exec ${moveMouse}"; - "${modifier}+Control+Right" = - "focus parent; focus right; exec ${moveMouse}"; - "${modifier}+Control+Up" = - "focus parent; focus up; exec ${moveMouse}"; - "${modifier}+Control+Down" = - "focus parent; focus down; exec ${moveMouse}"; + "${modifier}+l" = "layout toggle all"; + + "${modifier}+Left" = "focus child; focus left; ${moveMouse}"; + "${modifier}+Right" = "focus child; focus right; ${moveMouse}"; + "${modifier}+Up" = "focus child; focus up; ${moveMouse}"; + "${modifier}+Down" = "focus child; focus down; ${moveMouse}"; + "${modifier}+Control+Left" = "focus parent; focus left; ${moveMouse}"; + "${modifier}+Control+Right" = "focus parent; focus right; ${moveMouse}"; + "${modifier}+Control+Up" = "focus parent; focus up; ${moveMouse}"; + "${modifier}+Control+Down" = "focus parent; focus down; ${moveMouse}"; "${modifier}+Shift+Up" = "move up"; "${modifier}+Shift+Down" = "move down"; "${modifier}+Shift+Right" = "move right"; "${modifier}+Shift+Left" = "move left"; + "${modifier}+f" = "fullscreen toggle"; "${modifier}+r" = "mode resize"; "${modifier}+Shift+f" = "floating toggle"; + "${modifier}+j" = "focus mode_toggle"; + "${modifier}+d" = "exec ${apps.fm.cmd}"; "${modifier}+Escape" = "exec ${apps.monitor.cmd}"; - "${modifier}+Print" = "exec ${pkgs.maim}/bin/maim -s ~/Pictures/$(date +%s).png"; - "${modifier}+Control+Print" = "exec ${pkgs.maim}/bin/maim -s | xclip -selection clipboard -t image/png"; - "--release ${modifier}+Shift+Print" = - "exec ${pkgs.maim}/bin/maim ~/Pictures/$(date +%s).png"; - "--release ${modifier}+Control+Shift+Print" = - "exec ${pkgs.maim}/bin/maim | xclip -selection clipboard -t image/png"; + "${modifier}+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv"; + "${modifier}+Shift+y" = "exec ${pkgs.youtube-to-mpv}/bin/yt-mpv --no-video"; + + "${modifier}+Print" = script "screenshot" + "${pkgs.maim}/bin/maim Pictures/$(date +%s).png"; + "${modifier}+Control+Print" = script "screenshot-copy" + "${pkgs.maim}/bin/maim | xclip -selection clipboard -t image/png"; + "--release ${modifier}+Shift+Print" = script "screenshot-area" + "${pkgs.maim}/bin/maim -s Pictures/$(date +%s).png"; + "--release ${modifier}+Control+Shift+Print" = script "screenshot-area-copy" + "${pkgs.maim}/bin/maim -s | xclip -selection clipboard -t image/png"; + "${modifier}+x" = "move workspace to output right"; - "${modifier}+c" = "workspace "; - "${modifier}+Shift+c" = "move container to workspace "; - "${modifier}+t" = "workspace "; - "${modifier}+Shift+t" = "move container to workspace "; - "${modifier}+m" = "workspace ﱘ"; - "${modifier}+Shift+m" = "move container to workspace ﱘ"; "${modifier}+k" = "exec '${pkgs.xorg.xkill}/bin/xkill'"; - "${modifier}+F5" = "restart"; + "${modifier}+F5" = "reload"; "${modifier}+Shift+F5" = "exit"; "${modifier}+Shift+h" = "layout splith"; "${modifier}+Shift+v" = "layout splitv"; @@ -128,21 +127,22 @@ in { "${modifier}+v" = "split v"; "${modifier}+F1" = "move to scratchpad"; "${modifier}+F2" = "scratchpad show"; - "${modifier}+i" = - "exec sh -c 'xclip -selection clipboard -out | curl -F \"f:1=<-\" ix.io | xclip -selection clipboard -in'"; - # "${modifier}+z" = "exec ${pkgs.lambda-launcher}/bin/lambda-launcher"; + "${modifier}+F11" = "output * dpms off"; + "${modifier}+F12" = "output * dpms on"; + "XF86AudioPlay" = "exec ${pkgs.playerctl}/bin/playerctl play-pause"; "XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next"; "XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous"; "--release button2" = "kill"; "--whole-window ${modifier}+button2" = "kill"; - } // builtins.listToAttrs (builtins.genList (x: { - name = "${modifier}+${toString (x + 1)}"; - value = "workspace ${toString (x + 1)}"; - }) 9) // builtins.listToAttrs (builtins.genList (x: { - name = "${modifier}+Shift+${toString (x + 1)}"; - value = "move container to workspace ${toString (x + 1)}"; - }) 9)); + + } // builtins.listToAttrs (builtins.map (x: { + name = "${modifier}+${builtins.elemAt x 0}"; + value = "workspace ${builtins.elemAt x 1}"; + }) workspaces) // builtins.listToAttrs (builtins.map (x: { + name = "${modifier}+Shift+${builtins.elemAt x 0}"; + value = "move container to workspace ${builtins.elemAt x 1}"; + }) workspaces)); keycodebindings = { "122" = "exec ${pkgs.pamixer}/bin/pamixer -d 5"; "123" = "exec ${pkgs.pamixer}/bin/pamixer -i 5"; diff --git a/modules/workspace/rofi.nix b/modules/workspace/rofi.nix index 857f981..05f682a 100644 --- a/modules/workspace/rofi.nix +++ b/modules/workspace/rofi.nix @@ -1,7 +1,150 @@ -{ pkgs, config, lib, ... }: { +{ pkgs, config, lib, ... }: +with import ../../support.nix { inherit lib config; }; { + home-manager.users.alukard.home.file.".config/rofi/custom.rasi".text = '' + * { + red: rgba ( ${thmDec.red}, 100 % ); + blue: rgba ( ${thmDec.blue}, 100 % ); + lightfg: rgba ( ${thmDec.cyan}, 100 % ); + lightbg: rgba ( ${thmDec.dark}, 100 % ); + foreground: rgba ( ${thmDec.purple}, 100 % ); + background: rgba ( ${thmDec.bg}, 100 % ); + background-color: rgba ( ${thmDec.bg}, 0 % ); + separatorcolor: @foreground; + border-color: @foreground; + selected-normal-foreground: @background; + selected-normal-background: @blue; + selected-active-foreground: @lightbg; + selected-active-background: @lightfg; + selected-urgent-foreground: @background; + selected-urgent-background: @red; + normal-foreground: @foreground; + normal-background: @background; + active-foreground: @blue; + active-background: @background; + urgent-foreground: @red; + urgent-background: @background; + alternate-normal-foreground: @foreground; + alternate-normal-background: @lightbg; + alternate-active-foreground: @blue; + alternate-active-background: @lightbg; + alternate-urgent-foreground: @red; + alternate-urgent-background: @lightbg; + spacing: 2; + } + window { + background-color: @background; + border: 1; + padding: 5; + } + mainbox { + border: 0; + padding: 0; + } + message { + border: 1px dash 0px 0px ; + border-color: @separatorcolor; + padding: 1px ; + } + textbox { + text-color: @foreground; + } + listview { + fixed-height: 0; + border: 2px dash 0px 0px ; + border-color: @separatorcolor; + spacing: 2px ; + scrollbar: true; + padding: 2px 0px 0px ; + } + element { + border: 0; + padding: 1px ; + } + element normal.normal { + background-color: @normal-background; + text-color: @normal-foreground; + } + element normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; + } + element normal.active { + background-color: @active-background; + text-color: @active-foreground; + } + element selected.normal { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; + } + element selected.urgent { + background-color: @selected-urgent-background; + text-color: @selected-urgent-foreground; + } + element selected.active { + background-color: @selected-active-background; + text-color: @selected-active-foreground; + } + element alternate.normal { + background-color: @alternate-normal-background; + text-color: @alternate-normal-foreground; + } + element alternate.urgent { + background-color: @alternate-urgent-background; + text-color: @alternate-urgent-foreground; + } + element alternate.active { + background-color: @alternate-active-background; + text-color: @alternate-active-foreground; + } + scrollbar { + width: 4px ; + border: 0; + handle-color: @normal-foreground; + handle-width: 8px ; + padding: 0; + } + sidebar { + border: 2px dash 0px 0px ; + border-color: @separatorcolor; + } + button { + spacing: 0; + text-color: @normal-foreground; + } + button selected { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; + } + inputbar { + spacing: 0px; + text-color: @normal-foreground; + padding: 1px ; + children: [ prompt,textbox-prompt-colon,entry,case-indicator ]; + } + case-indicator { + spacing: 0; + text-color: @normal-foreground; + } + entry { + spacing: 0; + text-color: @normal-foreground; + } + prompt { + spacing: 0; + text-color: @normal-foreground; + } + textbox-prompt-colon { + expand: false; + str: ":"; + margin: 0px 0.3000em 0.0000em 0.0000em ; + text-color: inherit; + } + ''; + # TODO: отвязать от абсолютного пути (/home/user/...) home-manager.users.alukard.programs.rofi = { enable = true; font = "Roboto Mono 14"; terminal = "\${rxvt_unicode}/bin/urxvt"; + theme = "custom.rasi"; }; } \ No newline at end of file