From 1bb49481dbec223e68df4f60fa1d425525e16cff Mon Sep 17 00:00:00 2001 From: brustybee Date: Mon, 13 Apr 2026 03:04:59 +0530 Subject: This is like that one dream you don't know how to describe --- common/default.nix | 2 + common/modules/beevim/default.nix | 6 +- common/modules/default.nix | 3 +- common/modules/dwm/default.nix | 245 +++++++++ common/modules/dwm/picom.nix | 63 +++ common/modules/dwm/scripts.nix | 78 +++ common/modules/hyprland/default.nix | 380 +++++++++++++ common/modules/mango/default.nix | 84 +-- common/modules/mango/scripts.nix | 261 --------- common/modules/mango/swayidleNdLock.nix | 53 -- common/modules/mango/waybar.nix | 528 ------------------ common/modules/matugen/default.nix | 129 +---- common/modules/matugen/templates/matugen-bspwm.nix | 16 - common/modules/matugen/templates/matugen-gtk.nix | 58 -- common/modules/matugen/templates/matugen-rofi.nix | 31 -- .../matugen/templates/matugen-sequences.nix | 41 +- .../modules/matugen/templates/matugen-swaylock.nix | 54 -- .../modules/matugen/templates/matugen-waybar.nix | 35 -- .../matugen/templates/matugen-xresources.nix | 37 +- common/modules/matugen/templates/matugen-zed.nix | 602 --------------------- common/modules/matugen/templates/matugen-zen.nix | 242 --------- common/modules/terminal/foot.nix | 2 +- common/modules/x11/bspwm/default.nix | 185 ------- common/modules/x11/default.nix | 268 --------- common/modules/x11/dwm/default.nix | 68 --- common/modules/x11/picom.nix | 63 --- common/overlays/default.nix | 1 + common/overlays/qt6ct.nix | 32 ++ common/programs/dunst.nix | 2 +- common/programs/rofi.nix | 145 ----- common/programs/zenBrowser.nix | 16 +- flake.lock | 227 ++++---- flake.nix | 17 +- hosts/nixios/default.nix | 24 +- users/bee/default.nix | 34 +- users/common.nix | 11 +- 36 files changed, 1062 insertions(+), 2981 deletions(-) create mode 100644 common/modules/dwm/default.nix create mode 100644 common/modules/dwm/picom.nix create mode 100644 common/modules/dwm/scripts.nix create mode 100644 common/modules/hyprland/default.nix delete mode 100644 common/modules/mango/scripts.nix delete mode 100644 common/modules/mango/swayidleNdLock.nix delete mode 100644 common/modules/mango/waybar.nix delete mode 100644 common/modules/matugen/templates/matugen-bspwm.nix delete mode 100644 common/modules/matugen/templates/matugen-gtk.nix delete mode 100644 common/modules/matugen/templates/matugen-rofi.nix delete mode 100644 common/modules/matugen/templates/matugen-swaylock.nix delete mode 100644 common/modules/matugen/templates/matugen-waybar.nix delete mode 100644 common/modules/matugen/templates/matugen-zed.nix delete mode 100644 common/modules/matugen/templates/matugen-zen.nix delete mode 100644 common/modules/x11/bspwm/default.nix delete mode 100644 common/modules/x11/default.nix delete mode 100644 common/modules/x11/dwm/default.nix delete mode 100644 common/modules/x11/picom.nix create mode 100644 common/overlays/qt6ct.nix delete mode 100644 common/programs/rofi.nix 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/dwm/default.nix b/common/modules/dwm/default.nix new file mode 100644 index 0000000..07ddef6 --- /dev/null +++ b/common/modules/dwm/default.nix @@ -0,0 +1,245 @@ +{ + homeManager, + inputs, + moduleNameSpace, + ... +}: +{ + config, + lib, + pkgs, + ... +}: +let + 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 { + extraLibs = [ pkgs.libXcursor ]; + }).overrideAttrs + (oldAttrs: rec { + patches = map pkgs.fetchpatch [ + { + url = "https://st.suckless.org/patches/scrollback/st-scrollback-0.9.2.diff"; + sha256 = "sha256-ZypvRONAHS//wnZjivmqpWIqZlKTqAQ0Q8DhQpZVaqU="; + } + { + url = "https://st.suckless.org/patches/scrollback/st-scrollback-mouse-0.9.2.diff"; + sha256 = "sha256-CuNJ5FdKmAtEjwbgKeBKPJTdEfJvIdmeSAphbz0u3Uk="; + } + { + url = "https://st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20220127-2c5edf2.diff"; + sha256 = "sha256-8oVLgbsYCfMhNEOGadb5DFajdDKPxwgf3P/4vOXfUFo="; + } + { + url = "https://st.suckless.org/patches/xresources/st-xresources-20230320-45a15676.diff"; + sha256 = "sha256-WcL9IeyanXFiOFDGGRU0QNT8DU7wSo2o+3n+TaqASUY="; + } + { + url = "https://st.suckless.org/patches/vertcenter/st-vertcenter-20231003-eb3b894.diff"; + sha256 = "sha256-RbFNdGNi5HLAp1s8QOX3qsfxpkLcp1p/vksyZORN/uc="; + } + { + url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; + hash = "sha256-yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; + } + { + url = "https://st.suckless.org/patches/csi_22_23/st-csi_22_23-0.8.5.diff"; + hash = "sha256-+izEkGVkLCbhZNBD2WN4uX5j+YMmou7JaMVmPG0mrYk="; + } + { + url = "https://st.suckless.org/patches/sync/st-appsync-20200618-b27a383.diff"; + sha256 = "sha256-lys7/nup7a+GcmW+CutX0kjmbbOis2stkuhw02beuPs="; + } + { + url = "https://st.suckless.org/patches/fix_keyboard_input/st-fix-keyboard-input-20180605-dc3b5ba.diff"; + sha256 = "sha256-h5ZrCj4IrkMQanLSMmgXaRd7qZYqvbzqUnuFt/axsMI="; + } + { + url = "https://st.suckless.org/patches/boxdraw/st-boxdraw_v2-0.8.5.diff"; + sha256 = "sha256-WN/R6dPuw1eviHOvVVBw2VBSMDtfi1LCkXyX36EJKi4="; + } + # { + # url = "https://st.suckless.org/patches/themed_cursor/st-themed_cursor-0.8.1.diff"; + # sha256 = "sha256-Q/6VN9oCrdJiZPPjKMpw3UB09tIs4eJ1Hi5c8k7O7uo="; + # } + ]; + + postPatch = oldAttrs.postPatch or "" + '' + sed -i 's/Button4, *kscrollup, *{.i = 1}/Button4, kscrollup, {.i = 10}/g' config.def.h + sed -i 's/Button5, *kscrolldown, *{.i = 1}/Button5, kscrolldown, {.i = 10}/g' config.def.h + + sed -i 's/const int boxdraw = 0;/const int boxdraw = 1;/g' config.def.h + sed -i 's/const int boxdraw_bold = 0;/const int boxdraw_bold = 1;/g' config.def.h + + grep -q Xcursor x.c || sed -i '/#include /a #include ' x.c + + sed -i 's/XCreateFontCursor/XcursorLibraryLoadCursor/g' x.c + + sed -i 's/static unsigned int mouseshape/static char *mouseshape/' config.def.h + sed -i 's/XC_xterm/"ibeam"/' config.def.h + + sed -i 's/-lXft/-lXft -lXcursor/g' config.mk + ''; + }); +in +{ + imports = [ + (import ./picom.nix homeManager) + (import ./scripts.nix homeManager) + ]; + + options.${moduleNameSpace}.dwm = { + enable = lib.mkEnableOption "dwm setup"; + picom = { + enable = lib.mkEnableOption "enable picom compositor"; + animations = lib.mkEnableOption "enable animations"; + shadow = lib.mkEnableOption "enable shadows"; + window = { + opacity = { + active = lib.mkOption { + type = lib.types.float; + default = 1.0; + }; + inactive = lib.mkOption { + type = lib.types.float; + default = 1.0; + }; + }; + blur = { + enable = lib.mkEnableOption "Enable window blur"; + strength = lib.mkOption { + type = lib.types.int; + default = 1; + }; + size = lib.mkOption { + type = lib.types.int; + default = 10; + }; + }; + }; + }; + }; + + 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 ]; + displayManager.sessionCommands = '' + ${pkgs.systemd}/bin/systemctl --user import-environment DISPLAY XAUTHORITY XDG_SESSION_TYPE + ${pkgs.dbus}/bin/dbus-update-activation-environment --systemd DISPLAY XAUTHORITY XDG_SESSION_TYPE + ''; + }; + + programs.ssh.askPassword = ""; + } + 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 + xdotool + xclip + (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 = false; + daemonSettings = { + daemonize = false; + max_history = 50; + desktop_notification = { + enable = false; + }; + }; + menuSettings = { + server_endpoint = "/run/user/1000/clipcat/grpc.sock"; + finder = "rofi"; + + rofi = { + menu_length = 10; + line_length = 100; + menu_prompt = "Clipboard"; + extra_arguments = [ ]; + }; + }; + }; + + systemd.user.services.clipcat = { + 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; + "Xft.antialias" = true; + "Xft.hinting" = true; + "Xft.lcdfilter" = "lcddefault"; + "Xft.hintstyle" = "hintfull"; + "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/dwm/picom.nix b/common/modules/dwm/picom.nix new file mode 100644 index 0000000..93d4b9b --- /dev/null +++ b/common/modules/dwm/picom.nix @@ -0,0 +1,63 @@ +homeManager: +{ config, lib, ... }: +let + cfg = config.beeMods.dwm.picom; +in +{ + config = lib.mkIf cfg.enable ( + lib.optionalAttrs homeManager { + services.picom = { + enable = true; + backend = "glx"; + vSync = true; + + activeOpacity = if cfg.window.blur.enable then 0.82 else cfg.window.opacity.active; + inactiveOpacity = if cfg.window.blur.enable then 0.82 else cfg.window.opacity.inactive; + + opacityRules = [ + "100:fullscreen" + "100:_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'" + ]; + settings = { + blur = { + method = "dual_kawase"; + strength = cfg.window.blur.strength; + size = cfg.window.blur.size; + }; + blur-background = cfg.window.blur.enable; + blur-background-exclude = [ + "window_type = 'dock'" + "window_type = 'desktop'" + "class_g = 'slop'" + "class_g = 'dwm'" + "_GTK_FRAME_EXTENTS@" + "fullscreen" + "_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'" + ]; + + # xrender-sync-fence = true; + use-damage = true; + + unredir-if-possible = true; + + detect-transient = true; + detect-client-opacity = true; + mark-wmwin-focused = true; + mark-ovredir-focused = true; + detect-rounded-corners = true; + + shadow = cfg.shadow; + fading = false; + animations = cfg.animations; + }; + }; + + # systemd.user.services.picom.Install.wantedBy = lib.mkForce [ ]; + systemd.user.services.picom = { + Unit = { + ConditionEnvironment = "XDG_SESSION_TYPE=x11"; + }; + }; + } + ); +} 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 = "{}"; - days = "{}"; - weeks = "W{}"; - weekdays = "{}"; - today = "{}"; - }; - }; - }; - - 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,83 +36,18 @@ 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' output_path = '~/.config/zathura/matugen' ''} - ${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' @@ -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/default.nix b/common/modules/x11/default.nix deleted file mode 100644 index 547d648..0000000 --- a/common/modules/x11/default.nix +++ /dev/null @@ -1,268 +0,0 @@ -{ - homeManager, - inputs, - moduleNameSpace, - ... -}: -{ - config, - lib, - pkgs, - ... -}: -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 - ''; - st-patched = - (pkgs.st.override { - extraLibs = [ pkgs.libXcursor ]; - }).overrideAttrs - (oldAttrs: rec { - patches = map pkgs.fetchpatch [ - { - url = "https://st.suckless.org/patches/scrollback/st-scrollback-0.9.2.diff"; - sha256 = "sha256-ZypvRONAHS//wnZjivmqpWIqZlKTqAQ0Q8DhQpZVaqU="; - } - { - url = "https://st.suckless.org/patches/scrollback/st-scrollback-mouse-0.9.2.diff"; - sha256 = "sha256-CuNJ5FdKmAtEjwbgKeBKPJTdEfJvIdmeSAphbz0u3Uk="; - } - { - url = "https://st.suckless.org/patches/scrollback/st-scrollback-mouse-altscreen-20220127-2c5edf2.diff"; - sha256 = "sha256-8oVLgbsYCfMhNEOGadb5DFajdDKPxwgf3P/4vOXfUFo="; - } - { - url = "https://st.suckless.org/patches/xresources/st-xresources-20230320-45a15676.diff"; - sha256 = "sha256-WcL9IeyanXFiOFDGGRU0QNT8DU7wSo2o+3n+TaqASUY="; - } - { - url = "https://st.suckless.org/patches/vertcenter/st-vertcenter-20231003-eb3b894.diff"; - sha256 = "sha256-RbFNdGNi5HLAp1s8QOX3qsfxpkLcp1p/vksyZORN/uc="; - } - { - url = "https://st.suckless.org/patches/anysize/st-anysize-20220718-baa9357.diff"; - hash = "sha256-yx9VSwmPACx3EN3CAdQkxeoJKJxQ6ziC9tpBcoWuWHc="; - } - { - url = "https://st.suckless.org/patches/csi_22_23/st-csi_22_23-0.8.5.diff"; - hash = "sha256-+izEkGVkLCbhZNBD2WN4uX5j+YMmou7JaMVmPG0mrYk="; - } - { - url = "https://st.suckless.org/patches/sync/st-appsync-20200618-b27a383.diff"; - sha256 = "sha256-lys7/nup7a+GcmW+CutX0kjmbbOis2stkuhw02beuPs="; - } - { - url = "https://st.suckless.org/patches/fix_keyboard_input/st-fix-keyboard-input-20180605-dc3b5ba.diff"; - sha256 = "sha256-h5ZrCj4IrkMQanLSMmgXaRd7qZYqvbzqUnuFt/axsMI="; - } - { - url = "https://st.suckless.org/patches/boxdraw/st-boxdraw_v2-0.8.5.diff"; - sha256 = "sha256-WN/R6dPuw1eviHOvVVBw2VBSMDtfi1LCkXyX36EJKi4="; - } - # { - # url = "https://st.suckless.org/patches/themed_cursor/st-themed_cursor-0.8.1.diff"; - # sha256 = "sha256-Q/6VN9oCrdJiZPPjKMpw3UB09tIs4eJ1Hi5c8k7O7uo="; - # } - ]; - - postPatch = oldAttrs.postPatch or "" + '' - sed -i 's/Button4, *kscrollup, *{.i = 1}/Button4, kscrollup, {.i = 10}/g' config.def.h - sed -i 's/Button5, *kscrolldown, *{.i = 1}/Button5, kscrolldown, {.i = 10}/g' config.def.h - - sed -i 's/const int boxdraw = 0;/const int boxdraw = 1;/g' config.def.h - sed -i 's/const int boxdraw_bold = 0;/const int boxdraw_bold = 1;/g' config.def.h - - grep -q Xcursor x.c || sed -i '/#include /a #include ' x.c - - sed -i 's/XCreateFontCursor/XcursorLibraryLoadCursor/g' x.c - - sed -i 's/static unsigned int mouseshape/static char *mouseshape/' config.def.h - sed -i 's/XC_xterm/"ibeam"/' config.def.h - - sed -i 's/-lXft/-lXft -lXcursor/g' config.mk - ''; - }); - -in -{ - imports = [ - (import ./bspwm args) - (import ./dwm args) - (import ./picom.nix homeManager) - ]; - - options.${moduleNameSpace}.x11 = { - picom = { - enable = lib.mkEnableOption "enable picom compositor"; - animations = lib.mkEnableOption "enable animations"; - shadow = lib.mkEnableOption "enable shadows"; - window = { - opacity = { - active = lib.mkOption { - type = lib.types.float; - default = 1.0; - }; - inactive = lib.mkOption { - type = lib.types.float; - default = 1.0; - }; - }; - blur = { - enable = lib.mkEnableOption "Enable window blur"; - strength = lib.mkOption { - type = lib.types.int; - default = 1; - }; - size = lib.mkOption { - type = lib.types.int; - default = 10; - }; - }; - }; - }; - }; - - config = lib.mkIf (cfg.dwm.enable || cfg.bspwm.enable) ( - if !homeManager then - { - services.xserver = { - enable = true; - autoRepeatDelay = 300; - autoRepeatInterval = 20; - excludePackages = with pkgs; [ xterm ]; - displayManager.sessionCommands = '' - ${pkgs.systemd}/bin/systemctl --user import-environment DISPLAY XAUTHORITY XDG_SESSION_TYPE - ${pkgs.dbus}/bin/dbus-update-activation-environment --systemd DISPLAY XAUTHORITY XDG_SESSION_TYPE - ''; - }; - - programs.ssh.askPassword = ""; - security.pam.services.betterlockscreen = { }; - security.pam.services.i3lock = { }; - - programs.i3lock = { - enable = true; - package = pkgs.i3lock-color; - }; - } - else - { - home.packages = with pkgs; [ - st-patched - feh - maim - slop - xdotool - xclip - redshift - ]; - - services.clipcat = { - enable = true; - daemonSettings = { - daemonize = false; - max_history = 50; - desktop_notification = { - enable = false; - }; - }; - menuSettings = { - server_endpoint = "/run/user/1000/clipcat/grpc.sock"; - finder = "rofi"; - - rofi = { - menu_length = 10; - line_length = 100; - menu_prompt = "Clipboard"; - extra_arguments = [ ]; - }; - }; - }; - - 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; - "Xft.antialias" = true; - "Xft.hinting" = true; - "Xft.lcdfilter" = "lcddefault"; - "Xft.hintstyle" = "hintfull"; - "Xft.rgba" = "rgb"; - "st.font" = - "${config.beeMods.terminal.font.family}:size=${toString config.beeMods.terminal.font.size}:antialias=true:autohint=true"; - "st.borderpx" = 5; - }; - } - ); -} 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/modules/x11/picom.nix b/common/modules/x11/picom.nix deleted file mode 100644 index c1683eb..0000000 --- a/common/modules/x11/picom.nix +++ /dev/null @@ -1,63 +0,0 @@ -homeManager: -{ config, lib, ... }: -let - cfg = config.beeMods.x11.picom; -in -{ - config = lib.mkIf cfg.enable ( - lib.optionalAttrs homeManager { - services.picom = { - enable = true; - backend = "glx"; - vSync = true; - - activeOpacity = if cfg.window.blur.enable then 0.82 else cfg.window.opacity.active; - inactiveOpacity = if cfg.window.blur.enable then 0.82 else cfg.window.opacity.inactive; - - opacityRules = [ - "100:fullscreen" - "100:_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'" - ]; - settings = { - blur = { - method = "dual_kawase"; - strength = cfg.window.blur.strength; - size = cfg.window.blur.size; - }; - blur-background = cfg.window.blur.enable; - blur-background-exclude = [ - "window_type = 'dock'" - "window_type = 'desktop'" - "class_g = 'slop'" - "class_g = 'dwm'" - "_GTK_FRAME_EXTENTS@" - "fullscreen" - "_NET_WM_STATE@:32a *= '_NET_WM_STATE_FULLSCREEN'" - ]; - - # xrender-sync-fence = true; - use-damage = true; - - unredir-if-possible = true; - - detect-transient = true; - detect-client-opacity = true; - mark-wmwin-focused = true; - mark-ovredir-focused = true; - detect-rounded-corners = true; - - shadow = cfg.shadow; - fading = false; - animations = cfg.animations; - }; - }; - - # systemd.user.services.picom.Install.wantedBy = lib.mkForce [ ]; - systemd.user.services.picom = { - Unit = { - ConditionEnvironment = "XDG_SESSION_TYPE=x11"; - }; - }; - } - ); -} 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}"; diff --git a/flake.lock b/flake.lock index 70e530c..f36fb03 100644 --- a/flake.lock +++ b/flake.lock @@ -1,23 +1,5 @@ { "nodes": { - "beaker-src": { - "flake": false, - "locked": { - "lastModified": 1773884524, - "narHash": "sha256-1dnlofWaxI/YRID+WPz2jHZNDyloBubDt/bAQk9ePLU=", - "ref": "refs/heads/master", - "rev": "abc598baf15d6f8a4de395a27ba34b1e769558e1", - "revCount": 21, - "shallow": false, - "type": "git", - "url": "https://git.bwaaa.monster/beaker" - }, - "original": { - "shallow": false, - "type": "git", - "url": "https://git.bwaaa.monster/beaker" - } - }, "beeVim": { "inputs": { "neovim-nightly-overlay": "neovim-nightly-overlay", @@ -33,11 +15,11 @@ "plugins-rustaceanvim": "plugins-rustaceanvim" }, "locked": { - "lastModified": 1775399445, - "narHash": "sha256-mvM8/ZjKLQFzg8c37/JJfenzT3gCaV/UOnE5g2SvFd0=", + "lastModified": 1775859750, + "narHash": "sha256-S+eAcPFPQywSPwud7yradg5c4Yo95MTJj6OaAc2H5nI=", "ref": "refs/heads/main", - "rev": "9ce536875e4dbbebb6d894e11a3877d4fb4f51ca", - "revCount": 17, + "rev": "0c50f17133b90c60735f1f51943f51f60372bdd3", + "revCount": 23, "type": "git", "url": "https://codeberg.org/brustybee/beeVim" }, @@ -46,6 +28,28 @@ "url": "https://codeberg.org/brustybee/beeVim" } }, + "dms": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ], + "quickshell": "quickshell" + }, + "locked": { + "lastModified": 1775588644, + "narHash": "sha256-iYBdSBvcW7bJtc84G6k5TFJEbPHQrif9KzZyE9Lbq8M=", + "owner": "AvengeMedia", + "repo": "DankMaterialShell", + "rev": "9798d78300d402178896f6ee1c370baed490158a", + "type": "github" + }, + "original": { + "owner": "AvengeMedia", + "ref": "stable", + "repo": "DankMaterialShell", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -71,11 +75,11 @@ ] }, "locked": { - "lastModified": 1772408722, - "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", "type": "github" }, "original": { @@ -89,11 +93,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1772408722, - "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", "type": "github" }, "original": { @@ -112,11 +116,11 @@ ] }, "locked": { - "lastModified": 1772408722, - "narHash": "sha256-rHuJtdcOjK7rAHpHphUb1iCvgkU3GpfvicLMwwnfMT0=", + "lastModified": 1775087534, + "narHash": "sha256-91qqW8lhL7TLwgQWijoGBbiD4t7/q75KTi8NxjVmSmA=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "f20dc5d9b8027381c474144ecabc9034d6a839a3", + "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b", "type": "github" }, "original": { @@ -205,11 +209,11 @@ ] }, "locked": { - "lastModified": 1774104215, - "narHash": "sha256-EAtviqz0sEAxdHS4crqu7JGR5oI3BwaqG0mw7CmXkO8=", + "lastModified": 1775585728, + "narHash": "sha256-8Psjt+TWvE4thRKktJsXfR6PA/fWWsZ04DVaY6PUhr4=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "f799ae951fde0627157f40aec28dec27b22076d0", + "rev": "580633fa3fe5fc0379905986543fd7495481913d", "type": "github" }, "original": { @@ -248,11 +252,11 @@ ] }, "locked": { - "lastModified": 1775104157, - "narHash": "sha256-rm/7k0D2J9SP30pyZ2C1HqarDncZDN6KAUI0gzgg4TA=", + "lastModified": 1775781825, + "narHash": "sha256-L5yKTpR+alrZU2XYYvIxCeCP4LBHU5jhwSj7H1VAavg=", "owner": "nix-community", "repo": "home-manager", - "rev": "41e6e2ab37763c09db4e639033392cf40900440a", + "rev": "e35c39fca04fee829cecdf839a50eb9b54d8a701", "type": "github" }, "original": { @@ -286,11 +290,11 @@ "scenefx": "scenefx" }, "locked": { - "lastModified": 1774866937, - "narHash": "sha256-y0gRNhn61f52Kq7cFXEDhRn5A66e4qlqlaeLTYaw9Ac=", + "lastModified": 1775461179, + "narHash": "sha256-4vvuk6tl8M2wuW3VJU9Uwc3HCrL95cSJImEODNNQEy8=", "owner": "mangowm", "repo": "mango", - "rev": "52676492fe22356b45f9cbda9d24d887f4039f02", + "rev": "e83a9dff820ce2215ecbbbea7d617d24d0825174", "type": "github" }, "original": { @@ -326,11 +330,11 @@ "nixpkgs": "nixpkgs" }, "locked": { - "lastModified": 1775076062, - "narHash": "sha256-ruqxqJtdmNm/fmjuAdwtSBNcbBeMgE1hwELlUnAFgyU=", + "lastModified": 1775832851, + "narHash": "sha256-Nvkak/2K4Sy39bfWitq5ZsInup95jZE1z4LAHJ89Z8o=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "215965fbe5b5dbd61bf33c8bda4a20c2b32c3df2", + "rev": "d3367f69ec16ba005704e54e66e6983bd6a5abe6", "type": "github" }, "original": { @@ -346,11 +350,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1774742707, - "narHash": "sha256-a3FjZJxDOn0t18VwtIAgpNuUNaIEl6T+Awu5tXifQQw=", + "lastModified": 1775779477, + "narHash": "sha256-JjbovRW+t6qWwTpNBJ1+I7BcYYjaxl00vIsiDnmvxN4=", "owner": "nix-community", "repo": "neovim-nightly-overlay", - "rev": "7966a9c203276bea3b7e8dd2e125fd2b4c8b6753", + "rev": "4f47ea565f3d2e1148025820839a11642b4cb496", "type": "github" }, "original": { @@ -362,11 +366,11 @@ "neovim-src": { "flake": false, "locked": { - "lastModified": 1774915197, - "narHash": "sha256-yor+eo8CVi7wBp7CjAMQnVoK+m197gsl7MvUzaqicns=", + "lastModified": 1775778978, + "narHash": "sha256-pHfmttziaYuGoWRnSu8nhsUA2AOcQuUwzWCGNTU1R+U=", "owner": "neovim", "repo": "neovim", - "rev": "dbc4800dda2b0dc3290dc79955f857256e0694e2", + "rev": "10e385cf30f07d80a42abe30d36ebf065c496c99", "type": "github" }, "original": { @@ -378,11 +382,11 @@ "neovim-src_2": { "flake": false, "locked": { - "lastModified": 1774725909, - "narHash": "sha256-aOiiQCmjCrvo+jAUDO2oMa377FvOtU97aqvTm74ZRGU=", + "lastModified": 1775778978, + "narHash": "sha256-pHfmttziaYuGoWRnSu8nhsUA2AOcQuUwzWCGNTU1R+U=", "owner": "neovim", "repo": "neovim", - "rev": "d5516daf121aa718e79bcd423ee24c24492893c0", + "rev": "10e385cf30f07d80a42abe30d36ebf065c496c99", "type": "github" }, "original": { @@ -408,11 +412,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1774701658, - "narHash": "sha256-CIS/4AMUSwUyC8X5g+5JsMRvIUL3YUfewe8K4VrbsSQ=", + "lastModified": 1775763530, + "narHash": "sha256-BuTK9z1QEwWPOIakQ1gCN4pa4VwVJpfptYCviy2uOGc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b63fe7f000adcfa269967eeff72c64cafecbbebe", + "rev": "b0188973b4b2a5b6bdba8b65381d6cd09a533da0", "type": "github" }, "original": { @@ -424,11 +428,11 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1772328832, - "narHash": "sha256-e+/T/pmEkLP6BHhYjx6GmwP5ivonQQn0bJdH9YrRB+Q=", + "lastModified": 1774748309, + "narHash": "sha256-+U7gF3qxzwD5TZuANzZPeJTZRHS29OFQgkQ2kiTJBIQ=", "owner": "nix-community", "repo": "nixpkgs.lib", - "rev": "c185c7a5e5dd8f9add5b2f8ebeff00888b070742", + "rev": "333c4e0545a6da976206c74db8773a1645b5870a", "type": "github" }, "original": { @@ -469,11 +473,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1774610258, - "narHash": "sha256-HaThtroVD9wRdx7KQk0B75JmFcXlMUoEdDFNOMOlsOs=", + "lastModified": 1775763530, + "narHash": "sha256-BuTK9z1QEwWPOIakQ1gCN4pa4VwVJpfptYCviy2uOGc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "832efc09b4caf6b4569fbf9dc01bec3082a00611", + "rev": "b0188973b4b2a5b6bdba8b65381d6cd09a533da0", "type": "github" }, "original": { @@ -485,11 +489,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1774610258, - "narHash": "sha256-HaThtroVD9wRdx7KQk0B75JmFcXlMUoEdDFNOMOlsOs=", + "lastModified": 1775763530, + "narHash": "sha256-BuTK9z1QEwWPOIakQ1gCN4pa4VwVJpfptYCviy2uOGc=", "owner": "nixos", "repo": "nixpkgs", - "rev": "832efc09b4caf6b4569fbf9dc01bec3082a00611", + "rev": "b0188973b4b2a5b6bdba8b65381d6cd09a533da0", "type": "github" }, "original": { @@ -501,11 +505,11 @@ }, "nixpkgs_4": { "locked": { - "lastModified": 1775036866, - "narHash": "sha256-ZojAnPuCdy657PbTq5V0Y+AHKhZAIwSIT2cb8UgAz/U=", + "lastModified": 1775710090, + "narHash": "sha256-ar3rofg+awPB8QXDaFJhJ2jJhu+KqN/PRCXeyuXR76E=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "6201e203d09599479a3b3450ed24fa81537ebc4e", + "rev": "4c1018dae018162ec878d42fec712642d214fdfa", "type": "github" }, "original": { @@ -515,29 +519,6 @@ "type": "github" } }, - "omnisearch": { - "inputs": { - "beaker-src": "beaker-src", - "nixpkgs": [ - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1774755469, - "narHash": "sha256-sO6h2JLu7eaxILkHQgdAo7oDc8soqJbIShzlzH79tUw=", - "ref": "refs/heads/master", - "rev": "6b8a278b4f2973391b256eedf6add3d6a3516bc0", - "revCount": 79, - "shallow": false, - "type": "git", - "url": "https://git.bwaaa.monster/omnisearch" - }, - "original": { - "shallow": false, - "type": "git", - "url": "https://git.bwaaa.monster/omnisearch" - } - }, "plugins-base46-nvim": { "flake": false, "locked": { @@ -557,11 +538,11 @@ "plugins-lze": { "flake": false, "locked": { - "lastModified": 1774875775, - "narHash": "sha256-oYetArRkSVg4fa7RTV36sT2/w8Fz9ijRYXiB7/9dtk4=", + "lastModified": 1775782676, + "narHash": "sha256-KDIY90Ny+uyuDCk8r57KBtT9a49wmWdLvviOMFfXa+E=", "owner": "BirdeeHub", "repo": "lze", - "rev": "a09a8291d7b4c48e2af6a8cd3ef55bb8f3c181cd", + "rev": "c4403a54d9cd94156d7a149d830f39a4a437f048", "type": "github" }, "original": { @@ -589,11 +570,11 @@ "plugins-neogit": { "flake": false, "locked": { - "lastModified": 1774862475, - "narHash": "sha256-2A1IYTkdXB+ctGC+vLvpxzmXNmfUhMD3JYh2ywDoPt4=", + "lastModified": 1775637236, + "narHash": "sha256-tBmRZwBoUfJyTcPbqS/Vm7Ww0JE2wLgQ7e6o+1Fxei0=", "owner": "NeogitOrg", "repo": "neogit", - "rev": "5a7fca171e3ad07380745d573d791e95268b8f3f", + "rev": "e06745228600a585b88726fc9fba44a373c15a47", "type": "github" }, "original": { @@ -605,11 +586,11 @@ "plugins-opencode-nvim": { "flake": false, "locked": { - "lastModified": 1775086798, - "narHash": "sha256-FRwzLXxIAuAbcdA5d2iRbEiHIgh8ie7SH9Ul17hyAdM=", + "lastModified": 1775746206, + "narHash": "sha256-rMTGNbhyo6YOmhVTyIkkl9HMl/73jYO8SdKGktHd+nU=", "owner": "NickvanDyke", "repo": "opencode.nvim", - "rev": "78b720dfa6a55c3e2d167165320adc5c0ae87471", + "rev": "6ed56733b19dce45d1f02abc34547cb21857ca95", "type": "github" }, "original": { @@ -628,11 +609,11 @@ "vimcats": "vimcats" }, "locked": { - "lastModified": 1774990989, - "narHash": "sha256-Nf1PoJfOOtdHx3WTEM3MZSnWSAJwp0eTvSr1jm1pAJ8=", + "lastModified": 1775781822, + "narHash": "sha256-uPyJNzvX0K6zjko0RCh/eGixkcg2H208eV3SAp55HqY=", "owner": "mrcjkb", "repo": "rustaceanvim", - "rev": "f69c85a955b9a83d495e3dc8d43adb6364a0b765", + "rev": "3eca3979c37a55f39119631bbd8a472ea622fc0c", "type": "github" }, "original": { @@ -641,15 +622,37 @@ "type": "github" } }, + "quickshell": { + "inputs": { + "nixpkgs": [ + "dms", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1766725085, + "narHash": "sha256-O2aMFdDUYJazFrlwL7aSIHbUSEm3ADVZjmf41uBJfHs=", + "ref": "refs/heads/master", + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", + "revCount": 715, + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" + }, + "original": { + "rev": "41828c4180fb921df7992a5405f5ff05d2ac2fff", + "type": "git", + "url": "https://git.outfoxxed.me/quickshell/quickshell" + } + }, "root": { "inputs": { "beeVim": "beeVim", + "dms": "dms", "flake-parts": "flake-parts_4", "home-manager": "home-manager", "mango": "mango", "mydwm": "mydwm", "nixpkgs": "nixpkgs_4", - "omnisearch": "omnisearch", "sops-nix": "sops-nix", "zen-browser": "zen-browser" } @@ -682,11 +685,11 @@ ] }, "locked": { - "lastModified": 1774910634, - "narHash": "sha256-B+rZDPyktGEjOMt8PcHKYmgmKoF+GaNAFJhguktXAo0=", + "lastModified": 1775682595, + "narHash": "sha256-0E9PohY/VuESLq0LR4doaH7hTag513sDDW5n5qmHd1Q=", "owner": "Mic92", "repo": "sops-nix", - "rev": "19bf3d8678fbbfbc173beaa0b5b37d37938db301", + "rev": "d2e8438d5886e92bc5e7c40c035ab6cae0c41f76", "type": "github" }, "original": { @@ -714,11 +717,11 @@ ] }, "locked": { - "lastModified": 1774148878, - "narHash": "sha256-z+v8Ndsn9ggZQucQjOuBMSzrdPh+r985g2VCraFgOfc=", + "lastModified": 1775235697, + "narHash": "sha256-wlobsn5gVjfk88q4QnzLUY8rIFARaYp7/9ziDc2xZ2Q=", "owner": "mrcjkb", "repo": "vimcats", - "rev": "c94be722ee016b33fb244bfef5cc08723ff626bb", + "rev": "f0edff54f47d6c7dddef3ec9a61496b23f43640e", "type": "github" }, "original": { @@ -734,11 +737,11 @@ ] }, "locked": { - "lastModified": 1774759885, - "narHash": "sha256-Y3D2GnZTO6BhGWeVcO6qUkiO5g0dDL2tmokLVWNC1WY=", + "lastModified": 1775710180, + "narHash": "sha256-sCokvdNvl8zIzsnjgG0TN5h3RUI7GJyWW9ErfmEj0rM=", "owner": "youwen5", "repo": "zen-browser-flake", - "rev": "16e3f4cd221a030186a96015d82dcb3fb4afa4d6", + "rev": "2c138beb648d1cbbfae76695a8230ee04e4db25a", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 1a29012..a9730db 100644 --- a/flake.nix +++ b/flake.nix @@ -1,6 +1,8 @@ { nixConfig = { - extra-substituters = [ "https://nix-community.cachix.org" ]; + extra-substituters = [ + "https://nix-community.cachix.org" + ]; extra-trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; @@ -21,10 +23,6 @@ url = "github:mangowm/mango"; inputs.nixpkgs.follows = "nixpkgs"; }; - omnisearch = { - url = "git+https://git.bwaaa.monster/omnisearch?shallow=0"; - inputs.nixpkgs.follows = "nixpkgs"; - }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; @@ -34,8 +32,13 @@ inputs.nixpkgs.follows = "nixpkgs"; }; mydwm = { - url = "git+https://codeberg.org/brustybee/mydwm"; - # url = "git+file:/home/bee/mydwm"; + # url = "git+https://codeberg.org/brustybee/mydwm"; + url = "git+file:/home/bee/mydwm"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + dms = { + url = "github:AvengeMedia/DankMaterialShell/stable"; inputs.nixpkgs.follows = "nixpkgs"; }; }; diff --git a/hosts/nixios/default.nix b/hosts/nixios/default.nix index 53a6524..e72aad5 100644 --- a/hosts/nixios/default.nix +++ b/hosts/nixios/default.nix @@ -15,7 +15,6 @@ ./hardware-configuration.nix (import ../common.nix { inherit user; }) beeMods - inputs.omnisearch.nixosModules.default ]; services.logind = { @@ -26,16 +25,6 @@ }; }; - services.omnisearch = { - enable = true; - settings = { - server = { - port = 8087; - domain = "https://search.bee.me"; - }; - }; - }; - # REMOVE LATER virtualisation.vmVariant = { users.users.${user}.password = "1"; @@ -56,10 +45,8 @@ beeMods = { mango.enable = true; - x11 = { - dwm.enable = true; - bspwm.enable = true; - }; + hyprland.enable = false; + dwm.enable = true; }; xdg.portal = lib.mkForce { @@ -76,6 +63,13 @@ mango = { "org.freedesktop.impl.portal.ScreenCast" = [ "wlr" ]; "org.freedesktop.impl.portal.Screenshot" = [ "wlr" ]; + "org.freedesktop.impl.portal.Inhibit" = [ "none" ]; + }; + hyrpland = { + default = [ + "hyrland" + "gtk" + ]; }; }; }; diff --git a/users/bee/default.nix b/users/bee/default.nix index 7b395e4..b60cdfd 100644 --- a/users/bee/default.nix +++ b/users/bee/default.nix @@ -14,9 +14,36 @@ ../common.nix beeMods programs + inputs.dms.homeModules.dank-material-shell ]; + programs.dank-material-shell = { + enable = true; + + systemd = { + enable = true; + restartIfChanged = true; # Auto-restart dms.service when dank-material-shell changes + }; + + enableSystemMonitoring = true; # System monitoring widgets (dgop) + enableVPN = true; # VPN management widget + enableDynamicTheming = true; # Wallpaper-based theming (matugen) + enableAudioWavelength = true; # Audio visualizer (cava) + enableCalendarEvents = true; # Calendar integration (khal) + enableClipboardPaste = true; # Pasting items from the clipboard (wtype) + }; + beeMods = { + hyprland = { + enable = false; + animations = true; + window = { + blur.enable = false; + blur.radius = 10; + blur.passes = 2; + shadows = true; + }; + }; mango = { enable = true; animations = true; @@ -28,11 +55,8 @@ shadows = true; }; }; - x11 = { - bspwm.enable = true; - dwm = { - enable = true; - }; + dwm = { + enable = true; picom = { enable = false; window = { diff --git a/users/common.nix b/users/common.nix index 2390e7f..d9c71e7 100644 --- a/users/common.nix +++ b/users/common.nix @@ -70,8 +70,8 @@ in name = "adw-gtk3"; }; iconTheme = { - name = "Papirus-Dark"; - package = pkgs.papirus-icon-theme; + name = "Adwita"; + package = pkgs.adwaita-icon-theme; }; gtk3 = { bookmarks = [ @@ -86,7 +86,7 @@ in gtk-decoration-layout = ":"; }; extraCss = '' - @import url("colors.css"); + @import url("dank-colors.css"); ''; }; @@ -97,7 +97,7 @@ in gtk-decoration-layout = ":"; }; extraCss = '' - @import url("colors.css"); + @import url("dank-colors.css"); ''; }; }; @@ -142,7 +142,8 @@ in # clapper wlsunset thunderbird - quickshell + gpu-screen-recorder-gtk + kdePackages.qqc2-desktop-style (pkgs.obsidian.override { electron = pkgs.electron_40; }) -- cgit v1.3.1