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
- ];
-}