diff --git a/users/willifan/desktop/hyprland/Lenni/default.nix b/users/willifan/desktop/hyprland/Lenni/default.nix index 4e62637..9681106 100644 --- a/users/willifan/desktop/hyprland/Lenni/default.nix +++ b/users/willifan/desktop/hyprland/Lenni/default.nix @@ -6,5 +6,14 @@ ./hypridle.nix ./hyprlock.nix ./kanshi.nix + + ./fuzzel.nix + ./hyprland.nix + ./hyprpaper.nix + ./mako.nix + ./pipewire.nix + ./polkit.nix + ./utils.nix + ./wlogout.nix ]; } diff --git a/users/willifan/desktop/hyprland/common/fuzzel.nix b/users/willifan/desktop/hyprland/Lenni/fuzzel.nix similarity index 100% rename from users/willifan/desktop/hyprland/common/fuzzel.nix rename to users/willifan/desktop/hyprland/Lenni/fuzzel.nix diff --git a/users/willifan/desktop/hyprland/common/hyprland.nix b/users/willifan/desktop/hyprland/Lenni/hyprland.nix similarity index 91% rename from users/willifan/desktop/hyprland/common/hyprland.nix rename to users/willifan/desktop/hyprland/Lenni/hyprland.nix index db06e41..a31522f 100644 --- a/users/willifan/desktop/hyprland/common/hyprland.nix +++ b/users/willifan/desktop/hyprland/Lenni/hyprland.nix @@ -23,16 +23,16 @@ ]; # Execute your favorite apps at launch exec-once = [ - ''hyprctl dispatch exec "[workspace 1 silent] kitty"'' - ''hyprctl dispatch exec "[workspace 2 silent] zen"'' + ''hyprctl dispatch exec "[workspace 1 silent] zen"'' + ''hyprctl dispatch exec "[workspace 2 silent] kitty"'' #''hyprctl dispatch exec "[workspace 3 silent] "'' #''hyprctl dispatch exec "[workspace 4 silent] "'' #''hyprctl dispatch exec "[workspace 8 silent] "'' ''hyprctl dispatch exec "[workspace 9 silent] vesktop"'' ''hyprctl dispatch exec "[workspace special:ctrl silent] thunar"'' ''hyprctl dispatch exec "[workspace special:alt silent] obsidian"'' - ''hyprctl dispatch exec "[workspace special:altgr silent] thunderbird"'' - #''exec-once = hyprctl dispatch exec "[workspace special:strg silent] "'' + #''hyprctl dispatch exec "[workspace special:altgr silent]"'' + #''hyprctl dispatch exec "[workspace special:strg silent] "'' ]; xwayland.force_zero_scaling = true; @@ -130,12 +130,6 @@ "center, title:^(Enpass Assistant)$" "float, ^(Enpass)$" "center, ^(Enpass)$" - "float, ^(blueman-manager)$" - "move -0% 0%, ^(blueman-manager)$" - "float, ^(org.gnome.Calendar)$" - "move 20% 5%, ^(org.gnome.Calendar)$" - "size 60% 60%, ^(org.gnome.Calendar)$" - "float, ^(org.gnome.Calculator)$" ]; windowrulev2 = [ @@ -156,10 +150,7 @@ ''$mainMod, E, exec, thunar'' ''$mainMod, V, togglefloating, '' ''$mainMod, R, exec, fuzzel'' - ''$mainMod, J, togglesplit, # dwindle'' ''$mainMod, P, exec, Enpass'' - ''$mainMod, T, exec, hyprctl dispatch exec "[float; pin; size 40% 40%; move 100%-41% 40] kitty btop -b proc"'' - ''$mainMod, W, exec, networkmanager_dmenu'' ''$mainMod, F, fullscreen'' # Move focus with mainMod + arrow keys diff --git a/users/willifan/desktop/hyprland/common/hyprpaper.nix b/users/willifan/desktop/hyprland/Lenni/hyprpaper.nix similarity index 100% rename from users/willifan/desktop/hyprland/common/hyprpaper.nix rename to users/willifan/desktop/hyprland/Lenni/hyprpaper.nix diff --git a/users/willifan/desktop/hyprland/common/mako.nix b/users/willifan/desktop/hyprland/Lenni/mako.nix similarity index 100% rename from users/willifan/desktop/hyprland/common/mako.nix rename to users/willifan/desktop/hyprland/Lenni/mako.nix diff --git a/users/willifan/desktop/hyprland/common/pipewire.nix b/users/willifan/desktop/hyprland/Lenni/pipewire.nix similarity index 100% rename from users/willifan/desktop/hyprland/common/pipewire.nix rename to users/willifan/desktop/hyprland/Lenni/pipewire.nix diff --git a/users/willifan/desktop/hyprland/common/polkit.nix b/users/willifan/desktop/hyprland/Lenni/polkit.nix similarity index 100% rename from users/willifan/desktop/hyprland/common/polkit.nix rename to users/willifan/desktop/hyprland/Lenni/polkit.nix diff --git a/users/willifan/desktop/hyprland/common/utils.nix b/users/willifan/desktop/hyprland/Lenni/utils.nix similarity index 100% rename from users/willifan/desktop/hyprland/common/utils.nix rename to users/willifan/desktop/hyprland/Lenni/utils.nix diff --git a/users/willifan/desktop/hyprland/common/wlogout.nix b/users/willifan/desktop/hyprland/Lenni/wlogout.nix similarity index 100% rename from users/willifan/desktop/hyprland/common/wlogout.nix rename to users/willifan/desktop/hyprland/Lenni/wlogout.nix diff --git a/users/willifan/desktop/hyprland/Lillie/default.nix b/users/willifan/desktop/hyprland/Lillie/default.nix index 9913631..e6bedc1 100644 --- a/users/willifan/desktop/hyprland/Lillie/default.nix +++ b/users/willifan/desktop/hyprland/Lillie/default.nix @@ -1,4 +1,17 @@ { ... }: + { + programs.hyprland.enable = true; + imports = [ + ./fuzzel.nix + ./hyprland.nix + ./hyprpaper.nix + ./mako.nix + ./pipewire.nix + ./polkit.nix + ./utils.nix + ./wlogout.nix + ]; -} \ No newline at end of file + +} diff --git a/users/willifan/desktop/hyprland/Lillie/fuzzel.nix b/users/willifan/desktop/hyprland/Lillie/fuzzel.nix new file mode 100644 index 0000000..518fabd --- /dev/null +++ b/users/willifan/desktop/hyprland/Lillie/fuzzel.nix @@ -0,0 +1,15 @@ +{ ... }: +{ + home-manager.users.willifan = { + programs.fuzzel = { + enable = true; + settings = { + main = { + lines = 12; + width = 45; + line-height = 20; + }; + }; + }; + }; +} diff --git a/users/willifan/desktop/hyprland/Lillie/hyprland.nix b/users/willifan/desktop/hyprland/Lillie/hyprland.nix new file mode 100644 index 0000000..18eecfb --- /dev/null +++ b/users/willifan/desktop/hyprland/Lillie/hyprland.nix @@ -0,0 +1,254 @@ +{ pkgs, ...}: +{ + home-manager.users.willifan = { + wayland.windowManager.hyprland = { + enable = true; + systemd.variables = ["--all"]; + package = pkgs.hyprland; + settings = { + + + "$SCRIPTS" = "$XDG_CONFIG_HOME/desktop-utils/scripts"; + + misc = { + disable_hyprland_logo=true; + }; + + monitor = [ + ", preffered, auto, 1" + "eDP-1, 1280x800, 0x0, 1.5, transform, 1" + ]; + # Execute your favorite apps at launch + exec-once = [ + ''hyprctl dispatch exec "[workspace 1 silent] kitty"'' + ''hyprctl dispatch exec "[workspace 2 silent] zen"'' + #''hyprctl dispatch exec "[workspace 3 silent] "'' + #''hyprctl dispatch exec "[workspace 4 silent] "'' + #''hyprctl dispatch exec "[workspace 8 silent] "'' + ''hyprctl dispatch exec "[workspace 9 silent] vesktop"'' + ''hyprctl dispatch exec "[workspace special:ctrl silent] thunar"'' + ''hyprctl dispatch exec "[workspace special:alt silent] obsidian"'' + #''hyprctl dispatch exec "[workspace special:altgr silent]"'' + #''hyprctl dispatch exec "[workspace special:strg silent] "'' + ]; + + xwayland.force_zero_scaling = true; + + input = { + kb_layout = "us"; + kb_variant = ""; + kb_model = ""; + kb_options = "compose:menu"; + kb_rules = ""; + + follow_mouse = 1; + + touchpad.natural_scroll = "yes"; + + sensitivity = -0.8; # -1.0 - 1.0, 0 means no modification. + numlock_by_default = 1; + special_fallthrough = true; + }; + + + + general = { + + gaps_in = 2; + gaps_out = 5; + border_size = 2; +# "col.active_border" = "rgba(ffa44bee)"; +# "col.inactive_border" = "rgba(595959aa)"; + + layout = "dwindle"; + + resize_on_border = true; + }; + + decoration = { + + rounding = 10; + + blur = { + enabled = false; + size = 3; + passes = 1; + new_optimizations = 1; + }; + + drop_shadow = "yes"; + shadow_range = 4; + shadow_render_power = 3; +# "col.shadow" = "rgba(1a1a1aee)"; + }; + + misc = { + vfr = true; + mouse_move_enables_dpms = true; + }; + + animations = { + enabled = "yes"; + + 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, 8, default, slidefadevert 20%" + ]; + }; + + dwindle = { + pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = "yes"; # you probably want this + }; + + gestures = { + workspace_swipe = "on"; + workspace_swipe_create_new = "false"; + }; + + device = { + name = "pixa3854:00-093a:0274-touchpad"; + sensitivity = 0; + natural_scroll = "yes"; + }; + + windowrule = [ + "idleinhibit fullscreen, ^(firefox)$" + "float, ^(thunar)$" + "stayfocused, title:^(Enpass Assistant)$" + "pin, title:^(Enpass Assistant)$" + "center, title:^(Enpass Assistant)$" + "float, ^(Enpass)$" + "center, ^(Enpass)$" + ]; + + windowrulev2 = [ + "center, xwayland:(1)" + "nofocus,class:^jetbrains-(?!toolbox),floating:1,title:^win\d+$" + ''workspace +0, workspace:name:special:ctrl, floating:0'' + ''float, workspace:name:special:altgr, onworkspace:w[2]'' + ''float, workspace:name:special:strg, onworkspace:w[1]'' + ''workspace +0, workspace:name:special:strg, floating:0'' + ]; + + "$mainMod" = "SUPER"; + + bind = [ + ''$mainMod, Q, exec, kitty'' + ''$mainMod, C, killactive, '' + ''$mainMod, M, exit, '' + ''$mainMod, E, exec, thunar'' + ''$mainMod, V, togglefloating, '' + ''$mainMod, R, exec, fuzzel'' + ''$mainMod, P, exec, Enpass'' + ''$mainMod, F, fullscreen'' + + # Move focus with mainMod + arrow keys + ''$mainMod, h, movefocus, l'' + ''$mainMod, l, movefocus, r'' + ''$mainMod, k, movefocus, u'' + ''$mainMod, j, movefocus, d'' + + '', XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle'' + '', XF86AudioPrev, exec, playerctl previous'' + '', XF86AudioPlay, exec, playerctl play-pause'' + '', XF86AudioNext, exec, playerctl next'' + '', print, exec, grim -g "$(slurp)" - | wl-copy -t image/png'' + + # Switch workspaces with mainMod + [0-9] + ''$mainMod, 1, exec, $SCRIPTS/workspaces.sh 1'' + ''$mainMod, 2, exec, $SCRIPTS/workspaces.sh 2'' + ''$mainMod, 3, exec, $SCRIPTS/workspaces.sh 3'' + ''$mainMod, 4, exec, $SCRIPTS/workspaces.sh 4'' + ''$mainMod, 5, exec, $SCRIPTS/workspaces.sh 5'' + ''$mainMod, 6, exec, $SCRIPTS/workspaces.sh 6'' + ''$mainMod, 7, exec, $SCRIPTS/workspaces.sh 7'' + ''$mainMod, 8, exec, $SCRIPTS/workspaces.sh 8'' + ''$mainMod, 9, exec, $SCRIPTS/workspaces.sh 9'' + + # Move active window to a workspace with mainMod + SHIFT + [0-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'' + + # Monitor focus + ''$mainMod ALT, 1, focusmonitor, 0'' + ''$mainMod ALT, 2, focusmonitor, 1'' + ''$mainMod ALT, 3, focusmonitor, 2'' + ''$mainMod ALT, 4, focusmonitor, 3'' + ''$mainMod ALT, 5, focusmonitor, 4'' + ''$mainMod ALT, 6, focusmonitor, 5'' + ''$mainMod ALT, 7, focusmonitor, 6'' + ''$mainMod ALT, 8, focusmonitor, 7'' + ''$mainMod ALT, 9, focusmonitor, 8'' + ''$mainMod ALT, 0, focusmonitor, 9'' + + # Scroll through existing workspaces with mainMod + scroll + ''$mainMod, mouse_down, workspace, e+1'' + ''$mainMod, mouse_up, workspace, e-1'' + ]; + + binde = [ + '', XF86AudioLowerVolume, exec, $SCRIPTS/volume.sh -5'' + '', XF86AudioRaiseVolume, exec, $SCRIPTS/volume.sh 5'' + ]; + + bindel = [ + '', XF86MonBrightnessDown, exec, $SCRIPTS/brightness.sh -4800'' + '', XF86MonBrightnessUp, exec, $SCRIPTS/brightness.sh 4800'' + ]; + + bindr = [ + ''SUPERCTRL, Control_L, togglespecialworkspace, ctrl'' + ''SUPERALT, Alt_L, togglespecialworkspace, alt'' + ''SUPERALT, ALT_R, togglespecialworkspace, altgr'' + ''SUPERCTRL, Control_R, togglespecialworkspace, strg'' + ]; + + bindm = [ + # Move/resize windows with mainMod + LMB/RMB and dragging + ''$mainMod, mouse:272, movewindow'' + ''$mainMod, mouse:273, resizewindow'' + ]; + + # ------------------------------------------ + # ######################################## + # ####### Workspaces ########### + # ######################################## + # ------------------------------------------ + + workspace = [ + "1, persistent:true" + "2, persistent:true" + "3, persistent:true" + "4, persistent:true" + "5, persistent:true" + "6, persistent:true" + "7, persistent:true" + "8, persistent:true" + "8, persistent:true" + "9, persistent:true" + + "name:special:ctrl, persistent:true" + "name:special:alt, persistent:true" + "name:special:altgr, persistent:true" + "name:special:strg, persistent:true" + ]; + + }; + }; + }; +} diff --git a/users/willifan/desktop/hyprland/Lillie/hyprpaper.nix b/users/willifan/desktop/hyprland/Lillie/hyprpaper.nix new file mode 100644 index 0000000..80348a2 --- /dev/null +++ b/users/willifan/desktop/hyprland/Lillie/hyprpaper.nix @@ -0,0 +1,15 @@ +{ ...}: +{ + home-manager.users.willifan = { + services.hyprpaper = { + enable = true; + settings = { + + splash = true; + + ipc = "off"; + + }; + }; + }; +} diff --git a/users/willifan/desktop/hyprland/Lillie/mako.nix b/users/willifan/desktop/hyprland/Lillie/mako.nix new file mode 100644 index 0000000..5cb529c --- /dev/null +++ b/users/willifan/desktop/hyprland/Lillie/mako.nix @@ -0,0 +1,11 @@ +{ ... }: +{ + home-manager.users.willifan = { + services.mako = { + enable = true; + borderRadius = 10; + borderSize = 2; + + }; + }; +} diff --git a/users/willifan/desktop/hyprland/Lillie/pipewire.nix b/users/willifan/desktop/hyprland/Lillie/pipewire.nix new file mode 100644 index 0000000..86b339b --- /dev/null +++ b/users/willifan/desktop/hyprland/Lillie/pipewire.nix @@ -0,0 +1,13 @@ +{ ... }: +{ + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + wireplumber.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + }; +} diff --git a/users/willifan/desktop/hyprland/Lillie/polkit.nix b/users/willifan/desktop/hyprland/Lillie/polkit.nix new file mode 100644 index 0000000..2bcad91 --- /dev/null +++ b/users/willifan/desktop/hyprland/Lillie/polkit.nix @@ -0,0 +1,24 @@ +{ pkgs, ... }: +{ + + environment.systemPackages = with pkgs; [ + polkit_gnome + ]; + + security.polkit.enable = true; + systemd = { + user.services.polkit-gnome-authentication-agent-1 = { + description = "polkit-gnome-authentication-agent-1"; + wantedBy = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + }; +} \ No newline at end of file diff --git a/users/willifan/desktop/hyprland/Lillie/utils.nix b/users/willifan/desktop/hyprland/Lillie/utils.nix new file mode 100644 index 0000000..500f9d3 --- /dev/null +++ b/users/willifan/desktop/hyprland/Lillie/utils.nix @@ -0,0 +1,22 @@ +{ pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + + hyprpicker + hyprcursor + + grim + slurp + wl-clipboard + playerctl + + dconf + + jq + + pulseaudio + inotify-tools + papirus-icon-theme + eww + ]; +} diff --git a/users/willifan/desktop/hyprland/Lillie/wlogout.nix b/users/willifan/desktop/hyprland/Lillie/wlogout.nix new file mode 100644 index 0000000..1753bbd --- /dev/null +++ b/users/willifan/desktop/hyprland/Lillie/wlogout.nix @@ -0,0 +1,83 @@ +{ ...}: +{ + home-manager.users.willifan = { + programs.wlogout = { + enable = true; + layout = [ + { + label = "shutdown"; + action = "systemctl poweroff"; + text = "Shutdown"; + } + { + label = "hyprland"; + action = "hyprctl dispatch exit"; + text = "Exit Hyprland"; + } + { + label = "whatever"; + action = ""; + text = "whatever"; + } + { + label = "reboot"; + action = "systemctl reboot"; + text = "Reboot"; + } + { + label = "suspend"; + action = "systemctl suspend"; + text = "Suspend"; + } + { + label = "hibernate"; + action = "systemctl hibernate"; + text = "Hibernate"; + } + ]; + + style = '' + @import url("file:///home/willifan/.config/gtk-4.0/gtk.css"); + * { + background-image: none; + box-shadow: none; + } + + window { + background-color: rgba(12, 12, 12, 0.9); + } + + button { + border-radius: 10px; + border-color: #ffa44b; + border-style: solid; + border-width: 2px; + background-repeat: no-repeat; + background-position: center; + background-size: 25%; + } + + button:focus, button:active, button:hover { + /*background-color: #3700B3;*/ + outline-style: none; + } + + #suspend { + background-image: image(url("/home/willifan/.config/desktop-utils/images/suspend.png")); + } + + #hibernate { + background-image: image(url("/home/willifan/.config/desktop-utils/images/hibernate.png")); + } + + #shutdown { + background-image: image(url("/home/willifan/.config/desktop-utils/images/shutdown.png")); + } + + #reboot { + background-image: image(url("/home/willifan/.config/desktop-utils/images/reboot.png")); + } + ''; + }; + }; +} diff --git a/users/willifan/desktop/hyprland/Puenktchen/default.nix b/users/willifan/desktop/hyprland/Puenktchen/default.nix index 1e62ab8..171aa86 100644 --- a/users/willifan/desktop/hyprland/Puenktchen/default.nix +++ b/users/willifan/desktop/hyprland/Puenktchen/default.nix @@ -1,8 +1,18 @@ { ... }: -{ +{ + programs.hyprland.enable = true; imports = [ ./autologin.nix + ./fuzzel.nix + ./hyprland.nix + ./hyprpaper.nix + ./mako.nix + ./pipewire.nix + ./polkit.nix + ./utils.nix + ./wlogout.nix ]; + } diff --git a/users/willifan/desktop/hyprland/Puenktchen/fuzzel.nix b/users/willifan/desktop/hyprland/Puenktchen/fuzzel.nix new file mode 100644 index 0000000..518fabd --- /dev/null +++ b/users/willifan/desktop/hyprland/Puenktchen/fuzzel.nix @@ -0,0 +1,15 @@ +{ ... }: +{ + home-manager.users.willifan = { + programs.fuzzel = { + enable = true; + settings = { + main = { + lines = 12; + width = 45; + line-height = 20; + }; + }; + }; + }; +} diff --git a/users/willifan/desktop/hyprland/Puenktchen/hyprland.nix b/users/willifan/desktop/hyprland/Puenktchen/hyprland.nix new file mode 100644 index 0000000..a31522f --- /dev/null +++ b/users/willifan/desktop/hyprland/Puenktchen/hyprland.nix @@ -0,0 +1,257 @@ +{ pkgs, ...}: +{ + home-manager.users.willifan = { + wayland.windowManager.hyprland = { + enable = true; + systemd.variables = ["--all"]; + package = pkgs.hyprland; + settings = { + + + "$SCRIPTS" = "$XDG_CONFIG_HOME/desktop-utils/scripts"; + + misc = { + disable_hyprland_logo=true; + }; + + monitor = [ + ", preffered, auto, 1" + "eDP-1, preferred, 0x0, 1.6" + "desc:ViewSonic Corporation VX2705-2KP W6Z205100250, 2560x1440@144Hz, 0x384, 1.25" + "desc:ViewSonic Corporation VX2705-2KP W6Z210400766, 2560x1440@144Hz, 2048x384, 1.25" + "desc:BNQ BenQ BL2283 CAM01567019, 1920x1080@60Hz, 4096x0, 1.0, transform, 3" + ]; + # Execute your favorite apps at launch + exec-once = [ + ''hyprctl dispatch exec "[workspace 1 silent] zen"'' + ''hyprctl dispatch exec "[workspace 2 silent] kitty"'' + #''hyprctl dispatch exec "[workspace 3 silent] "'' + #''hyprctl dispatch exec "[workspace 4 silent] "'' + #''hyprctl dispatch exec "[workspace 8 silent] "'' + ''hyprctl dispatch exec "[workspace 9 silent] vesktop"'' + ''hyprctl dispatch exec "[workspace special:ctrl silent] thunar"'' + ''hyprctl dispatch exec "[workspace special:alt silent] obsidian"'' + #''hyprctl dispatch exec "[workspace special:altgr silent]"'' + #''hyprctl dispatch exec "[workspace special:strg silent] "'' + ]; + + xwayland.force_zero_scaling = true; + + input = { + kb_layout = "us"; + kb_variant = ""; + kb_model = ""; + kb_options = "compose:menu"; + kb_rules = ""; + + follow_mouse = 1; + + touchpad.natural_scroll = "yes"; + + sensitivity = -0.8; # -1.0 - 1.0, 0 means no modification. + numlock_by_default = 1; + special_fallthrough = true; + }; + + + + general = { + + gaps_in = 2; + gaps_out = 5; + border_size = 2; +# "col.active_border" = "rgba(ffa44bee)"; +# "col.inactive_border" = "rgba(595959aa)"; + + layout = "dwindle"; + + resize_on_border = true; + }; + + decoration = { + + rounding = 10; + + blur = { + enabled = false; + size = 3; + passes = 1; + new_optimizations = 1; + }; + + drop_shadow = "yes"; + shadow_range = 4; + shadow_render_power = 3; +# "col.shadow" = "rgba(1a1a1aee)"; + }; + + misc = { + vfr = true; + mouse_move_enables_dpms = true; + }; + + animations = { + enabled = "yes"; + + 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, 8, default, slidefadevert 20%" + ]; + }; + + dwindle = { + pseudotile = "yes"; # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below + preserve_split = "yes"; # you probably want this + }; + + gestures = { + workspace_swipe = "on"; + workspace_swipe_create_new = "false"; + }; + + device = { + name = "pixa3854:00-093a:0274-touchpad"; + sensitivity = 0; + natural_scroll = "yes"; + }; + + windowrule = [ + "idleinhibit fullscreen, ^(firefox)$" + "float, ^(thunar)$" + "stayfocused, title:^(Enpass Assistant)$" + "pin, title:^(Enpass Assistant)$" + "center, title:^(Enpass Assistant)$" + "float, ^(Enpass)$" + "center, ^(Enpass)$" + ]; + + windowrulev2 = [ + "center, xwayland:(1)" + "nofocus,class:^jetbrains-(?!toolbox),floating:1,title:^win\d+$" + ''workspace +0, workspace:name:special:ctrl, floating:0'' + ''float, workspace:name:special:altgr, onworkspace:w[2]'' + ''float, workspace:name:special:strg, onworkspace:w[1]'' + ''workspace +0, workspace:name:special:strg, floating:0'' + ]; + + "$mainMod" = "SUPER"; + + bind = [ + ''$mainMod, Q, exec, kitty'' + ''$mainMod, C, killactive, '' + ''$mainMod, M, exit, '' + ''$mainMod, E, exec, thunar'' + ''$mainMod, V, togglefloating, '' + ''$mainMod, R, exec, fuzzel'' + ''$mainMod, P, exec, Enpass'' + ''$mainMod, F, fullscreen'' + + # Move focus with mainMod + arrow keys + ''$mainMod, h, movefocus, l'' + ''$mainMod, l, movefocus, r'' + ''$mainMod, k, movefocus, u'' + ''$mainMod, j, movefocus, d'' + + '', XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle'' + '', XF86AudioPrev, exec, playerctl previous'' + '', XF86AudioPlay, exec, playerctl play-pause'' + '', XF86AudioNext, exec, playerctl next'' + '', print, exec, grim -g "$(slurp)" - | wl-copy -t image/png'' + + # Switch workspaces with mainMod + [0-9] + ''$mainMod, 1, exec, $SCRIPTS/workspaces.sh 1'' + ''$mainMod, 2, exec, $SCRIPTS/workspaces.sh 2'' + ''$mainMod, 3, exec, $SCRIPTS/workspaces.sh 3'' + ''$mainMod, 4, exec, $SCRIPTS/workspaces.sh 4'' + ''$mainMod, 5, exec, $SCRIPTS/workspaces.sh 5'' + ''$mainMod, 6, exec, $SCRIPTS/workspaces.sh 6'' + ''$mainMod, 7, exec, $SCRIPTS/workspaces.sh 7'' + ''$mainMod, 8, exec, $SCRIPTS/workspaces.sh 8'' + ''$mainMod, 9, exec, $SCRIPTS/workspaces.sh 9'' + + # Move active window to a workspace with mainMod + SHIFT + [0-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'' + + # Monitor focus + ''$mainMod ALT, 1, focusmonitor, 0'' + ''$mainMod ALT, 2, focusmonitor, 1'' + ''$mainMod ALT, 3, focusmonitor, 2'' + ''$mainMod ALT, 4, focusmonitor, 3'' + ''$mainMod ALT, 5, focusmonitor, 4'' + ''$mainMod ALT, 6, focusmonitor, 5'' + ''$mainMod ALT, 7, focusmonitor, 6'' + ''$mainMod ALT, 8, focusmonitor, 7'' + ''$mainMod ALT, 9, focusmonitor, 8'' + ''$mainMod ALT, 0, focusmonitor, 9'' + + # Scroll through existing workspaces with mainMod + scroll + ''$mainMod, mouse_down, workspace, e+1'' + ''$mainMod, mouse_up, workspace, e-1'' + ]; + + binde = [ + '', XF86AudioLowerVolume, exec, $SCRIPTS/volume.sh -5'' + '', XF86AudioRaiseVolume, exec, $SCRIPTS/volume.sh 5'' + ]; + + bindel = [ + '', XF86MonBrightnessDown, exec, $SCRIPTS/brightness.sh -4800'' + '', XF86MonBrightnessUp, exec, $SCRIPTS/brightness.sh 4800'' + ]; + + bindr = [ + ''SUPERCTRL, Control_L, togglespecialworkspace, ctrl'' + ''SUPERALT, Alt_L, togglespecialworkspace, alt'' + ''SUPERALT, ALT_R, togglespecialworkspace, altgr'' + ''SUPERCTRL, Control_R, togglespecialworkspace, strg'' + ]; + + bindm = [ + # Move/resize windows with mainMod + LMB/RMB and dragging + ''$mainMod, mouse:272, movewindow'' + ''$mainMod, mouse:273, resizewindow'' + ]; + + # ------------------------------------------ + # ######################################## + # ####### Workspaces ########### + # ######################################## + # ------------------------------------------ + + workspace = [ + "1, persistent:true" + "2, persistent:true" + "3, persistent:true" + "4, persistent:true" + "5, persistent:true" + "6, persistent:true" + "7, persistent:true" + "8, persistent:true" + "8, persistent:true" + "9, persistent:true" + + "name:special:ctrl, persistent:true" + "name:special:alt, persistent:true" + "name:special:altgr, persistent:true" + "name:special:strg, persistent:true" + ]; + + }; + }; + }; +} diff --git a/users/willifan/desktop/hyprland/Puenktchen/hyprpaper.nix b/users/willifan/desktop/hyprland/Puenktchen/hyprpaper.nix new file mode 100644 index 0000000..80348a2 --- /dev/null +++ b/users/willifan/desktop/hyprland/Puenktchen/hyprpaper.nix @@ -0,0 +1,15 @@ +{ ...}: +{ + home-manager.users.willifan = { + services.hyprpaper = { + enable = true; + settings = { + + splash = true; + + ipc = "off"; + + }; + }; + }; +} diff --git a/users/willifan/desktop/hyprland/Puenktchen/mako.nix b/users/willifan/desktop/hyprland/Puenktchen/mako.nix new file mode 100644 index 0000000..5cb529c --- /dev/null +++ b/users/willifan/desktop/hyprland/Puenktchen/mako.nix @@ -0,0 +1,11 @@ +{ ... }: +{ + home-manager.users.willifan = { + services.mako = { + enable = true; + borderRadius = 10; + borderSize = 2; + + }; + }; +} diff --git a/users/willifan/desktop/hyprland/Puenktchen/pipewire.nix b/users/willifan/desktop/hyprland/Puenktchen/pipewire.nix new file mode 100644 index 0000000..86b339b --- /dev/null +++ b/users/willifan/desktop/hyprland/Puenktchen/pipewire.nix @@ -0,0 +1,13 @@ +{ ... }: +{ + security.rtkit.enable = true; + services.pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + wireplumber.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + }; +} diff --git a/users/willifan/desktop/hyprland/Puenktchen/polkit.nix b/users/willifan/desktop/hyprland/Puenktchen/polkit.nix new file mode 100644 index 0000000..2bcad91 --- /dev/null +++ b/users/willifan/desktop/hyprland/Puenktchen/polkit.nix @@ -0,0 +1,24 @@ +{ pkgs, ... }: +{ + + environment.systemPackages = with pkgs; [ + polkit_gnome + ]; + + security.polkit.enable = true; + systemd = { + user.services.polkit-gnome-authentication-agent-1 = { + description = "polkit-gnome-authentication-agent-1"; + wantedBy = [ "graphical-session.target" ]; + wants = [ "graphical-session.target" ]; + after = [ "graphical-session.target" ]; + serviceConfig = { + Type = "simple"; + ExecStart = "${pkgs.polkit_gnome}/libexec/polkit-gnome-authentication-agent-1"; + Restart = "on-failure"; + RestartSec = 1; + TimeoutStopSec = 10; + }; + }; + }; +} \ No newline at end of file diff --git a/users/willifan/desktop/hyprland/Puenktchen/utils.nix b/users/willifan/desktop/hyprland/Puenktchen/utils.nix new file mode 100644 index 0000000..500f9d3 --- /dev/null +++ b/users/willifan/desktop/hyprland/Puenktchen/utils.nix @@ -0,0 +1,22 @@ +{ pkgs, ... }: +{ + environment.systemPackages = with pkgs; [ + + hyprpicker + hyprcursor + + grim + slurp + wl-clipboard + playerctl + + dconf + + jq + + pulseaudio + inotify-tools + papirus-icon-theme + eww + ]; +} diff --git a/users/willifan/desktop/hyprland/Puenktchen/wlogout.nix b/users/willifan/desktop/hyprland/Puenktchen/wlogout.nix new file mode 100644 index 0000000..1753bbd --- /dev/null +++ b/users/willifan/desktop/hyprland/Puenktchen/wlogout.nix @@ -0,0 +1,83 @@ +{ ...}: +{ + home-manager.users.willifan = { + programs.wlogout = { + enable = true; + layout = [ + { + label = "shutdown"; + action = "systemctl poweroff"; + text = "Shutdown"; + } + { + label = "hyprland"; + action = "hyprctl dispatch exit"; + text = "Exit Hyprland"; + } + { + label = "whatever"; + action = ""; + text = "whatever"; + } + { + label = "reboot"; + action = "systemctl reboot"; + text = "Reboot"; + } + { + label = "suspend"; + action = "systemctl suspend"; + text = "Suspend"; + } + { + label = "hibernate"; + action = "systemctl hibernate"; + text = "Hibernate"; + } + ]; + + style = '' + @import url("file:///home/willifan/.config/gtk-4.0/gtk.css"); + * { + background-image: none; + box-shadow: none; + } + + window { + background-color: rgba(12, 12, 12, 0.9); + } + + button { + border-radius: 10px; + border-color: #ffa44b; + border-style: solid; + border-width: 2px; + background-repeat: no-repeat; + background-position: center; + background-size: 25%; + } + + button:focus, button:active, button:hover { + /*background-color: #3700B3;*/ + outline-style: none; + } + + #suspend { + background-image: image(url("/home/willifan/.config/desktop-utils/images/suspend.png")); + } + + #hibernate { + background-image: image(url("/home/willifan/.config/desktop-utils/images/hibernate.png")); + } + + #shutdown { + background-image: image(url("/home/willifan/.config/desktop-utils/images/shutdown.png")); + } + + #reboot { + background-image: image(url("/home/willifan/.config/desktop-utils/images/reboot.png")); + } + ''; + }; + }; +} diff --git a/users/willifan/desktop/hyprland/common/default.nix b/users/willifan/desktop/hyprland/common/default.nix index e6bedc1..a1692e5 100644 --- a/users/willifan/desktop/hyprland/common/default.nix +++ b/users/willifan/desktop/hyprland/common/default.nix @@ -1,17 +1,10 @@ { ... }: { + programs.hyprland.enable = true; imports = [ - ./fuzzel.nix - ./hyprland.nix - ./hyprpaper.nix - ./mako.nix - ./pipewire.nix - ./polkit.nix - ./utils.nix - ./wlogout.nix + ]; - }