diff --git a/flake.lock b/flake.lock index f1168793..99d9f438 100644 --- a/flake.lock +++ b/flake.lock @@ -458,7 +458,8 @@ "rwxrob-dot": "rwxrob-dot", "standard-vim": "standard-vim", "vim-heritage": "vim-heritage", - "vim-textobj-xmlattr": "vim-textobj-xmlattr" + "vim-textobj-xmlattr": "vim-textobj-xmlattr", + "voidrice": "voidrice" } }, "rwxrob-dot": { @@ -569,6 +570,22 @@ "repo": "vim-textobj-xmlattr", "type": "github" } + }, + "voidrice": { + "flake": false, + "locked": { + "lastModified": 1744355318, + "narHash": "sha256-9U1Do0w2oT5E6uZxSKoHAzbGbSLQRQlT65KcPGzwhW8=", + "owner": "lukesmithxyz", + "repo": "voidrice", + "rev": "f853f1884a8f0c244765192dc6f5a910a7e2b8e5", + "type": "github" + }, + "original": { + "owner": "lukesmithxyz", + "repo": "voidrice", + "type": "github" + } } }, "root": "root", diff --git a/flake.nix b/flake.nix index e03ecc80..4657f031 100644 --- a/flake.nix +++ b/flake.nix @@ -77,6 +77,11 @@ flake = false; url = "github:whatyouhide/vim-textobj-xmlattr"; }; + + voidrice = { + flake = false; + url = "github:lukesmithxyz/voidrice"; + }; }; outputs = diff --git a/home-manager/opdavies/t480.nix b/home-manager/opdavies/t480.nix index 3f4b19f4..83423c7e 100644 --- a/home-manager/opdavies/t480.nix +++ b/home-manager/opdavies/t480.nix @@ -17,7 +17,6 @@ build-glove80 count-tags create-script - displayselect get-tags qrencode mounter diff --git a/modules/displayselect/default.nix b/modules/displayselect/default.nix new file mode 100644 index 00000000..b8b6ad92 --- /dev/null +++ b/modules/displayselect/default.nix @@ -0,0 +1,35 @@ +{ inputs, ... }: + +{ + flake.modules.homeManager.gui = + { pkgs, ... }: + { + home.packages = [ + (pkgs.stdenv.mkDerivation { + pname = "displayselect"; + version = "unstable"; + + src = inputs.voidrice; + + dontUnpack = true; + + buildInputs = with pkgs; [ + bash + xorg.xrandr + ]; + + prePatch = '' + cp "$src/.local/bin/displayselect" displayselect + ''; + + patches = [ ./scaling.patch ]; + + installPhase = '' + mkdir -p $out/bin + cp displayselect $out/bin + chmod +x $out/bin/displayselect + ''; + }) + ]; + }; +} diff --git a/packages/displayselect/scaling.patch b/modules/displayselect/scaling.patch similarity index 100% rename from packages/displayselect/scaling.patch rename to modules/displayselect/scaling.patch diff --git a/modules/sxhkd/keybindings.nix b/modules/sxhkd/keybindings.nix index 811c998c..62dfca4b 100644 --- a/modules/sxhkd/keybindings.nix +++ b/modules/sxhkd/keybindings.nix @@ -13,7 +13,7 @@ "${pkgs.xdotool}/bin/xdotool type $(cat ~/.local/share/snippets.txt | grep -v '^#' | grep -v '^$' | sort | dmenu -i -l 50 | cut -d' ' -f1)"; "super + shift + p" = "${lib.getExe pkgs.passmenu-otp} -i"; "super + x; {1, 2, 3, 4}" = "st {notes, newsboat, nmtui, bluetuith}"; - "@F3" = "${lib.getExe pkgs.displayselect}"; + "@F3" = "displayselect"; "@F9" = "/home/opdavies/.local/bin/mounter"; "@F10" = "/home/opdavies/.local/bin/unmounter"; }; diff --git a/packages/default.nix b/packages/default.nix index 52254bb7..8d7bb22d 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -17,7 +17,6 @@ in count-tags = callPackage ./count-tags.nix { }; create-script = callPackage ./create-script.nix { }; dev-commit = callPackage ./dev-commit.nix { }; - displayselect = callPackage ./displayselect { }; get-tags = callPackage ./get-tags.nix { }; git-exclude = callPackage ./git-exclude.nix { }; git-graph = callPackage ./git-graph.nix { }; diff --git a/packages/displayselect/default.nix b/packages/displayselect/default.nix deleted file mode 100644 index f81f217e..00000000 --- a/packages/displayselect/default.nix +++ /dev/null @@ -1,32 +0,0 @@ -{ pkgs, ... }: - -pkgs.stdenv.mkDerivation { - pname = "displayselect"; - version = "unstable-2024-05-11"; - - src = builtins.fetchurl { - url = "https://raw.githubusercontent.com/lukesmithxyz/voidrice/97687287bdfd332398b82a196b5f1feaec73f1d7/.local/bin/displayselect"; - sha256 = "sha256:11r561pfhb48a3xmi42zzvpljahnwlfad9rz8qmmp64dhz1f2vp0"; - }; - - dontUnpack = true; - - buildInputs = with pkgs; [ - bash - xorg.xrandr - ]; - - prePatch = '' - cp $src displayselect - ''; - - patches = [ ./scaling.patch ]; - - installPhase = '' - mkdir -p $out/bin - cp displayselect $out/bin - chmod +x $out/bin/displayselect - ''; - - meta.mainProgram = "displayselect"; -}