diff options
| author | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-25 16:10:12 +0530 |
|---|---|---|
| committer | Arpit Chakladar <arpitchakladar+git@gmail.com> | 2026-07-25 16:12:23 +0530 |
| commit | bf223080a34ef243f317938fd39e785dc5576f26 (patch) | |
| tree | 51428463c7eeac9e791f17bba1be0254ce87f689 /modules | |
| parent | 47a4bf5c092a70095a250eed0372835221905067 (diff) | |
| download | home-manager-config-bf223080a34ef243f317938fd39e785dc5576f26.tar.gz home-manager-config-bf223080a34ef243f317938fd39e785dc5576f26.zip | |
feat(rofi): add rofi launcher module, drop polybar and fzf-launcher, add private configs
- Add rofi module with base16-themed .rasi template and drun mode
- Remove polybar module (replaced by waybar in prior commits)
- Remove fzf-launcher script (replaced by rofi)
- Update hyprland window rules, keybinding, and cursor size
- Add private email and git config modules
- Switch pinentry from gtk2 to rofi
- Tweak waybar #window margin
Diffstat (limited to 'modules')
30 files changed, 232 insertions, 419 deletions
diff --git a/modules/desktop/default.nix b/modules/desktop/default.nix index 759b979..27926ec 100644 --- a/modules/desktop/default.nix +++ b/modules/desktop/default.nix @@ -7,6 +7,7 @@ { imports = [ ./gtk + ./rofi ./xdg ./hyprland ./waybar diff --git a/modules/desktop/hyprland/default.nix b/modules/desktop/hyprland/default.nix index 9f52232..97e0134 100644 --- a/modules/desktop/hyprland/default.nix +++ b/modules/desktop/hyprland/default.nix @@ -76,18 +76,18 @@ in } { - name = "float-application-launcher"; - match.class = "^(application-launcher)$"; + name = "float-rofi"; + match.class = "^(rofi)$"; float = true; } { - name = "size-application-launcher"; - match.class = "^(application-launcher)$"; + name = "size-rofi"; + match.class = "^(rofi)$"; size = "800 600"; } { - name = "center-application-launcher"; - match.class = "^(application-launcher)$"; + name = "center-rofi"; + match.class = "^(rofi)$"; center = true; } @@ -114,7 +114,7 @@ in enable = true; package = pkgs.rose-pine-hyprcursor; name = "rose-pine-hyprcursor"; - size = 24; + size = 20; hyprcursor.enable = true; gtk.enable = false; x11.enable = false; diff --git a/modules/desktop/hyprland/keybindings.nix b/modules/desktop/hyprland/keybindings.nix index 09ba822..d265478 100644 --- a/modules/desktop/hyprland/keybindings.nix +++ b/modules/desktop/hyprland/keybindings.nix @@ -28,10 +28,8 @@ in { config.wayland.windowManager.hyprland.settings.bind = lib.flatten [ # --- General Applications --- - (lib.optionals (config.terminal.fzf.enable && config.terminal.kitty.enable) [ - (bind "R" ( - execLua "${lib.getExe config.terminal.kitty.package} --class application-launcher -e ${lib.getExe config.scripts.fzf-launcher.package}" - )) + (lib.optionals config.desktop.rofi.enable [ + (bind "R" (execLua "${lib.getExe config.desktop.rofi.package} -show drun")) ]) (lib.optionals config.terminal.kitty.enable [ (bind "Return" (execLua "${lib.getExe config.terminal.kitty.package}")) diff --git a/modules/desktop/polybar/bar/default.nix b/modules/desktop/polybar/bar/default.nix deleted file mode 100644 index 3b13420..0000000 --- a/modules/desktop/polybar/bar/default.nix +++ /dev/null @@ -1,5 +0,0 @@ -# Bar - Polybar bar definitions (main bar) -{ config }: -{ - "bar/main" = import ./main.nix { inherit config; }; -} diff --git a/modules/desktop/polybar/bar/main.nix b/modules/desktop/polybar/bar/main.nix deleted file mode 100644 index ed4f1fa..0000000 --- a/modules/desktop/polybar/bar/main.nix +++ /dev/null @@ -1,40 +0,0 @@ -# Main - Main polybar bar configuration (dimensions, colors, modules) -{ config }: -with config.scheme.withHashtag; -let - largerFontSize = toString (builtins.ceil (config.fonts.size * 9.0 / 8.0)); -in -{ - width = "100%:-20"; - fixed-center = false; - height = 35; - override-redirect = true; - wm-restack = "i3"; - enable-ipc = true; - - border-top-size = 1; - border-bottom-size = 1; - border-left-size = 1; - border-right-size = 1; - border-color = base03; - - background = base00; - foreground = base05; - - line-size = 3; - line-color = base08; - - padding-left = 1; - padding-right = 1; - - offset-x = "10"; - offset-y = "10"; - - font-0 = "${config.fonts.normal}:pixelsize=${toString config.fonts.size};3"; - font-1 = "${config.fonts.normal}:weight=Bold:pixelsize=${largerFontSize};3"; - font-2 = "${config.fonts.normal}:style=Light:pixelsize=${largerFontSize};2"; - - modules-left = "i3 separator"; - modules-center = "xwindow"; - modules-right = "separator volume separator battery separator vpn vpn-separator wifi wifi-separator ethernet ethernet-separator time separator memory separator cpu separator date"; -} diff --git a/modules/desktop/polybar/default.nix b/modules/desktop/polybar/default.nix deleted file mode 100644 index 0ff7a43..0000000 --- a/modules/desktop/polybar/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -# Polybar - Status bar configuration (i3 integration, modules) -{ - config, - lib, - pkgs, - ... -}: -{ - config = lib.mkIf config.desktop.enable { - services.polybar.enable = true; - services.polybar.package = ( - pkgs.polybar.override { - pulseSupport = true; - i3Support = true; - } - ); - services.polybar.script = "${config.services.polybar.package}/bin/polybar main &"; - services.polybar.config = lib.mkMerge [ - (import ./bar { inherit config; }) - (import ./module { inherit config lib pkgs; }) - { - settings = { - screenchange-reload = true; - }; - } - ]; - }; -} diff --git a/modules/desktop/polybar/module/battery.nix b/modules/desktop/polybar/module/battery.nix deleted file mode 100644 index 6dafb67..0000000 --- a/modules/desktop/polybar/module/battery.nix +++ /dev/null @@ -1,40 +0,0 @@ -# Battery - Battery status module with icons and charging animation -{ config }: -with config.scheme.withHashtag; -{ - type = "internal/battery"; - battery = "BAT1"; - adapter = "ADP1"; - - low-at = 0; - format-charging = "%{T2}%{F${base03}}<animation-charging>%{F-}%{T-} <label-charging>"; - format-discharging = "%{T2}%{F${base03}}<ramp-capacity>%{F-}%{T-} <label-discharging>"; - format-full-prefix = " "; - - label-charging = "%percentage:3%%"; - label-discharging = "%percentage:3%%"; - - ramp-capacity-0 = ""; - ramp-capacity-1 = ""; - ramp-capacity-2 = ""; - ramp-capacity-3 = ""; - ramp-capacity-4 = ""; - ramp-capacity-5 = ""; - ramp-capacity-6 = ""; - ramp-capacity-7 = ""; - ramp-capacity-8 = ""; - ramp-capacity-9 = ""; - - animation-charging-0 = ""; - animation-charging-1 = ""; - animation-charging-2 = ""; - animation-charging-3 = ""; - animation-charging-4 = ""; - animation-charging-5 = ""; - animation-charging-6 = ""; - animation-charging-7 = ""; - animation-charging-8 = ""; - animation-charging-9 = ""; - - animation-charging-framerate = 750; -} diff --git a/modules/desktop/polybar/module/cpu.nix b/modules/desktop/polybar/module/cpu.nix deleted file mode 100644 index 44ba984..0000000 --- a/modules/desktop/polybar/module/cpu.nix +++ /dev/null @@ -1,9 +0,0 @@ -# CPU - CPU usage percentage module -{ config }: -with config.scheme.withHashtag; -{ - type = "internal/cpu"; - interval = 2; - format-prefix = "%{T2}%{F${base03}} %{F-}%{T-}"; - label = "%percentage:3%%"; -} diff --git a/modules/desktop/polybar/module/date.nix b/modules/desktop/polybar/module/date.nix deleted file mode 100644 index 45e373b..0000000 --- a/modules/desktop/polybar/module/date.nix +++ /dev/null @@ -1,10 +0,0 @@ -# Date - Current date display module -{ config }: -with config.scheme.withHashtag; -{ - type = "internal/date"; - interval = 60; - date = "%d/%m/%Y"; - label = "%date%"; - format-prefix = "%{T2}%{F${base03}} %{F-}%{T-}"; -} diff --git a/modules/desktop/polybar/module/default.nix b/modules/desktop/polybar/module/default.nix deleted file mode 100644 index 785cd6f..0000000 --- a/modules/desktop/polybar/module/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -# Module - Polybar module definitions (battery, cpu, date, i3, memory, volume, wifi, etc.) -{ - lib, - config, - pkgs, -}: -{ - "module/battery" = import ./battery.nix { inherit config; }; - "module/cpu" = import ./cpu.nix { inherit config; }; - "module/date" = import ./date.nix { inherit config; }; - "module/ethernet-separator" = import ./ethernet-separator.nix { inherit config; }; - "module/ethernet" = import ./ethernet.nix { inherit config; }; - "module/i3" = import ./i3.nix { inherit config; }; - "module/memory" = import ./memory.nix { inherit config; }; - "module/separator" = import ./separator.nix { inherit config; }; - "module/time" = import ./time.nix { inherit config; }; - "module/volume" = import ./volume.nix { inherit config; }; - "module/vpn-separator" = import ./vpn-separator.nix { inherit config lib pkgs; }; - "module/vpn" = import ./vpn.nix { inherit config lib pkgs; }; - "module/wifi-separator" = import ./wifi-separator.nix { inherit config; }; - "module/wifi" = import ./wifi.nix { inherit config; }; - "module/xwindow" = import ./xwindow.nix { }; -} diff --git a/modules/desktop/polybar/module/ethernet-separator.nix b/modules/desktop/polybar/module/ethernet-separator.nix deleted file mode 100644 index 3bdcb0e..0000000 --- a/modules/desktop/polybar/module/ethernet-separator.nix +++ /dev/null @@ -1,14 +0,0 @@ -# Ethernet-separator - Visual separator for ethernet module -{ config }: -with config.scheme.withHashtag; -{ - type = "internal/network"; - interface = "enp4s0"; - interface-type = "wired"; - - format-connected = " %{F${base03}}%{T3}│%{T-}%{F-} "; - format-disconnected = ""; - - label-connected = ""; - label-disconnected = ""; -} diff --git a/modules/desktop/polybar/module/ethernet.nix b/modules/desktop/polybar/module/ethernet.nix deleted file mode 100644 index 4e8dfed..0000000 --- a/modules/desktop/polybar/module/ethernet.nix +++ /dev/null @@ -1,14 +0,0 @@ -# Ethernet - Wired network module (connection speed) -{ config }: -with config.scheme.withHashtag; -{ - type = "internal/network"; - interface = "enp4s0"; - interface-type = "wired"; - - format-connected = "%{T2}%{F${base03}}%{F-}%{T-} <label-connected>"; - format-disconnected = ""; - - label-connected = "%netspeed:8%"; - label-disconnected = ""; -} diff --git a/modules/desktop/polybar/module/i3.nix b/modules/desktop/polybar/module/i3.nix deleted file mode 100644 index 57e83dc..0000000 --- a/modules/desktop/polybar/module/i3.nix +++ /dev/null @@ -1,28 +0,0 @@ -# i3 - i3 workspace display module (focused, occupied, urgent workspaces) -{ config }: -with config.scheme.withHashtag; -{ - type = "internal/i3"; - - label-focused = "%index%"; - label-focused-underline = "${base0D}"; - label-focused-padding = 1; - - label-unfocused = "%index%"; - label-unfocused-padding = 1; - - label-occupied = "%index%"; - label-occupied-padding = 1; - - label-urgent = "%index%"; - label-urgent-underline = "${base08}"; - label-urgent-padding = 1; - - label-empty = "%index%"; - label-empty-foreground = "${base03}"; - label-empty-padding = 1; - - pin-workspaces = true; - index-sort = true; - show-all = true; -} diff --git a/modules/desktop/polybar/module/memory.nix b/modules/desktop/polybar/module/memory.nix deleted file mode 100644 index b401703..0000000 --- a/modules/desktop/polybar/module/memory.nix +++ /dev/null @@ -1,9 +0,0 @@ -# Memory - RAM usage module (displays GB used) -{ config }: -with config.scheme.withHashtag; -{ - type = "internal/memory"; - interval = 2; - format-prefix = "%{T2}%{F${base03}} %{F-}%{T-} "; - label = "%gb_used:9%"; -} diff --git a/modules/desktop/polybar/module/separator.nix b/modules/desktop/polybar/module/separator.nix deleted file mode 100644 index f24b975..0000000 --- a/modules/desktop/polybar/module/separator.nix +++ /dev/null @@ -1,7 +0,0 @@ -# Separator - Visual separator between modules -{ config }: -with config.scheme.withHashtag; -{ - type = "custom/text"; - label = " %{F${base03}}%{T3}│%{T-}%{F-} "; -} diff --git a/modules/desktop/polybar/module/time.nix b/modules/desktop/polybar/module/time.nix deleted file mode 100644 index 4e6a03d..0000000 --- a/modules/desktop/polybar/module/time.nix +++ /dev/null @@ -1,10 +0,0 @@ -# Time - Current time display module (12-hour format) -{ config }: -with config.scheme.withHashtag; -{ - type = "internal/date"; - interval = 30; - time = "%I:%M %p"; - label = "%time%"; - format-prefix = "%{T2}%{F${base03}} %{F-}%{T-}"; -} diff --git a/modules/desktop/polybar/module/volume.nix b/modules/desktop/polybar/module/volume.nix deleted file mode 100644 index 1dfbb8e..0000000 --- a/modules/desktop/polybar/module/volume.nix +++ /dev/null @@ -1,13 +0,0 @@ -# Volume - PulseAudio volume level module with icons -{ config }: -with config.scheme.withHashtag; -{ - type = "internal/pulseaudio"; - interval = 5; - format-volume = "%{T2}%{F${base03}}<ramp-volume>%{F-}%{T-} <label-volume>"; - label-volume = "%percentage:3%%"; - label-muted = "%{T2}%{F${base03}} %{F-}%{T-} "; - ramp-volume-0 = " "; - ramp-volume-1 = " "; - ramp-volume-2 = " "; -} diff --git a/modules/desktop/polybar/module/vpn-separator.nix b/modules/desktop/polybar/module/vpn-separator.nix deleted file mode 100644 index 2444522..0000000 --- a/modules/desktop/polybar/module/vpn-separator.nix +++ /dev/null @@ -1,16 +0,0 @@ -# VPN-separator - Visual separator for VPN module -{ - pkgs, - lib, - config, -}: -with config.scheme.withHashtag; -{ - type = "custom/script"; - exec-if = "${pkgs.runtimeShell} -c '${lib.getExe' pkgs.iproute2 "ip"} a | ${lib.getExe pkgs.gnugrep} -q tun0'"; - exec = "echo VPN"; - interval = 5; - - format = " %{F${base03}}%{T3}│%{T-}%{F-} "; - label = "%output%"; -} diff --git a/modules/desktop/polybar/module/vpn.nix b/modules/desktop/polybar/module/vpn.nix deleted file mode 100644 index 58bb80c..0000000 --- a/modules/desktop/polybar/module/vpn.nix +++ /dev/null @@ -1,16 +0,0 @@ -# VPN - Just indicates if VPN is connected with openvpn -{ - pkgs, - lib, - config, -}: -with config.scheme.withHashtag; -{ - type = "custom/script"; - exec-if = "${pkgs.runtimeShell} -c '${lib.getExe' pkgs.iproute2 "ip"} a | ${lib.getExe pkgs.gnugrep} -q tun0'"; - exec = "echo VPN"; - interval = 5; - - format = "%{T2}%{F${base03}} %{F-}%{T-} <label>"; - label = "%output%"; -} diff --git a/modules/desktop/polybar/module/wifi-separator.nix b/modules/desktop/polybar/module/wifi-separator.nix deleted file mode 100644 index 0d51b06..0000000 --- a/modules/desktop/polybar/module/wifi-separator.nix +++ /dev/null @@ -1,14 +0,0 @@ -# WiFi-separator - Visual separator for WiFi module -{ config }: -with config.scheme.withHashtag; -{ - type = "internal/network"; - interface = "wlan0"; - interface-type = "wireless"; - - format-connected = " %{F${base03}}%{T3}│%{T-}%{F-} "; - format-disconnected = ""; - - label-connected = ""; - label-disconnected = ""; -} diff --git a/modules/desktop/polybar/module/wifi.nix b/modules/desktop/polybar/module/wifi.nix deleted file mode 100644 index 8836b9e..0000000 --- a/modules/desktop/polybar/module/wifi.nix +++ /dev/null @@ -1,21 +0,0 @@ -# WiFi - Wireless network module (signal strength, speed) -{ config }: -with config.scheme.withHashtag; -{ - type = "internal/network"; - interface = "wlan0"; - interface-type = "wireless"; - - format-connected = "%{T2}%{F${base03}}<ramp-signal>%{F-}%{T-} <label-connected>"; - format-disconnected = ""; - - label-connected = "%netspeed:8%"; - label-disconnected = ""; - - ramp-signal-0 = ""; - ramp-signal-1 = ""; - ramp-signal-2 = ""; - ramp-signal-3 = ""; - ramp-signal-4 = ""; - ramp-signal-5 = ""; -} diff --git a/modules/desktop/polybar/module/xwindow.nix b/modules/desktop/polybar/module/xwindow.nix deleted file mode 100644 index d36b03c..0000000 --- a/modules/desktop/polybar/module/xwindow.nix +++ /dev/null @@ -1,6 +0,0 @@ -# XWindow - Focused window title module -{ }: -{ - type = "internal/xwindow"; - label = "%title:0:20:...%"; -} diff --git a/modules/desktop/rofi/default.nix b/modules/desktop/rofi/default.nix new file mode 100644 index 0000000..8ef6bdc --- /dev/null +++ b/modules/desktop/rofi/default.nix @@ -0,0 +1,36 @@ +{ + config, + lib, + pkgs, + ... +}: +{ + options.desktop.rofi = { + enable = lib.mkEnableOption "Enables rofi launcher." // { + default = true; + }; + package = lib.mkOption { + type = lib.types.package; + description = "The rofi package to use."; + }; + }; + + config = lib.mkIf config.desktop.enable { + desktop.rofi.package = lib.mkDefault config.programs.rofi.finalPackage; + + programs.rofi = { + enable = config.desktop.rofi.enable; + theme = "${config.scheme { + template = builtins.readFile ./theme.mustache.rasi; + extension = ".rasi"; + }}"; + extraConfig = { + modi = "drun"; + show-icons = true; + drun-display-format = "{name}"; + display-drun = "Launch"; + sort = true; + }; + }; + }; +} diff --git a/modules/desktop/rofi/theme.mustache.rasi b/modules/desktop/rofi/theme.mustache.rasi new file mode 100644 index 0000000..d877fe8 --- /dev/null +++ b/modules/desktop/rofi/theme.mustache.rasi @@ -0,0 +1,180 @@ +/** + * Rofi Theme — Base16 "OneDark Dark" (olimorris) + * Mustache template: render with a base16 color map to produce a .rasi file + * + * base00 - default background + * base01 - lighter background (status bar, line numbers) + * base02 - selection background + * base03 - comments, invisibles + * base04 - dark foreground (status bar) + * base05 - default foreground + * base06 - light foreground + * base07 - lightest foreground + * base08 - red (errors, urgent) + * base09 - orange (numbers) + * base0A - yellow (search matches) + * base0B - green (strings) + * base0C - cyan (support, regex) + * base0D - blue (functions, active/selected) + * base0E - purple/magenta (keywords) + * base0F - brown (deprecated) + */ + +* { + base00: #{{base00}}; + base01: #{{base01}}; + base02: #{{base02}}; + base03: #{{base03}}; + base04: #{{base04}}; + base05: #{{base05}}; + base06: #{{base06}}; + base07: #{{base07}}; + base08: #{{base08}}; + base09: #{{base09}}; + base0A: #{{base0A}}; + base0B: #{{base0B}}; + base0C: #{{base0C}}; + base0D: #{{base0D}}; + base0E: #{{base0E}}; + base0F: #{{base0F}}; + + background: @base00; + background-color: transparent; + foreground: @base07; + + border-color: @base03; + separatorcolor: @base02; + + selected-normal-background: @base02; + selected-normal-foreground: @base07; + selected-active-background: @base0D; + selected-active-foreground: @base00; + selected-urgent-background: @base08; + selected-urgent-foreground: @base00; + + normal-background: @base00; + normal-foreground: @base03; + active-background: @base00; + active-foreground: @base07; + urgent-background: @base00; + urgent-foreground: @base08; +} + +window { + background-color: @background; + border: 1.5px; + border-color: @border-color; + padding: 0; + width: 600px; + location: center; + anchor: center; +} + +mainbox { + background-color: transparent; + padding: 12px; + spacing: 12px; + children: [ "inputbar", "listview" ]; +} + +inputbar { + background-color: @base01; + text-color: @foreground; + padding: 10px 14px; + spacing: 10px; + children: [ "prompt", "entry" ]; +} + +prompt { + background-color: transparent; + text-color: @base04; + font: "JetBrainsMono Nerd Font Bold 11"; +} + +entry { + background-color: transparent; + text-color: @foreground; + placeholder: "Search…"; + placeholder-color: @base03; + cursor: text; +} + +listview { + background-color: transparent; + columns: 1; + lines: 8; + spacing: 4px; + cycle: true; + dynamic: true; + scrollbar: false; + fixed-height: false; +} + +element { + background-color: transparent; + text-color: @normal-foreground; + padding: 8px 10px; + spacing: 10px; + orientation: horizontal; +} + +element normal.normal { + background-color: @normal-background; + text-color: @normal-foreground; +} + +element normal.active { + background-color: @active-background; + text-color: @active-foreground; +} + +element normal.urgent { + background-color: @urgent-background; + text-color: @urgent-foreground; +} + +element selected.normal { + background-color: @selected-normal-background; + text-color: @selected-normal-foreground; +} + +element selected.active { + background-color: @selected-active-background; + text-color: @selected-active-foreground; +} + +element selected.urgent { + background-color: @selected-urgent-background; + text-color: @selected-urgent-foreground; +} + +element-icon { + background-color: transparent; + size: 24px; + vertical-align: 0.5; +} + +element-text { + background-color: transparent; + text-color: inherit; + vertical-align: 0.5; + horizontal-align: 0.0; +} + +message { + background-color: @base01; + padding: 8px 12px; +} + +textbox { + background-color: transparent; + text-color: @foreground; +} + +error-message { + background-color: @base00; + text-color: @base08; + border: 1.5px; + border-color: @base08; + padding: 10px; +} diff --git a/modules/desktop/waybar/style.nix b/modules/desktop/waybar/style.nix index 5ec8070..beb8727 100644 --- a/modules/desktop/waybar/style.nix +++ b/modules/desktop/waybar/style.nix @@ -17,6 +17,10 @@ with config.scheme.withHashtag; margin: 0 2px; } + #window { + margin-right: 3px; + } + #workspaces { border: none; margin-left: 2.5px; @@ -52,7 +56,6 @@ with config.scheme.withHashtag; } #workspaces button.urgent { - background: ${base08}; - border-color: ${base08}; + color: ${base08}; } '' diff --git a/modules/scripts/default.nix b/modules/scripts/default.nix index 31b5528..5e70c4e 100644 --- a/modules/scripts/default.nix +++ b/modules/scripts/default.nix @@ -8,7 +8,6 @@ imports = [ ./aria2-run ./deep-clean - ./fzf-launcher ./i3-keybindings ./neomutt-sync ./screen-recording diff --git a/modules/scripts/fzf-launcher/assertions.nix b/modules/scripts/fzf-launcher/assertions.nix deleted file mode 100644 index 308a818..0000000 --- a/modules/scripts/fzf-launcher/assertions.nix +++ /dev/null @@ -1,7 +0,0 @@ -{ config, ... }: -[ - { - assertion = !config.scripts.fzf-launcher.enable || config.terminal.fzf.enable; - message = "scripts.fzf-launcher is enabled but requires `terminal.fzf.enable`."; - } -] diff --git a/modules/scripts/fzf-launcher/default.nix b/modules/scripts/fzf-launcher/default.nix deleted file mode 100644 index e9c065d..0000000 --- a/modules/scripts/fzf-launcher/default.nix +++ /dev/null @@ -1,26 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -let - inherit ((import ../lib.nix { inherit lib pkgs; })) mkScriptModule; - base = mkScriptModule { - name = "fzf-launcher"; - path = ./script.sh; - description = "Fzf-launcher - FZF-based application launcher (scans .desktop files)"; - deps = [ - config.terminal.fzf.package - pkgs.dex - pkgs.util-linux - ]; - inherit config; - }; -in -{ - options = base.options; - config = base.moduleConfig // { - assertions = base.moduleConfig.assertions ++ (import ./assertions.nix { inherit config lib; }); - }; -} diff --git a/modules/scripts/fzf-launcher/script.sh b/modules/scripts/fzf-launcher/script.sh deleted file mode 100644 index 2fce83a..0000000 --- a/modules/scripts/fzf-launcher/script.sh +++ /dev/null @@ -1,48 +0,0 @@ -DIRS=( - /run/current-system/sw/share/applications - "$HOME/.nix-profile/share/applications" - "$HOME/.local/share/applications" -) - -shopt -s nullglob - -entries="" -for dir in "${DIRS[@]}"; do - [[ -d "$dir" ]] || continue - for f in "$dir"/*.desktop; do - [[ -f "$f" ]] || continue - - grep -q "^NoDisplay=true" "$f" && continue - grep -q "^Hidden=true" "$f" && continue - grep -q "^Type=Application" "$f" || continue - grep -q "^Terminal=true" "$f" && continue - - categories=$(grep -m1 "^Categories=" "$f" | cut -d= -f2-) - if [[ -n "$categories" ]]; then - echo "$categories" | grep -qE "(Settings|Screensaver|DesktopSettings)" && continue - fi - - name=$(grep -m1 "^Name=" "$f" | cut -d= -f2-) - if [[ -z "$name" ]]; then - name=$(grep -m1 -E "^Name\[.*\]=" "$f" | cut -d= -f2-) - fi - [[ -z "$name" ]] && continue - - entries+="$name"$'\t'"$f"$'\n' - done -done - -entries=$(printf '%s' "$entries" | sort -fu -t$'\t' -k1,1) - -chosen=$(printf '%s' "$entries" | fzf \ - --prompt='Launch: ' \ - --layout=reverse \ - --info=inline \ - --delimiter=$'\t' \ - --with-nth=1) - -[[ -z "$chosen" ]] && exit 0 - -desktop_file=$(printf '%s' "$chosen" | cut -d$'\t' -f2-) - -setsid -f dex "$desktop_file" </dev/null >/dev/null 2>&1 diff --git a/modules/security/gpg/default.nix b/modules/security/gpg/default.nix index 01deab6..1ce1642 100644 --- a/modules/security/gpg/default.nix +++ b/modules/security/gpg/default.nix @@ -21,7 +21,7 @@ defaultCacheTtl = 3600; maxCacheTtl = 86400; enableSshSupport = config.security.ssh.enable; - pinentry.package = pkgs.pinentry-gtk2; + pinentry.package = pkgs.pinentry-rofi; }; }; } |
