diff --git a/home/modules/utils/waybar/default.nix b/home/modules/utils/waybar/default.nix index 22f0cd96..967a53ec 100644 --- a/home/modules/utils/waybar/default.nix +++ b/home/modules/utils/waybar/default.nix @@ -11,9 +11,13 @@ in { modules.utils.waybar.enable = mkEnableOption "Enables waybar"; }; config = mkIf cfg.enable { + systemd.user.services.waybar = { + Unit.StartLimitBurst = 30; + }; programs.waybar = { enable = true; package = pkgs.waybar; + systemd.enable = true; }; }; } diff --git a/home/modules/wm/hyprland/adam/appearance.nix b/home/modules/wm/hyprland/adam/appearance.nix deleted file mode 100644 index 899dab2c..00000000 --- a/home/modules/wm/hyprland/adam/appearance.nix +++ /dev/null @@ -1,60 +0,0 @@ -{ - lib, - config, - ... -}: let - inherit (lib) mkIf mkEnableOption; - cfg = config.modules.wm.hyprland.adam.appearance; -in { - options = { - modules.wm.hyprland.adam.appearance.enable = mkEnableOption "Enables appearance settings in Hyprland"; - }; - config = mkIf cfg.enable { - wayland.windowManager.hyprland.settings = { - general = { - gaps_in = 2; - gaps_out = 4; - border_size = 3; - #col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg - #col.inactive_border = rgba(595959aa) - "col.active_border" = "rgb(4c7a5d)"; # rgba(b16286ee) 45deg - "col.inactive_border" = "rgb(504945)"; - layout = "dwindle"; - allow_tearing = false; - resize_on_border = true; - }; - decoration = { - rounding = 0; - blur = { - enabled = true; - size = 8; - passes = 1; - vibrancy = 0.1696; - }; - drop_shadow = false; - shadow_range = 4; - shadow_render_power = 3; - # col.shadow = rgba(1a1a1aee) - }; - animations = { - enabled = true; - bezier = [ - "myBezier,0.05, 0.9, 0.1, 1.05" - ]; - animation = [ - "windows, 1, 3, myBezier" - "windowsOut, 1, 3, default, popin 80%" - "border, 1, 3, default" - "borderangle, 1, 8, default" - "fade, 1, 7, default" - "workspaces, 1, 3, default" - ]; - }; - dwindle = { - # See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more - pseudotile = true; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below - preserve_split = true; # you probably want this - }; - }; - }; -} diff --git a/home/modules/wm/hyprland/adam/default.nix b/home/modules/wm/hyprland/adam/default.nix deleted file mode 100644 index 200a1a7b..00000000 --- a/home/modules/wm/hyprland/adam/default.nix +++ /dev/null @@ -1,44 +0,0 @@ -{ - inputs, - config, - lib, - pkgs, - userModules, - ... -}: let - inherit (lib) mkIf mkEnableOption mkDefault; - cfg = config.modules.wm.hyprland.adam; -in { - imports = [ - "${userModules}/wm/hyprland/adam/appearance.nix" - "${userModules}/wm/hyprland/adam/inputs.nix" - "${userModules}/wm/hyprland/adam/keybinds.nix" - "${userModules}/wm/hyprland/adam/rules.nix" - "${userModules}/wm/hyprland/adam/startup.nix" - ]; - - options = { - modules.wm.hyprland.adam.enable = mkEnableOption "Enable Hyprland"; - }; - - config = mkIf cfg.enable { - modules.wm.hyprland.adam = { - appearance.enable = mkDefault cfg.enable; - inputs.enable = mkDefault cfg.enable; - keybinds.enable = mkDefault cfg.enable; - rules.enable = mkDefault cfg.enable; - startup.enable = mkDefault cfg.enable; - }; - wayland.windowManager.hyprland = { - enable = true; - package = inputs.hyprland.packages.${pkgs.system}.default; - systemd = { - variables = ["--all"]; - extraCommands = [ - "systemctl --user stop graphical-session.target" - "systemctl --user start hyprland-session.target" - ]; - }; - }; - }; -} diff --git a/home/modules/wm/hyprland/adam/inputs.nix b/home/modules/wm/hyprland/adam/inputs.nix deleted file mode 100644 index fd15e073..00000000 --- a/home/modules/wm/hyprland/adam/inputs.nix +++ /dev/null @@ -1,87 +0,0 @@ -{ - lib, - config, - ... -}: let - inherit (lib) mkIf mkEnableOption; - cfg = config.modules.wm.hyprland.adam.inputs; -in { - options = { - modules.wm.hyprland.adam.inputs.enable = mkEnableOption "Enables input settings in Hyprland"; - }; - config = mkIf cfg.enable { - wayland.windowManager.hyprland.settings = { - monitor = [ - "DP-3, 2560x1440@143.86, auto, auto" - "eDP-1,1920x1200@60.02,auto,1" - ]; - env = [ - "QT_WAYLAND_DISABLE_WINDOWDECORATION,1" - ]; - - input = { - follow_mouse = 1; - accel_profile = "flat"; - sensitivity = 0; # -1.0 - 1.0, 0 means no modification. - - touchpad = { - natural_scroll = true; - disable_while_typing = true; - clickfinger_behavior = true; - scroll_factor = 0.5; - }; - }; - # Desktop keyboard - device = [ - { - name = "pfu-limited-hhkb-hybrid"; - kb_layout = "hhkbse"; - kb_options = "lv3:rwin_switch"; - } - { - name = "hhkb-hybrid_1-keyboard"; - kb_layout = "hhkbse"; - kb_options = "lv3:rwin_switch"; - } - # Laptop keyboard - { - name = "at-translated-set-2-keyboard"; - kb_layout = "se"; - kb_options = "ctrl:swapcaps"; - } - ]; - gestures = { - workspace_swipe = true; - workspace_swipe_distance = 400; - workspace_swipe_fingers = 3; - workspace_swipe_cancel_ratio = 0.2; - workspace_swipe_min_speed_to_force = 5; - workspace_swipe_direction_lock = true; - workspace_swipe_direction_lock_threshold = 10; - workspace_swipe_create_new = true; - }; - misc = { - vrr = 2; - mouse_move_enables_dpms = 1; - key_press_enables_dpms = 0; - force_default_wallpaper = 0; - disable_hyprland_logo = true; - disable_splash_rendering = true; - disable_autoreload = true; - }; - xwayland = { - force_zero_scaling = false; - }; - render = { - # explicit_sync = 2; - # explicit_sync_kms = 2; - # direct_scanout = false; - }; - # cursor = { - # no_hardware_cursors = true; - # no_break_fs_vrr = true; - # min_refresh_rate = 24; - # }; - }; - }; -} diff --git a/home/modules/wm/hyprland/adam/keybinds.nix b/home/modules/wm/hyprland/adam/keybinds.nix deleted file mode 100644 index 00ebbf99..00000000 --- a/home/modules/wm/hyprland/adam/keybinds.nix +++ /dev/null @@ -1,116 +0,0 @@ -{ - lib, - config, - pkgs, - ... -}: let - inherit (lib) mkIf mkEnableOption; - cfg = config.modules.wm.hyprland.adam.keybinds; -in { - options = { - modules.wm.hyprland.adam.keybinds.enable = mkEnableOption "Enables keybind settings in Hyprland"; - }; - config = mkIf cfg.enable { - wayland.windowManager.hyprland.settings = { - "$terminal" = "kitty"; - "$fileManager" = "thunar"; - "$passwordManager" = "keepassxc"; - "$menu" = "pkill anyrun || anyrun | xargs hyprctl dispatch exec --"; - "$menuw" = "pkill anyrun || anyrun | xargs hyprctl dispatch exec --"; - "$browser" = "firefox"; - "$browserinc" = "firefox --private-window"; - "$yazi" = "alacritty -e yazi"; - - # See https://wiki.hyprland.org/Configuring/Keywords/ for more - "$mod" = "ALT_L"; - - bind = let - grimblast = lib.getExe pkgs.grimblast; - tesseract = lib.getExe pkgs.tesseract; - notify-send = lib.getExe' pkgs.libnotify "notify-send"; - in [ - # Custom binds - "$mod SHIFT, B, exec, pkill -SIGUSR2 waybar" # Reload waybar - - # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more - "$mod, A, exec, pkill -SIGUSR1 waybar" - "$mod, T, exec, $terminal" - "$mod, W, exec, $browser" - "$mod, K, exec, $passwordManager" - "$mod SHIFT, W, exec, $browserinc" - "$mod, Q, killactive," - #bind = $mod, M, exec, hyprctl dispatch exit - #bind = $mod, E, exec, $fileManager - "$mod, E, exec, $fileManager" - "$mod SHIFT, E, exec, $yazi" - "$mod, F, fullscreen," - "$mod SHIFT, F, togglefloating," - "$mod, SPACE, exec, $menu" - "$mod, P, pseudo," # dwindle - "$mod, J, togglesplit," # dwindle - "$mod, C, exec, hyprctl dispatch exec copyq toggle" - "$mod, TAB, exec, $menuw" - - # Move focus with mainMod + arrow keys - "$mod, left, movefocus, l" - "$mod, right, movefocus, r" - "$mod, up, movefocus, u" - "$mod, down, movefocus, d" - - # Switch workspaces with mainMod + [0-9] - "$mod, 1, workspace, 1" - "$mod, 2, workspace, 2" - "$mod, 3, workspace, 3" - "$mod, 4, workspace, 4" - "$mod, 5, workspace, 5" - "$mod, 6, workspace, 6" - "$mod, 7, workspace, 7" - "$mod, 8, workspace, 8" - "$mod, 9, workspace, 9" - "$mod, 0, workspace, 10" - - # Move active window to a workspace with mainMod + SHIFT + [0-9] - "$mod SHIFT, 1, movetoworkspace, 1" - "$mod SHIFT, 2, movetoworkspace, 2" - "$mod SHIFT, 3, movetoworkspace, 3" - "$mod SHIFT, 4, movetoworkspace, 4" - "$mod SHIFT, 5, movetoworkspace, 5" - "$mod SHIFT, 6, movetoworkspace, 6" - "$mod SHIFT, 7, movetoworkspace, 7" - "$mod SHIFT, 8, movetoworkspace, 8" - "$mod SHIFT, 9, movetoworkspace, 9" - "$mod SHIFT, 0, movetoworkspace, 10" - - # Laptop controls - ",XF86AudioLowerVolume, exec, pamixer -d 5" - ",XF86AudioRaiseVolume, exec, pamixer -i 5" - ",XF86AudioMute, exec, pamixer -m" - ",XF86AudioMicMute, exec, pactl -- set-source-mute 0 toggle" - ",XF86MonBrightnessDown, exec, brightnessctl s 10%-" - ",XF86MonBrightnessUp, exec, brightnessctl s +10%" - - "$mod, XF86MonBrightnessUp, exec, hyprctl dispatch dpms on" - "$mod, XF86MonBrightnessDown, exec, hyprctl dispatch dpms off" - - # Screenshotting - ",Print,exec,${grimblast} --notify --freeze copysave area" - "SHIFT,Print,exec,${grimblast} --notify --freeze copysave output" - # To OCR - "ALT,Print,exec,${grimblast} --freeze save area - | ${tesseract} - - | wl-copy && ${notify-send} -t 3000 'OCR result copied to buffer'" - - # Example special workspace (scratchpad) - "$mod, S, togglespecialworkspace, magic" - "$mod SHIFT, S, movetoworkspace, special:magic" - - # Scroll through existing workspaces with mainMod + scroll - # bind = $mod, mouse_down, workspace, e+1 - # bind = $mod, mouse_up, workspace, e-1 - ]; - # Move/resize windows with mainMod + LMB/RMB and dragging - bindm = [ - "$mod, mouse:272, movewindow" - "$mod, mouse:273, resizewindow" - ]; - }; - }; -} diff --git a/home/modules/wm/hyprland/adam/rules.nix b/home/modules/wm/hyprland/adam/rules.nix deleted file mode 100644 index fe7ad81c..00000000 --- a/home/modules/wm/hyprland/adam/rules.nix +++ /dev/null @@ -1,57 +0,0 @@ -{ - lib, - config, - ... -}: let - inherit (lib) mkIf mkEnableOption; - cfg = config.modules.wm.hyprland.adam.rules; -in { - options = { - modules.wm.hyprland.adam.rules.enable = mkEnableOption "Enables window rule settings in Hyprland"; - }; - config = mkIf cfg.enable { - wayland.windowManager.hyprland.settings = { - # CALCURSE SETTINGS - windowrulev2 = [ - "float,initialTitle:(floatcal)" - "size 843 650,initialTitle:(floatcal)" - "move 100%-w-20 40,initialTitle:(floatcal)" - #windowrulev2 = move 1708 32,class:(floatcal) - "float,class:(org.keepassxc.KeePassXC)" - "size 843 500,class:(org.keepassxc.KeePassXC)" - "move 100%-w-20 40,class:(org.keepassxc.KeePassXC)" - - # RANGER/NNN SETTINGS - "float,class:(floatranger)" - "float,class:(floatnnn)" - #windowrulev2 = size 843 650,class:(floatranger) - #windowrulev2 = move 1708 32,class:(floatranger) - #windowrulev2 = move 1708 32;size 843 650;dimaround;float,class:^(kitty)$,title:^(kitty)$ - # See https://wiki.hyprland.org/Configuring/Window-Rules/ for more - "suppressevent maximize, class:.* # You'll probably like this." - #windowrulev2 = noshadow, floating:0 - "float,class:^(imv)$" - "float,class:^(com.github.hluk.copyq)$" - "float,class:^(blueman-manager)$" - "center,class:^(nwg-look)$" - "float,class:^(nwg-look)$" - "float,class:^(Lxappearance)$" - "float,class:(pavucontrol)$" - "move 100%-w-20 40,class:(pavucontrol)$" - "float,class:^(polkit-gnome-authentication-agent-1)$" - "float,class:^(org.gnome.Calculator)$" - "size 741 585,class:(pavucontrol)$" - "float,class:^(cnst.test)$" - "float,class:^(org.corectrl.CoreCtrl)$" - "float,class:^(feh)$" - "float,class:^(com.example.gtk-adieux)$" - ]; - windowrule = [ - "center, ^(xarchiver)$" - "float, ^(xarchiver)$" - "float, ^(org.gnome.FileRoller)$" - "float, ^(org.freedesktop.impl.portal.desktop.kde)$" - ]; - }; - }; -} diff --git a/home/modules/wm/hyprland/adam/startup.nix b/home/modules/wm/hyprland/adam/startup.nix deleted file mode 100644 index 997f2b4a..00000000 --- a/home/modules/wm/hyprland/adam/startup.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ - lib, - config, - ... -}: let - inherit (lib) mkIf mkEnableOption; - cfg = config.modules.wm.hyprland.adam.startup; -in { - options = { - modules.wm.hyprland.adam.startup.enable = mkEnableOption "Enables startup settings in Hyprland"; - }; - config = mkIf cfg.enable { - wayland.windowManager.hyprland.settings = { - exec-once = [ - # STARTUP - # exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP - "systemctl --user start polkit-gnome-authentication-agent-1" - # exec-once = lxqt-policykit-agent & - "waybar" - "pamixer --set-volume 50" - "blueman-applet & udiskie -Nt" - "nm-applet --indicator" - "mullvad-vpn" - # exec-once = swaybg -i ~/media/images/wallpaper.png - "wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+'" - # exec-once = hyprctl dispatch exec "sleep 4s && copyq --start-server" - "hyprctl dispatch exec 'sleep 5s && keepassxc'" - "hyprctl dispatch exec 'sleep 3s && solaar -w hide'" - ]; - }; - }; -} diff --git a/home/modules/wm/hyprland/cnst/startup.nix b/home/modules/wm/hyprland/cnst/startup.nix index abb2da46..c43b3bb6 100644 --- a/home/modules/wm/hyprland/cnst/startup.nix +++ b/home/modules/wm/hyprland/cnst/startup.nix @@ -16,11 +16,9 @@ in { # exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP "systemctl --user start polkit-gnome-authentication-agent-1" # exec-once = lxqt-policykit-agent & - "waybar" "pamixer --set-volume 50" "blueman-applet & udiskie -Nt" - "nm-applet --indicator" - "mullvad-vpn" + # "mullvad-vpn" # exec-once = swaybg -i ~/media/images/wallpaper.png "wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+'" # exec-once = hyprctl dispatch exec "sleep 4s && copyq --start-server" diff --git a/home/modules/wm/hyprland/toothpick/startup.nix b/home/modules/wm/hyprland/toothpick/startup.nix index e29da8f9..6b579de1 100644 --- a/home/modules/wm/hyprland/toothpick/startup.nix +++ b/home/modules/wm/hyprland/toothpick/startup.nix @@ -16,11 +16,7 @@ in { # exec-once = systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP "systemctl --user start polkit-gnome-authentication-agent-1" # exec-once = lxqt-policykit-agent & - "waybar" "pamixer --set-volume 50" - "blueman-applet & udiskie -Nt" - "nm-applet --indicator" - "mullvad-vpn" # exec-once = swaybg -i ~/media/images/wallpaper.png "wl-clip-persist --clipboard regular --all-mime-type-regex '^(?!x-kde-passwordManagerHint).+'" # exec-once = hyprctl dispatch exec "sleep 4s && copyq --start-server" diff --git a/hosts/cnix/modules.nix b/hosts/cnix/modules.nix index a41d671c..e4adffd0 100644 --- a/hosts/cnix/modules.nix +++ b/hosts/cnix/modules.nix @@ -60,6 +60,10 @@ allowedTCPPorts = [22 80 443]; }; }; + nm-applet = { + enable = true; + indicator.enable = true; + }; }; }; studio = { diff --git a/hosts/cnixpad/modules.nix b/hosts/cnixpad/modules.nix index 02f5937d..9bcf0156 100644 --- a/hosts/cnixpad/modules.nix +++ b/hosts/cnixpad/modules.nix @@ -60,6 +60,10 @@ allowedTCPPorts = [22 80 443]; }; }; + nm-applet = { + enable = true; + indicator.enable = true; + }; }; }; studio = { diff --git a/hosts/toothpc/modules.nix b/hosts/toothpc/modules.nix index 415a82c5..4e26d5c9 100644 --- a/hosts/toothpc/modules.nix +++ b/hosts/toothpc/modules.nix @@ -60,6 +60,10 @@ "enp4s0" = { allowedTCPPorts = [22 80 443]; }; + nm-applet = { + enable = true; + indicator.enable = true; + }; }; }; }; diff --git a/system/modules/hardware/network/default.nix b/system/modules/hardware/network/default.nix index 80981728..bfe7be8a 100644 --- a/system/modules/hardware/network/default.nix +++ b/system/modules/hardware/network/default.nix @@ -31,6 +31,18 @@ in { default = {}; description = "Network interface configurations."; }; + nm-applet = { + enable = mkEnableOption { + type = types.bool; + default = false; + description = "Enables the nm-applet service."; + }; + indicator.enable = mkEnableOption { + type = types.bool; + default = false; + description = "Enables the nm-applet indicator"; + }; + }; }; }; }; @@ -46,5 +58,9 @@ in { inherit (cfg) interfaces; }; }; + programs.nm-applet = { + enable = cfg.nm-applet.enable; + indicator.enable = cfg.nm-applet.indicator; + }; }; } diff --git a/system/modules/sysd/network/blueman/default.nix b/system/modules/sysd/network/blueman/default.nix index 0044ed3e..69b17c45 100644 --- a/system/modules/sysd/network/blueman/default.nix +++ b/system/modules/sysd/network/blueman/default.nix @@ -10,6 +10,9 @@ in { modules.sysd.network.blueman.enable = mkEnableOption "Enables blueman"; }; config = mkIf cfg.enable { - services.blueman.enable = true; + services = { + blueman.enable = true; + blueman-applet.enable = true; + }; }; }