diff --git a/flake.nix b/flake.nix index e2a7a0c..0f587de 100755 --- a/flake.nix +++ b/flake.nix @@ -53,7 +53,7 @@ }; apple-firmware = { - url = "github:youwen5/apple-firmware"; + url = "github:binary-star-systems/apple-firmware"; flake = false; }; @@ -126,6 +126,12 @@ inputs.flake-utils.follows = "flake-utils"; inputs.nixpkgs.follows = "nixpkgs"; }; + + # Use latest Hyprscroller plugin + hyprscroller = { + url = "github:cpiber/hyprscroller"; + inputs.hyprland.follows = "hyprland"; + }; }; outputs = @@ -196,6 +202,7 @@ inputs.stylix.nixosModules.stylix inputs.agenix.nixosModules.age inputs.musnix.nixosModules.musnix + inputs.hyprscroller.nixosModules.hyprscroller inputs.nur.modules.nixos.default ./modules/default.nix ./overlays diff --git a/hm/modules/linux/desktop-environment/hyprland/default.nix b/hm/modules/linux/desktop-environment/hyprland/default.nix index 16f0faf..14f9ca6 100644 --- a/hm/modules/linux/desktop-environment/hyprland/default.nix +++ b/hm/modules/linux/desktop-environment/hyprland/default.nix @@ -1,5 +1,6 @@ { pkgs, + inputs, config, lib, osConfig, @@ -84,7 +85,7 @@ in wayland.windowManager.hyprland = { enable = true; - plugins = [ pkgs.hyprlandPlugins.hyprscroller ]; + plugins = [ inputs.hyprscroller.packages.x86_64-linux.hyprscroller ]; settings = { exec-once = [ "hyprctl dispatch workspace 100000" diff --git a/pkgs/by-name/hyprscroller/default.nix b/pkgs/by-name/hyprscroller/default.nix deleted file mode 100644 index 851275a..0000000 --- a/pkgs/by-name/hyprscroller/default.nix +++ /dev/null @@ -1,59 +0,0 @@ -{ - lib, - fetchFromGitHub, - hyprland, - pkg-config, - cmake, - unstableGitUpdater, -}: -let - mkHyprlandPlugin = - hyprland: - args@{ pluginName, ... }: - hyprland.stdenv.mkDerivation ( - args - // { - pname = "${pluginName}"; - nativeBuildInputs = [ pkg-config ] ++ args.nativeBuildInputs or [ ]; - buildInputs = [ hyprland ] ++ hyprland.buildInputs ++ (args.buildInputs or [ ]); - meta = args.meta // { - description = args.meta.description or ""; - longDescription = - (args.meta.longDescription or "") - + "\n\nPlugins can be installed via a plugin entry in the Hyprland NixOS or Home Manager options."; - }; - } - ); -in -mkHyprlandPlugin hyprland { - pluginName = "hyprscroller"; - version = "0-unstable-2025-05-16"; - - src = fetchFromGitHub { - owner = "cpiber"; - repo = "hyprscroller"; - rev = "de97924b6d1086d84939b6f6688637f7b21d8d80"; - hash = "sha256-m9689UH+w8Z/qP/DKYtzQfIGfiE4jgBAfO+uH34cfNs="; - }; - - nativeBuildInputs = [ cmake ]; - - installPhase = '' - runHook preInstall - - mkdir -p $out/lib - mv hyprscroller.so $out/lib/libhyprscroller.so - - runHook postInstall - ''; - - passthru.updateScript = unstableGitUpdater { }; - - meta = { - homepage = "https://github.com/cpiber/hyprscroller"; - description = "Hyprland layout plugin providing a scrolling layout like PaperWM"; - license = lib.licenses.mit; - maintainers = with lib.maintainers; [ youwen5 ]; - platforms = lib.platforms.linux; - }; -} diff --git a/pkgs/default.nix b/pkgs/default.nix index 9955d4e..a5e085a 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -4,5 +4,4 @@ let in final: prev: { wine-discord-ipc-bridge = callPackage ./by-name/wine-discord-ipc-bridge { }; - hyprlandPlugins.hyprscroller = callPackage ./by-name/hyprscroller { }; }