From 0fa4789fe8ae4948f3b9a4b830ebe9caca1f48ab Mon Sep 17 00:00:00 2001 From: Emmet Date: Mon, 12 Aug 2024 09:12:02 -0500 Subject: [PATCH] Updated hyprland, replaced hycov with hyprexpo --- flake.lock | 243 +++++++++++++++++++++++----------- flake.nix | 24 ++-- user/wm/hyprland/hyprland.nix | 43 ++---- 3 files changed, 197 insertions(+), 113 deletions(-) diff --git a/flake.lock b/flake.lock index f65a282..ac9463d 100644 --- a/flake.lock +++ b/flake.lock @@ -1,5 +1,38 @@ { "nodes": { + "aquamarine": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1722347739, + "narHash": "sha256-rAoh+K6KG+b1DwSWtqRVocdojnH6nGk6q07mNltoUSM=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "7c3565f9bedc7cb601cc0baa14792247e4dc1d5a", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, "base16": { "inputs": { "fromYaml": "fromYaml" @@ -357,7 +390,7 @@ }, "flake-utils": { "inputs": { - "systems": "systems_2" + "systems": "systems_3" }, "locked": { "lastModified": 1710146030, @@ -375,7 +408,7 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_3" + "systems": "systems_4" }, "locked": { "lastModified": 1694529238, @@ -519,37 +552,6 @@ "type": "github" } }, - "hycov": { - "inputs": { - "hyprland": [ - "hyprland" - ], - "nixpkgs": [ - "hycov", - "hyprland", - "nixpkgs" - ], - "systems": [ - "hycov", - "hyprland", - "systems" - ] - }, - "locked": { - "lastModified": 1719328349, - "narHash": "sha256-upIUl8IE5ow+CJKa2SIo3OL/djarGVr8pNe1j05uW1A=", - "owner": "DreamMaoMao", - "repo": "hycov", - "rev": "de15cdd6bf2e46cbc69735307f340b57e2ce3dd0", - "type": "github" - }, - "original": { - "owner": "DreamMaoMao", - "repo": "hycov", - "rev": "de15cdd6bf2e46cbc69735307f340b57e2ce3dd0", - "type": "github" - } - }, "hyprcursor": { "inputs": { "hyprlang": [ @@ -566,11 +568,11 @@ ] }, "locked": { - "lastModified": 1718450675, - "narHash": "sha256-jpsns6buS4bK+1sF8sL8AaixAiCRjA+nldTKvcwmvUs=", + "lastModified": 1721330371, + "narHash": "sha256-aYlHTWylczLt6ERJyg6E66Y/XSCbVL7leVcRuJmVbpI=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "66d5b46ff94efbfa6fa3d1d1b66735f1779c34a6", + "rev": "4493a972b48f9c3014befbbf381ed5fff91a65dc", "type": "github" }, "original": { @@ -586,22 +588,23 @@ ] }, "locked": { - "lastModified": 1718401180, - "narHash": "sha256-DfM2BqnFW48NlHkBfC7ErHgK7WHlOgiiE+aFetN/yJ4=", + "lastModified": 1723370302, + "narHash": "sha256-VfRXTNBtovKcKI8/VkynjF3IeelFoGXfqFnUJyCv2hs=", "owner": "horriblename", "repo": "hyprgrass", - "rev": "736119f828eecaed2deaae1d6ff1f50d6dabaaba", + "rev": "0bb3b822053c813ab6f695c9194089ccb5186cc3", "type": "github" }, "original": { "owner": "horriblename", "repo": "hyprgrass", - "rev": "736119f828eecaed2deaae1d6ff1f50d6dabaaba", + "rev": "0bb3b822053c813ab6f695c9194089ccb5186cc3", "type": "github" } }, "hyprland": { "inputs": { + "aquamarine": "aquamarine", "hyprcursor": "hyprcursor", "hyprlang": "hyprlang", "hyprutils": "hyprutils", @@ -613,19 +616,19 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1719317162, - "narHash": "sha256-JmfnYz+9a4TjNl3mAus1VpoWtTI9d1xkW9MHbkcV0Po=", - "rev": "918d8340afd652b011b937d29d5eea0be08467f5", - "revCount": 4886, + "lastModified": 1723058230, + "narHash": "sha256-deu8zvgseDg2gQEnZiCda4TrbA6pleE9iItoZlsoMtE=", + "rev": "9a09eac79b85c846e3a865a9078a3f8ff65a9259", + "revCount": 5069, "submodules": true, "type": "git", - "url": "https://github.com/hyprwm/Hyprland" + "url": "https://code.hyprland.org/hyprwm/Hyprland.git" }, "original": { - "rev": "918d8340afd652b011b937d29d5eea0be08467f5", + "rev": "9a09eac79b85c846e3a865a9078a3f8ff65a9259", "submodules": true, "type": "git", - "url": "https://github.com/hyprwm/Hyprland" + "url": "https://code.hyprland.org/hyprwm/Hyprland.git" } }, "hyprland-plugins": { @@ -645,18 +648,17 @@ ] }, "locked": { - "lastModified": 1719318037, - "narHash": "sha256-TnlAcO5K2gkab0mpKurP5Co6eWRycP/KbFqWNS2rsMA=", - "owner": "hyprwm", - "repo": "hyprland-plugins", - "rev": "3ae670253a5a3ae1e3a3104fb732a8c990a31487", - "type": "github" + "lastModified": 1723143591, + "narHash": "sha256-dPcWAeRJoG5CyWC32X3XX+Og0v/k1/S1N0T5dQWT32k=", + "rev": "b73d7b901d8cb1172dd25c7b7159f0242c625a77", + "revCount": 192, + "type": "git", + "url": "https://code.hyprland.org/hyprwm/hyprland-plugins.git" }, "original": { - "owner": "hyprwm", - "repo": "hyprland-plugins", - "rev": "3ae670253a5a3ae1e3a3104fb732a8c990a31487", - "type": "github" + "rev": "b73d7b901d8cb1172dd25c7b7159f0242c625a77", + "type": "git", + "url": "https://code.hyprland.org/hyprwm/hyprland-plugins.git" } }, "hyprland-protocols": { @@ -673,11 +675,11 @@ ] }, "locked": { - "lastModified": 1714869498, - "narHash": "sha256-vbLVOWvQqo4n1yvkg/Q70VTlPbMmTiCQfNTgcWDCfJM=", + "lastModified": 1721326555, + "narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=", "owner": "hyprwm", "repo": "hyprland-protocols", - "rev": "e06482e0e611130cd1929f75e8c1cf679e57d161", + "rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84", "type": "github" }, "original": { @@ -702,11 +704,11 @@ ] }, "locked": { - "lastModified": 1717881852, - "narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=", + "lastModified": 1721324361, + "narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=", "owner": "hyprwm", "repo": "hyprlang", - "rev": "ec6938c66253429192274d612912649a0cfe4d28", + "rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086", "type": "github" }, "original": { @@ -715,6 +717,59 @@ "type": "github" } }, + "hyprlang_2": { + "inputs": { + "hyprutils": [ + "hyprlock", + "hyprutils" + ], + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ], + "systems": [ + "hyprlock", + "systems" + ] + }, + "locked": { + "lastModified": 1721324361, + "narHash": "sha256-BiJKO0IIdnSwHQBSrEJlKlFr753urkLE48wtt0UhNG4=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "adbefbf49664a6c2c8bf36b6487fd31e3eb68086", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprlock": { + "inputs": { + "hyprlang": "hyprlang_2", + "hyprutils": "hyprutils_2", + "nixpkgs": [ + "nixpkgs" + ], + "systems": "systems_2" + }, + "locked": { + "lastModified": 1722882121, + "narHash": "sha256-gr4mN6BYKqy9JDr/ygDlMGYvEYBCMTDDDVnGNp/EYuw=", + "ref": "refs/heads/main", + "rev": "9393a3e94d837229714e28041427709756033f5a", + "revCount": 242, + "type": "git", + "url": "https://code.hyprland.org/hyprwm/hyprlock.git" + }, + "original": { + "rev": "9393a3e94d837229714e28041427709756033f5a", + "type": "git", + "url": "https://code.hyprland.org/hyprwm/hyprlock.git" + } + }, "hyprutils": { "inputs": { "nixpkgs": [ @@ -727,11 +782,36 @@ ] }, "locked": { - "lastModified": 1719316102, - "narHash": "sha256-dmRz128j/lJmMuTYeCYPfSBRHHQO3VeH4PbmoyAhHzw=", + "lastModified": 1722098849, + "narHash": "sha256-D3wIZlBNh7LuZ0NaoCpY/Pvu+xHxIVtSN+KkWZYvvVs=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "1f6bbec5954f623ff8d68e567bddcce97cd2f085", + "rev": "5dcbbc1e3de40b2cecfd2007434d86e924468f1f", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprutils_2": { + "inputs": { + "nixpkgs": [ + "hyprlock", + "nixpkgs" + ], + "systems": [ + "hyprlock", + "systems" + ] + }, + "locked": { + "lastModified": 1721324102, + "narHash": "sha256-WAZ0X6yJW1hFG6otkHBfyJDKRpNP5stsRqdEuHrFRpk=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "962582a090bc233c4de9d9897f46794280288989", "type": "github" }, "original": { @@ -752,11 +832,11 @@ ] }, "locked": { - "lastModified": 1719067853, - "narHash": "sha256-mAnZG/eQy72Fp1ImGtqCgUrDumnR1rMZv2E/zgP4U74=", + "lastModified": 1721324119, + "narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=", "owner": "hyprwm", "repo": "hyprwayland-scanner", - "rev": "914f083741e694092ee60a39d31f693d0a6dc734", + "rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30", "type": "github" }, "original": { @@ -1360,10 +1440,10 @@ "emacs-pin-nixpkgs": "emacs-pin-nixpkgs", "home-manager-stable": "home-manager-stable", "home-manager-unstable": "home-manager-unstable", - "hycov": "hycov", "hyprgrass": "hyprgrass", "hyprland": "hyprland", "hyprland-plugins": "hyprland-plugins", + "hyprlock": "hyprlock", "kdenlive-pin-nixpkgs": "kdenlive-pin-nixpkgs", "lix-module": "lix-module", "magit-file-icons": "magit-file-icons", @@ -1496,6 +1576,21 @@ } }, "systems_2": { + "locked": { + "lastModified": 1689347949, + "narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=", + "owner": "nix-systems", + "repo": "default-linux", + "rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default-linux", + "type": "github" + } + }, + "systems_3": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1510,7 +1605,7 @@ "type": "github" } }, - "systems_3": { + "systems_4": { "locked": { "lastModified": 1681028828, "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", @@ -1574,11 +1669,11 @@ ] }, "locked": { - "lastModified": 1718619174, - "narHash": "sha256-FWW68AVYmB91ZDQnhLMBNCUUTCjb1ZpO2k2KIytHtkA=", + "lastModified": 1722365976, + "narHash": "sha256-Khdm+mDzYA//XaU0M+hftod+rKr5q9SSHSEuiQ0/9ow=", "owner": "hyprwm", "repo": "xdg-desktop-portal-hyprland", - "rev": "c7894aa54f9a7dbd16df5cd24d420c8af22d5623", + "rev": "7f2a77ddf60390248e2a3de2261d7102a13e5341", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index 5c4319a..d1d90b5 100644 --- a/flake.nix +++ b/flake.nix @@ -225,16 +225,24 @@ hyprland = { type = "git"; - url = "https://github.com/hyprwm/Hyprland"; + url = "https://code.hyprland.org/hyprwm/Hyprland.git"; submodules = true; - rev = "918d8340afd652b011b937d29d5eea0be08467f5"; + rev = "9a09eac79b85c846e3a865a9078a3f8ff65a9259"; #v0.42.0 + inputs.nixpkgs.follows = "nixpkgs"; }; - hyprland.inputs.nixpkgs.follows = "nixpkgs"; - hyprland-plugins.url = "github:hyprwm/hyprland-plugins/3ae670253a5a3ae1e3a3104fb732a8c990a31487"; - hyprland-plugins.inputs.hyprland.follows = "hyprland"; - hycov.url = "github:DreamMaoMao/hycov/de15cdd6bf2e46cbc69735307f340b57e2ce3dd0"; - hycov.inputs.hyprland.follows = "hyprland"; - hyprgrass.url = "github:horriblename/hyprgrass/736119f828eecaed2deaae1d6ff1f50d6dabaaba"; + hyprland-plugins = { + type = "git"; + url = "https://code.hyprland.org/hyprwm/hyprland-plugins.git"; + rev = "b73d7b901d8cb1172dd25c7b7159f0242c625a77"; #v0.42.0 + inputs.hyprland.follows = "hyprland"; + }; + hyprlock = { + type = "git"; + url = "https://code.hyprland.org/hyprwm/hyprlock.git"; + rev = "9393a3e94d837229714e28041427709756033f5a"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + hyprgrass.url = "github:horriblename/hyprgrass/0bb3b822053c813ab6f695c9194089ccb5186cc3"; hyprgrass.inputs.hyprland.follows = "hyprland"; nix-doom-emacs.url = "github:nix-community/nix-doom-emacs"; diff --git a/user/wm/hyprland/hyprland.nix b/user/wm/hyprland/hyprland.nix index 7a4af0d..12db04f 100644 --- a/user/wm/hyprland/hyprland.nix +++ b/user/wm/hyprland/hyprland.nix @@ -27,7 +27,7 @@ in package = inputs.hyprland.packages.${pkgs.system}.hyprland; plugins = [ inputs.hyprland-plugins.packages.${pkgs.system}.hyprtrails - inputs.hycov.packages.${pkgs.system}.hycov + inputs.hyprland-plugins.packages.${pkgs.system}.hyprexpo inputs.hyprgrass.packages.${pkgs.system}.default ]; settings = { }; @@ -105,28 +105,12 @@ in hyprtrails { color = rgba(''+config.lib.stylix.colors.base08+''55) } - hycov { - overview_gappo = 60 # gaps width from screen edge - overview_gappi = 24 # gaps width from clients - enable_hotarea = 0 # enable mouse cursor hotarea, when cursor enter hotarea, it will toggle overview - enable_click_action = 1 # enable mouse left button jump and right button kill in overview mode - hotarea_monitor = all # monitor name which hotarea is in, default is all - hotarea_pos = 1 # position of hotarea (1: bottom left, 2: bottom right, 3: top left, 4: top right) - hotarea_size = 10 # hotarea size, 10x10 - swipe_fingers = 3 # finger number of gesture,move any directory - move_focus_distance = 100 # distance for movefocus,only can use 3 finger to move - enable_gesture = 0 # enable gesture - auto_exit = 1 # enable auto exit when no client in overview - auto_fullscreen = 0 # auto make active window maximize after exit overview - only_active_workspace = 0 # only overview the active workspace - only_active_monitor = 0 # only overview the active monitor - enable_alt_release_exit = 0 # alt swith mode arg,see readme for detail - alt_replace_key = Super_L # alt swith mode arg,see readme for detail - alt_toggle_auto_next = 0 # auto focus next window when toggle overview in alt swith mode - click_in_cursor = 1 # when click to jump,the target windwo is find by cursor, not the current foucus window. - hight_of_titlebar = 0 # height deviation of title bar height - show_special = 0 # show windwos in special workspace in overview. - + hyprexpo { + columns = 3 + gap_size = 5 + bg_col = rgb(''+config.lib.stylix.colors.base00+'') + workspace_method = first 1 # [center/first] [workspace] e.g. first 1 or center m+1 + enable_gesture = false # laptop touchpad } touch_gestures { sensitivity = 4.0 @@ -135,7 +119,7 @@ in hyprgrass-bind = , edge:l:r, exec, hyprnome --previous hyprgrass-bind = , swipe:3:d, exec, nwggrid-wrapper - hyprgrass-bind = , swipe:3:u, hycov:toggleoverview + hyprgrass-bind = , swipe:3:u, hyprexpo:expo, toggleoverview hyprgrass-bind = , swipe:3:d, exec, nwggrid-wrapper hyprgrass-bind = , swipe:3:l, exec, hyprnome --previous @@ -163,11 +147,7 @@ in bind=ALT,TAB,bringactivetotop bind=ALTSHIFT,TAB,cyclenext,prev bind=ALTSHIFT,TAB,bringactivetotop - bind=SUPER,TAB,hycov:toggleoverview - bind=SUPER,left,hycov:movefocus,leftcross - bind=SUPER,right,hycov:movefocus,rightcross - bind=SUPER,up,hycov:movefocus,upcross - bind=SUPER,down,hycov:movefocus,downcross + bind=SUPER,TAB,hyprexpo:expo, toggleoverview bind=SUPER,V,exec,wl-copy $(wl-paste | tr '\n' ' ') bind=SUPERSHIFT,T,exec,screenshot-ocr bind=CTRLALT,Delete,exec,hyprctl kill @@ -457,6 +437,7 @@ in wl-clipboard hyprland-protocols hyprpicker + inputs.hyprlock.packages.${pkgs.system}.default hypridle hyprpaper fnott @@ -543,7 +524,7 @@ in type = "Application"; })]) ++ - (with pkgs-hyprland; [ hyprlock ]) + (with pkgs-hyprland; [ ]) ++ (with pkgs-nwg-dock-hyprland; [ (nwg-dock-hyprland.overrideAttrs (oldAttrs: { patches = ./patches/noactiveclients.patch; @@ -1329,7 +1310,7 @@ in } ''; home.file.".config/libinput-gestures.conf".text = '' - gesture swipe up 3 hyprctl dispatch hycov:toggleoverview + gesture swipe up 3 hyprctl dispatch hyprexpo:expo toggle gesture swipe down 3 nwggrid-wrapper gesture swipe right 3 hyprnome