From 9b822a5474fa9b09776832a1dd0e3a755b59caeb Mon Sep 17 00:00:00 2001 From: BowlBird Date: Thu, 19 Sep 2024 10:20:04 -0500 Subject: [PATCH 01/14] added flake --- flake.lock | 281 +++++++++++++++++++++++++++++++++++++++++++++++++++++ flake.nix | 69 +++++++++++++ 2 files changed, 350 insertions(+) create mode 100644 flake.lock create mode 100644 flake.nix diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..0740fad --- /dev/null +++ b/flake.lock @@ -0,0 +1,281 @@ +{ + "nodes": { + "aquamarine": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "hyprwayland-scanner": [ + "hyprland", + "hyprwayland-scanner" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1726665257, + "narHash": "sha256-rEzEZtd3iyVo5RJ1OGujOlnywNf3gsrOnjAn1NLciD4=", + "owner": "hyprwm", + "repo": "aquamarine", + "rev": "752d0fbd141fabb5a1e7f865199b80e6e76f8d8e", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "aquamarine", + "type": "github" + } + }, + "hyprcursor": { + "inputs": { + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1722623071, + "narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=", + "owner": "hyprwm", + "repo": "hyprcursor", + "rev": "912d56025f03d41b1ad29510c423757b4379eb1c", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprcursor", + "type": "github" + } + }, + "hyprland": { + "inputs": { + "aquamarine": "aquamarine", + "hyprcursor": "hyprcursor", + "hyprlang": "hyprlang", + "hyprutils": "hyprutils", + "hyprwayland-scanner": "hyprwayland-scanner", + "nixpkgs": "nixpkgs", + "systems": "systems", + "xdph": "xdph" + }, + "locked": { + "lastModified": 1726753711, + "narHash": "sha256-E6jTZFF18yIGAYzK58Sb5hKX2sEVUzPbtG5Vg6Bn1Gc=", + "owner": "hyprwm", + "repo": "Hyprland", + "rev": "dfa1bd0cd48253a446fbe455a46f0f4d23368c02", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "Hyprland", + "type": "github" + } + }, + "hyprland-protocols": { + "inputs": { + "nixpkgs": [ + "hyprland", + "xdph", + "nixpkgs" + ], + "systems": [ + "hyprland", + "xdph", + "systems" + ] + }, + "locked": { + "lastModified": 1721326555, + "narHash": "sha256-zCu4R0CSHEactW9JqYki26gy8h9f6rHmSwj4XJmlHgg=", + "owner": "hyprwm", + "repo": "hyprland-protocols", + "rev": "5a11232266bf1a1f5952d5b179c3f4b2facaaa84", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprland-protocols", + "type": "github" + } + }, + "hyprlang": { + "inputs": { + "hyprutils": [ + "hyprland", + "hyprutils" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1725997860, + "narHash": "sha256-d/rZ/fHR5l1n7PeyLw0StWMNLXVU9c4HFyfskw568so=", + "owner": "hyprwm", + "repo": "hyprlang", + "rev": "dfeb5811dd6485490cce18d6cc1e38a055eea876", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprlang", + "type": "github" + } + }, + "hyprutils": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1724966483, + "narHash": "sha256-WXDgKIbzjYKczxSZOsJplCS1i1yrTUpsDPuJV/xpYLo=", + "owner": "hyprwm", + "repo": "hyprutils", + "rev": "8976e3f6a5357da953a09511d0c7f6a890fb6ec2", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprutils", + "type": "github" + } + }, + "hyprwayland-scanner": { + "inputs": { + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1721324119, + "narHash": "sha256-SOOqIT27/X792+vsLSeFdrNTF+OSRp5qXv6Te+fb2Qg=", + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "rev": "a048a6cb015340bd82f97c1f40a4b595ca85cc30", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "hyprwayland-scanner", + "type": "github" + } + }, + "nix-filter": { + "locked": { + "lastModified": 1710156097, + "narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=", + "owner": "numtide", + "repo": "nix-filter", + "rev": "3342559a24e85fc164b295c3444e8a139924675b", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "nix-filter", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1725983898, + "narHash": "sha256-4b3A9zPpxAxLnkF9MawJNHDtOOl6ruL0r6Og1TEDGCE=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "1355a0cbfeac61d785b7183c0caaec1f97361b43", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "hyprland": "hyprland", + "nix-filter": "nix-filter" + } + }, + "systems": { + "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" + } + }, + "xdph": { + "inputs": { + "hyprland-protocols": "hyprland-protocols", + "hyprlang": [ + "hyprland", + "hyprlang" + ], + "nixpkgs": [ + "hyprland", + "nixpkgs" + ], + "systems": [ + "hyprland", + "systems" + ] + }, + "locked": { + "lastModified": 1726046979, + "narHash": "sha256-6SEsjurq9cdTkITA6d49ncAJe4O/8CgRG5/F//s6Xh8=", + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "rev": "e695669fd8e1d1be9eaae40f35e00f8bd8b64c18", + "type": "github" + }, + "original": { + "owner": "hyprwm", + "repo": "xdg-desktop-portal-hyprland", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..d5e2be5 --- /dev/null +++ b/flake.nix @@ -0,0 +1,69 @@ +# based off of split-monitor-workspaces flake.nix +# https://github.com/Duckonaut/split-monitor-workspaces/blob/main/flake.nix +{ + inputs = { + hyprland.url = "github:hyprwm/Hyprland"; + nix-filter.url = "github:numtide/nix-filter"; + }; + + outputs = { + self, + hyprland, + nix-filter, + ... + }: let + inherit (hyprland.inputs) nixpkgs; + forHyprlandSystems = fn: nixpkgs.lib.genAttrs (builtins.attrNames hyprland.packages) (system: fn system nixpkgs.legacyPackages.${system}); + in { + packages = forHyprlandSystems (system: pkgs: rec { + hyprland-easymotion = pkgs.gcc13Stdenv.mkDerivation { + pname = "hyprland-easymotion"; + version = "1.0.0"; + src = nix-filter.lib { + root = ./.; + include = [ + "src" + "include" + ./Makefile + ./meson.build + ]; + }; + + # allow overriding xwayland support + BUILT_WITH_NOXWAYLAND = false; + + nativeBuildInputs = with pkgs; [meson ninja pkg-config]; + + buildInputs = with pkgs; + [ + hyprland.packages.${system}.hyprland.dev + pango + cairo + ] + ++ hyprland.packages.${system}.hyprland.buildInputs; + + meta = with pkgs.lib; { + homepage = "https://github.com/zakk4223/hyprland-easymotion"; + description = "Easymotion, for hyprland"; + license = licenses.bsd3; + platforms = platforms.linux; + }; + }; + + default = hyprland-easymotion; + }); + + devShells = forHyprlandSystems (system: pkgs: { + default = pkgs.mkShell { + name = "hyprland-easymotion"; + + nativeBuildInputs = with pkgs; [ + clang-tools_16 + bear + ]; + + inputsFrom = [self.packages.${system}.hyprland-easymotion]; + }; + }); + }; +} From f3c092ae195f440a1ed4142bad2660a3cac733fb Mon Sep 17 00:00:00 2001 From: bowlbird Date: Sun, 22 Sep 2024 22:01:29 +0000 Subject: [PATCH 02/14] updated flake --- flake.nix | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/flake.nix b/flake.nix index d5e2be5..3ec36be 100644 --- a/flake.nix +++ b/flake.nix @@ -25,14 +25,13 @@ "src" "include" ./Makefile - ./meson.build ]; }; # allow overriding xwayland support BUILT_WITH_NOXWAYLAND = false; - nativeBuildInputs = with pkgs; [meson ninja pkg-config]; + nativeBuildInputs = with pkgs; [ninja pkg-config]; buildInputs = with pkgs; [ From e63638041cdd2fc3e2b1924e7f1bc5d21b5bd887 Mon Sep 17 00:00:00 2001 From: bowlbird Date: Sun, 22 Sep 2024 22:08:36 +0000 Subject: [PATCH 03/14] updated flake --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 3ec36be..858e87f 100644 --- a/flake.nix +++ b/flake.nix @@ -31,7 +31,7 @@ # allow overriding xwayland support BUILT_WITH_NOXWAYLAND = false; - nativeBuildInputs = with pkgs; [ninja pkg-config]; + nativeBuildInputs = with pkgs; [pkg-config]; buildInputs = with pkgs; [ From 5e30d47e8feef8063488bdb0def59657f4c69b72 Mon Sep 17 00:00:00 2001 From: bowlbird Date: Sun, 22 Sep 2024 22:38:00 +0000 Subject: [PATCH 04/14] updated flake --- flake.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/flake.nix b/flake.nix index 858e87f..2d5b776 100644 --- a/flake.nix +++ b/flake.nix @@ -19,6 +19,9 @@ hyprland-easymotion = pkgs.gcc13Stdenv.mkDerivation { pname = "hyprland-easymotion"; version = "1.0.0"; + buildPhase = '' + export HOME=$(pwd) + ''; src = nix-filter.lib { root = ./.; include = [ From e6e1429a9804114d7c5e83ebb9c4e574efb474d9 Mon Sep 17 00:00:00 2001 From: bowlbird Date: Sun, 22 Sep 2024 22:48:57 +0000 Subject: [PATCH 05/14] updated flake --- flake.nix | 95 ++++++++++++++++++++++--------------------------------- 1 file changed, 37 insertions(+), 58 deletions(-) diff --git a/flake.nix b/flake.nix index 2d5b776..01230be 100644 --- a/flake.nix +++ b/flake.nix @@ -1,71 +1,50 @@ -# based off of split-monitor-workspaces flake.nix -# https://github.com/Duckonaut/split-monitor-workspaces/blob/main/flake.nix { inputs = { hyprland.url = "github:hyprwm/Hyprland"; nix-filter.url = "github:numtide/nix-filter"; }; + outputs = { self, hyprland, nix-filter, ... }: + let + inherit (hyprland.inputs) nixpkgs; + forHyprlandSystems = fn: nixpkgs.lib.genAttrs (builtins.attrNames hyprland.packages) (system: fn system nixpkgs.legacyPackages.${system}); + in + { + packages = forHyprlandSystems + (system: pkgs: rec { + hyprfocus = pkgs.gcc13Stdenv.mkDerivation { + pname = "hyprland-easymotion"; + version = "0.1"; + src = nix-filter.lib { + root = ./.; + include = [ + "src" + ./Makefile + ]; + }; - outputs = { - self, - hyprland, - nix-filter, - ... - }: let - inherit (hyprland.inputs) nixpkgs; - forHyprlandSystems = fn: nixpkgs.lib.genAttrs (builtins.attrNames hyprland.packages) (system: fn system nixpkgs.legacyPackages.${system}); - in { - packages = forHyprlandSystems (system: pkgs: rec { - hyprland-easymotion = pkgs.gcc13Stdenv.mkDerivation { - pname = "hyprland-easymotion"; - version = "1.0.0"; - buildPhase = '' - export HOME=$(pwd) - ''; - src = nix-filter.lib { - root = ./.; - include = [ - "src" - "include" - ./Makefile - ]; - }; - # allow overriding xwayland support - BUILT_WITH_NOXWAYLAND = false; + nativeBuildInputs = with pkgs; [ pkg-config ]; - nativeBuildInputs = with pkgs; [pkg-config]; + buildInputs = with pkgs; [ + hyprland.packages.${system}.hyprland.dev + ] + ++ hyprland.packages.${system}.hyprland.buildInputs; - buildInputs = with pkgs; - [ - hyprland.packages.${system}.hyprland.dev - pango - cairo - ] - ++ hyprland.packages.${system}.hyprland.buildInputs; + installPhase = '' + mkdir -p $out/lib + install ./hyprland-easymotion.so $out/lib/libhyprland-easymotion.so + ''; - meta = with pkgs.lib; { - homepage = "https://github.com/zakk4223/hyprland-easymotion"; - description = "Easymotion, for hyprland"; - license = licenses.bsd3; - platforms = platforms.linux; - }; - }; + meta = with pkgs.lib; { + homepage = "https://github.com/zakk4223/hyprland-easymotion"; + description = "Easymotion, for hyprland"; + license = licenses.bsd3; + platforms = platforms.linux; + }; - default = hyprland-easymotion; - }); - devShells = forHyprlandSystems (system: pkgs: { - default = pkgs.mkShell { - name = "hyprland-easymotion"; - - nativeBuildInputs = with pkgs; [ - clang-tools_16 - bear - ]; - - inputsFrom = [self.packages.${system}.hyprland-easymotion]; - }; - }); - }; + }; + default = hyprland-easymotion; + }); + }; } From 288c746ba08e3e6b5ca64773c027065d4143d245 Mon Sep 17 00:00:00 2001 From: bowlbird Date: Sun, 22 Sep 2024 22:50:16 +0000 Subject: [PATCH 06/14] updated flake --- flake.nix | 1 - 1 file changed, 1 deletion(-) diff --git a/flake.nix b/flake.nix index 01230be..cf0a8de 100644 --- a/flake.nix +++ b/flake.nix @@ -44,7 +44,6 @@ }; - default = hyprland-easymotion; }); }; } From 955f637fbb50c6dfb217ad270acc28ce75f4f0fc Mon Sep 17 00:00:00 2001 From: bowlbird Date: Sun, 22 Sep 2024 22:57:01 +0000 Subject: [PATCH 07/14] updated flake --- flake.nix | 76 +++++++++++++++++++++++++------------------------------ 1 file changed, 35 insertions(+), 41 deletions(-) diff --git a/flake.nix b/flake.nix index cf0a8de..beb1fdd 100644 --- a/flake.nix +++ b/flake.nix @@ -1,49 +1,43 @@ { + description = "Easymotion, for hyprland"; + inputs = { - hyprland.url = "github:hyprwm/Hyprland"; - nix-filter.url = "github:numtide/nix-filter"; + nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable"; + hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; }; - outputs = { self, hyprland, nix-filter, ... }: - let - inherit (hyprland.inputs) nixpkgs; - forHyprlandSystems = fn: nixpkgs.lib.genAttrs (builtins.attrNames hyprland.packages) (system: fn system nixpkgs.legacyPackages.${system}); - in - { - packages = forHyprlandSystems - (system: pkgs: rec { - hyprfocus = pkgs.gcc13Stdenv.mkDerivation { - pname = "hyprland-easymotion"; - version = "0.1"; - src = nix-filter.lib { - root = ./.; - include = [ - "src" - ./Makefile - ]; - }; + outputs = { + self, + nixpkgs, + ... + } @ inputs: let + forAllSystems = function: + nixpkgs.lib.genAttrs [ + "x86_64-linux" + ] (system: function nixpkgs.legacyPackages.${system}); + in { + packages = forAllSystems (pkgs: { + default = self.packages.${pkgs.system}.hyprland-easymotion; + hyprland-easymotion = pkgs.stdenvNoCC.mkDerivation rec { + name = "hyprland-easymotion"; + pname = name; + src = ./.; + nativeBuildInputs = inputs.hyprland.packages.${pkgs.system}.hyprland.nativeBuildInputs ++ [inputs.hyprland.packages.${pkgs.system}.hyprland pkgs.gcc13]; + buildInputs = inputs.hyprland.packages.${pkgs.system}.hyprland.buildInputs; - nativeBuildInputs = with pkgs; [ pkg-config ]; + dontUseCmakeConfigure = true; + dontUseMesonConfigure = true; + dontUseNinjaBuild = true; + dontUseNinjaInstall = true; - buildInputs = with pkgs; [ - hyprland.packages.${system}.hyprland.dev - ] - ++ hyprland.packages.${system}.hyprland.buildInputs; + installPhase = '' + runHook preInstall - installPhase = '' - mkdir -p $out/lib - install ./hyprland-easymotion.so $out/lib/libhyprland-easymotion.so - ''; - - meta = with pkgs.lib; { - homepage = "https://github.com/zakk4223/hyprland-easymotion"; - description = "Easymotion, for hyprland"; - license = licenses.bsd3; - platforms = platforms.linux; - }; - - - }; - }); - }; + mkdir -p "$out/lib" + cp -r out/* "$out/lib/lib${name}.so" + runHook postInstall + ''; + } + }); + }; } From a69d8acae4f247b0615541ed5582bfac281b59b9 Mon Sep 17 00:00:00 2001 From: bowlbird Date: Sun, 22 Sep 2024 22:57:23 +0000 Subject: [PATCH 08/14] updated flake --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index beb1fdd..505d486 100644 --- a/flake.nix +++ b/flake.nix @@ -37,7 +37,7 @@ cp -r out/* "$out/lib/lib${name}.so" runHook postInstall ''; - } + }; }); }; } From 8daa8d11b735c295bb4dfdcf41488db37653a6a4 Mon Sep 17 00:00:00 2001 From: bowlbird Date: Sun, 22 Sep 2024 23:04:28 +0000 Subject: [PATCH 09/14] updated flake --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index 505d486..babc9ad 100644 --- a/flake.nix +++ b/flake.nix @@ -34,7 +34,7 @@ runHook preInstall mkdir -p "$out/lib" - cp -r out/* "$out/lib/lib${name}.so" + cp -r out/* "$out/lib/libhypreasymotion.so" runHook postInstall ''; }; From aedf2424a101f1239af020bf94574b789e4392c7 Mon Sep 17 00:00:00 2001 From: bowlbird Date: Sun, 22 Sep 2024 23:09:38 +0000 Subject: [PATCH 10/14] updated flake --- flake.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake.nix b/flake.nix index babc9ad..58bcb6d 100644 --- a/flake.nix +++ b/flake.nix @@ -34,7 +34,7 @@ runHook preInstall mkdir -p "$out/lib" - cp -r out/* "$out/lib/libhypreasymotion.so" + cp -r ./hypreasymotion.so "$out/lib/libhyprland-easymotion.so" runHook postInstall ''; }; From 126c594b8d0aea67c1bd0892c18ea69a381dbcce Mon Sep 17 00:00:00 2001 From: bowlbird Date: Mon, 23 Sep 2024 00:02:44 +0000 Subject: [PATCH 11/14] updated docs and flake --- README.md | 24 +++++++++++++++++++----- flake.lock | 53 ++++++++++++++++++++++++++++------------------------- flake.nix | 2 ++ 3 files changed, 49 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index 5ff367f..e0c3a84 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ Easymotion is basically a single dispatcher that brings up window labels and the `bind = SUPER, z, easymotion, action:hyprctl dispatch focuswindow address:{}` This bind will bring up easymotion with SUPER-z. Once you select a window the window -will focus. If you want to change the command, the selected window's address is substituted where "{}" occurs. +will focus. If you want to change the command, the selected window's address is substituted where "{}" occurs. You can configure the appearance of the labels. Defaults are as follows: @@ -28,7 +28,7 @@ plugin { #font to use for the label. This is passed directly to the pango font description textfont=Sans - + #padding around the text (inside the label box) size in pixels, adjusted for #monitor scaling. This is the same format as hyprland's gapsin/gapsout workspace layout rule #example: textpadding=2 5 5 2 (spaces not commas) @@ -59,10 +59,24 @@ Every one of these variables is also settable via the dispatcher, so you can cre 1. Run `hyprpm add https://github.com/zakk4223/hyprland-easymotion` and wait for hyprpm to build the plugin. 2. Run `hyprpm enable hyprEasymotion` +## NixOS (Flakes) +Add this repo to your flake inputs: +```Nix +inputs = { + + hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; + + hyprland-easymotion = { + url = "github:bowlbird/hyprland-easymotion"; + inputs.hyprland.follows = "hyprland"; + }; + +}; +``` # TODO -- [ ] Blur? -- [ ] Allow multi-letter labels? -- [ ] Fixed/static label box sizing +- [ ] Blur? +- [ ] Allow multi-letter labels? +- [ ] Fixed/static label box sizing - [ ] Location of label in window (edges etc) - [ ] Auto label placement that tries to avoid being occluded diff --git a/flake.lock b/flake.lock index 0740fad..dde91a5 100644 --- a/flake.lock +++ b/flake.lock @@ -74,17 +74,19 @@ "xdph": "xdph" }, "locked": { - "lastModified": 1726753711, - "narHash": "sha256-E6jTZFF18yIGAYzK58Sb5hKX2sEVUzPbtG5Vg6Bn1Gc=", - "owner": "hyprwm", - "repo": "Hyprland", - "rev": "dfa1bd0cd48253a446fbe455a46f0f4d23368c02", - "type": "github" + "lastModified": 1726995313, + "narHash": "sha256-HTbsXJDFugdQ794d1Bnh8eRSY7AlunIxd7jFW9kkKNM=", + "ref": "refs/heads/main", + "rev": "e5ff19ac0f2c8d53a0c847d06a17676e636d6447", + "revCount": 5247, + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" }, "original": { - "owner": "hyprwm", - "repo": "Hyprland", - "type": "github" + "submodules": true, + "type": "git", + "url": "https://github.com/hyprwm/Hyprland" } }, "hyprland-protocols": { @@ -193,21 +195,6 @@ "type": "github" } }, - "nix-filter": { - "locked": { - "lastModified": 1710156097, - "narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=", - "owner": "numtide", - "repo": "nix-filter", - "rev": "3342559a24e85fc164b295c3444e8a139924675b", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "nix-filter", - "type": "github" - } - }, "nixpkgs": { "locked": { "lastModified": 1725983898, @@ -224,10 +211,26 @@ "type": "github" } }, + "nixpkgs_2": { + "locked": { + "lastModified": 1726755586, + "narHash": "sha256-PmUr/2GQGvFTIJ6/Tvsins7Q43KTMvMFhvG6oaYK+Wk=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "c04d5652cfa9742b1d519688f65d1bbccea9eb7e", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "hyprland": "hyprland", - "nix-filter": "nix-filter" + "nixpkgs": "nixpkgs_2" } }, "systems": { diff --git a/flake.nix b/flake.nix index 58bcb6d..645aa4f 100644 --- a/flake.nix +++ b/flake.nix @@ -1,3 +1,5 @@ +# Nix config informed by VirtCode's 'Dynamic Cursor' +# https://github.com/VirtCode/hypr-dynamic-cursors { description = "Easymotion, for hyprland"; From 54cf1ff8d58336b0108192518288b1bada387cab Mon Sep 17 00:00:00 2001 From: bowlbird Date: Mon, 23 Sep 2024 00:03:11 +0000 Subject: [PATCH 12/14] updated docs and flake --- README.md | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) diff --git a/README.md b/README.md index e0c3a84..7b41767 100644 --- a/README.md +++ b/README.md @@ -60,19 +60,31 @@ Every one of these variables is also settable via the dispatcher, so you can cre 2. Run `hyprpm enable hyprEasymotion` ## NixOS (Flakes) +Please note, you should *also have hyprland as a flake input*. Add this repo to your flake inputs: -```Nix +```nix inputs = { + # ... + hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; - hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; - - hyprland-easymotion = { - url = "github:bowlbird/hyprland-easymotion"; - inputs.hyprland.follows = "hyprland"; - }; - + hyprland-easymotion = { + url = "github:bowlbird/hyprland-easymotion"; + inputs.hyprland.follows = "hyprland"; + }; + # ... }; +outputs = { self, hyprland, ... } @ inputs: + # ... ``` +Add the plugin to your Hyprland Home Manager config: +```nix +wayland.windowManager.hyprland = { + # ... + plugins = [ + inputs.hyprland-easymotion.packages.${pkgs.system}.hyprland-easymotion + ]; + # ... +}; # TODO - [ ] Blur? From 595feec96f0f663e333037694d0aabd439265dea Mon Sep 17 00:00:00 2001 From: bowlbird Date: Mon, 23 Sep 2024 00:04:29 +0000 Subject: [PATCH 13/14] updated README --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 7b41767..071d44b 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,6 @@ Please note, you should *also have hyprland as a flake input*. Add this repo to your flake inputs: ```nix inputs = { - # ... hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprland-easymotion = { @@ -79,13 +78,12 @@ outputs = { self, hyprland, ... } @ inputs: Add the plugin to your Hyprland Home Manager config: ```nix wayland.windowManager.hyprland = { - # ... plugins = [ inputs.hyprland-easymotion.packages.${pkgs.system}.hyprland-easymotion ]; # ... }; - +``` # TODO - [ ] Blur? - [ ] Allow multi-letter labels? From 7bba5ccda3b148ac83660ae4c86be8f84b212d58 Mon Sep 17 00:00:00 2001 From: bowlbird Date: Mon, 23 Sep 2024 00:21:33 +0000 Subject: [PATCH 14/14] updated README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 071d44b..100bca8 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ inputs = { hyprland.url = "git+https://github.com/hyprwm/Hyprland?submodules=1"; hyprland-easymotion = { - url = "github:bowlbird/hyprland-easymotion"; + url = "github:zakk4223/hyprland-easymotion"; inputs.hyprland.follows = "hyprland"; }; # ...