diff options
| author | brustybee <beebeeb5k@gmail.com> | 2026-04-13 03:04:59 +0530 |
|---|---|---|
| committer | brustybee <beebeeb5k@gmail.com> | 2026-04-13 03:04:59 +0530 |
| commit | 1bb49481dbec223e68df4f60fa1d425525e16cff (patch) | |
| tree | 66e87c01c39054b7abb51d04bfc50f63b201aaf4 /common | |
| parent | f5b78ff561eff75c803ed1ef6e736a6c991cd135 (diff) | |
This is like that one dream you don't know how to describe
Diffstat (limited to 'common')
29 files changed, 644 insertions, 2588 deletions
diff --git a/common/default.nix b/common/default.nix index b93f439..90505c7 100644 --- a/common/default.nix +++ b/common/default.nix @@ -3,8 +3,10 @@ inputs: { imports = [ (lib.modules.importApply ./overlays { inherit inputs; }) + # (inputs.nixpkgs.lib.modules.importApply ./overlays { inherit inputs; }) (lib.modules.importApply ./modules { inherit inputs; }) ]; + flake.templates = import ./templates inputs; flake.homeModules.programs = import ./programs; } diff --git a/common/modules/beevim/default.nix b/common/modules/beevim/default.nix index 0c80caf..49b66c4 100644 --- a/common/modules/beevim/default.nix +++ b/common/modules/beevim/default.nix @@ -30,9 +30,9 @@ in n: _: { pkgs, ... }: { - # settings = { - # neovim-unwrapped = pkgs.neovim-unwrapped; - # }; + settings = { + neovim-unwrapped = pkgs.neovim-unwrapped; + }; categories = { clang = false; markdown = false; diff --git a/common/modules/default.nix b/common/modules/default.nix index d093757..ade06b3 100644 --- a/common/modules/default.nix +++ b/common/modules/default.nix @@ -10,7 +10,8 @@ let }; modules = { mango = import ./mango args; - x11 = import ./x11 args; + hypr = import ./hyprland args; + dwm = import ./dwm args; terminal = import ./terminal args; beevim = import ./beevim args; matugen = import ./matugen args; diff --git a/common/modules/x11/default.nix b/common/modules/dwm/default.nix index 547d648..07ddef6 100644 --- a/common/modules/x11/default.nix +++ b/common/modules/dwm/default.nix @@ -11,25 +11,19 @@ ... }: let - cfg = config.${moduleNameSpace}.x11; - args = { - inherit - inputs - homeManager - moduleNameSpace - settings-persist - ; - }; - settings-persist = pkgs.writeShellScript "settings-persist" '' - SETTINGS_FILE="$HOME/.config/beeSettings" - - if [[ -f "$SETTINGS_FILE" ]]; then - IS_NIGHTMODE=$(${pkgs.ripgrep}/bin/rg "nightlight" "$SETTINGS_FILE" | cut -d"=" -f2) - - if [[ "$IS_NIGHTMODE" == "on" ]]; then - redshift -O 4500 - fi - fi + cfg = config.${moduleNameSpace}.dwm; + snipx11 = pkgs.writeShellScript "snipx11" '' + case $1 in + full) + ${pkgs.maim}/bin/maim | xclip -selection clipboard -t image/png + ;; + selection) + ${pkgs.maim}/bin/maim -s | xclip -selection clipboard -t image/png + ;; + window) + ${pkgs.maim}/bin/maim -i $(xdotool getactivewindow) | xclip -selection clipboard -t image/png + ;; + esac ''; st-patched = (pkgs.st.override { @@ -100,16 +94,15 @@ let sed -i 's/-lXft/-lXft -lXcursor/g' config.mk ''; }); - in { imports = [ - (import ./bspwm args) - (import ./dwm args) (import ./picom.nix homeManager) + (import ./scripts.nix homeManager) ]; - options.${moduleNameSpace}.x11 = { + options.${moduleNameSpace}.dwm = { + enable = lib.mkEnableOption "dwm setup"; picom = { enable = lib.mkEnableOption "enable picom compositor"; animations = lib.mkEnableOption "enable animations"; @@ -140,11 +133,15 @@ in }; }; - config = lib.mkIf (cfg.dwm.enable || cfg.bspwm.enable) ( + config = lib.mkIf cfg.enable ( if !homeManager then { services.xserver = { enable = true; + windowManager.dwm = { + enable = true; + package = inputs.mydwm.packages.${pkgs.stdenv.hostPlatform.system}.default; + }; autoRepeatDelay = 300; autoRepeatInterval = 20; excludePackages = with pkgs; [ xterm ]; @@ -155,28 +152,50 @@ in }; programs.ssh.askPassword = ""; - security.pam.services.betterlockscreen = { }; - security.pam.services.i3lock = { }; - - programs.i3lock = { - enable = true; - package = pkgs.i3lock-color; - }; } else { + xdg.dataFile."dwm/autostart.sh" = { + executable = true; + text = '' + #!${pkgs.bash}/bin/bash + + gnome-keyring-daemon --start --components=secrets,ssh,pkcs11 & + ${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1 & + + [ -f ~/.Xresources ] && xrdb -merge ~/.Xresources + + dunst & + clipcatd & + slstatus & + sync_dms + ${lib.optionalString (!cfg.picom.enable) '' + xrandr --output eDP --set TearFree on + ''} + ${lib.optionalString (cfg.picom.enable) '' + systemctl --user restart picom.service + ''} + + systemctl --user restart xidlehook.service xautolock-session.service xss-lock.service clipcat.service + ''; + }; + home.packages = with pkgs; [ st-patched - feh - maim - slop xdotool xclip - redshift + (pkgs.dmenu.overrideAttrs (oldAttrs: { + patches = (oldAttrs.patches or [ ]) ++ [ + (pkgs.fetchpatch { + url = "https://tools.suckless.org/dmenu/patches/xresources/dmenu-xresources-4.9.diff"; + sha256 = "sha256-Np9I8hhnwmGA3W5v4tSrBN9Or8Q2Ag9x8H3yf8L9jDI="; + }) + ]; + })) ]; services.clipcat = { - enable = true; + enable = false; daemonSettings = { daemonize = false; max_history = 50; @@ -197,60 +216,16 @@ in }; }; - services.screen-locker = { - enable = true; - inactiveInterval = 5; - lockCmd = "${pkgs.betterlockscreen}/bin/betterlockscreen -l"; - - xss-lock.extraOptions = [ - "-n" - "--transfer-sleep-lock" - ]; - }; - - services.xidlehook = { - enable = true; - timers = [ - { - delay = 270; - command = "${pkgs.brightnessctl}/bin/brightnessctl g > /tmp/brightness_prev && ${pkgs.brightnessctl}/bin/brightnessctl set 10%"; - canceller = "${pkgs.brightnessctl}/bin/brightnessctl set $(${pkgs.coreutils}/bin/cat /tmp/brightness_prev 2>/dev/null || echo 100%)"; - } - { - delay = 900; - command = "systemctl suspend"; - canceller = ""; - } - ]; - }; - systemd.user.services.clipcat = { Unit = { ConditionEnvironment = [ "XDG_SESSION_TYPE=x11" ]; }; - - }; - systemd.user.services.xidlehook = { - Unit = { - ConditionEnvironment = [ "XDG_SESSION_TYPE=x11" ]; - }; - }; - - systemd.user.services.xautolock-session = { - Unit = { - ConditionEnvironment = [ "XDG_SESSION_TYPE=x11" ]; - }; - }; - - systemd.user.services.xss-lock = { - Unit = { - ConditionEnvironment = [ "XDG_SESSION_TYPE=x11" ]; - }; }; xresources.extraConfig = lib.mkIf config.beeMods.matugen.enable '' #include "${config.xdg.configHome}/x11/matugen.Xresources" ''; + xresources.properties = { "Xft.dpi" = 96; "Xft.autohint" = 0; @@ -261,6 +236,8 @@ in "Xft.rgba" = "rgb"; "st.font" = "${config.beeMods.terminal.font.family}:size=${toString config.beeMods.terminal.font.size}:antialias=true:autohint=true"; + "dmenu.font" = + "${config.beeMods.terminal.font.family}:size=${toString config.beeMods.terminal.font.size}"; "st.borderpx" = 5; }; } diff --git a/common/modules/x11/picom.nix b/common/modules/dwm/picom.nix index c1683eb..93d4b9b 100644 --- a/common/modules/x11/picom.nix +++ b/common/modules/dwm/picom.nix @@ -1,7 +1,7 @@ homeManager: { config, lib, ... }: let - cfg = config.beeMods.x11.picom; + cfg = config.beeMods.dwm.picom; in { config = lib.mkIf cfg.enable ( diff --git a/common/modules/dwm/scripts.nix b/common/modules/dwm/scripts.nix new file mode 100644 index 0000000..5b52686 --- /dev/null +++ b/common/modules/dwm/scripts.nix @@ -0,0 +1,78 @@ +homeManager: +{ pkgs, lib, ... }: +let + sync_dms = pkgs.writeShellScriptBin "sync_dms" '' + jq=${pkgs.jq}/bin/jq + CONFIG_FILE=$HOME/.local/state/DankMaterialShell/session.json + + get_val() { $jq -r ".$1" "$CONFIG_FILE"; } + set_val() { + local tmp=$(mktemp) + $jq --arg val "$2" ".$1 = \$val" "$CONFIG_FILE" > "$tmp" && mv "$tmp" "$CONFIG_FILE" + } + + + function sync_all { + ISNIGHTMODE=$(get_val "nightModeEnabled") + NIGHTMODETEMP=$(get_val "nightModeTemperature") + WALL=$(get_val "wallpaperPath") + ${pkgs.xwallpaper}/bin/xwallpaper --zoom "$WALL" + + if [[ "$ISNIGHTMODE" == "true" ]]; then + echo "bitch $ISNIGHTMODE" + ${pkgs.redshift}/bin/redshift -o "$NIGHTMODETEMP" + else + ${pkgs.redshift}/bin/redshift -x + fi + } + + function dmenu_settings { + ISNIGHTMODE=$(get_val "nightModeEnabled") + options="NightMode (Currently $ISNIGHTMODE)\nSync Now" + + choice=$(echo -e "$options" | dmenu -p "Settings:") + + case "$choice" in + *"NightMode"*) + if [[ "$ISNIGHTMODE" == "true" ]]; then + set_val "nightModeEnabled" "false" + else + set_val "nightModeEnabled" "true" + fi + sync_all + ;; + "Sync Now") + sync_all + ;; + esac + } + + case "$1" in + settings) dmenu_settings ;; + *) sync_all ;; + esac + ''; + logout_dmenu = pkgs.writeShellScriptBin "logout_dmenu" '' + options="Lock\nLogout\nReboot\nShutdown" + + choice=$(echo -e "$options" | dmenu -p "System:") + + case "$choice" in + Lock) slock ;; + Logout) pkill dwm ;; + Reboot) reboot ;; + Shutdown) poweroff ;; + *) exit 1 ;; + esac + ''; +in +{ + config = lib.mkIf homeManager ( + lib.optionalAttrs homeManager { + home.packages = with pkgs; [ + sync_dms + logout_dmenu + ]; + } + ); +} diff --git a/common/modules/hyprland/default.nix b/common/modules/hyprland/default.nix new file mode 100644 index 0000000..d230ac0 --- /dev/null +++ b/common/modules/hyprland/default.nix @@ -0,0 +1,380 @@ +{ + homeManager, + inputs, + moduleNameSpace, + ... +}: +{ + config, + lib, + pkgs, + ... +}: +let + cfg = config.${moduleNameSpace}.hyprland; + + snip = pkgs.writeShellScript "snip" '' + case $1 in + full) + ${pkgs.grim}/bin/grim - | wl-copy + ;; + selection) + GEOM=$(${pkgs.slurp}/bin/slurp) || exit + ${pkgs.grim}/bin/grim -g "$GEOM" - | wl-copy + ;; + window) + GEOM=$(hyprctl activewindow -j | ${pkgs.jq}/bin/jq -r '"\(.at[0]),\(.at[1]) \(.size[0])x\(.size[1])"') + ${pkgs.grim}/bin/grim -g "$GEOM" - | wl-copy + ;; + esac + ''; + + smart-alacritty = pkgs.writeShellScript "smart-alacritty" '' + alacritty msg create-window || exec alacritty + ''; + + smart-ghostty = pkgs.writeShellScript "smart-ghostty" '' + ghostty +new-window || exec ghostty + ''; + + terminal = + if config.beeMods.terminal.default == "alacritty" then + smart-alacritty + else if config.beeMods.terminal.default == "ghostty" then + smart-ghostty + else + config.beeMods.terminal.default; + + settings-persist = pkgs.writeShellScript "settings-persist" '' + SETTINGS_FILE="$HOME/.config/beeSettings" + + if [[ -f "$SETTINGS_FILE" ]]; then + IS_NIGHTMODE=$(${pkgs.ripgrep}/bin/rg "nightlight" "$SETTINGS_FILE" | cut -d"=" -f2) + + if [[ "$IS_NIGHTMODE" == "on" ]]; then + ${pkgs.wlsunset}/bin/wlsunset -T 4500 & + fi + fi + ''; +in +{ + options.${moduleNameSpace}.hyprland = { + enable = lib.mkEnableOption "hyprland setup"; + animations = lib.mkEnableOption "Uiiiiiiiiiii"; + window = { + blur = { + enable = lib.mkEnableOption "Enable window blur"; + passes = lib.mkOption { + type = lib.types.int; + default = 1; + }; + radius = lib.mkOption { + type = lib.types.int; + default = 10; + }; + }; + shadows = lib.mkEnableOption "Enable window drop shadows"; + border_radius = lib.mkOption { + type = lib.types.int; + default = 0; + description = "Border radius"; + }; + opacity = lib.mkOption { + type = lib.types.number; + default = 1.0; + description = "Window opacity"; + }; + }; + }; + + config = lib.mkIf cfg.enable ( + if homeManager then + { + wayland.windowManager.hyprland = { + enable = true; + systemd.enable = true; + systemd.variables = [ "--all" ]; + xwayland.enable = true; + systemd.enableXdgAutostart = false; + + settings = { + monitor = [ ",1920x1080@120,auto,1.0" ]; + + # Conditionally load matugen colors if enabled + # source = [ ] ++ lib.optional (config.beeMods.matugen.enable) "~/.config/hypr/hyprland-colors.conf"; + + "$mainMod" = "SUPER"; + + # env = [ + # "NIXOS_OZONE_WL,1" + # "QT_AUTO_SCREEN_SCALE_FACTOR,1" + # "ELECTRON_OZONE_PLATFORM_HINT,auto" + # "QT_QPA_PLATFORM,wayland;xcb" + # "XDG_SESSION_TYPE,wayland" + # "GDK_BACKEND,wayland,x11" + # "GDK_SCALE,1" + # ]; + # + exec-once = [ + "wl-clip-persist --clipboard regular --reconnect-tries 0" + "wl-paste --type text --watch cliphist store" + "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" + "gnome-keyring-daemon --start --components=secrets,ssh,pkcs11" + "${settings-persist}" + "dbus-update-activation-environment --all" + "sleep 1 && dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP" + ] + ++ lib.optionals (config.beeMods.x11.dwm.enable || config.beeMods.x11.bspwm.enable) [ + "systemctl --user stop xidlehook.service" + "systemctl --user stop xautolock-session.service" + "systemctl --user stop xss-lock.service" + "systemctl --user stop clipcat.service" + ] + ++ lib.optionals (config.beeMods.x11.picom.enable) [ + "systemctl --user stop picom.service" + ]; + + xwayland = { + force_zero_scaling = true; + }; + + input = { + follow_mouse = 1; + kb_layout = "us"; + repeat_delay = 300; + repeat_rate = 50; + sensitivity = 0; + numlock_by_default = false; + left_handed = false; + + touchpad = { + natural_scroll = true; + tap-to-click = true; + drag_lock = true; + disable_while_typing = true; + middle_button_emulation = false; + }; + }; + + general = { + layout = "master"; + gaps_in = 5; + gaps_out = 5; + border_size = 2; + + resize_on_border = true; + no_focus_fallback = true; + allow_tearing = false; + + # "col.active_border" = "$_tertiary_fixed_dim"; + # "col.inactive_border" = "$_outline"; + }; + + master = { + allow_small_split = true; + new_on_top = false; + mfact = 0.56; + }; + + scrolling = { + column_width = 0.55; + follow_focus = true; + }; + + decoration = { + rounding = cfg.window.border_radius; + + blur = { + enabled = cfg.window.blur.enable; + size = cfg.window.blur.radius; + passes = cfg.window.blur.passes; + brightness = 0.9; + contrast = 0.9; + noise = 0.02; + vibrancy = 1.2; + popups = true; + popups_ignorealpha = 0.6; + }; + + shadow = { + enabled = cfg.window.shadows; + ignore_window = true; + range = 10; + render_power = 3; + offset = "0 0"; + color = "rgba(00000044)"; + }; + + # Apply opacity logic utilizing cfg options + active_opacity = + if (cfg.window.blur.enable && cfg.window.opacity == 1.0) then 0.82 else cfg.window.opacity; + inactive_opacity = + if (cfg.window.blur.enable && cfg.window.opacity == 1.0) then 0.82 else cfg.window.opacity; + fullscreen_opacity = 1.0; + + dim_inactive = false; + }; + + animations = { + enabled = true; + + bezier = [ + "openCurve, 0.05, 0.7, 0.1, 1.0" + "closeCurve, 0.0, 0.0, 1.0, 1.0" + "moveCurve, 0.46, 1.0, 0.29, 1.0" + ]; + + animation = [ + "windowsIn, 1, 2.8, openCurve, slide" + "windowsOut, 1, 6.5, closeCurve, popin 80%" + "windowsMove, 1, 2.2, moveCurve" + "fadeIn, 0, 3.0, fadeCurve" + "fadeOut, 1, 2.5, moveCurve" + "workspaces, 1, 2.5, moveCurve, slide" + ]; + }; + + misc = { + vfr = true; + vrr = 0; + mouse_move_enables_dpms = true; + key_press_enables_dpms = true; + disable_splash_rendering = true; + animate_manual_resizes = true; + animate_mouse_windowdragging = false; + enable_swallow = false; + swallow_regex = "(foot|kitty|alacritty|Alacritty|com.mitchellh.ghostty|)"; + disable_hyprland_logo = true; + force_default_wallpaper = 0; + focus_on_activate = true; + }; + + binds = { + scroll_event_delay = 0; + focus_preferred_method = 1; + }; + + windowrule = [ + "workspace 1, match:class ^(foot|footclient|alacritty|com.mitchellh.ghostty)$" + "workspace 2, match:class ^(zen|firefox|obsidian)$" + "workspace 3, match:class ^(vesktop|discord|thunderbird|Element|equibop)$" + "workspace 4, match:class ^(steam)$" + "float on, match:class ^(org.gnome.Calculator|org.pulseaudio.pavucontrol)$" + "stay_focused on, match:class ^(pinentry-)(.*)$" + ]; + + layerrule = [ + "no_anim on, match:namespace ^rofi$" + ]; + + workspace = [ "2, layout:scrolling" ]; + + bind = [ + "$mainMod, r, exec, hyprctl reload" + "$mainMod, Return, exec, ${terminal}" + "$mainMod, a, exec, rofi -show drun" + "$mainMod, period, exec, rofi -show emoji -modi emoji" + "ALT, F4, exec, rofi -show power-menu -modi power-menu:rofi-power-menu" + "$mainMod, y, exec, beesettings wall" + "$mainMod, comma, exec, beesettings settings" + + "$mainMod, F12, exec, gnome-calculator" + "$mainMod, b, exec, zen" + "$mainMod, e, exec, nautilus" + + "$mainMod, m, exit," + "$mainMod, q, killactive," + + "$mainMod, h, movefocus, l" + "$mainMod, l, movefocus, r" + "$mainMod, k, movefocus, u" + "$mainMod, j, movefocus, d" + + ", Print, exec, ${snip} full" + "$mainMod, Print, exec, ${snip} selection" + "$mainMod SHIFT, Print, exec, ${snip} window" + + "$mainMod SHIFT, k, swapwindow, u" + "$mainMod SHIFT, j, swapwindow, d" + "$mainMod SHIFT, h, swapwindow, l" + "$mainMod SHIFT, l, swapwindow, r" + + "$mainMod, g, pin," + "ALT, Tab, workspace, previous" + "$mainMod, space, togglefloating," + "ALT, a, fullscreen, 1" + "ALT, f, fullscreen, 0" + "$mainMod, i, togglespecialworkspace, minimized" + "$mainMod, i, movetoworkspacesilent, special:minimized" + "$mainMod SHIFT, i, togglespecialworkspace, minimized" + "$mainMod SHIFT, i, movetoworkspace, +0" + "ALT, z, togglespecialworkspace, scratchpad" + + "$mainMod, n, exec, beesettings layout" + + "$mainMod, 1, workspace, 1" + "$mainMod, 2, workspace, 2" + "$mainMod, 3, workspace, 3" + "$mainMod, 4, workspace, 4" + "$mainMod, 5, workspace, 5" + "$mainMod, 6, workspace, 6" + "$mainMod, 7, workspace, 7" + "$mainMod, 8, workspace, 8" + "$mainMod, 9, workspace, 9" + + "$mainMod SHIFT, 1, movetoworkspace, 1" + "$mainMod SHIFT, 2, movetoworkspace, 2" + "$mainMod SHIFT, 3, movetoworkspace, 3" + "$mainMod SHIFT, 4, movetoworkspace, 4" + "$mainMod SHIFT, 5, movetoworkspace, 5" + "$mainMod SHIFT, 6, movetoworkspace, 6" + "$mainMod SHIFT, 7, movetoworkspace, 7" + "$mainMod SHIFT, 8, movetoworkspace, 8" + "$mainMod SHIFT, 9, movetoworkspace, 9" + + "ALT SHIFT, Left, focusmonitor, l" + "ALT SHIFT, Right, focusmonitor, r" + "$mainMod ALT, Left, movecurrentworkspacetomonitor, l" + "$mainMod ALT, Right, movecurrentworkspacetomonitor, r" + ]; + + binde = [ + "$mainMod, Up, moveactive, 0 -50" + "$mainMod, Down, moveactive, 0 50" + "$mainMod, Left, moveactive, -50 0" + "$mainMod, Right, moveactive, 50 0" + + "ALT, k, resizeactive, 0 -50" + "ALT, j, resizeactive, 0 50" + "ALT, h, resizeactive, -50 0" + "ALT, l, resizeactive, 50 0" + ]; + + bindel = [ + ", XF86AudioRaiseVolume, exec, volume-control up" + ", XF86AudioLowerVolume, exec, volume-control down" + ", XF86AudioMute, exec, volume-control mute" + ", XF86AudioMicMute, exec, mic-control toggle" + + ", XF86AudioPlay, exec, playerctl play-pause" + ", XF86AudioNext, exec, playerctl next" + ", XF86AudioPrev, exec, playerctl previous" + ", XF86AudioStop, exec, playerctl stop" + + ", XF86MonBrightnessUp, exec, brightness-control up" + ", XF86MonBrightnessDown, exec, brightness-control down" + ]; + + bindm = [ + "$mainMod, mouse:272, movewindow" + "$mainMod, mouse:273, resizewindow" + ]; + }; + }; + } + else + { + programs.hyprland.enable = true; + } + ); +} diff --git a/common/modules/mango/default.nix b/common/modules/mango/default.nix index b47f7ca..7938c05 100644 --- a/common/modules/mango/default.nix +++ b/common/modules/mango/default.nix @@ -45,31 +45,11 @@ let smart-ghostty else config.beeMods.terminal.default; - settings-persist = pkgs.writeShellScript "settings-persist" '' - SETTINGS_FILE="$HOME/.config/beeSettings" - - if [[ -f "$SETTINGS_FILE" ]]; then - IS_NIGHTMODE=$(${pkgs.ripgrep}/bin/rg "nightlight" "$SETTINGS_FILE" | cut -d"=" -f2) - - if [[ "$IS_NIGHTMODE" == "on" ]]; then - ${pkgs.wlsunset}/bin/wlsunset -T 4500 & - fi - fi - ''; in { imports = - if homeManager then - [ - inputs.mango.hmModules.mango - ./waybar.nix - ./scripts.nix - ./swayidleNdLock.nix - ] - else - [ - inputs.mango.nixosModules.mango - ]; + if homeManager then [ inputs.mango.hmModules.mango ] else [ inputs.mango.nixosModules.mango ]; + options.${moduleNameSpace}.mango = { enable = lib.mkEnableOption "mango setup"; animations = lib.mkEnableOption "Uiiiiiiiiiii"; @@ -107,7 +87,7 @@ in enable = true; systemd.enable = true; systemd.variables = [ "--all" ]; - settings = '' + extraConfig = '' ${lib.optionalString (config.beeMods.matugen.enable) '' source=~/.config/mango/mango-colors.conf ''} @@ -127,7 +107,7 @@ in layer_shadows = 0 shadow_only_floating = 1 shadows_size = 10 - shadows_blur = 10 + shadows_blur = 15 shadows_position_x = 0 shadows_position_y = 0 @@ -175,7 +155,7 @@ in # Scroller configuration scroller_structs=15 - scroller_default_proportion=0.8 + scroller_default_proportion=0.6 scroller_focus_center=0 scroller_prefer_center=0 edge_scroller_pointer_focus=1 @@ -276,12 +256,11 @@ in bind=SUPER,Return,spawn,${terminal} - # bind=SUPER,v,spawn,clipvault list | rofi -dmenu -display-columns 2 | clipvault get | wl-copy - bind=SUPER,a,spawn,rofi -show drun - bind=SUPER,period,spawn,rofi -show emoji -modi emoji - bind=ALT,F4,spawn,rofi -show power-menu -modi power-menu:rofi-power-menu - bind=SUPER,y,spawn,beesettings wall - bind=SUPER,comma,spawn,beesettings settings + bind=SUPER,v,spawn,dms ipc call clipboard toggle + bind=SUPER,a,spawn,dms ipc call spotlight toggle + bind=ALT,F4,spawn,dms ipc call powermenu toggle + bind=SUPER,y,spawn,dms ipc call dankdash wallpaper + bind=SUPER,comma,spawn,dms ipc call settings focusOrToggle bind=SUPER,F12,spawn,gnome-calculator bind=SUPER,b,spawn,zen @@ -326,7 +305,7 @@ in # switch layout # bind=SUPER,n,switch_layout - bind=SUPER,n,spawn,beesettings layout + bind=SUPER,n,spawn,dms ipc call notifications toggle # tag switch bind=SUPER,1,view,1,0 @@ -376,75 +355,62 @@ in bind=ALT,l,resizewin,+50,+0 # Volume Control (using wpctl/Pipewire) - bind=NONE,XF86AudioRaiseVolume,spawn,volume-control up - bind=NONE,XF86AudioLowerVolume,spawn,volume-control down - bind=NONE,XF86AudioMute,spawn,volume-control mute + bind=NONE,XF86AudioRaiseVolume,spawn,wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+ + bind=NONE,XF86AudioLowerVolume,spawn,wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- + bind=NONE,XF86AudioMute,spawn,wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle bind=NONE,XF86AudioPlay,spawn,playerctl play-pause bind=NONE,XF86AudioNext,spawn,playerctl next bind=NONE,XF86AudioPrev,spawn,playerctl previous bind=NONE,XF86AudioStop,spawn,playerctl stop - # Mic Control - bind=NONE,XF86AudioMicMute,spawn,mic-control toggle + bind=NONE,XF86AudioMicMute,spawn,wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle - # Brightness Control (using brightnessctl) - bind=NONE,XF86MonBrightnessUp,spawn,brightness-control up - bind=NONE,XF86MonBrightnessDown,spawn,brightness-control down + bind=NONE,XF86MonBrightnessUp,spawn,brightnessctl set +5% + bind=NONE,XF86MonBrightnessDown,spawn,brightnessctl set 5%- - # Mouse Button Bindings - # NONE mode key only work in ov mode mousebind=SUPER,btn_left,moveresize,curmove mousebind=NONE,btn_middle,togglemaximizescreen,0 mousebind=SUPER,btn_right,moveresize,curresize - # Axis Bindings axisbind=SUPER,UP,viewtoleft_have_client axisbind=SUPER,DOWN,viewtoright_have_client - # layer rule - layerrule=animation_type_open:zoom,layer_name:rofi - layerrule=animation_type_close:zoom,layer_name:rofi + layerrule=noanim:1,layer_name:^dms env=NIXOS_OZONE_WL,1 env=QT_AUTO_SCREEN_SCALE_FACTOR,1 env=ELECTRON_OZONE_PLATFORM_HINT,auto - env=QT_QPA_PLATFORM,wayland;xcb + env=QT_QPA_PLATFORM,wayland env=XDG_SESSION_TYPE,wayland env=GDK_BACKEND,wayland,x11 env=GDK_SCALE,1 - - exec-once = ~/.config/mango/autostart.sh ''; autostart_sh = '' - wl-clip-persist --clipboard regular & - ${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1 & + wl-paste --type text --watch cliphist store & gnome-keyring-daemon --start --components=secrets,ssh,pkcs11 & - awww-daemon -q & - ${settings-persist} - ${lib.optionalString (config.beeMods.x11.dwm.enable || config.beeMods.x11.bspwm.enable) '' + ${lib.optionalString (config.beeMods.dwm.enable) '' systemctl --user stop xidlehook.service systemctl --user stop xautolock-session.service systemctl --user stop xss-lock.service systemctl --user stop clipcat.service ''} - ${lib.optionalString (config.beeMods.x11.picom.enable) '' + ${lib.optionalString (config.beeMods.dwm.picom.enable) '' systemctl --user stop picom.service ''} ''; }; home.packages = with pkgs; [ - awww - wl-clipboard-rs - wl-clip-persist + wl-clipboard + cliphist + brightnessctl ]; } else { programs.mango.enable = true; - security.pam.services.swaylock = { }; } ); } diff --git a/common/modules/mango/scripts.nix b/common/modules/mango/scripts.nix deleted file mode 100644 index d330211..0000000 --- a/common/modules/mango/scripts.nix +++ /dev/null @@ -1,261 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: -let - volume-control = pkgs.writeShellScriptBin "volume-control" '' - TAG="audio-volume" - - function get_vol { - ${pkgs.wireplumber}/bin/wpctl get-volume @DEFAULT_AUDIO_SINK@ | awk '{print int($2 * 100)}' - } - - case $1 in - up) ${pkgs.wireplumber}/bin/wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 5%+ ;; - down) ${pkgs.wireplumber}/bin/wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- ;; - mute) ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle ;; - esac - - vol=$(get_vol) - is_muted=$(${pkgs.wireplumber}/bin/wpctl get-volume @DEFAULT_AUDIO_SINK@ | grep "MUTED") - - if [ -n "$is_muted" ]; then - ${pkgs.dunst}/bin/dunstify -a "Volume" -u low \ - -h string:x-canonical-private-synchronous:$TAG \ - "Volume: Muted" - else - ${pkgs.dunst}/bin/dunstify -a "Volume" -u low \ - -h string:x-canonical-private-synchronous:$TAG \ - -h int:value:"$vol" \ - "Volume: $vol%" - fi - ''; - - brightness-control = pkgs.writeShellScriptBin "brightness-control" '' - TAG="screen-brightness" - - case $1 in - up) ${pkgs.brightnessctl}/bin/brightnessctl set +5% ;; - down) ${pkgs.brightnessctl}/bin/brightnessctl set 5%- ;; - esac - - # Get current percentage - current=$(${pkgs.brightnessctl}/bin/brightnessctl info | grep -oP '\(\K[0-9]+(?=%\))') - - ${pkgs.dunst}/bin/dunstify -a "Brightness" -u low \ - -h string:x-canonical-private-synchronous:$TAG \ - -h int:value:"$current" \ - "Brightness: $current%" - ''; - - mic-control = pkgs.writeShellScriptBin "mic-control" '' - TAG="audio-mic" - - case $1 in - toggle) ${pkgs.wireplumber}/bin/wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle ;; - esac - - is_muted=$(${pkgs.wireplumber}/bin/wpctl get-volume @DEFAULT_AUDIO_SOURCE@ | grep "MUTED") - - if [ -n "$is_muted" ]; then - ${pkgs.dunst}/bin/dunstify -a "Microphone" -u low \ - -h string:x-canonical-private-synchronous:$TAG \ - "Microphone: Muted" - else - ${pkgs.dunst}/bin/dunstify -a "Microphone" -u low \ - -h string:x-canonical-private-synchronous:$TAG \ - "Microphone: On" - fi - ''; - beesettings = pkgs.writeShellScriptBin "beesettings" '' - CONFIG_FILE="$HOME/.config/beeSettings" - WALL_DIR="$HOME/Pictures/Wallpapers" - - init_settings() { - if [ ! -f "$CONFIG_FILE" ]; then - mkdir -p "$(dirname "$CONFIG_FILE")" - echo -e "theme=dark\nnightlight=off\nwallpaper=$WALL_DIR/default.jpg\ncolor_type=scheme-tonal-spot" > "$CONFIG_FILE" - fi - } - - get_val() { grep "^$1=" "$CONFIG_FILE" | cut -d'=' -f2; } - set_val() { sed -i "s|^$1=.*|$1=$2|" "$CONFIG_FILE"; } - set_layout() { mmsg -l "$1"; } - - apply_all() { - local theme=$(get_val "theme") - local wall=$(get_val "wallpaper") - local color_type=$(get_val "color_type") - local mode_flag="dark" - [ "$theme" == "light" ] && mode_flag="light" - - matugen image "$wall" -m "$mode_flag" -t "$color_type" --source-color-index 0 2>/dev/null - wallust -q -s run -p "''${mode_flag}16" "$wall" 2>/dev/null - - systemctl --user restart xdg-desktop-portal-gtk - if [ "$mode_flag" = "dark" ]; then - dconf write /org/gnome/desktop/interface/color-scheme "'prefer-light'" - else - dconf write /org/gnome/desktop/interface/color-scheme "'prefer-dark'" - fi - - dconf write /org/gnome/desktop/interface/color-scheme "'prefer-$mode_flag'" - - if [ -z "$WAYLAND_DISPLAY" ] && [ -n "$DISPLAY" ]; then - xrdb -merge "$HOME/.Xresources" - fi - - ${lib.optionalString - (config.beeMods.terminal.default == "foot" || config.beeMods.terminal.default == "ghostty") - '' - [ -f "$HOME/.config/sequences" ] && sh "$HOME/.config/sequences" - '' - } - } - - cmd_wall() { - list_walls() { - for wall in "$WALL_DIR"/*.{jpg,jpeg,png,webp}; do - [ -f "$wall" ] && echo -en "$(basename "$wall")\0icon\x1f$wall\n" - done - } - - SELECTED=$(list_walls | rofi -dmenu -i -p "Wallpaper" \ - -show-icons \ - -theme-str 'element { orientation: vertical; padding: 15px; }' \ - -theme-str 'element-icon { size: 10em; horizontal-align: 0.5; }' \ - -theme-str 'listview { columns: 3; lines: 2; }' \ - -theme-str 'window { width: 50%; }') - - if [ -n "$SELECTED" ]; then - FULL_PATH="$WALL_DIR/$SELECTED" - set_val "wallpaper" "$FULL_PATH" - - if [ -n "$WAYLAND_DISPLAY" ]; then - if command -v awww >/dev/null 2>&1; then - awww img "$FULL_PATH" --transition-type grow --transition-fps 120 --transition-step 60 --transition-duration 1.5 - else - pkill swaybg; swaybg -i "$FULL_PATH" -m fill & - fi - else - feh --no-fehbg --bg-fill "$FULL_PATH" - fi - - apply_all - fi - } - - clr_type() { - local types=( - "scheme-tonal-spot" - "scheme-content" - "scheme-expressive" - "scheme-fidelity" - "scheme-fruit-salad" - "scheme-monochrome" - "scheme-neutral" - "scheme-rainbow" - "scheme-vibrant" - ) - - local selection - selection=$(printf "%s\n" "''${types[@]}" | rofi -dmenu -i -p "Coloscheme Types") - - if [[ -n "$selection" ]]; then - set_val "color_type" "$selection" - apply_all - fi - } - - cmd_layout() { - declare -A layouts=( - ["tile"]="T" - ["monocle"]="M" - ["scroller"]="S" - ["tgmix"]="TG" - ["grid"]="G" - ["deck"]="K" - ["center tile"]="CT" - ["right tile"]="RT" - ["vertical scroller"]="VS" - ["vertical tile"]="VT" - ["vertical grid"]="VG" - ["vertical deck"]="VK" - ) - - local selection - selection=$(printf "%s\n" "''${!layouts[@]}" | sort | rofi -dmenu -i -p "Layout") - - if [[ -n "''${layouts[$selection]}" ]]; then - set_layout "''${layouts[$selection]}" - fi - } - - cmd_settings() { - local theme=$(get_val "theme") - local nl=$(get_val "nightlight") - local ct=$(get_val "color_type") - - local options=( - "Mode: $theme" - "Night Light: $nl" - "Wallpaper" - "Colorscheme Type: $ct" - "Layouts" - ) - - local choice - choice=$(printf "%s\n" "''${options[@]}" | rofi -dmenu -p "Settings" -i) - - case "$choice" in - "Mode: "*) - [[ "$theme" == "dark" ]] && set_val "theme" "light" || set_val "theme" "dark" - apply_all - ;; - "Night Light: "*) - if [[ "$nl" == "on" ]]; then - set_val "nightlight" "off" - - if [[ "$XDG_SESSION_TYPE" == "wayland" ]]; then - pkill wlsunset - else - redshift -x - fi - else - set_val "nightlight" "on" - - if [[ "$XDG_SESSION_TYPE" == "wayland" ]]; then - wlsunset -T 4500 & - else - redshift -O 4500 - fi - fi - ;; - "Wallpaper") cmd_wall ;; - "Colorscheme Type:"*) clr_type ;; - "Layouts") cmd_layout ;; - esac - } - - - init_settings - case "$1" in - wall) cmd_wall ;; - settings) cmd_settings ;; - layout) cmd_layout ;; - apply) apply_all ;; - *) echo "Usage: bee {wall|settings|apply}" ;; - esac - ''; - -in -{ - home.packages = [ - volume-control - brightness-control - mic-control - beesettings - ]; -} diff --git a/common/modules/mango/swayidleNdLock.nix b/common/modules/mango/swayidleNdLock.nix deleted file mode 100644 index 2788db9..0000000 --- a/common/modules/mango/swayidleNdLock.nix +++ /dev/null @@ -1,53 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -let - cfg = config.beeMods.mango; - swaylock_cmd = "${pkgs.swaylock}/bin/swaylock -e -f -C ~/.config/swaylock/swaylock-colors"; -in -{ - config = lib.mkIf cfg.enable { - home.packages = with pkgs; [ - wlopm - swaylock - ]; - - services.swayidle = { - enable = true; - systemdTarget = [ "mango-session.target" ]; - - events = { - "before-sleep" = swaylock_cmd; - "lock" = swaylock_cmd; - }; - - timeouts = [ - # dim screen at 4:30 - { - timeout = 270; - command = "${pkgs.brightnessctl}/bin/brightnessctl g > /tmp/brightness_prev && ${pkgs.brightnessctl}/bin/brightnessctl set 10%"; - resumeCommand = "${pkgs.brightnessctl}/bin/brightnessctl set $(${pkgs.coreutils}/bin/cat /tmp/brightness_prev 2>/dev/null || echo 100%)"; - } - # Lock at 5:00 - { - timeout = 300; - command = swaylock_cmd; - } - # Screen off at 10:00 - { - timeout = 600; - command = "${pkgs.wlopm}/bin/wlopm --off '*'"; - resumeCommand = "${pkgs.wlopm}/bin/wlopm --on '*'"; - } - # suspend at 15:00 - { - timeout = 900; - command = "systemctl suspend"; - } - ]; - }; - }; -} diff --git a/common/modules/mango/waybar.nix b/common/modules/mango/waybar.nix deleted file mode 100644 index 7b8a26a..0000000 --- a/common/modules/mango/waybar.nix +++ /dev/null @@ -1,528 +0,0 @@ -{ - pkgs, - config, - lib, - ... -}: -let - screenshot = pkgs.writeShellScript "screenshot" '' - GEOM=$(${pkgs.slurp}/bin/slurp -b '#2E2A1E55' -c '#fb751bff') || exit - ${pkgs.grim}/bin/grim -g "$GEOM" -t ppm - | ${pkgs.satty}/bin/satty --filename - - ''; -in -{ - programs.waybar = { - enable = config.beeMods.mango.waybar; - systemd.enable = true; - systemd.target = [ "mango-session.target" ]; - # package = pkgs.waybar.overrideAttrs (oldAttrs: { - # mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ]; - # }); - - settings = { - mainBar = { - layer = "top"; - position = "top"; - exclusive = true; - passthrough = false; - gtk-layer-shell = true; - ipc = false; - reload_style_on_change = true; - height = 35; - - modules-left = [ - "dwl/tags" - "wlr/taskbar" - "dwl/window" - ]; - - modules-center = [ - # "cava" - "mpris" - ]; - - modules-right = [ - "tray" - "power-profiles-daemon" - "network" - "group/hardware" - "upower" - "clock" - "custom/power" - ]; - - "group/hardware" = { - orientation = "horizontal"; - modules = [ - "pulseaudio" - "pulseaudio#microphone" - "cpu" - "backlight" - ]; - }; - - "dwl/tags" = { - num-tags = 9; - hide-vacant = true; - # tag-labels = ["一" "二" "三" "四" "五" "六" "七" "八" "九"]; - }; - - "dwl/window" = { - format = "[{layout}]{title}"; - on-click = "${screenshot}"; - }; - - cpu = { - interval = 2; - format = " {usage}%"; - }; - - "wlr/taskbar" = { - format = "{icon}"; - icon-size = 22; - all-outputs = false; - tooltip-format = "{title}"; - markup = true; - on-click = "activate"; - on-click-right = "close"; - ignore-list = [ - "Rofi" - "wofi" - ]; - }; - - backlight = { - interval = 2; - format = "{icon} {percent}%"; - format-icons = [ - "" - "" - ]; - on-scroll-up = "brightnessctl set +1%"; - on-scroll-down = "brightnessctl set 1%-"; - smooth-scrolling-threshold = 1; - }; - - idle_inhibitor = { - tooltip = false; - format = "{icon}"; - start-activated = false; - format-icons = { - activated = " "; - deactivated = " "; - }; - }; - - tray = { - interval = 1; - icon-size = 21; - spacing = 10; - }; - - network = { - interval = 2; - format-wifi = " {essid} ({signalStrength}%)"; - format-ethernet = " {ifname}"; - format-linked = " No IP ({ifname})"; - format-disconnected = " Disconnected"; - tooltip-format = "{ifname} {ipaddr}/{cidr} via {gwaddr}"; - format-alt = "↓{bandwidthDownBytes} ↑{bandwidthUpBytes}"; - }; - - clock = { - # format = "{:%H:%M} "; # 24 hrs - format = "{:%I:%M %p}"; - format-alt = " {:%A, %b %d}"; - tooltip-format = "{:%Y}"; - calendar = { - mode = "year"; - mode-mon-col = 3; - weeks-pos = "right"; - on-scroll = 1; - format = { - months = "<span color='#ffead3'><b>{}</b></span>"; - days = "<span color='#ecc6d9'><b>{}</b></span>"; - weeks = "<span color='#99ffdd'><b>W{}</b></span>"; - weekdays = "<span color='#ffcc66'><b>{}</b></span>"; - today = "<span color='#ff6699'><b><u>{}</u></b></span>"; - }; - }; - }; - - pulseaudio = { - format = "{icon} {volume}%"; - tooltip = false; - format-muted = " Muted"; - format-bluetooth-muted = " Muted"; - on-click = "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"; - on-scroll-up = "wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%+"; - on-scroll-down = "wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%-"; - scroll-step = 5; - format-icons = { - headphone = ""; - hands-free = ""; - headset = ""; - phone = ""; - portable = ""; - car = ""; - default = [ - "" - "" - "" - ]; - }; - ignored-sinks = [ "Easy Effects Sink" ]; - }; - - "pulseaudio#microphone" = { - format = "{format_source}"; - format-source = " {volume}%"; - tooltip = false; - format-source-muted = " Muted"; - on-click = "wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle"; - on-scroll-up = "wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SOURCE@ 2%+"; - on-scroll-down = "wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SOURCE@ 2%-"; - scroll-step = 5; - }; - - "custom/power" = { - format = ""; - tooltip = false; - on-click = "rofi -show power-menu -modi power-menu:rofi-power-menu"; - }; - - power-profiles-daemon = { - format = "{icon}"; - tooltip-format = "Power profile: {profile}\nDriver: {driver}"; - tooltip = true; - "format-icons" = { - default = ""; - performance = ""; - balanced = ""; - power-saver = ""; - }; - }; - - mpris = { - format = "{player_icon} {title} - {artist}"; - format-paused = "{status_icon} {title} - {artist}"; - format-stopped = ""; - max-length = 45; - ellipsis = true; - tooltip = false; - playerctld = false; - player-icons = { - default = ""; - spotify = ""; - firefox = ""; - mpv = ""; - }; - status-icons = { - paused = ""; - playing = ""; - }; - on-click = "playerctl play-pause"; - on-click-right = "playerctl next"; - on-click-middle = "playerctl previous"; - on-scroll-up = "wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%+"; - on-scroll-down = "wpctl set-volume -l 1.5 @DEFAULT_AUDIO_SINK@ 2%-"; - }; - - cava = { - framerate = 60; - autosens = 0; - bars = 8; - lower_cutoff_freq = 50; - higher_cutoff_freq = 12000; - method = "pipewire"; - hide_on_silence = true; - sleep_timer = 5; - source = "auto"; - stereo = false; - reverse = false; - bar_delimiter = 0; - monstercat = false; - waves = false; - noise_reduction = 0.77; - input_delay = 0; - format-icons = [ - "▁" - "▂" - "▃" - "▄" - "▅" - "▆" - "▇" - "█" - ]; - actions = { - on-click-right = "mode"; - }; - }; - - upower = { - icon-size = 18; - hide-if-empty = true; - tooltip = true; - tooltip-spacing = 20; - format = "{percentage}"; - }; - }; - }; - - # The style attribute manages style.css natively - style = '' - * { - border: none; - font-family: "JetBrainsMono Nerd Font Propo", monospace; - font-weight: 700; - font-size: 14px; - min-height: 0; - } - - window#waybar { - background: none; - margin: 0px; - padding: 0px; - } - - ${ - if config.beeMods.matugen.enable then - ''@import url("colors.css");'' - else - ''@import url("colors-default.css");'' - } - - tooltip { - background: @bg_panel; - border-radius: 0px; - border-width: 2px; - border-style: solid; - border-color: @border_color; - } - - tooltip label { - color: @text_main; - font-weight: 500; - text-shadow: none; - } - - #window, - #taskbar, - #tags, - #workspaces, - #mpris, - #clock, - #upower, - #network, - #tray, - #cava, - #custom-power, - #power-profiles-daemon, - #hardware { - background: @bg_panel; - color: @text_main; - padding: 0px 8px; - margin: 0px; - margin-top: 1px; - margin-bottom: 0px; - border-width: 2px; - border-style: solid; - border-color: @border_color; - border-radius: 0px; - } - - #workspaces button, - #tags button { - border: none; - background: none; - box-shadow: inherit; - text-shadow: inherit; - padding: 1px 3px; - } - - #workspaces button:hover, - #tags button:hover { - color: @text_main; - } - - - #workspaces button.active, - #tags button.focused, - #taskbar button.active { - background-color: @text_main; - } - - #workspaces button.urgent, - #tags button.urgent { - background-color: @alert_urgent; - } - - #taskbar button.urgent { - background-color: @alert_critical; - } - - #taskbar button.minimized { - background-color: @alert_minimized; - } - - #taskbar button.active, - #taskbar button.urgent, - #taskbar button.minimized { - padding-left: 3px; - padding-right: 3px; - } - - #hardware { - padding: 0px; - margin-right: 4px; - } - - #hardware > widget > * { - padding: 0px 8px; - } - - #workspaces { - margin-left: 4px; - padding-left: 10px; - padding-right: 6px; - } - - #workspaces button { - color: @text_main; - margin-right: 2px; - margin-left: 2px; - } - - #workspaces button.hidden { - color: @text_main; - background-color: transparent; - } - - #workspaces button.visible { - color: @text_main; - } - - #tags { - margin-left: 5px; - padding-left: 6px; - padding-right: 6px; - } - - #taskbar button { - color: @text_main; - margin: 2px; - padding: 0px 3px; - border-radius: 0px; - background: transparent; - } - - #tags button:not(.occupied):not(.focused):not(.overview):not(.urgent) { - font-size: 0; - min-width: 0; - min-height: 0; - margin: -17px; - padding: 0; - color: transparent; - background-color: transparent; - } - - #tags button.occupied, - #tags button.overview { - color: @text_main; - } - - #tray { - margin-right: 4px; - margin-left: 4px; - padding: 0px 9px 0px 9px; - } - - #power-profiles-daemon, - #network { - margin-right: 4px; - padding: 0px 8px 0px 9px; - } - - #window { - margin-right: 10px; - } - - #taskbar { - margin-left: 10px; - margin-right: 10px; - } - - #taskbar.empty { - margin: 0px; - padding-left: 10px; - padding-right: 0px; - border-color: transparent; - border: none; - background-color: transparent; - } - - #taskbar button { - margin-right: 3px; - } - - #mpris { - margin-left: 4px; - } - - #cava { - margin-left: 4px; - } - - #clock { - border-right: 2px; - } - - #upower { - margin-right: 4px; - } - - #custom-power { - margin-left: 4px; - margin-right: 5px; - } - - #workspaces button.active, - #workspaces button.urgent, - #tags button.focused, - #tags button.urgent, - #taskbar button.active, - #taskbar button.urgent, - #taskbar button.minimized { - color: @text_dark; - margin-top: 2px; - margin-bottom: 2px; - padding-top: 0px; - padding-bottom: 0px; - border-radius: 0px; - } - ''; - }; - - xdg.configFile = { - "waybar/colors-default.css" = { - enable = !config.beeMods.matugen.enable; - text = - # css - '' - @define-color bg_panel alpha(#131313, 0.9); - @define-color bg_base transparent; - @define-color border_color #ffffff; - @define-color text_main #ffffff; - @define-color text_muted #ffffff; - @define-color text_dim #ffffff; - @define-color text_accent #ffffff; - @define-color text_dark #353535; - @define-color alert_urgent #ffb4ab; - @define-color alert_minimized #93000a; - @define-color alert_critical #ffdad6; - - ''; - }; - }; -} diff --git a/common/modules/matugen/default.nix b/common/modules/matugen/default.nix index a9aaaae..6bf73a2 100644 --- a/common/modules/matugen/default.nix +++ b/common/modules/matugen/default.nix @@ -13,12 +13,12 @@ }: let cfg = config.${moduleNameSpace}.matugen; - link_zen = pkgs.writeShellScript "link_zen" '' - export PROFILE_DIR=$(find ~/.config/zen/ -maxdepth 1 -type d -name "*.Default Profile" | head -n 1) - mkdir -p "$PROFILE_DIR/chrome" - ln -sf ~/.cache/wallust/userChrome.css "$PROFILE_DIR/chrome/userChrome.css" - ln -sf ~/.config/userContent.css "$PROFILE_DIR/chrome/userContent.css" - ''; + # link_zen = pkgs.writeShellScript "link_zen" '' + # export PROFILE_DIR=$(find ~/.config/zen/ -maxdepth 1 -type d -name "*.Default Profile" | head -n 1) + # mkdir -p "$PROFILE_DIR/chrome" + # ln -sf ~/.cache/wallust/userChrome.css "$PROFILE_DIR/chrome/userChrome.css" + # ln -sf ~/.config/userContent.css "$PROFILE_DIR/chrome/userContent.css" + # ''; update_gtkcolors = pkgs.writeShellScript "update_gtkcolors" '' dconf write /org/gnome/desktop/interface/color-scheme "'prefer-light'" sleep 0.1 @@ -36,71 +36,12 @@ in config = lib.mkIf cfg.enable ( lib.optionalAttrs homeManager { - programs.wallust = { - enable = true; - settings = { - backend = "fastresize"; - color_space = "salience"; - check_contrast = true; - templates = { - foot = lib.mkIf config.beeMods.terminal.foot { - template = "foot-colors.ini"; - target = "~/.config/foot/colors.ini"; - }; - alacritty = lib.mkIf config.beeMods.terminal.alacritty { - template = "alacritty-colors.toml"; - target = "~/.config/alacritty/colors.toml"; - }; - ghostty = lib.mkIf config.beeMods.terminal.ghostty { - template = "ghostty-colors.conf"; - target = "~/.config/ghostty/themes/matugen"; - }; - zen = { - template = "userChrome.css"; - target = "~/.cache/wallust/userChrome.css"; - }; - xresources = lib.mkIf (config.beeMods.x11.dwm.enable || config.beeMods.x11.bspwm.enable) { - template = "colors-xresources"; - target = "~/.config/x11/matugen.Xresources"; - }; - sequences = - lib.mkIf (config.beeMods.terminal.default == "foot" || config.beeMods.terminal.default == "ghostty") - { - template = "sequences"; - target = "~/.config/sequences"; - }; - }; - }; - }; - - home.packages = with pkgs; [ - matugen - ]; - xdg.configFile = { "matugen/config.toml" = { text = # toml '' [config] - ${lib.optionalString config.beeMods.terminal.alacritty '' - [templates.alacritty] - input_path = '~/.config/matugen/templates/alacritty-colors.toml' - output_path = '~/.config/wallust/templates/alacritty-colors.toml' - ''} - - ${lib.optionalString config.beeMods.terminal.foot '' - [templates.foot] - input_path = '~/.config/matugen/templates/foot-colors.ini' - output_path = '~/.config/wallust/templates/foot-colors.ini' - ''} - - ${lib.optionalString config.beeMods.terminal.ghostty '' - [templates.ghostty] - input_path = '~/.config/matugen/templates/ghostty.conf' - output_path = '~/.config/wallust/templates/ghostty-colors.conf' - ''} - ${lib.optionalString config.programs.zathura.enable '' [templates.zathura] input_path = '~/.config/matugen/templates/zathura.toml' @@ -108,12 +49,6 @@ in ''} ${lib.optionalString config.beeMods.mango.enable '' - [templates.swaylock] - input_path = '~/.config/matugen/templates/swaylock-colors' - output_path = '~/.config/swaylock/swaylock-colors' - ''} - - ${lib.optionalString config.beeMods.mango.enable '' [templates.mango] input_path = '~/.config/matugen/templates/mango.conf' output_path = '~/.config/mango/mango-colors.conf' @@ -132,10 +67,10 @@ in output_path = '~/.config/yazi/theme.toml' ''} - ${lib.optionalString (config.beeMods.x11.dwm.enable || config.beeMods.x11.bspwm.enable) '' + ${lib.optionalString (config.beeMods.dwm.enable) '' [templates.Xresources] input_path = "~/.config/matugen/templates/colors-xresources" - output_path = "~/.config/wallust/templates/colors-xresources" + output_path = "~/.config/x11/matugen.Xresources" ''} ${lib.optionalString config.programs.vesktop.enable '' @@ -144,13 +79,6 @@ in output_path = "~/.config/vesktop/themes/system24.css" ''} - ${lib.optionalString config.beeMods.mango.waybar '' - [templates.waybar] - input_path = "~/.config/matugen/templates/waybar.css" - output_path = "~/.config/waybar/colors.css" - # post_hook = "pkill -SIGUSR2 waybar" - ''} - ${lib.optionalString config.services.dunst.enable '' [templates.dunst] input_path = '~/.config/matugen/templates/dunstrc' @@ -158,23 +86,6 @@ in post_hook = "dunstctl reload" ''} - ${lib.optionalString config.programs.rofi.enable '' - [templates.rofi] - input_path = '~/.config/matugen/templates/rofi-colors.rasi' - output_path = '~/.config/rofi/shared/colors.rasi' - ''} - - ${lib.optionalString config.gtk.enable '' - [templates.gtk3] - input_path = '~/.config/matugen/templates/colors.css' - output_path = '~/.config/gtk-3.0/colors.css' - - [templates.gtk4] - input_path = '~/.config/matugen/templates/colors.css' - output_path = '~/.config/gtk-4.0/colors.css' - # post_hook = "${update_gtkcolors}" - ''} - ${lib.optionalString config.beeMods.beeVim.enable '' [templates.neovim] input_path = "~/.config/matugen/templates/neovim.json" @@ -186,30 +97,10 @@ in '' [templates.sequences] input_path = '~/.config/matugen/templates/sequences' - output_path = '~/.config/wallust/templates/sequences' + output_path = '~/.config/sequences' + post_hook = "sh '${config.home.homeDirectory}/.config/sequences'" '' } - - ${lib.optionalString config.beeMods.x11.bspwm.enable '' - [templates.bspwm] - input_path = "~/.config/matugen/templates/bspwm-colors" - output_path = "~/.config/bspwm/colors" - post_hook = "bspc wm -r" - ''} - - [templates.zed] - input_path = '~/.config/matugen/templates/zed.json' - output_path = '~/.config/zed/themes/matugen.json' - - [templates.zen] - input_path = '~/.config/matugen/templates/zen.css' - output_path = '~/.config/wallust/templates/userChrome.css' - post_hook = "${link_zen}" - - [templates.zen-userContent] - input_path = '~/.config/matugen/templates/zen-usercontent.css' - output_path = '~/.config/userContent.css' - post_hook = "${link_zen}" ''; }; }; diff --git a/common/modules/matugen/templates/matugen-bspwm.nix b/common/modules/matugen/templates/matugen-bspwm.nix deleted file mode 100644 index 1e0a546..0000000 --- a/common/modules/matugen/templates/matugen-bspwm.nix +++ /dev/null @@ -1,16 +0,0 @@ -{ - xdg.configFile = { - "matugen/templates/bspwm-colors" = { - enable = true; - text = - # sh - '' - #!/bin/bash - bspc config focused_border_color '{{colors.primary.default.hex}}' - bspc config active_border_color '{{colors.tertiary.default.hex}}' - bspc config normal_border_color '{{colors.outline.default.hex}}' - bspc config presel_feedback_color '{{colors.secondary.default.hex}}' - ''; - }; - }; -} diff --git a/common/modules/matugen/templates/matugen-gtk.nix b/common/modules/matugen/templates/matugen-gtk.nix deleted file mode 100644 index 0896d04..0000000 --- a/common/modules/matugen/templates/matugen-gtk.nix +++ /dev/null @@ -1,58 +0,0 @@ -{ - config, - lib, - ... -}: -{ - config = lib.mkIf config.gtk.enable { - xdg.configFile = { - "matugen/templates/colors.css" = { - text = - # css - '' - /* Destructive colors are basically error colors */ - @define-color destructive_bg_color {{colors.error.default.hex}}; - @define-color destructive_fg_color {{colors.on_error.default.hex}}; - /* Follow material spec */ - @define-color error_bg_color {{colors.error.default.hex}}; - @define-color error_fg_color {{colors.on_error.default.hex}}; - /* Follow material spec (also I think looks nicer) */ - @define-color accent_fg_color {{colors.on_primary.default.hex}}; - @define-color accent_bg_color {{colors.primary.default.hex}}; - /* Use surface instead of background */ - @define-color window_bg_color {{colors.surface.default.hex}}; - @define-color window_fg_color {{colors.on_surface.default.hex}}; - /* Make it more similar to Adwaita */ - @define-color view_bg_color {{colors.surface.default.hex}}; - @define-color view_fg_color {{colors.on_surface.default.hex}}; - @define-color headerbar_bg_color {{colors.surface.default.hex}}; - @define-color headerbar_fg_color {{colors.on_surface.default.hex}}; - @define-color sidebar_bg_color {{colors.surface_container.default.hex}}; - @define-color sidebar_fg_color {{colors.on_surface.default.hex}}; - /* There is only like one application I know that uses this, and there isn't a good way to get - a color between surface and surface container so I think just giving this surface is a good enough fallback*/ - @define-color secondary_sidebar_bg_color {{colors.surface.default.hex}}; - @define-color secondary_sidebar_fg_color {{colors.on_surface.default.hex}}; - @define-color card_bg_color {{colors.surface_container.default.hex}}; - @define-color card_fg_color {{colors.on_surface.default.hex}}; - @define-color overview_bg_color {{colors.surface_container.default.hex}}; - @define-color overview_fg_color {{colors.on_surface.default.hex}}; - @define-color popover_bg_color {{colors.surface_container.default.hex}}; - @define-color popover_fg_color {{colors.on_surface.default.hex}}; - @define-color dialog_bg_color {{colors.surface.default.hex}}; - @define-color dialog_fg_color {{colors.on_surface.default.hex}}; - - /* Backdrop/unfocused states - prevents white flash on window unfocus */ - @define-color headerbar_backdrop_color @window_bg_color; - @define-color sidebar_backdrop_color @sidebar_bg_color; - @define-color theme_unfocused_fg_color @window_fg_color; - @define-color theme_unfocused_text_color @view_fg_color; - @define-color theme_unfocused_bg_color @window_bg_color; - @define-color theme_unfocused_base_color @window_bg_color; - @define-color theme_unfocused_selected_bg_color @accent_bg_color; - @define-color theme_unfocused_selected_fg_color @accent_fg_color; - ''; - }; - }; - }; -} diff --git a/common/modules/matugen/templates/matugen-rofi.nix b/common/modules/matugen/templates/matugen-rofi.nix deleted file mode 100644 index 18be5c1..0000000 --- a/common/modules/matugen/templates/matugen-rofi.nix +++ /dev/null @@ -1,31 +0,0 @@ -{ - config, - lib, - ... -}: -{ - config = lib.mkIf config.programs.rofi.enable { - xdg.configFile = { - "matugen/templates/rofi-colors.rasi" = { - text = '' - * { - <* if {{ is_dark_mode }} *> - bg: {{colors.surface.default.hex}}; - bg-alt: {{colors.surface_container.default.hex}}; - <* else *> - bg: {{colors.surface_container.default.hex}}; - bg-alt: {{colors.surface_container_highest.default.hex}}; - <* endif *> - fg: {{colors.on_surface.default.hex}}; - fg-dim: {{colors.on_surface_variant.default.hex}}; - accent: {{colors.primary.default.hex}}; - selected-bg: {{colors.primary.default.hex}}; - selected-fg: {{colors.on_primary.default.hex}}; - urgent: {{colors.error.default.hex}}; - outline: {{colors.outline.default.hex}}; - } - ''; - }; - }; - }; -} diff --git a/common/modules/matugen/templates/matugen-sequences.nix b/common/modules/matugen/templates/matugen-sequences.nix index e158984..ac6e413 100644 --- a/common/modules/matugen/templates/matugen-sequences.nix +++ b/common/modules/matugen/templates/matugen-sequences.nix @@ -9,28 +9,29 @@ text = '' #!/bin/sh SEQ="" - SEQ="$SEQ$(printf '\033]4;0;rgb:\{{color0 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;1;rgb:\{{color1 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;2;rgb:\{{color2 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;3;rgb:\{{color3 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;4;rgb:\{{color4 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;5;rgb:\{{color5 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;6;rgb:\{{color6 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;7;rgb:\{{color7 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;8;rgb:\{{color8 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;9;rgb:\{{color9 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;10;rgb:\{{color10 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;11;rgb:\{{color11 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;12;rgb:\{{color12 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;13;rgb:\{{color13 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;14;rgb:\{{color14 | xrgb}}\007')" - SEQ="$SEQ$(printf '\033]4;15;rgb:\{{color15 | xrgb}}\007')" + SEQ="$SEQ$(printf '\033]4;0;{{dank16.color0.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;1;{{dank16.color1.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;2;{{dank16.color2.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;3;{{dank16.color3.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;4;{{dank16.color4.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;5;{{dank16.color5.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;6;{{dank16.color6.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;7;{{dank16.color7.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;8;{{dank16.color8.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;9;{{dank16.color9.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;10;{{dank16.color10.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;11;{{dank16.color11.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;12;{{dank16.color12.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;13;{{dank16.color13.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;14;{{dank16.color14.default.hex}}\007')" + SEQ="$SEQ$(printf '\033]4;15;{{dank16.color15.default.hex}}\007')" SEQ="$SEQ$(printf '\033]10;{{colors.on_surface.default.hex}}\007')" - <* if {{ is_dark_mode }} *> SEQ="$SEQ$(printf '\033]11;{{colors.background.default.hex}}\007')" - <* else *> - SEQ="$SEQ$(printf '\033]11;{{colors.surface_container.default.hex}}\007')" - <* endif *> + # <* if {{ is_dark_mode }} *> + # SEQ="$SEQ$(printf '\033]11;{{colors.background.default.hex}}\007')" + # <* else *> + # SEQ="$SEQ$(printf '\033]11;{{colors.surface_container.default.hex}}\007')" + # <* endif *> SEQ="$SEQ$(printf '\033]12;{{colors.primary.default.hex}}\007')" SEQ="$SEQ$(printf '\033]17;{{colors.on_surface.default.hex}}\007')" SEQ="$SEQ$(printf '\033]19;{{colors.primary_container.default.hex}}\007')" diff --git a/common/modules/matugen/templates/matugen-swaylock.nix b/common/modules/matugen/templates/matugen-swaylock.nix deleted file mode 100644 index 723c94e..0000000 --- a/common/modules/matugen/templates/matugen-swaylock.nix +++ /dev/null @@ -1,54 +0,0 @@ -{ - config, - lib, - pkgs, - ... -}: -{ - config = lib.mkIf config.beeMods.mango.enable { - xdg.configFile."matugen/templates/swaylock-colors" = { - text = '' - show-failed-attempts - indicator-radius=70 - indicator-thickness=9 - line-uses-inside - image={{image}} - - # --- Base Colors --- - color={{colors.background.default.hex}} - layout-text-color={{colors.on_surface.default.hex}} - - # --- State: Idle (Gray-like ring for visibility) --- - # Using surface_variant for a distinct but neutral gray ring - ring-color={{colors.surface_variant.default.hex}} - inside-color={{colors.surface.default.hex}} - text-color={{colors.on_surface.default.hex}} - - # Key Highlight (When typing) - key-hl-color={{colors.primary.default.hex}} - separator-color={{colors.outline.default.hex}} - - # --- State: Verifying (Pressing Enter) --- - # Switched to Primary to make the "Enter" state pop - ring-ver-color={{colors.primary.default.hex}} - inside-ver-color={{colors.primary_container.default.hex}} - text-ver-color={{colors.on_primary_container.default.hex}} - - # --- State: Wrong Password --- - ring-wrong-color={{colors.error.default.hex}} - inside-wrong-color={{colors.error_container.default.hex}} - text-wrong-color={{colors.on_error_container.default.hex}} - - # --- State: Backspace / Clear --- - ring-clear-color={{colors.secondary.default.hex}} - inside-clear-color={{colors.surface_variant.default.hex}} - text-clear-color={{colors.on_surface_variant.default.hex}} - - # --- Misc --- - bs-hl-color={{colors.error.default.hex}} - caps-lock-key-hl-color={{colors.tertiary.default.hex}} - caps-lock-bs-hl-color={{colors.error.default.hex}} - ''; - }; - }; -} diff --git a/common/modules/matugen/templates/matugen-waybar.nix b/common/modules/matugen/templates/matugen-waybar.nix deleted file mode 100644 index acdb788..0000000 --- a/common/modules/matugen/templates/matugen-waybar.nix +++ /dev/null @@ -1,35 +0,0 @@ -{ - config, - lib, - ... -}: -{ - config = lib.mkIf config.beeMods.mango.waybar { - xdg.configFile."matugen/templates/waybar.css" = { - text = '' - ${lib.optionalString (config.beeMods.mango.window.blur.enable) '' - <* if {{ is_dark_mode }} *> - @define-color bg_panel rgba({{colors.surface.default.red}}, {{colors.surface.default.green}}, {{colors.surface.default.blue}}, 0.9); - <* else *> - @define-color bg_panel rgba({{colors.surface_container.default.red}}, {{colors.surface_container.default.green}}, {{colors.surface_container.default.blue}}, 0.9); - <* endif *> - ''} - ${lib.optionalString (!config.beeMods.mango.window.blur.enable) '' - <* if {{ is_dark_mode }} *> - @define-color bg_panel {{colors.surface.default.hex}}; - <* else *> - @define-color bg_panel {{colors.surface_container.default.hex}}; - <* endif *> - ''} - - @define-color bg_base transparent; - @define-color border_color {{colors.primary.default.hex}}; - @define-color text_main {{colors.primary.default.hex}}; - @define-color text_dark {{colors.surface_container_highest.default.hex}}; - @define-color alert_urgent {{colors.error.default.hex}}; - @define-color alert_minimized {{colors.error_container.default.hex}}; - @define-color alert_critical {{colors.on_error_container.default.hex}}; - ''; - }; - }; -} diff --git a/common/modules/matugen/templates/matugen-xresources.nix b/common/modules/matugen/templates/matugen-xresources.nix index 6ee20c2..f33fda2 100644 --- a/common/modules/matugen/templates/matugen-xresources.nix +++ b/common/modules/matugen/templates/matugen-xresources.nix @@ -11,11 +11,16 @@ dwm.normfgcolor : {{colors.on_surface.default.hex}} dwm.selbordercolor : {{colors.primary.default.hex}} dwm.selfgcolor : {{colors.primary.default.hex}} + dmenu.foreground : {{colors.on_surface.default.hex}} + dmenu.selbackground : {{colors.primary.default.hex}} + dmenu.selforeground : {{colors.on_primary.default.hex}} <* if {{ is_dark_mode }} *> + dmenu.background : {{colors.background.default.hex}} st.background: {{colors.surface.default.hex}} dwm.normbgcolor : {{colors.surface.default.hex}} dwm.selbgcolor : {{colors.surface_container.default.hex}} <* else *> + dmenu.background : {{colors.surface_container.default.hex}} st.background: {{colors.surface_container.default.hex}} dwm.normbgcolor : {{colors.surface_container.default.hex}} dwm.selbgcolor : {{colors.secondary_fixed.default.hex}} @@ -24,29 +29,29 @@ st.foreground: {{colors.on_surface.default.hex}} st.cursorColor: {{colors.primary.default.hex}} - st.color0: \{{color0}} - st.color8: \{{color8}} + st.color0: {{dank16.color0.default.hex}} + st.color8: {{dank16.color8.default.hex}} - st.color1: \{{color1}} - st.color9: \{{color9}} + st.color1: {{dank16.color1.default.hex}} + st.color9: {{dank16.color9.default.hex}} - st.color2: \{{color2}} - st.color10: \{{color10}} + st.color2: {{dank16.color2.default.hex}} + st.color10: {{dank16.color10.default.hex}} - st.color3: \{{color3}} - st.color11: \{{color11}} + st.color3: {{dank16.color3.default.hex}} + st.color11: {{dank16.color11.default.hex}} - st.color4: \{{color4}} - st.color12: \{{color12}} + st.color4: {{dank16.color4.default.hex}} + st.color12: {{dank16.color12.default.hex}} - st.color5: \{{color5}} - st.color13: \{{color13}} + st.color5: {{dank16.color5.default.hex}} + st.color13: {{dank16.color13.default.hex}} - st.color6: \{{color6}} - st.color14: \{{color14}} + st.color6: {{dank16.color6.default.hex}} + st.color14: {{dank16.color14.default.hex}} - st.color7: \{{color7}} - st.color15: \{{color15}} + st.color7: {{dank16.color7.default.hex}} + st.color15: {{dank16.color15.default.hex}} ''; }; }; diff --git a/common/modules/matugen/templates/matugen-zed.nix b/common/modules/matugen/templates/matugen-zed.nix deleted file mode 100644 index 9e603a4..0000000 --- a/common/modules/matugen/templates/matugen-zed.nix +++ /dev/null @@ -1,602 +0,0 @@ -{ - xdg.configFile = { - "matugen/templates/zed.json" = { - enable = true; - text = - # toml - '' - { - "$schema": "https://zed.dev/schema/themes/v0.2.0.json", - "name": "Matugen", - "author": "Matugen", - "themes": [ - { - "name": "Matugen Dark", - "appearance": "dark", - "style": { - "accents": [ - "{{colors.primary.dark.hex}}", - "{{colors.secondary.dark.hex}}", - "{{colors.tertiary.dark.hex}}" - ], - "background.appearance": "opaque", - "border": "{{colors.outline_variant.dark.hex}}", - "border.variant": "{{colors.outline.dark.hex}}", - "border.focused": "{{colors.primary.dark.hex}}", - "border.selected": "{{colors.primary.dark.hex}}", - "border.transparent": "{{colors.outline_variant.dark.hex}}40", - "border.disabled": "{{colors.outline_variant.dark.hex}}60", - "elevated_surface.background": "{{colors.surface_container_high.dark.hex}}", - "surface.background": "{{colors.surface.dark.hex}}", - "background": "{{colors.background.dark.hex}}", - "element.background": "{{colors.surface_container.dark.hex}}", - "element.hover": "{{colors.surface_container_high.dark.hex}}", - "element.active": "{{colors.surface_container_highest.dark.hex}}", - "element.selected": "{{colors.secondary_container.dark.hex}}", - "element.disabled": "{{colors.surface_variant.dark.hex}}", - "drop_target.background": "{{colors.primary_container.dark.hex}}80", - "ghost_element.background": null, - "ghost_element.hover": "{{colors.surface_container.dark.hex}}80", - "ghost_element.active": "{{colors.surface_container_high.dark.hex}}", - "ghost_element.selected": "{{colors.secondary_container.dark.hex}}80", - "ghost_element.disabled": "{{colors.surface_variant.dark.hex}}60", - "text": "{{colors.on_surface.dark.hex}}", - "text.muted": "{{colors.on_surface_variant.dark.hex}}", - "text.placeholder": "{{colors.on_surface_variant.dark.hex}}99", - "text.disabled": "{{colors.on_surface.dark.hex}}60", - "text.accent": "{{colors.primary.dark.hex}}", - "icon": "{{colors.on_surface.dark.hex}}", - "icon.muted": "{{colors.on_surface_variant.dark.hex}}", - "icon.disabled": "{{colors.on_surface.dark.hex}}60", - "icon.placeholder": "{{colors.on_surface_variant.dark.hex}}80", - "icon.accent": "{{colors.primary.dark.hex}}", - "status_bar.background": "{{colors.surface.dark.hex}}", - "title_bar.background": "{{colors.surface.dark.hex}}", - "title_bar.inactive_background": "{{colors.surface_dim.dark.hex}}", - "toolbar.background": "{{colors.surface_container_low.dark.hex}}", - "tab_bar.background": "{{colors.surface_container.dark.hex}}", - "tab.inactive_backgorround": "{{colors.surface_container_low.dark.hex}}", - "tab.active_background": "{{colors.surface_container_high.dark.hex}}", - "search.match_background": "{{colors.tertiary_container.dark.hex}}80", - "panel.background": "{{colors.surface_container_low.dark.hex}}", - "panel.focused_border": "{{colors.primary.dark.hex}}", - "pane.focused_border": "{{colors.primary.dark.hex}}", - "scrollbar.thumb.background": "{{colors.on_surface_variant.dark.hex}}80", - "scrollbar.thumb.hover_background": "{{colors.on_surface_variant.dark.hex}}c0", - "scrollbar.thumb.border": "{{colors.outline_variant.dark.hex}}40", - "scrollbar.track.background": "{{colors.surface_container.dark.hex}}", - "scrollbar.track.border": "{{colors.outline_variant.dark.hex}}20", - "editor.foreground": "{{colors.on_surface.dark.hex}}", - "editor.background": "{{colors.surface_container_low.dark.hex}}", - "editor.gutter.background": "{{colors.surface_container_low.dark.hex}}", - "editor.subheader.background": "{{colors.surface_container.dark.hex}}", - "editor.indent_guide": "{{colors.outline_variant.dark.hex}}60", - "editor.indent_guide_active": "{{colors.outline.dark.hex}}", - "editor.active_line.background": "{{colors.surface_container_high.dark.hex}}80", - "editor.highlighted_line.background": "{{colors.surface_container_high.dark.hex}}60", - "editor.line_number": "{{colors.on_surface_variant.dark.hex}}", - "editor.active_line_number": "{{colors.primary.dark.hex}}", - "editor.invisible": "{{colors.outline_variant.dark.hex}}80", - "editor.wrap_guide": "{{colors.outline_variant.dark.hex}}40", - "editor.active_wrap_guide": "{{colors.outline.dark.hex}}80", - "editor.document_highlight.read_background": "{{colors.primary_container.dark.hex}}60", - "editor.document_highlight.write_background": "{{colors.secondary_container.dark.hex}}80", - "terminal.background": "{{colors.surface_container_low.dark.hex}}", - "terminal.foreground": "{{colors.on_surface.dark.hex}}", - "terminal.bright_foreground": "{{colors.on_surface.dark.hex}}", - "terminal.dim_foreground": "{{colors.on_surface_variant.dark.hex}}", - "terminal.ansi.black": "{{colors.surface_dim.dark.hex}}", - "terminal.ansi.bright_black": "{{colors.surface_container_high.dark.hex}}", - "terminal.ansi.dim_black": "{{colors.surface.dark.hex}}", - "terminal.ansi.red": "{{colors.error.dark.hex}}", - "terminal.ansi.bright_red": "{{colors.error.dark.hex}}", - "terminal.ansi.dim_red": "{{colors.on_error_container.dark.hex}}", - "terminal.ansi.green": "{{colors.tertiary.dark.hex}}", - "terminal.ansi.bright_green": "{{colors.tertiary.dark.hex}}", - "terminal.ansi.dim_green": "{{colors.on_tertiary_container.dark.hex}}", - "terminal.ansi.yellow": "{{colors.tertiary_fixed_dim.dark.hex}}", - "terminal.ansi.bright_yellow": "{{colors.tertiary_fixed.dark.hex}}", - "terminal.ansi.dim_yellow": "{{colors.on_tertiary_fixed.dark.hex}}", - "terminal.ansi.blue": "{{colors.primary.dark.hex}}", - "terminal.ansi.bright_blue": "{{colors.primary.dark.hex}}", - "terminal.ansi.dim_blue": "{{colors.on_primary_container.dark.hex}}", - "terminal.ansi.magenta": "{{colors.secondary.dark.hex}}", - "terminal.ansi.bright_magenta": "{{colors.secondary.dark.hex}}", - "terminal.ansi.dim_magenta": "{{colors.on_secondary_container.dark.hex}}", - "terminal.ansi.cyan": "{{colors.primary_fixed_dim.dark.hex}}", - "terminal.ansi.bright_cyan": "{{colors.primary_fixed.dark.hex}}", - "terminal.ansi.dim_cyan": "{{colors.on_primary_fixed_variant.dark.hex}}", - "terminal.ansi.white": "{{colors.on_surface.dark.hex}}", - "terminal.ansi.bright_white": "{{colors.on_surface.dark.hex}}", - "terminal.ansi.dim_white": "{{colors.on_surface_variant.dark.hex}}", - "link_text.hover": "{{colors.primary.dark.hex}}", - "conflict": "{{colors.error.dark.hex}}", - "conflict.background": "{{colors.error_container.dark.hex}}80", - "conflict.border": "{{colors.on_error_container.dark.hex}}", - "created": "{{colors.tertiary.dark.hex}}", - "created.background": "{{colors.tertiary_container.dark.hex}}80", - "created.border": "{{colors.on_tertiary_container.dark.hex}}", - "deleted": "{{colors.error.dark.hex}}", - "deleted.background": "{{colors.error_container.dark.hex}}80", - "deleted.border": "{{colors.on_error_container.dark.hex}}", - "error": "{{colors.error.dark.hex}}", - "error.background": "{{colors.error_container.dark.hex}}", - "error.border": "{{colors.on_error_container.dark.hex}}", - "hidden": "{{colors.outline_variant.dark.hex}}", - "hidden.border": "{{colors.outline_variant.dark.hex}}60", - "hint": "{{colors.primary.dark.hex}}", - "hint.background": "{{colors.primary_container.dark.hex}}80", - "hint.border": "{{colors.on_primary_container.dark.hex}}", - "ignored": "{{colors.on_surface_variant.dark.hex}}60", - "ignored.background": "{{colors.surface_variant.dark.hex}}40", - "ignored.border": "{{colors.outline_variant.dark.hex}}40", - "info": "{{colors.primary.dark.hex}}", - "info.background": "{{colors.primary_container.dark.hex}}80", - "info.border": "{{colors.on_primary_container.dark.hex}}", - "modified": "{{colors.secondary.dark.hex}}", - "modified.background": "{{colors.secondary_container.dark.hex}}80", - "modified.border": "{{colors.on_secondary_container.dark.hex}}", - "predictive": "{{colors.on_surface_variant.dark.hex}}80", - "predictive.border": "{{colors.outline.dark.hex}}", - "predictive.background": "{{colors.surface_container_highest.dark.hex}}80", - "renamed": "{{colors.secondary.dark.hex}}", - "renamed.border": "{{colors.on_secondary_container.dark.hex}}", - "renamed.background": "{{colors.secondary_container.dark.hex}}80", - "success": "{{colors.tertiary.dark.hex}}", - "success.background": "{{colors.tertiary_container.dark.hex}}80", - "success.border": "{{colors.on_tertiary_container.dark.hex}}", - "unreachable": "{{colors.on_surface_variant.dark.hex}}60", - "unreachable.background": "{{colors.surface_variant.dark.hex}}40", - "unreachable.border": "{{colors.outline_variant.dark.hex}}60", - "warning": "{{colors.tertiary_fixed_dim.dark.hex}}", - "warning.background": "{{colors.tertiary_container.dark.hex}}80", - "warning.border": "{{colors.on_tertiary_container.dark.hex}}", - "players": [ - { - "cursor": "{{colors.primary.dark.hex}}", - "background": "{{colors.primary_container.dark.hex}}80", - "selection": "{{colors.primary_container.dark.hex}}60" - }, - { - "cursor": "{{colors.secondary.dark.hex}}", - "background": "{{colors.secondary_container.dark.hex}}80", - "selection": "{{colors.secondary_container.dark.hex}}60" - } - ], - "syntax": { - "boolean": { - "color": "{{colors.tertiary.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "comment": { - "color": "{{colors.on_surface_variant.dark.hex}}", - "font_style": "italic", - "font_weight": null - }, - "comment.doc": { - "color": "{{colors.on_surface_variant.dark.hex}}", - "font_style": "italic", - "font_weight": null - }, - "constant": { - "color": "{{colors.tertiary.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "constructor": { - "color": "{{colors.secondary.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "emphasis": { - "color": "{{colors.primary.dark.hex}}", - "font_style": "italic", - "font_weight": null - }, - "emphasis.strong": { - "color": "{{colors.primary.dark.hex}}", - "font_style": null, - "font_weight": 700 - }, - "function": { - "color": "{{colors.primary.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "keyword": { - "color": "{{colors.secondary.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "number": { - "color": "{{colors.tertiary_fixed.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "operator": { - "color": "{{colors.on_surface_variant.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "property": { - "color": "{{colors.on_surface.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "punctuation": { - "color": "{{colors.on_surface_variant.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "punctuation.bracket": { - "color": "{{colors.secondary_fixed.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "punctuation.delimiter": { - "color": "{{colors.on_surface_variant.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "punctuation.list_marker": { - "color": "{{colors.on_surface_variant.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "punctuation.special": { - "color": "{{colors.secondary.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "string": { - "color": "{{colors.tertiary.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "string.escape": { - "color": "{{colors.tertiary_fixed_dim.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "string.regex": { - "color": "{{colors.tertiary_fixed.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "string.special": { - "color": "{{colors.on_tertiary_container.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "string.special.symbol": { - "color": "{{colors.tertiary.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "tag": { - "color": "{{colors.secondary.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "text.literal": { - "color": "{{colors.tertiary.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "type": { - "color": "{{colors.primary_fixed.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "variable": { - "color": "{{colors.on_surface.dark.hex}}", - "font_style": null, - "font_weight": null - }, - "variable.special": { - "color": "{{colors.primary.dark.hex}}", - "font_style": null, - "font_weight": null - } - } - } - }, - { - "name": "Matugen Light", - "appearance": "light", - "style": { - "accents": [ - "{{colors.primary.light.hex}}", - "{{colors.secondary.light.hex}}", - "{{colors.tertiary.light.hex}}" - ], - "background.appearance": "opaque", - "border": "{{colors.outline_variant.light.hex}}", - "border.variant": "{{colors.outline.light.hex}}", - "border.focused": "{{colors.primary.light.hex}}", - "border.selected": "{{colors.primary.light.hex}}", - "border.transparent": "{{colors.outline_variant.light.hex}}40", - "border.disabled": "{{colors.outline_variant.light.hex}}60", - "elevated_surface.background": "{{colors.surface_container_high.light.hex}}", - "surface.background": "{{colors.surface.light.hex}}", - "background": "{{colors.background.light.hex}}", - "element.background": "{{colors.surface_container.light.hex}}", - "element.hover": "{{colors.surface_container_high.light.hex}}", - "element.active": "{{colors.surface_container_highest.light.hex}}", - "element.selected": "{{colors.secondary_container.light.hex}}", - "element.disabled": "{{colors.surface_variant.light.hex}}", - "drop_target.background": "{{colors.primary_container.light.hex}}80", - "ghost_element.background": null, - "ghost_element.hover": "{{colors.surface_container.light.hex}}80", - "ghost_element.active": "{{colors.surface_container_high.light.hex}}", - "ghost_element.selected": "{{colors.secondary_container.light.hex}}80", - "ghost_element.disabled": "{{colors.surface_variant.light.hex}}60", - "text": "{{colors.on_surface.light.hex}}", - "text.muted": "{{colors.on_surface_variant.light.hex}}", - "text.placeholder": "{{colors.on_surface_variant.light.hex}}99", - "text.disabled": "{{colors.on_surface.light.hex}}60", - "text.accent": "{{colors.primary.light.hex}}", - "icon": "{{colors.on_surface.light.hex}}", - "icon.muted": "{{colors.on_surface_variant.light.hex}}", - "icon.disabled": "{{colors.on_surface.light.hex}}60", - "icon.placeholder": "{{colors.on_surface_variant.light.hex}}80", - "icon.accent": "{{colors.primary.light.hex}}", - "status_bar.background": "{{colors.surface.light.hex}}", - "title_bar.background": "{{colors.surface.light.hex}}", - "title_bar.inactive_background": "{{colors.surface_dim.light.hex}}", - "toolbar.background": "{{colors.surface_container_low.light.hex}}", - "tab_bar.background": "{{colors.surface_container.light.hex}}", - "tab.inactive_backgorround": "{{colors.surface_container_low.light.hex}}", - "tab.active_background": "{{colors.surface_container_high.light.hex}}", - "search.match_background": "{{colors.tertiary_container.light.hex}}80", - "panel.background": "{{colors.surface_container_low.light.hex}}", - "panel.focused_border": "{{colors.primary.light.hex}}", - "pane.focused_border": "{{colors.primary.light.hex}}", - "scrollbar.thumb.background": "{{colors.on_surface_variant.light.hex}}80", - "scrollbar.thumb.hover_background": "{{colors.on_surface_variant.light.hex}}c0", - "scrollbar.thumb.border": "{{colors.outline_variant.light.hex}}40", - "scrollbar.track.background": "{{colors.surface_container.light.hex}}", - "scrollbar.track.border": "{{colors.outline_variant.light.hex}}20", - "editor.foreground": "{{colors.on_surface.light.hex}}", - "editor.background": "{{colors.surface_container_low.light.hex}}", - "editor.gutter.background": "{{colors.surface_container_low.light.hex}}", - "editor.subheader.background": "{{colors.surface_container.light.hex}}", - "editor.indent_guide": "{{colors.outline_variant.light.hex}}60", - "editor.indent_guide_active": "{{colors.outline.light.hex}}", - "editor.active_line.background": "{{colors.surface_container_high.light.hex}}80", - "editor.highlighted_line.background": "{{colors.surface_container_high.light.hex}}60", - "editor.line_number": "{{colors.on_surface_variant.light.hex}}", - "editor.active_line_number": "{{colors.primary.light.hex}}", - "editor.invisible": "{{colors.outline_variant.light.hex}}80", - "editor.wrap_guide": "{{colors.outline_variant.light.hex}}40", - "editor.active_wrap_guide": "{{colors.outline.light.hex}}80", - "editor.document_highlight.read_background": "{{colors.primary_container.light.hex}}60", - "editor.document_highlight.write_background": "{{colors.secondary_container.light.hex}}80", - "terminal.background": "{{colors.surface_container_low.light.hex}}", - "terminal.foreground": "{{colors.on_surface.light.hex}}", - "terminal.bright_foreground": "{{colors.on_surface.light.hex}}", - "terminal.dim_foreground": "{{colors.on_surface_variant.light.hex}}", - "terminal.ansi.black": "{{colors.surface_dim.light.hex}}", - "terminal.ansi.bright_black": "{{colors.surface_container_high.light.hex}}", - "terminal.ansi.dim_black": "{{colors.surface.light.hex}}", - "terminal.ansi.red": "{{colors.error.light.hex}}", - "terminal.ansi.bright_red": "{{colors.error.light.hex}}", - "terminal.ansi.dim_red": "{{colors.on_error_container.light.hex}}", - "terminal.ansi.green": "{{colors.tertiary.light.hex}}", - "terminal.ansi.bright_green": "{{colors.tertiary.light.hex}}", - "terminal.ansi.dim_green": "{{colors.on_tertiary_container.light.hex}}", - "terminal.ansi.yellow": "{{colors.tertiary_fixed_dim.light.hex}}", - "terminal.ansi.bright_yellow": "{{colors.tertiary_fixed.light.hex}}", - "terminal.ansi.dim_yellow": "{{colors.on_tertiary_fixed.light.hex}}", - "terminal.ansi.blue": "{{colors.primary.light.hex}}", - "terminal.ansi.bright_blue": "{{colors.primary.light.hex}}", - "terminal.ansi.dim_blue": "{{colors.on_primary_container.light.hex}}", - "terminal.ansi.magenta": "{{colors.secondary.light.hex}}", - "terminal.ansi.bright_magenta": "{{colors.secondary.light.hex}}", - "terminal.ansi.dim_magenta": "{{colors.on_secondary_container.light.hex}}", - "terminal.ansi.cyan": "{{colors.primary_fixed_dim.light.hex}}", - "terminal.ansi.bright_cyan": "{{colors.primary_fixed.light.hex}}", - "terminal.ansi.dim_cyan": "{{colors.on_primary_fixed_variant.light.hex}}", - "terminal.ansi.white": "{{colors.on_surface.light.hex}}", - "terminal.ansi.bright_white": "{{colors.on_surface.light.hex}}", - "terminal.ansi.dim_white": "{{colors.on_surface_variant.light.hex}}", - "link_text.hover": "{{colors.primary.light.hex}}", - "conflict": "{{colors.error.light.hex}}", - "conflict.background": "{{colors.error_container.light.hex}}80", - "conflict.border": "{{colors.on_error_container.light.hex}}", - "created": "{{colors.tertiary.light.hex}}", - "created.background": "{{colors.tertiary_container.light.hex}}80", - "created.border": "{{colors.on_tertiary_container.light.hex}}", - "deleted": "{{colors.error.light.hex}}", - "deleted.background": "{{colors.error_container.light.hex}}80", - "deleted.border": "{{colors.on_error_container.light.hex}}", - "error": "{{colors.error.light.hex}}", - "error.background": "{{colors.error_container.light.hex}}", - "error.border": "{{colors.on_error_container.light.hex}}", - "hidden": "{{colors.outline_variant.light.hex}}", - "hidden.border": "{{colors.outline_variant.light.hex}}60", - "hint": "{{colors.primary.light.hex}}", - "hint.background": "{{colors.primary_container.light.hex}}80", - "hint.border": "{{colors.on_primary_container.light.hex}}", - "ignored": "{{colors.on_surface_variant.light.hex}}60", - "ignored.background": "{{colors.surface_variant.light.hex}}40", - "ignored.border": "{{colors.outline_variant.light.hex}}40", - "info": "{{colors.primary.light.hex}}", - "info.background": "{{colors.primary_container.light.hex}}80", - "info.border": "{{colors.on_primary_container.light.hex}}", - "modified": "{{colors.secondary.light.hex}}", - "modified.background": "{{colors.secondary_container.light.hex}}80", - "modified.border": "{{colors.on_secondary_container.light.hex}}", - "predictive": "{{colors.on_surface_variant.light.hex}}80", - "predictive.border": "{{colors.outline.light.hex}}", - "predictive.background": "{{colors.surface_container_highest.light.hex}}80", - "renamed": "{{colors.secondary.light.hex}}", - "renamed.border": "{{colors.on_secondary_container.light.hex}}", - "renamed.background": "{{colors.secondary_container.light.hex}}80", - "success": "{{colors.tertiary.light.hex}}", - "success.background": "{{colors.tertiary_container.light.hex}}80", - "success.border": "{{colors.on_tertiary_container.light.hex}}", - "unreachable": "{{colors.on_surface_variant.light.hex}}60", - "unreachable.background": "{{colors.surface_variant.light.hex}}40", - "unreachable.border": "{{colors.outline_variant.light.hex}}60", - "warning": "{{colors.tertiary_fixed_dim.light.hex}}", - "warning.background": "{{colors.tertiary_container.light.hex}}80", - "warning.border": "{{colors.on_tertiary_container.light.hex}}", - "players": [ - { - "cursor": "{{colors.primary.light.hex}}", - "background": "{{colors.primary_container.light.hex}}80", - "selection": "{{colors.primary_container.light.hex}}60" - }, - { - "cursor": "{{colors.secondary.light.hex}}", - "background": "{{colors.secondary_container.light.hex}}80", - "selection": "{{colors.secondary_container.light.hex}}60" - } - ], - "syntax": { - "boolean": { - "color": "{{colors.tertiary.light.hex}}", - "font_style": null, - "font_weight": null - }, - "comment": { - "color": "{{colors.on_surface_variant.light.hex}}", - "font_style": "italic", - "font_weight": null - }, - "comment.doc": { - "color": "{{colors.on_surface_variant.light.hex}}", - "font_style": "italic", - "font_weight": null - }, - "constant": { - "color": "{{colors.tertiary.light.hex}}", - "font_style": null, - "font_weight": null - }, - "constructor": { - "color": "{{colors.secondary.light.hex}}", - "font_style": null, - "font_weight": null - }, - "emphasis": { - "color": "{{colors.primary.light.hex}}", - "font_style": "italic", - "font_weight": null - }, - "emphasis.strong": { - "color": "{{colors.primary.light.hex}}", - "font_style": null, - "font_weight": 700 - }, - "function": { - "color": "{{colors.primary.light.hex}}", - "font_style": null, - "font_weight": null - }, - "keyword": { - "color": "{{colors.secondary.light.hex}}", - "font_style": null, - "font_weight": null - }, - "number": { - "color": "{{colors.tertiary_fixed.light.hex}}", - "font_style": null, - "font_weight": null - }, - "operator": { - "color": "{{colors.on_surface_variant.light.hex}}", - "font_style": null, - "font_weight": null - }, - "property": { - "color": "{{colors.on_surface.light.hex}}", - "font_style": null, - "font_weight": null - }, - "punctuation": { - "color": "{{colors.on_surface_variant.light.hex}}", - "font_style": null, - "font_weight": null - }, - "punctuation.bracket": { - "color": "{{colors.secondary_fixed.light.hex}}", - "font_style": null, - "font_weight": null - }, - "punctuation.delimiter": { - "color": "{{colors.on_surface_variant.light.hex}}", - "font_style": null, - "font_weight": null - }, - "punctuation.list_marker": { - "color": "{{colors.on_surface_variant.light.hex}}", - "font_style": null, - "font_weight": null - }, - "punctuation.special": { - "color": "{{colors.secondary.light.hex}}", - "font_style": null, - "font_weight": null - }, - "string": { - "color": "{{colors.tertiary.light.hex}}", - "font_style": null, - "font_weight": null - }, - "string.escape": { - "color": "{{colors.tertiary_fixed_dim.light.hex}}", - "font_style": null, - "font_weight": null - }, - "string.regex": { - "color": "{{colors.tertiary_fixed.light.hex}}", - "font_style": null, - "font_weight": null - }, - "string.special": { - "color": "{{colors.on_tertiary_container.light.hex}}", - "font_style": null, - "font_weight": null - }, - "string.special.symbol": { - "color": "{{colors.tertiary.light.hex}}", - "font_style": null, - "font_weight": null - }, - "tag": { - "color": "{{colors.secondary.light.hex}}", - "font_style": null, - "font_weight": null - }, - "text.literal": { - "color": "{{colors.tertiary.light.hex}}", - "font_style": null, - "font_weight": null - }, - "type": { - "color": "{{colors.primary_fixed.light.hex}}", - "font_style": null, - "font_weight": null - }, - "variable": { - "color": "{{colors.on_surface.light.hex}}", - "font_style": null, - "font_weight": null - }, - "variable.special": { - "color": "{{colors.primary.light.hex}}", - "font_style": null, - "font_weight": null - } - } - } - } - ] - } - ''; - }; - }; -} diff --git a/common/modules/matugen/templates/matugen-zen.nix b/common/modules/matugen/templates/matugen-zen.nix deleted file mode 100644 index 313b754..0000000 --- a/common/modules/matugen/templates/matugen-zen.nix +++ /dev/null @@ -1,242 +0,0 @@ -{ - xdg.configFile = { - "matugen/templates/zen-usercontent.css" = { - enable = true; - text = - # css - '' - /* Common variables affecting all pages */ - @-moz-document url-prefix("about:") { - :root { - --in-content-page-color: {{colors.secondary.default.hex}} !important; - --color-accent-primary: {{colors.primary.default.hex}} !important; - /* --color-accent-primary-hover: rgb(249, 217, 240) !important; - --color-accent-primary-active: rgb(245, 195, 219) !important; */ - background-color: {{colors.surface_container.default.hex}} !important; - --in-content-page-background: {{colors.surface_container.default.hex}} !important; - } - - } - - /* Variables and styles specific to about:newtab and about:home */ - @-moz-document url("about:newtab"), url("about:home") { - - :root { - --newtab-background-color: {{colors.surface_container.default.hex}} !important; - --newtab-background-color-secondary: {{colors.surface_container_high.default.hex}} !important; - --newtab-element-hover-color: {{colors.surface_container_high.default.hex}} !important; - --newtab-text-primary-color: {{colors.secondary.default.hex}} !important; - --newtab-wordmark-color: {{colors.secondary.default.hex}} !important; - --newtab-primary-action-background: {{colors.primary.default.hex}} !important; - } - - .icon { - color: {{colors.primary.default.hex}} !important; - } - - .card-outer:is(:hover, :focus, .active):not(.placeholder) .card-title { - color: {{colors.primary.default.hex}} !important; - } - } - - /* Variables and styles specific to about:preferences */ - @-moz-document url-prefix("about:preferences") { - :root { - --zen-colors-tertiary: {{colors.surface_container_low.default.hex}} !important; - --in-content-text-color: {{colors.secondary.default.hex}} !important; - --link-color: {{colors.primary.default.hex}} !important; - /* --link-color-hover: rgb(249, 217, 240) !important; */ - --zen-colors-primary: {{colors.surface_container_high.default.hex}} !important; - --in-content-box-background: {{colors.surface_container_high.default.hex}} !important; - --zen-primary-color: {{colors.primary.default.hex}} !important; - } - - button, - groupbox menulist { - background: {{colors.surface_container_high.default.hex}} !important; - color: {{colors.secondary.default.hex}} !important; - } - - .main-content { - background-color: {{colors.surface_container_lowest.default.hex}} !important; - } - } - - /* Variables and styles specific to about:addons */ - @-moz-document url-prefix("about:addons") { - :root { - --zen-dark-color-mix-base: {{colors.surface_container_low.default.hex}} !important; - --background-color-box: {{colors.surface_container.default.hex}} !important; - } - } - - /* Variables and styles specific to about:protections */ - @-moz-document url-prefix("about:protections") { - :root { - --zen-primary-color: {{colors.surface_container.default.hex}} !important; - --in-content-primary-button-text-color-hover: {{colors.secondary.default.hex}} !important; - --in-content-primary-button-background: {{colors.surface_container.default.hex}} !important; - --in-content-primary-button-text-color: {{colors.secondary.default.hex}} !important; - } - - .card { - background-color: {{colors.surface_container_high.default.hex}} !important; - } - } - /* Pane UI button visibility issue fix */ - #PanelUI-menu-button[open] .toolbarbutton-icon { - fill: {{colors.primary.default.hex}} !important; - } - } - - - img, canvas, video, .avatar, - [class*="avatar"], - [class*="ProfileAvatar"], - [style*="border-radius"] { - border-radius: 0 !important; - clip-path: none !important; - mask-image: none !important; - -webkit-mask-image: none !important; - } - - :not(svg):not(circle):not(ellipse):not(path) { - border-radius: 0 !important; - } - - :root { - --border-radius: 0px !important; - --radius: 0px !important; - --rounded-corner: 0px !important; - --avatar-radius: 0px !important; - --pfp-radius: 0px !important; - } - ''; - }; - }; - xdg.configFile = { - "matugen/templates/zen.css" = { - enable = true; - text = - # css - '' - :root { - --zen-primary-color: {{colors.primary_container.default.hex}} !important; - --toolbarbutton-icon-fill: {{colors.primary.default.hex}} !important; - --toolbar-field-color: {{colors.on_background.default.hex}} !important; - --tab-selected-textcolor: {{colors.primary.default.hex}} !important; - --toolbar-color: {{colors.on_background.default.hex}} !important; - --arrowpanel-color: {{colors.on_surface.default.hex}} !important; - --arrowpanel-background: {{colors.surface_container.default.hex}} !important; - --sidebar-text-color: {{colors.on_background.default.hex}} !important; - --zen-main-browser-background: {{colors.background.default.hex}} !important; - } - - * { - font-family: "IosevkaInput", monospace !important; - border-radius: 0 !important; - } - - .sidebar-placesTree { - background-color: {{colors.surface_container.default.hex}} !important; - } - - #zen-workspaces-button { - background-color: {{colors.surface_container.default.hex}} !important; - } - - #TabsToolbar { - background-color: {{colors.background.default.hex}} !important; - } - - .urlbar-background { - background-color: {{colors.surface_container.default.hex}} !important; - } - - .urlbar-input::selection { - color: {{colors.on_primary.default.hex}} !important; - background-color: {{colors.primary.default.hex}} !important; - } - - .urlbarView-url { - color: {{colors.on_surface_variant.default.hex}} !important; - } - - toolbar .toolbarbutton-1 { - &:not([disabled]) { - &:is([open], [checked]) - > :is( - .toolbarbutton-icon, - .toolbarbutton-text, - .toolbarbutton-badge-stack - ) { - fill: {{colors.primary.default.hex}} - } - } - } - - .identity-color-blue { - --identity-tab-color: \{{color12}} !important; - --identity-icon-color: \{{color12}} !important; - } - - .identity-color-turquoise { - --identity-tab-color: \{{color6}} !important; - --identity-icon-color: \{{color6}} !important; - } - - .identity-color-green { - --identity-tab-color: \{{color10}} !important; - --identity-icon-color: \{{color10}} !important; - } - - .identity-color-yellow { - --identity-tab-color: \{{color11}} !important; - --identity-icon-color: \{{color11}} !important; - } - - .identity-color-orange { - --identity-tab-color: \{{color3}} !important; - --identity-icon-color: \{{color3}} !important; - } - - .identity-color-red { - --identity-tab-color: \{{color9}} !important; - --identity-icon-color: \{{color9}} !important; - } - - .identity-color-pink { - --identity-tab-color: \{{color13}} !important; - --identity-icon-color: \{{color13}} !important; - } - - .identity-color-purple { - --identity-tab-color: \{{color5}} !important; - --identity-icon-color: \{{color5}} !important; - } - - #zen-appcontent-navbar-container { - background-color: {{colors.background.default.hex}} !important; - } - - #PanelUI-menu-button .toolbarbutton-icon, - #downloads-button .toolbarbutton-icon, - #unified-extensions-button .toolbarbutton-icon { - fill: {{colors.primary.default.hex}} !important; - color: {{colors.primary.default.hex}} !important; - } - - #PanelUI-menu-button .toolbarbutton-badge-stack, - #downloads-button .toolbarbutton-badge-stack, - #unified-extensions-button .toolbarbutton-badge-stack { - fill: {{colors.primary.default.hex}} !important; - color: {{colors.primary.default.hex}} !important; - } - - toolbar .toolbarbutton-1 > .toolbarbutton-icon { - fill: {{colors.primary.default.hex}} !important; - } - ''; - }; - }; -} diff --git a/common/modules/terminal/foot.nix b/common/modules/terminal/foot.nix index 4ad4c37..ff020c6 100644 --- a/common/modules/terminal/foot.nix +++ b/common/modules/terminal/foot.nix @@ -11,7 +11,7 @@ in enable = true; settings = { main = { - include = lib.optionals config.beeMods.matugen.enable [ "~/.config/foot/colors.ini" ]; + include = lib.optionals config.beeMods.matugen.enable [ "~/.config/foot/dank-colors.ini" ]; pad = "${toString cfg.window.padding-x}x${toString cfg.window.padding-y} center"; font = "${cfg.font.family}:size=${toString cfg.font.size}"; diff --git a/common/modules/x11/bspwm/default.nix b/common/modules/x11/bspwm/default.nix deleted file mode 100644 index 62e7e63..0000000 --- a/common/modules/x11/bspwm/default.nix +++ /dev/null @@ -1,185 +0,0 @@ -{ - homeManager, - inputs, - moduleNameSpace, - settings-persist, - ... -}: -{ - config, - lib, - pkgs, - ... -}: -let - cfg = config.${moduleNameSpace}.x11.bspwm; - snip = pkgs.writeShellScript "snip" '' - case $1 in - full) - ${pkgs.maim}/bin/maim | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png - ;; - selection) - ${pkgs.maim}/bin/maim -s | ${pkgs.xclip}/bin/xclip -selection clipboard -t image/png - ;; - window) - ${pkgs.maim}/bin/maim -i $(xdotool getactivewindow) | xclip -selection clipboard -t image/png - ;; - esac - ''; - - smart-alacritty = pkgs.writeShellScript "smart-alacritty" '' - alacritty msg create-window || exec alacritty - ''; - - smart-ghostty = pkgs.writeShellScript "smart-ghostty" '' - ghostty +new-window || exec ghostty - ''; - - terminal = - if config.beeMods.terminal.default == "alacritty" then - "${smart-alacritty}" - else if config.beeMods.terminal.default == "ghostty" then - "${smart-ghostty}" - else - "st"; -in -{ - options.${moduleNameSpace}.x11.bspwm = { - enable = lib.mkEnableOption "bspwm setup"; - }; - - config = lib.mkIf cfg.enable ( - if homeManager then - { - xsession.windowManager.bspwm = { - enable = true; - monitors = { - "eDP" = [ - "1" - "2" - "3" - "4" - "5" - "6" - "7" - "8" - "9" - ]; - }; - - rules = { - "Alacritty" = { - desktop = "^1"; - follow = true; - }; - "ghostty" = { - desktop = "^1"; - follow = true; - }; - "zen" = { - desktop = "^2"; - follow = true; - }; - "firefox" = { - desktop = "^2"; - follow = true; - }; - "vesktop" = { - desktop = "^3"; - follow = true; - }; - "discord" = { - desktop = "^3"; - follow = true; - }; - "steam" = { - desktop = "^4"; - follow = true; - }; - }; - - settings = { - border_width = 2; - window_gap = 5; - split_ratio = 0.55; - click_to_focus = "any"; - pointer_modifier = "mod4"; - pointer_action1 = "move"; - pointer_action2 = "resize_side"; - pointer_action3 = "resize_corner"; - focus_follows_pointer = true; - }; - - extraConfig = lib.optionalString config.beeMods.matugen.enable '' - [ -f ~/.config/bspwm/colors ] && . ~/.config/bspwm/colors - ''; - - startupPrograms = [ - "feh --no-fehbg --bg-fill $(rg wallpaper ~/.config/beeSettings | cut -d'=' -f2)" - "xsetroot -cursor_name left_ptr" - "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1" - "gnome-keyring-daemon --start --components=secrets,ssh,pkcs11" - "xrandr --output eDP --set TearFree on" - "${settings-persist}" - ]; - }; - - services.sxhkd = { - enable = true; - keybindings = { - "super + Return" = terminal; - "super + r" = "pkill -USR1 -x sxhkd; bspc wm -r"; - "super + q" = "bspc node -c"; - "super + m" = "bspc quit"; - - "super + a" = "rofi -show drun"; - "super + period" = "rofi -show emoji -modi emoji"; - "alt + F4" = "rofi -show power-menu -modi power-menu:rofi-power-menu"; - "super + y" = "beesettings wall"; - "super + comma" = "beesettings settings"; - "super + b" = "zen"; - "super + e" = "nautilus"; - "super + F12" = "gnome-calculator"; - - "Print" = "${snip} full"; - "super + Print" = "${snip} selection"; - "super + shift + Print" = "${snip} window"; - - "super + {h,j,k,l}" = "bspc node -f {west,south,north,east}"; - "super + shift + {h,j,k,l}" = "bspc node -s {west,south,north,east}"; - "super + {Left,Down,Up,Right}" = "bspc node -v {-50 0,0 50,0 -50,50 0}"; - - "super + space" = "bspc node -t ~floating"; - "alt + f" = "bspc node -t ~fullscreen"; - "super + i" = "bspc node -g hidden=on"; - - "super + shift + i" = "bspc node any.hidden.local -g hidden=off"; - - "super + {1-9}" = "bspc desktop -f '^{1-9}'"; - "super + shift + {1-9}" = "bspc node -d '^{1-9}'"; - - "XF86AudioRaiseVolume" = "volume-control up"; - "XF86AudioLowerVolume" = "volume-control down"; - "XF86AudioMute" = "volume-control mute"; - "XF86AudioMicMute" = "mic-control toggle"; - "XF86MonBrightnessUp" = "brightness-control up"; - "XF86MonBrightnessDown" = "brightness-control down"; - - "XF86Audio{Play,Next,Prev,Stop}" = "playerctl {play-pause,next,previous,stop}"; - - "alt + h" = "bspc node -z left -50 0 || bspc node -z right -50 0"; - "alt + j" = "bspc node -z bottom 0 50 || bspc node -z top 0 50"; - "alt + k" = "bspc node -z top 0 -50 || bspc node -z bottom 0 -50"; - "alt + l" = "bspc node -z right 50 0 || bspc node -z left 50 0"; - "alt + a" = "bspc desktop -l next"; - }; - }; - } - else - { - services.xserver = { - windowManager.bspwm.enable = true; - }; - } - ); -} diff --git a/common/modules/x11/dwm/default.nix b/common/modules/x11/dwm/default.nix deleted file mode 100644 index fc943ef..0000000 --- a/common/modules/x11/dwm/default.nix +++ /dev/null @@ -1,68 +0,0 @@ -{ - homeManager, - inputs, - moduleNameSpace, - settings-persist, - ... -}: -{ - config, - lib, - pkgs, - ... -}: -let - cfg = config.${moduleNameSpace}.x11.dwm; -in -{ - options.${moduleNameSpace}.x11.dwm = { - enable = lib.mkEnableOption "dwm setup"; - }; - - config = lib.mkIf cfg.enable ( - if !homeManager then - { - services.xserver = { - windowManager.dwm = { - enable = true; - package = inputs.mydwm.packages.${pkgs.stdenv.hostPlatform.system}.default; - }; - }; - } - else - { - xdg.dataFile."dwm/autostart.sh" = { - executable = true; - text = '' - #!${pkgs.bash}/bin/bash - - gnome-keyring-daemon --start --components=secrets,ssh,pkcs11 & - ${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1 & - - feh --no-fehbg --bg-fill "$(rg wallpaper ~/.config/beeSettings | cut -d"=" -f2)" - [ -f ~/.Xresources ] && xrdb -merge ~/.Xresources - - dunst & - clipcatd & - slstatus & - ${lib.optionalString (!config.beeMods.x11.picom.enable) '' - xrandr --output eDP --set TearFree on - ''} - ${lib.optionalString (config.beeMods.x11.picom.enable) '' - systemctl --user restart picom.service - ''} - - systemctl --user restart xidlehook.service xautolock-session.service xss-lock.service clipcat.service - ${lib.optionalString (config.beeMods.mango.waybar) '' - systemctl --user stop waybar.service - ''} - ${lib.optionalString (config.beeMods.mango.enable) '' - systemctl --user stop swayidle.service - ''} - - ${settings-persist} - ''; - }; - } - ); -} diff --git a/common/overlays/default.nix b/common/overlays/default.nix index 0dfe0f7..9897e21 100644 --- a/common/overlays/default.nix +++ b/common/overlays/default.nix @@ -3,5 +3,6 @@ flake.overlays = { ioskeleyMono = import ./ioskeleyMono.nix; iosevkaInput = import ./ioskeleyInput.nix; + qt6ct = import ./qt6ct.nix; }; } diff --git a/common/overlays/qt6ct.nix b/common/overlays/qt6ct.nix new file mode 100644 index 0000000..06bdcbf --- /dev/null +++ b/common/overlays/qt6ct.nix @@ -0,0 +1,32 @@ +final: prev: +let + patchQtct = + pkg: + pkg.overrideAttrs (old: { + patches = (old.patches or [ ]) ++ [ + (final.fetchpatch { + url = "https://www.opencode.net/trialuser/qt6ct/-/merge_requests/9.patch"; + hash = "sha256-dc6ocbBGSKZV+Tr++ep/oaIdtd27gWxt5+feHO1PUaM="; + }) + ]; + + buildInputs = (old.buildInputs or [ ]) ++ [ + final.kdePackages.kconfig + final.kdePackages.kcolorscheme + final.kdePackages.kiconthemes + final.kdePackages.qtdeclarative + ]; + }); + +in +{ + kdePackages = prev.kdePackages.overrideScope ( + kfinal: kprev: { + qt6ct = patchQtct kprev.qt6ct; + } + ); + + qt6Packages = prev.qt6Packages // { + qt6ct = patchQtct prev.qt6Packages.qt6ct; + }; +} diff --git a/common/programs/dunst.nix b/common/programs/dunst.nix index f6d4cbd..e24bedc 100644 --- a/common/programs/dunst.nix +++ b/common/programs/dunst.nix @@ -11,7 +11,7 @@ let in { services.dunst = { - enable = true; + enable = false; settings = { global = { font = "monospace 11"; diff --git a/common/programs/rofi.nix b/common/programs/rofi.nix deleted file mode 100644 index 518bd77..0000000 --- a/common/programs/rofi.nix +++ /dev/null @@ -1,145 +0,0 @@ -{ - config, - pkgs, - lib, - ... -}: -{ - programs.rofi = { - enable = true; - font = "JetBrainsMono Nerd Font"; - plugins = with pkgs; [ rofi-emoji ]; - theme = "~/.config/rofi/themes/config.rasi"; - extraConfig = { - show-icons = true; - icon-theme = "Papirus"; - drun-display-format = "{name}"; - }; - }; - - home.packages = [ - pkgs.rofi-power-menu - ]; - - xdg.configFile = { - "rofi/shared/colors.rasi" = { - enable = !config.beeMods.matugen.enable; - text = - # rasi - '' - * { - bg: #212121; - bg-alt: #2d2d2d; - fg: #ffffffdd; - fg-dim: #616161; - accent: #80cbc4; - selected-bg: #424242; - selected-fg: #80cbc4; - urgent: #ef9a9a; - outline: #424242; - } - ''; - }; - - "rofi/themes/config.rasi" = { - enable = true; - text = - # rasi - '' - @import "shared/colors.rasi" - * { - background-color: transparent; - text-color: @fg; - border: 0px; - margin: 0px; - padding: 0px; - spacing: 0px; - } - - window { - background-color: @bg; - border-radius: 0px; - border: 2px; - border-color: @outline; - width: 680px; - padding: 10px; - } - - mainbox { - background-color: transparent; - spacing: 8px; - } - - inputbar { - background-color: @bg-alt; - border-radius: 0px; - padding: 10px 12px; - spacing: 8px; - children: [entry]; - } - - entry { - background-color: transparent; - text-color: @fg; - placeholder-color: @fg-dim; - placeholder: "Search..."; - cursor: text; - font: "JetBrainsMono Nerd Font Bold 13"; - } - - listview { - background-color: transparent; - columns: 1; - lines: 5; - spacing: 2px; - scrollbar: false; - } - - element { - background-color: transparent; - border-radius: 0px; - padding: 8px 12px; - spacing: 12px; - children: [element-icon, element-text]; - } - - element normal normal { - background-color: transparent; - text-color: @fg; - } - - element alternate normal { - background-color: transparent; - text-color: @fg; - } - - element selected normal { - background-color: @selected-bg; - text-color: @selected-fg; - } - - element normal urgent { - text-color: @urgent; - } - - element selected urgent { - background-color: @selected-bg; - text-color: @urgent; - } - - element-icon { - background-color: transparent; - size: 22px; - } - - element-text { - background-color: transparent; - text-color: inherit; - vertical-align: 0.5; - font: "JetBrainsMono Nerd Font Bold 13"; - } - ''; - }; - - }; -} diff --git a/common/programs/zenBrowser.nix b/common/programs/zenBrowser.nix index bee6d86..3c24a0d 100644 --- a/common/programs/zenBrowser.nix +++ b/common/programs/zenBrowser.nix @@ -75,20 +75,20 @@ in ExtensionSettings = builtins.listToAttrs extensions; SearchEngines = { - # Default = "DuckDuckGo"; - Default = "Omnisearch"; + Default = "DuckDuckGo"; + # Default = "Omnisearch"; PreventInstalls = true; Remove = [ "Google" "Bing" ]; Add = [ - { - Name = "Omnisearch"; - URLTemplate = "http://localhost:8087/search?q={searchTerms}"; - IconURL = "http://localhost:8087/static/favicon.ico"; - Alias = ":o"; - } + # { + # Name = "Omnisearch"; + # URLTemplate = "http://localhost:8087/search?q={searchTerms}"; + # IconURL = "http://localhost:8087/static/favicon.ico"; + # Alias = ":o"; + # } { Name = "nixpkgs packages"; URLTemplate = "https://search.nixos.org/packages?query={searchTerms}"; |
