dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
commit 2a7fba7e36ac58f42bc3c7d28fd774ab79e8a77a parent e32c493b9c6e88140a9a4b8ac44bfa5a9e8e1eb2 Author: maydayv7 <maydayv7@gmail.com> Date: Sun, 21 Apr 2024 21:19:48 +0530 fix: Split Hyprland Workspaces across Monitors Also drop `nixpkgs-wayland`
Diffstat:
| M | README.md | | | 1 | + |
| M | files/hyprland/binds.pango | | | 2 | +- |
| M | flake.lock | | | 246 | +++++++------------------------------------------------------------------------ |
| M | flake.nix | | | 10 | +++++----- |
| M | modules/gui/desktop/hyprland/apps/bar.nix | | | 2 | +- |
| M | modules/gui/desktop/hyprland/default.nix | | | 2 | +- |
| M | modules/gui/desktop/hyprland/settings/keybindings.nix | | | 18 | +++++++++--------- |
| M | modules/gui/desktop/hyprland/settings/plugins.nix | | | 8 | +++++++- |
| M | packages/flake.nix | | | 8 | ++++---- |
| M | site/content/sample.md | | | 2 | +- |
10 files changed, 52 insertions(+), 247 deletions(-)
diff --git a/README.md b/README.md @@ -502,6 +502,7 @@ You can navigate to the `README`s present in the various directories to know mor - Hyprland Improvements - Update to latest version + - Desktop Icons - Keybindings List - Panel Improvements - Border Gradients diff --git a/files/hyprland/binds.pango b/files/hyprland/binds.pango @@ -28,7 +28,7 @@ <tt>$mod SHIFT `</tt> Move window to/from special workspace stash <tt>$mod SHIFT ,<i> or </i>.</tt> Move window to previous/next workspace <tt>$mod ALT ,<i> or </i>.</tt> Move focus to left/right monitor -<tt>$mod SHIFT ALT ,<i> or </i>.</tt> Move workspace to left/right monitor +<tt>$mod SHIFT ALT ,<i> or </i>.</tt> Move window to left/right monitor <tt>Print</tt> Take Screenshot of area <tt>CTRL Print</tt> Take Screenshot of window diff --git a/flake.lock b/flake.lock @@ -275,21 +275,6 @@ } }, "flake-compat_4": { - "locked": { - "lastModified": 1688025799, - "narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=", - "owner": "nix-community", - "repo": "flake-compat", - "rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "flake-compat", - "type": "github" - } - }, - "flake-compat_5": { "flake": false, "locked": { "lastModified": 1673956053, @@ -305,46 +290,6 @@ "type": "github" } }, - "flake-parts": { - "inputs": { - "nixpkgs-lib": [ - "wayland", - "nix-eval-jobs", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1701473968, - "narHash": "sha256-YcVE5emp1qQ8ieHUnxt1wCZCC3ZfAS+SRRWZ2TMda7E=", - "owner": "hercules-ci", - "repo": "flake-parts", - "rev": "34fed993f1674c8d06d58b37ce1e0fe5eebcb9f5", - "type": "github" - }, - "original": { - "owner": "hercules-ci", - "repo": "flake-parts", - "type": "github" - } - }, - "flake-utils": { - "inputs": { - "systems": "systems_3" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "flatpak": { "locked": { "lastModified": 1711997375, @@ -689,6 +634,26 @@ "type": "github" } }, + "hyprsplit": { + "inputs": { + "hyprland": [ + "hyprland" + ] + }, + "locked": { + "lastModified": 1713372897, + "narHash": "sha256-N2qPGMo55DPLqvGPgdvkE9zb0Zq/xYzqH28ZtNhGYsk=", + "owner": "shezdy", + "repo": "hyprsplit", + "rev": "6bbad6f19a918f951d243c81083b961c131fa36b", + "type": "github" + }, + "original": { + "owner": "shezdy", + "repo": "hyprsplit", + "type": "github" + } + }, "impermanence": { "locked": { "lastModified": 1708968331, @@ -724,68 +689,6 @@ "type": "github" } }, - "lib-aggregate": { - "inputs": { - "flake-utils": "flake-utils", - "nixpkgs-lib": "nixpkgs-lib" - }, - "locked": { - "lastModified": 1712491724, - "narHash": "sha256-E5EcBzf/zaR3hD8g1CDtqqwXXebSWtqOvoaR+LDjTME=", - "owner": "nix-community", - "repo": "lib-aggregate", - "rev": "2737d0204685c3274390229a09eb8f7eaa1a9e89", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "lib-aggregate", - "type": "github" - } - }, - "nix-eval-jobs": { - "inputs": { - "flake-parts": "flake-parts", - "nix-github-actions": "nix-github-actions", - "nixpkgs": "nixpkgs_5", - "treefmt-nix": "treefmt-nix" - }, - "locked": { - "lastModified": 1705242886, - "narHash": "sha256-TLj334vRwFtSym3m+NnKcNCnKKPNoTC/TDZL40vmOso=", - "owner": "nix-community", - "repo": "nix-eval-jobs", - "rev": "6b03a93296faf174b97546fd573c8b379f523a8d", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-eval-jobs", - "type": "github" - } - }, - "nix-github-actions": { - "inputs": { - "nixpkgs": [ - "wayland", - "nix-eval-jobs", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1701208414, - "narHash": "sha256-xrQ0FyhwTZK6BwKhahIkUVZhMNk21IEI1nUcWSONtpo=", - "owner": "nix-community", - "repo": "nix-github-actions", - "rev": "93e39cc1a087d65bcf7a132e75a650c44dd2b734", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nix-github-actions", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1708751719, @@ -802,21 +705,6 @@ "type": "github" } }, - "nixpkgs-lib": { - "locked": { - "lastModified": 1712450863, - "narHash": "sha256-K6IkdtMtq9xktmYPj0uaYc8NsIqHuaAoRBaMgu9Fvrw=", - "owner": "nix-community", - "repo": "nixpkgs.lib", - "rev": "3c62b6a12571c9a7f65ab037173ee153d539905f", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs.lib", - "type": "github" - } - }, "nixpkgs-stable": { "locked": { "lastModified": 1678872516, @@ -881,38 +769,6 @@ "type": "github" } }, - "nixpkgs_5": { - "locked": { - "lastModified": 1703134684, - "narHash": "sha256-SQmng1EnBFLzS7WSRyPM9HgmZP2kLJcPAz+Ug/nug6o=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d6863cbcbbb80e71cecfc03356db1cda38919523", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "nixpkgs-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_6": { - "locked": { - "lastModified": 1712791164, - "narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=", - "owner": "nixos", - "repo": "nixpkgs", - "rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5", - "type": "github" - }, - "original": { - "owner": "nixos", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" - } - }, "pre-commit-hooks-nix": { "inputs": { "flake-compat": [ @@ -980,6 +836,7 @@ "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", "hyprspace": "hyprspace", + "hyprsplit": "hyprsplit", "impermanence": "impermanence", "index": "index", "nixpkgs": "nixpkgs_3", @@ -991,7 +848,6 @@ "utils": "utils_2", "vscode": "vscode", "vsppuccin": "vsppuccin", - "wayland": "wayland", "wfvm": "wfvm", "windows": "windows" } @@ -1110,43 +966,6 @@ "type": "github" } }, - "systems_3": { - "locked": { - "lastModified": 1681028828, - "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", - "owner": "nix-systems", - "repo": "default", - "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", - "type": "github" - }, - "original": { - "owner": "nix-systems", - "repo": "default", - "type": "github" - } - }, - "treefmt-nix": { - "inputs": { - "nixpkgs": [ - "wayland", - "nix-eval-jobs", - "nixpkgs" - ] - }, - "locked": { - "lastModified": 1702979157, - "narHash": "sha256-RnFBbLbpqtn4AoJGXKevQMCGhra4h6G2MPcuTSZZQ+g=", - "owner": "numtide", - "repo": "treefmt-nix", - "rev": "2961375283668d867e64129c22af532de8e77734", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "treefmt-nix", - "type": "github" - } - }, "unstable": { "locked": { "lastModified": 1712791164, @@ -1243,27 +1062,6 @@ "type": "github" } }, - "wayland": { - "inputs": { - "flake-compat": "flake-compat_4", - "lib-aggregate": "lib-aggregate", - "nix-eval-jobs": "nix-eval-jobs", - "nixpkgs": "nixpkgs_6" - }, - "locked": { - "lastModified": 1712972067, - "narHash": "sha256-jsrWihADos3q9glfpAYNv3TJEIghmZj8kGmgFaDKW1A=", - "owner": "nix-community", - "repo": "nixpkgs-wayland", - "rev": "55f791f93ea01caec7bdc706489fdba4f3f2c75a", - "type": "github" - }, - "original": { - "owner": "nix-community", - "repo": "nixpkgs-wayland", - "type": "github" - } - }, "wfvm": { "inputs": { "nixpkgs": [ @@ -1286,7 +1084,7 @@ }, "windows": { "inputs": { - "flake-compat": "flake-compat_5", + "flake-compat": "flake-compat_4", "nixpkgs": [ "unstable" ] diff --git a/flake.nix b/flake.nix @@ -55,9 +55,6 @@ inputs.flake-parts.follows = "framework"; }; - # Wayland Repository - wayland.url = "github:nix-community/nixpkgs-wayland"; - ## Configuration Modules ## ## Language Addendum # Supported Architectures @@ -164,6 +161,11 @@ inputs.hyprland.follows = "hyprland"; }; + hyprsplit = { + url = "github:shezdy/hyprsplit"; + inputs.hyprland.follows = "hyprland"; + }; + # Declarative Flatpak Wrapper flatpak.url = "github:gmodena/nix-flatpak"; @@ -242,7 +244,6 @@ "https://nix-community.cachix.org" "https://nix-gaming.cachix.org" "https://nixpkgs-unfree.cachix.org" - "https://nixpkgs-wayland.cachix.org" "https://catppuccin.cachix.org" ]; @@ -254,7 +255,6 @@ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" "nixpkgs-unfree.cachix.org-1:hqvoInulhbV4nJ9yJOEr+4wxhDV4xq2d1DK7S6Nj6rs=" - "nixpkgs-wayland.cachix.org-1:3lwxaILxMRkVhehr5StQprHdEo4IrE8sRho9R9HOLYA=" "catppuccin.cachix.org-1:noG/4HkbhJb+lUAdKrph6LaozJvAeEEZj4N732IysmU=" ]; }; diff --git a/modules/gui/desktop/hyprland/apps/bar.nix b/modules/gui/desktop/hyprland/apps/bar.nix @@ -36,7 +36,7 @@ in rec { programs.waybar = { enable = true; systemd.enable = true; - package = pkgs.wayworld.waybar; + package = pkgs.unstable.waybar; style = files.hyprland.waybar; # Panel diff --git a/modules/gui/desktop/hyprland/default.nix b/modules/gui/desktop/hyprland/default.nix @@ -37,7 +37,7 @@ in { hyprland = { enable = true; xwayland.enable = true; - package = pkgs.wayworld.hyprland; + package = pkgs.hyprworld.hyprland; }; # Login diff --git a/modules/gui/desktop/hyprland/settings/keybindings.nix b/modules/gui/desktop/hyprland/settings/keybindings.nix @@ -42,24 +42,24 @@ "ALT SHIFT, Q, movetoworkspace, +0" # Cycle Workspaces - "$mod, comma, workspace, m-1" - "$mod, period, workspace, m+1" + "$mod, comma, split:workspace, m-1" + "$mod, period, split:workspace, m+1" # Special Workspace "$mod, grave, togglespecialworkspace, stash" "$mod SHIFT, grave, exec, pypr toggle_special stash" # Move Window to Workspace - "$mod SHIFT, comma, movetoworkspace, r-1" - "$mod SHIFT, period, movetoworkspace, r+1" + "$mod SHIFT, comma, split:movetoworkspace, r-1" + "$mod SHIFT, period, split:movetoworkspace, r+1" # Cycle Monitors "$mod ALT, comma, focusmonitor, l" "$mod ALT, period, focusmonitor, r" - # Send Focused Workspace to Monitor - "$mod SHIFT ALT, comma, movecurrentworkspacetomonitor, l" - "$mod SHIFT ALT, period, movecurrentworkspacetomonitor, r" + # Move Window to Monitor + "$mod SHIFT ALT, comma, movewindow, mon:-1" + "$mod SHIFT ALT, period, movewindow, mon:+1" # Screen Lock "$mod, L, exec, loginctl lock-session" @@ -76,8 +76,8 @@ n: let num = toString (n + 1); in [ - "$mod, ${num}, workspace, ${num}" - "$mod SHIFT, ${num}, movetoworkspace, ${num}" + "$mod, ${num}, split:workspace, ${num}" + "$mod SHIFT, ${num}, split:movetoworkspace, ${num}" ] ) 9)); diff --git a/modules/gui/desktop/hyprland/settings/plugins.nix b/modules/gui/desktop/hyprland/settings/plugins.nix @@ -15,7 +15,7 @@ in { }; wayland.windowManager.hyprland = { - plugins = with pkgs.wayworld; [hycov hyprexpo Hyprspace]; + plugins = with pkgs.hyprworld; [hycov hyprexpo Hyprspace hyprsplit]; extraConfig = let gaps = builtins.toString @@ -48,6 +48,7 @@ in { # Workspace Overview overview { autoDrag = true + dragAlpha = 0.4 exitOnClick = true centerAligned = true hideTopLayers = true @@ -59,6 +60,11 @@ in { gapsOut = ${gaps} workspaceActiveBorder = rgb(${base0D}) } + + # Split Monitor Workspaces + hyprsplit { + num_workspaces = 9 + } } ''; diff --git a/packages/flake.nix b/packages/flake.nix @@ -58,12 +58,12 @@ in { code = vscode.extensions."${system}"; gaming = gaming.packages."${system}"; wine = windows.packages."${system}"; - wayworld = - wayland.packages."${system}" + hyprworld = + hyprland.packages."${system}" + // hyprland-plugins.packages."${system}" // hycov.packages."${system}" // hyprspace.packages."${system}" - // hyprland-plugins.packages."${system}" - // hyprland.packages."${system}"; + // hyprsplit.packages."${system}"; }) ]; }; diff --git a/site/content/sample.md b/site/content/sample.md @@ -94,7 +94,7 @@ Supports wide range of Multi-Media using [_shortcodes_](https://www.getzola.org/ ## Image -{{ figure(src="https://raw.githubusercontent.com/maydayv7/dotfiles/b384f1914f030f1e12ae58cc2b78512a378bf4c9/files/images/wallpapers/Island.jpg", alt="Island", style="border-style: inset; border-radius: 15px; width: 100%;", caption="A Nice Wallpaper", caption_style="font-weight: bold;") }} +{{ figure(src="https://github.com/maydayv7/proprietary/blob/45552f2069239c3b59bee339503fc005423b5da6/wallpapers/Island.jpg", alt="Island", style="border-style: inset; border-radius: 15px; width: 100%;", caption="A Nice Wallpaper", caption_style="font-weight: bold;") }} ## Video