diff --git a/home/hosts/gunter/default.nix b/home/hosts/gunter/default.nix index 921f528..463c9b7 100644 --- a/home/hosts/gunter/default.nix +++ b/home/hosts/gunter/default.nix @@ -18,7 +18,7 @@ imports = [ inputs.sops-nix.homeManagerModules.sops ../../editor/neovim - ../../hyprland/gunter.nix + ../../hyprland ../../packages ../../programs/dunst ../../programs/git @@ -36,9 +36,51 @@ ../../ssh ../../zsh ]; + firefox.enable = true; tmux.enable = true; hyprland.enable = true; + + hyprland.monitors = [ + "$mon_top,1920x1080@60,2560x0,1" + "$mon_left,2560x1440@75,0x1080,1" + "$mon_center,2560x1440@120,2560x1080,1" + "$mon_right,2560x1440@75,5120x1080,1" + ]; + + hyprland.extraEnv = [ + "LIBVA_DRIVER_NAME,nvidia" + "GBM_BACKEND,nvidia-drm" + "WLR_NO_HARDWARE_CURSORS,1" + ]; + + hyprland.enableStreamController = true; + hyprland.useLockHelper = true; + hyprland.enableGrimblast = true; + hyprland.enableWacom = true; + hyprland.cursorNoHardware = true; + hyprland.workspaceStrategy = "named"; + + hyprland.monitorVariables = { + "$mon_top" = "desc:BNQ G2420HDBL T2B04424SL000"; + "$mon_left" = "desc:Samsung Electric Company LS27A600U HNMT502389"; + "$mon_center" = "desc:Acer Technologies XB271HU #ASPVEKfgZ8Dd"; + "$mon_right" = "desc:Samsung Electric Company LS27A600U HNMT502390"; + }; + + hyprland.lockMonitorNames = [ + "BNQ G2420HDBL T2B04424SL000" + "Samsung Electric Company LS27A600U HNMT502389" + "Acer Technologies XB271HU #ASPVEKfgZ8Dd" + "Samsung Electric Company LS27A600U HNMT502390" + ]; + + hyprland.extraKeybinds = [ + "$mainMod,Print,exec,grimblast save active ~/tmp/$(date -Iseconds).png" + "$shiftMainMod,Print,exec,grimblast copy area" + ",Print,exec,grimblast copy active" + "$mainMod,v,exec,sleep 0.5s && wl-paste | wtype -" + ]; home = { username = "${user}"; homeDirectory = "/home/${user}"; diff --git a/home/hosts/magicman/default.nix b/home/hosts/magicman/default.nix index e07bae6..acceb97 100644 --- a/home/hosts/magicman/default.nix +++ b/home/hosts/magicman/default.nix @@ -31,12 +31,13 @@ ../../scripts/batlvl.nix ../../zsh ../../packages - ../../hyprland/magicman.nix + ../../hyprland ../../ssh ]; firefox.enable = true; tmux.enable = true; hyprland.enable = true; + hyprland.monitors = [ "eDP-1,1920x1080@60,0x0,1" ]; home = { username = "${user}"; homeDirectory = "/home/${user}"; diff --git a/home/hyprland/default.nix b/home/hyprland/default.nix new file mode 100644 index 0000000..ade5124 --- /dev/null +++ b/home/hyprland/default.nix @@ -0,0 +1,380 @@ +{ + pkgs, + lib, + config, + ... +}: +with lib; +let + cfg = config.hyprland; +in +{ + options.hyprland = { + enable = mkEnableOption "Hyprland"; + + monitors = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ "eDP-1,1920x1080@60,0x0,1" ]; + description = "Hyprland monitor configuration"; + }; + + extraEnv = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ + "LIBVA_DRIVER_NAME,nvidia" + "GBM_BACKEND,nvidia-drm" + ]; + description = "Extra environment variables for Hyprland"; + }; + + enableStreamController = mkEnableOption "streamcontroller service"; + + useLockHelper = mkEnableOption "use lockhelper script instead of hyprlock directly"; + + enableGrimblast = mkEnableOption "grimblast screenshot keybinds"; + + enableWacom = mkEnableOption "Wacom tablet device configuration"; + + extraKeybinds = mkOption { + type = types.listOf types.str; + default = [ ]; + example = [ + "$mainMod,Print,exec,grimblast save active ~/tmp/screenshot.png" + ]; + description = "Extra keybinds for Hyprland"; + }; + + lockMonitorNames = mkOption { + type = types.listOf (types.nullOr types.str); + default = [ null ]; + example = [ + "desc:BNQ G2420HDBL T2B04424SL000" + "desc:Samsung Electric Company LS27A600U HNMT502389" + ]; + description = "Monitor names for hyprlock backgrounds (null for all monitors)"; + }; + + workspaceStrategy = mkOption { + type = types.enum [ + "numbered" + "named" + ]; + default = "numbered"; + description = "Workspace naming strategy: numbered (1-6) or named per monitor"; + }; + + monitorVariables = mkOption { + type = types.attrsOf types.str; + default = { }; + example = { + "$mon_top" = "desc:BNQ G2420HDBL T2B04424SL000"; + "$mon_left" = "desc:Samsung Electric Company LS27A600U HNMT502389"; + }; + description = "Monitor name variables for workspace configuration"; + }; + + cursorNoHardware = mkEnableOption "disable hardware cursors"; + }; + + config = mkIf cfg.enable { + home.packages = + with pkgs; + [ + dunst + hyprpaper + rofi + slurp + swww + waybar + wl-clipboard + catppuccin-cursors.macchiatoLavender + bibata-cursors + libsForQt5.qt5.qtwayland + libsForQt5.qt5ct + ] + ++ optional cfg.enableGrimblast grimblast; + + services.hyprpaper = { + enable = true; + settings = { + splash = false; + }; + }; + + services.hypridle = { + enable = true; + settings = { + general = { + lock_cmd = + if cfg.useLockHelper then + "${pkgs.callPackage ../scripts/lockhelper.nix { }}/bin/lockhelper" + else + "${pkgs.hyprlock}/bin/hyprlock"; + ignore_dbus_inhibit = false; + }; + listener = { + timeout = 240; + on-timeout = config.services.hypridle.settings.general.lock_cmd; + before_sleep_cmd = config.services.hypridle.settings.general.lock_cmd; + }; + }; + }; + + programs.hyprlock = { + enable = true; + settings = { + background = map (mon: { + monitor = if mon == null then "" else "desc:${mon}"; + path = "screenshot"; + color = "rgba(17, 17, 17, 1.0)"; + blur_passes = 3; + contrast = 0.8916; + brightness = 0.8172; + vibrancy = 0.1696; + vibrancy_darkness = 0.0; + }) cfg.lockMonitorNames; + + general = { + grace = 0; + }; + + input-field = [ + { + size = "250, 60"; + outline_thickness = 2; + dots_size = 0.2; + dots_spacing = 0.2; + dots_center = true; + outer_color = "rgba(0, 0, 0, 0)"; + inner_color = "rgba(0, 0, 0, 0.5)"; + font_color = "rgb(200, 200, 200)"; + fade_on_empty = false; + font_family = "JetBrains Mono Nerd Font Mono"; + placeholder_text = "Input Password..."; + hide_input = false; + position = "0, -120"; + halign = "center"; + valign = "center"; + } + ]; + + label = [ + { + text = "cmd[update:2000] echo \"$(date +\"%b %d %H:%M\")\""; + color = "rgba(255, 255, 255, 0.6)"; + font_size = 120; + font_family = "JetBrains Mono Nerd Font Mono ExtraBold"; + position = "0, -300"; + halign = "center"; + valign = "top"; + } + ]; + }; + }; + + systemd.user.services = mkIf cfg.enableStreamController { + streamcontroller = { + Unit = { + Description = "Streamcontroller service"; + PartOf = [ "graphical-session.target" ]; + After = [ "graphical-session.target" ]; + Requisite = [ "graphical-session.target" ]; + }; + + Service = { + ExecStart = "${pkgs.streamcontroller}/bin/streamcontroller -b"; + Restart = "on-failure"; + }; + + Install = { + WantedBy = [ "graphical-session.target" ]; + }; + }; + }; + + wayland.windowManager.hyprland = { + enable = true; + package = pkgs.hyprland; + systemd.enable = false; + settings = { + "$mainMod" = "SUPER"; + "$shiftMainMod" = "SUPER_SHIFT"; + "$term" = "kitty"; + } + // cfg.monitorVariables + // { + monitor = cfg.monitors; + + input = { + kb_layout = "no"; + follow_mouse = 1; + }; + + device = optional cfg.enableWacom { + name = "wacom-one-by-wacom-m-pen"; + }; + + cursor = optionalAttrs cfg.cursorNoHardware { + no_hardware_cursors = true; + }; + + env = [ "XDG_SESSION_TYPE,wayland" ] ++ cfg.extraEnv; + + decoration = { + rounding = 10; + blur = { + enabled = true; + size = 3; + passes = 1; + xray = true; + }; + }; + + general = { + gaps_in = 4; + gaps_out = 10; + border_size = 2; + layout = "dwindle"; + }; + + animations = { + enabled = true; + bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; + animation = [ + "windows, 1, 7, myBezier" + "windowsOut, 1, 7, default, popin 80%" + "border, 1, 10, default" + "borderangle, 1, 8, default" + "fade, 1, 7, default" + "workspaces, 1, 6, default" + "specialWorkspace, 1, 4, default, fade" + ]; + }; + + dwindle = { + pseudotile = true; + preserve_split = true; + special_scale_factor = 0.85; + }; + + master = { + new_status = "master"; + }; + + misc = { + force_default_wallpaper = 0; + disable_hyprland_logo = true; + }; + + ecosystem = { + no_update_news = true; + }; + + windowrule = [ + { + name = "terminal_opacity"; + "match:class" = "kitty"; + opacity = 0.9; + } + ]; + + workspace = + if cfg.workspaceStrategy == "named" then + [ + "name:T1, monitor:$mon_top, persistent:true, default:true" + "name:T2, monitor:$mon_top, persistent:true, default:false" + "name:L1, monitor:$mon_left, persistent:true, default:true" + "name:L2, monitor:$mon_left, persistent:true, default:false" + "name:R1, monitor:$mon_right, persistent:true, default:true" + "name:R2, monitor:$mon_right, persistent:true, default:false" + "name:c1, monitor:$mon_center, persistent:true, default:true" + "name:c2, monitor:$mon_center, persistent:true, default:false" + "name:c3, monitor:$mon_center, persistent:true, default:false" + "name:c4, monitor:$mon_center, persistent:true, default:false" + "special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false" + ] + else + [ "special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false" ]; + + bindm = [ + "$mainMod,mouse:272,movewindow" + "$shiftMainMod,mouse:272,resizewindow" + ]; + + bind = [ + # term + "$mainMod,Return,exec,$term" + # rofi + "$mainMod,D,exec,rofi-launcher" + "$mainMod,P,exec,rofi-rbw" + # hyprlock + "$shiftMainMod,l,exec,${ + if cfg.useLockHelper then + "${pkgs.callPackage ../scripts/lockhelper.nix { }}/bin/lockhelper" + else + "${pkgs.hyprlock}/bin/hyprlock" + }" + # hyprland + "$mainMod,Q,killactive," + "CTRLALT,Delete,exit," + "$mainMod,Space,togglefloating," + "$mainMod,F,fullscreen," + # focus + "$mainMod,l,movefocus,l" + "$mainMod,h,movefocus,r" + "$mainMod,k,movefocus,u" + "$mainMod,j,movefocus,d" + # move + "$mainMod,h,movewindow,l" + "$mainMod,l,movewindow,r" + "$mainMod,k,movewindow,u" + "$mainMod,j,movewindow,d" + # Force opacity + "$shiftMainMod,o,exec, hl-no-opacity" + ] + ++ cfg.extraKeybinds + ++ ( + if cfg.workspaceStrategy == "numbered" then + [ + "$mainMod,1,workspace,1" + "$mainMod,2,workspace,2" + "$mainMod,3,workspace,3" + "$mainMod,4,workspace,4" + "$mainMod,5,workspace,5" + "$mainMod,6,workspace,6" + "$shiftMainMod,1,movetoworkspace,1" + "$shiftMainMod,2,movetoworkspace,2" + "$shiftMainMod,3,movetoworkspace,3" + "$shiftMainMod,4,movetoworkspace,4" + "$shiftMainMod,5,movetoworkspace,5" + "$shiftMainMod,5,movetoworkspace,6" + ] + else + [ + "$mainMod,1,workspace,name:c1" + "$mainMod,2,workspace,name:c2" + "$mainMod,3,workspace,name:c3" + "$mainMod,4,workspace,name:c4" + "$mainMod,5,workspace,5" + "$mainMod,6,workspace,6" + "$shiftMainMod,1,movetoworkspace,name:c1" + "$shiftMainMod,2,movetoworkspace,name:c2" + "$shiftMainMod,3,movetoworkspace,name:c3" + "$shiftMainMod,4,movetoworkspace,name:c4" + "$shiftMainMod,5,movetoworkspace,5" + "$shiftMainMod,6,movetoworkspace,6" + ] + ) + ++ [ + # Special workspace + "$mainMod,c,togglespecialworkspace" + "$shiftMainMod,c,movetoworkspace, special" + ]; + + exec-once = [ ]; + }; + }; + }; +} diff --git a/home/hyprland/gunter.nix b/home/hyprland/gunter.nix deleted file mode 100644 index 9d5365b..0000000 --- a/home/hyprland/gunter.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - imports = [ - ./hyprland_gunter.nix - ./waybar - ./xdg.nix - ./cursor.nix - ]; -} diff --git a/home/hyprland/hyprland_gunter.nix b/home/hyprland/hyprland_gunter.nix deleted file mode 100644 index 07f8e5e..0000000 --- a/home/hyprland/hyprland_gunter.nix +++ /dev/null @@ -1,384 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: -let - lockhelper = pkgs.callPackage ../scripts/lockhelper.nix { }; - monitorTopDesc = "BNQ G2420HDBL T2B04424SL000"; - monitorTopName = "desc:${monitorTopDesc}"; - monitorTopHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorTopDesc); - - monitorLeftDesc = "Samsung Electric Company LS27A600U HNMT502389"; - monitorLeftName = "desc:${monitorLeftDesc}"; - monitorLeftHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorLeftDesc); - - monitorCenterDesc = "Acer Technologies XB271HU #ASPVEKfgZ8Dd"; - monitorCenterName = "desc:${monitorCenterDesc}"; - monitorCenterHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorCenterDesc); - - monitorRightDesc = "Samsung Electric Company LS27A600U HNMT502390"; - monitorRightName = "desc:${monitorRightDesc}"; - monitorRightHash = builtins.substring 0 8 (builtins.hashString "sha256" monitorRightDesc); - -in -{ - options.hyprland.enable = lib.mkEnableOption "Hyprland"; - config = { - home.packages = with pkgs; [ - dunst - rofi - slurp - swww - waybar - wl-clipboard - catppuccin-cursors.macchiatoLavender - bibata-cursors - # For potentially fixing some issues - libsForQt5.qt5.qtwayland - libsForQt5.qt5ct - ]; - - services.hyprpaper = { - enable = true; - settings = { - splash = false; - }; - }; - services.hypridle = { - enable = true; - settings = { - general = { - lock_cmd = "${pkgs.hyprlock}/bin/hyprlock"; - before_sleep_cmd = "${lockhelper}/bin/lockhelper"; - ignore_dbus_inhibit = false; - }; - listener = { - timeout = 240; - on-timeout = "${lockhelper}/bin/lockhelper"; - }; - }; - }; - - programs.hyprlock = { - enable = true; - settings = { - background = [ - { - monitor = monitorTopName; - # path = "/tmp/lockscreen/${monitorTopHash}.png"; - path = "screenshot"; - color = "rgba(17, 17, 17, 1.0)"; - blur_passes = 3; - contrast = 0.8916; - brightness = 0.8172; - vibrancy = 0.1696; - vibrancy_darkness = 0.0; - } - { - monitor = monitorLeftName; - # path = "/tmp/lockscreen/${monitorLeftHash}.png"; - path = "screenshot"; - color = "rgba(17, 17, 17, 1.0)"; - blur_passes = 3; - contrast = 0.8916; - brightness = 0.8172; - vibrancy = 0.1696; - vibrancy_darkness = 0.0; - zindex = 1; - } - { - monitor = monitorCenterName; - # path = "/tmp/lockscreen/${monitorCenterHash}.png"; - path = "screenshot"; - color = "rgba(17, 17, 17, 1.0)"; - blur_passes = 3; - contrast = 0.8916; - brightness = 0.8172; - vibrancy = 0.1696; - vibrancy_darkness = 0.0; - } - { - monitor = monitorRightName; - # path = "/tmp/lockscreen/${monitorRightHash}.png"; - path = "screenshot"; - color = "rgba(17, 17, 17, 1.0)"; - blur_passes = 3; - contrast = 0.8916; - brightness = 0.8172; - vibrancy = 0.1696; - vibrancy_darkness = 0.0; - } - ]; - - general = { - grace = 0; - }; - - input-field = [ - { - size = "250, 60"; - outline_thickness = 2; - dots_size = 0.2; - dots_spacing = 0.2; - dots_center = true; - outer_color = "rgba(0, 0, 0, 0)"; - inner_color = "rgba(0, 0, 0, 0.5)"; - font_color = "rgb(200, 200, 200)"; - fade_on_empty = false; - font_family = "JetBrains Mono Nerd Font Mono"; - placeholder_text = "Input Password..."; - hide_input = false; - position = "0, -120"; - halign = "center"; - valign = "center"; - } - ]; - - label = [ - { - text = "cmd[update:2000] echo \"$(date +\"%b %d %H:%M\")\""; - color = "rgba(255, 255, 255, 0.6)"; - font_size = 120; - font_family = "JetBrains Mono Nerd Font Mono ExtraBold"; - position = "0, -300"; - halign = "center"; - valign = "top"; - } - ]; - }; - }; - - # streamcontroller service - - systemd.user.services = { - streamcontroller = { - Unit = { - Description = "Streamcontroller service"; - PartOf = [ "graphical-session.target" ]; - After = [ "graphical-session.target" ]; - Requisite = [ "graphical-session.target" ]; - }; - - Service = { - ExecStart = "${pkgs.streamcontroller}/bin/streamcontroller -b"; - Restart = "on-failure"; - }; - - Install = { - WantedBy = [ "graphical-session.target" ]; - }; - }; - }; - - wayland.windowManager.hyprland = { - enable = true; - package = pkgs.hyprland; - systemd.enable = false; - settings = { - "$mainMod" = "SUPER"; - "$shiftMainMod" = "SUPER_SHIFT"; - "$term" = "kitty"; - - # monitors - "$mon_top" = monitorTopName; - "$mon_left" = monitorLeftName; - "$mon_center" = monitorCenterName; - "$mon_right" = monitorRightName; - - monitor = [ - "$mon_top,1920x1080@60,2560x0,1" # top T2B04424SL000 - # "DP-8,1920x1080@60,2560x0,1" # top T2B04424SL000 60 - "$mon_left,2560x1440@75,0x1080,1" # left - # "DP-6,2560x1440@75,0x1080,1" # left 75hz - "$mon_center,2560x1440@120,2560x1080,1" # main #ASPVEKfgZ8Dd - # "DP-4,2560x1440@144,2560x1080,1" # main #ASPVEKfgZ8Dd 120hz - "$mon_right,2560x1440@75,5120x1080,1" # right - # "DP-7,2560x1440@75,5120x1080,1" # right 75hz - ]; - input = { - kb_layout = "no"; - follow_mouse = 1; - }; - - device = [ - { - name = "wacom-one-by-wacom-m-pen"; - output = "$mon_center"; - } - ]; - - cursor = { - no_hardware_cursors = true; - }; - - env = [ - "LIBVA_DRIVER_NAME,nvidia" - "XDG_SESSION_TYPE,wayland" - "GBM_BACKEND,nvidia-drm" - # "__GLX_VENDOR_LIBRARY_NAME,nvidia" - "WLR_NO_HARDWARE_CURSORS,1" - ]; - - decoration = { - rounding = 10; - blur = { - enabled = true; - size = 3; - passes = 1; - xray = true; - }; - }; - - general = { - gaps_in = 4; - gaps_out = 10; - border_size = 2; - layout = "dwindle"; - }; - - ecosystem = { - no_update_news = true; - }; - - animations = { - enabled = true; - bezier = [ - "myBezier, 0.05, 0.9, 0.1, 1.05" - "easeInB, 0.6, -0.28, 0.735, 0.045" - ]; - - animation = [ - "windows, 1, 7, myBezier" - "windowsOut, 1, 7, default, popin 80%" - "border, 1, 10, default" - "borderangle, 1, 8, default" - "fade, 1, 7, default" - "workspaces, 1, 6, easeInB, slidefadevert" - "specialWorkspace, 1, 4, default, fade" - ]; - }; - - dwindle = { - pseudotile = true; - preserve_split = true; - special_scale_factor = 0.85; - }; - - master = { - new_status = "master"; - }; - - misc = { - force_default_wallpaper = 0; - disable_hyprland_logo = true; - }; - - windowrule = [ - { - name = "terminal_opacity"; - "match:class" = "kitty"; - opacity = 0.9; - } - ]; - - workspace = [ - "name:T1, monitor:$mon_top, persistent:true, default:true" - "name:T2, monitor:$mon_top, persistent:true, default:false" - "name:L1, monitor:$mon_left, persistent:true, default:true" - "name:L2, monitor:$mon_left, persistent:true, default:false" - "name:R1, monitor:$mon_right, persistent:true, default:true" - "name:R2, monitor:$mon_right, persistent:true, default:false" - "name:c1, monitor:$mon_center, persistent:true, default:true" - "name:c2, monitor:$mon_center, persistent:true, default:false" - "name:c3, monitor:$mon_center, persistent:true, default:false" - "name:c4, monitor:$mon_center, persistent:true, default:false" - "special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false" - ]; - - bindm = [ - "$mainMod,mouse:272,movewindow" - "$shiftMainMod,mouse:272,resizewindow" - ]; - - bindr = [ - # mumble ptt release - # ",code:202,exec,mumble rpc stoptalking" - # ",code:202,exec,pamixer --source 63 -m" - # ",code:202,exec,sleep 0.5 && pamixer --default-source -m" - ]; - - bind = [ - # term - "$mainMod,Return,exec,$term" - - # hyprlock - "$shiftMainMod,l,exec,${lockhelper}/bin/lockhelper" - - # rofi - "$mainMod,D,exec,rofi-launcher" - "$mainMod,P,exec,rofi-rbw" - - # hyprland - "$mainMod,Q,killactive," - "CTRLALT,Delete,exit," - "$mainMod,Space,togglefloating," - "$mainMod,F,fullscreen," - - # focus - "$mainMod,l,movefocus,l" - "$mainMod,h,movefocus,r" - "$mainMod,k,movefocus,u" - "$mainMod,j,movefocus,d" - - # move - "$mainMod,h,movewindow,l" - "$mainMod,l,movewindow,r" - "$mainMod,k,movewindow,u" - "$mainMod,j,movewindow,d" - - # Force opacity - "$shiftMainMod,o,exec, hl-no-opacity" - - # grimblast - "$mainMod,Print,exec,grimblast save active ~/tmp/$(date -Iseconds).png" - "$shiftMainMod,Print,exec,grimblast copy area" - ",Print,exec,grimblast copy active" - - # mumble ptt click - # ",code:202,exec,mumble rpc starttalking" - #",code:202,pass,^(info\.mumble\.Mumble)$" - # ",code:202,exec,pamixer --default-source -u" - ",code:202,pass,^discord$" - - # Paste to wtype - "$mainMod,v,exec,sleep 0.5s && wl-paste | wtype -" - - # worspace switching - "$mainMod,1,workspace,name:c1" - "$mainMod,2,workspace,name:c2" - "$mainMod,3,workspace,name:c3" - "$mainMod,4,workspace,name:c4" - "$mainMod,5,workspace,5" - "$mainMod,6,workspace,6" - - # Move window to workspace - "$shiftMainMod,1,movetoworkspace,name:c1" - "$shiftMainMod,2,movetoworkspace,name:c2" - "$shiftMainMod,3,movetoworkspace,name:c3" - "$shiftMainMod,4,movetoworkspace,name:c4" - "$shiftMainMod,5,movetoworkspace,5" - "$shiftMainMod,6,movetoworkspace,6" - - # Special workspace - "$mainMod,c,togglespecialworkspace" - "$shiftMainMod,c,movetoworkspace, special" - ]; - - exec-once = [ - ]; - }; - }; - }; -} diff --git a/home/hyprland/hyprland_magicman.nix b/home/hyprland/hyprland_magicman.nix deleted file mode 100644 index c80a50c..0000000 --- a/home/hyprland/hyprland_magicman.nix +++ /dev/null @@ -1,242 +0,0 @@ -{ - pkgs, - lib, - ... -}: -{ - options.hyprland.enable = lib.mkEnableOption "Hyprland"; - config = { - home.packages = with pkgs; [ - dunst - # hyprlock - hyprpaper - rofi - slurp - swww - waybar - wl-clipboard - catppuccin-cursors.macchiatoLavender - bibata-cursors - # For potentially fixing some issues - libsForQt5.qt5.qtwayland - libsForQt5.qt5ct - ]; - - services.hyprpaper = { - enable = true; - settings = { - splash = false; - }; - }; - - services.hypridle = { - enable = true; - settings = { - general = { - lock_cmd = "${pkgs.hyprlock}/bin/hyprlock"; - before_sleep_cmd = "${pkgs.hyprlock}/bin/hyprlock"; - ignore_dbus_inhibit = false; - }; - listener = { - timeout = 240; - on-timeout = "${pkgs.hyprlock}/bin/hyprlock"; - }; - }; - }; - - programs.hyprlock = { - enable = true; - settings = { - background = [ - { - monitor = ""; - path = "screenshot"; - color = "rgba(17, 17, 17, 1.0)"; - blur_passes = 3; - contrast = 0.8916; - brightness = 0.8172; - vibrancy = 0.1696; - vibrancy_darkness = 0.0; - } - ]; - - general = { - grace = 0; - }; - - input-field = [ - { - size = "250, 60"; - outline_thickness = 2; - dots_size = 0.2; - dots_spacing = 0.2; - dots_center = true; - outer_color = "rgba(0, 0, 0, 0)"; - inner_color = "rgba(0, 0, 0, 0.5)"; - font_color = "rgb(200, 200, 200)"; - fade_on_empty = false; - font_family = "JetBrains Mono Nerd Font Mono"; - placeholder_text = "Input Password..."; - hide_input = false; - position = "0, -120"; - halign = "center"; - valign = "center"; - } - ]; - - label = [ - { - text = "cmd[update:2000] echo \"$(date +\"%b %d %H:%M\")\""; - color = "rgba(255, 255, 255, 0.6)"; - font_size = 120; - font_family = "JetBrains Mono Nerd Font Mono ExtraBold"; - position = "0, -300"; - halign = "center"; - valign = "top"; - } - ]; - }; - }; - - wayland.windowManager.hyprland = { - enable = true; - package = pkgs.hyprland; - settings = { - "$mainMod" = "SUPER"; - "$shiftMainMod" = "SUPER_SHIFT"; - "$term" = "kitty"; - - monitor = [ "eDP-1,1920x1080@60,0x0,1" ]; - input = { - kb_layout = "no"; - follow_mouse = 1; - }; - - env = [ "XDG_SESSION_TYPE,wayland" ]; - - decoration = { - rounding = 10; - blur = { - enabled = true; - size = 3; - passes = 1; - xray = true; - }; - }; - - general = { - gaps_in = 4; - gaps_out = 10; - border_size = 2; - layout = "dwindle"; - }; - - animations = { - enabled = true; - bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; - animation = [ - "windows, 1, 7, myBezier" - "windowsOut, 1, 7, default, popin 80%" - "border, 1, 10, default" - "borderangle, 1, 8, default" - "fade, 1, 7, default" - "workspaces, 1, 6, default" - "specialWorkspace, 1, 4, default, fade" - ]; - }; - dwindle = { - pseudotile = true; - preserve_split = true; - special_scale_factor = 0.85; - }; - master = { - new_status = "master"; - }; - misc = { - force_default_wallpaper = 0; - disable_hyprland_logo = true; - }; - - ecosystem = { - no_update_news = true; - }; - - windowrule = [ - { - name = "terminal_opacity"; - "match:class" = "kitty"; - opacity = 0.9; - } - ]; - - workspace = [ - "special:special, on-created-empty:kitty, rounding:true, decorate:false, border:false" - ]; - - bindm = [ - "$mainMod,mouse:272,movewindow" - "$shiftMainMod,mouse:272,resizewindow" - ]; - - bindr = [ - ]; - - bind = [ - # term - "$mainMod,Return,exec,$term" - - # rofi - "$mainMod,D,exec,rofi-launcher" - "$mainMod,P,exec,rofi-rbw" - - # hyprlock - "$shiftMainMod,l,exec,${pkgs.hyprlock}/bin/hyprlock" - - # hyprland - "$mainMod,Q,killactive," - "CTRLALT,Delete,exit," - "$mainMod,Space,togglefloating," - "$mainMod,F,fullscreen," - - # focus - "$mainMod,l,movefocus,l" - "$mainMod,h,movefocus,r" - "$mainMod,k,movefocus,u" - "$mainMod,j,movefocus,d" - - # move - "$mainMod,h,movewindow,l" - "$mainMod,l,movewindow,r" - "$mainMod,k,movewindow,u" - "$mainMod,j,movewindow,d" - - # Force opacity - "$shiftMainMod,o,exec, hl-no-opacity" - - # worspace switching - "$mainMod,1,workspace,1" - "$mainMod,2,workspace,2" - "$mainMod,3,workspace,3" - "$mainMod,4,workspace,4" - "$mainMod,5,workspace,5" - "$mainMod,6,workspace,6" - - # Move window to workspace - "$shiftMainMod,1,movetoworkspace,1" - "$shiftMainMod,2,movetoworkspace,2" - "$shiftMainMod,3,movetoworkspace,3" - "$shiftMainMod,4,movetoworkspace,4" - "$shiftMainMod,5,movetoworkspace,5" - "$shiftMainMod,5,movetoworkspace,6" - - # Special workspace - "$mainMod,c,togglespecialworkspace" - "$shiftMainMod,c,movetoworkspace, special" - ]; - - exec-once = [ - ]; - }; - }; - }; -} diff --git a/home/hyprland/hyprland_prismo.nix b/home/hyprland/hyprland_prismo.nix deleted file mode 100644 index c15c147..0000000 --- a/home/hyprland/hyprland_prismo.nix +++ /dev/null @@ -1,159 +0,0 @@ -{ - inputs, - pkgs, - lib, - config, - ... -}: -{ - options.hyprland.enable = lib.mkEnableOption "Hyprland"; - config = { - home.packages = with pkgs; [ - dunst - # hyprlock - hyprpaper - rofi-wayland - slurp - swww - waybar - wl-clipboard - catppuccin-cursors.macchiatoLavender - bibata-cursors - # For potentially fixing some issues - libsForQt5.qt5.qtwayland - libsForQt5.qt5ct - ]; - - wayland.windowManager.hyprland = { - enable = true; - package = pkgs.hyprland; - settings = { - "$mainMod" = "SUPER"; - "$shiftMainMod" = "SUPER_SHIFT"; - "$term" = "kitty"; - - monitor = [ ]; - input = { - kb_layout = "no"; - follow_mouse = 1; - }; - - env = [ "XDG_SESSION_TYPE,wayland" ]; - - decoration = { - rounding = 0; - drop_shadow = true; - shadow_range = 4; - shadow_render_power = 3; - blur = { - enabled = true; - size = 3; - passes = 1; - xray = true; - }; - }; - - general = { - gaps_in = 4; - gaps_out = 10; - border_size = 2; - layout = "dwindle"; - }; - - animations = { - enabled = true; - bezier = "myBezier, 0.05, 0.9, 0.1, 1.05"; - animation = [ - "windows, 1, 7, myBezier" - "windowsOut, 1, 7, default, popin 80%" - "border, 1, 10, default" - "borderangle, 1, 8, default" - "fade, 1, 7, default" - "workspaces, 1, 6, default" - ]; - }; - dwindle = { - pseudotile = true; - preserve_split = true; - }; - master = { - new_status = "master"; - }; - misc.force_default_wallpaper = -1; - - windowrulev2 = [ - "opacity 0.95 override 0.7 override,class:^(Alacritty)$" - "opacity 0.95 override 0.7 override,class:^(kitty)$" - ]; - - workspace = [ - "name:mumble, monitor:$mon_top, persistent:true, default:true" - "name:left, monitor:$mon_left, persistent:true, default:true" - "name:right, monitor:$mon_right, persistent:true, default:true" - "name:main 1, monitor:$mon_center, persistent:true, default:true" - "name:main 2, monitor:$mon_center, persistent:true, default:true" - ]; - - bindm = [ "ALT,mouse:272,movewindow" ]; - - bindr = [ - # mumble ptt release - # ",code:202,exec,mumble rpc stoptalking" - # ",code:202,exec,pamixer --source 63 -m" - # ",code:202,exec,sleep 0.5 && pamixer --default-source -m" - ]; - - bind = [ - # term - "$mainMod,Return,exec,$term" - - # rofi - "$mainMod,D,exec,rofi-launcher" - "$mainMod,P,exec,rofi-rbw" - - # hyprland - "$mainMod,Q,killactive," - "CTRLALT,Delete,exit," - "$mainMod,Space,togglefloating," - "$mainMod,F,fullscreen," - - # focus - "$mainMod,l,movefocus,l" - "$mainMod,h,movefocus,r" - "$mainMod,k,movefocus,u" - "$mainMod,j,movefocus,d" - - # move - "$mainMod,h,movewindow,l" - "$mainMod,l,movewindow,r" - "$mainMod,k,movewindow,u" - "$mainMod,j,movewindow,d" - - # Force opacity - "$shiftMainMod,o,exec, hl-no-opacity" - - # mumble ptt click - # ",code:202,exec,mumble rpc starttalking" - #",code:202,pass,^(info\.mumble\.Mumble)$" - # ",code:202,exec,pamixer --default-source -u" - ",code:202,pass,^discord$" - - # worspace switching - "$mainMod,1,workspace,name:main 1" - "$mainMod,2,workspace,name:main 2" - "$mainMod,3,workspace,3" - "$mainMod,4,workspace,4" - "$mainMod,5,workspace,5" - "$mainMod,6,workspace,6" - ]; - - exec-once = [ - "waybar" - "hyprpaper & sleep 2 && randomwp" - "easyeffects --gapplication-service" - # "dunst" - ]; - }; - }; - }; -} diff --git a/home/hyprland/magicman.nix b/home/hyprland/magicman.nix deleted file mode 100644 index 5657853..0000000 --- a/home/hyprland/magicman.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - imports = [ - ./hyprland_magicman.nix - ./waybar - ./xdg.nix - ./cursor.nix - ]; -} diff --git a/home/hyprland/prismo.nix b/home/hyprland/prismo.nix deleted file mode 100644 index 5ecd4ac..0000000 --- a/home/hyprland/prismo.nix +++ /dev/null @@ -1,8 +0,0 @@ -{ - imports = [ - ./hyprland_prismo.nix - ./waybar - ./xdg.nix - ./cursor.nix - ]; -}