hyprland-plugins/flake.nix

68 lines
1.9 KiB
Nix
Raw Normal View History

2023-04-27 00:58:01 +02:00
{
description = "Hyprland Plugins";
2024-03-07 10:29:46 +01:00
inputs = {
hyprland.url = "github:hyprwm/Hyprland";
systems.follows = "hyprland/systems";
};
outputs = {
self,
hyprland,
systems,
...
}: let
inherit (hyprland.inputs) nixpkgs;
inherit (nixpkgs) lib;
eachSystem = lib.genAttrs (import systems);
2023-04-27 00:58:01 +02:00
2024-03-07 10:29:46 +01:00
pkgsFor = eachSystem (system:
import nixpkgs {
localSystem.system = system;
overlays = with self.overlays; [hyprland-plugins];
});
2023-04-27 00:58:01 +02:00
in {
2024-03-07 10:29:46 +01:00
packages = eachSystem (system: {
2024-04-03 21:08:47 +02:00
inherit (pkgsFor.${system}) borders-plus-plus csgo-vulkan-fix hyprbars hyprexpo hyprtrails hyprwinwrap;
2023-04-27 00:58:01 +02:00
});
2024-03-07 10:29:46 +01:00
overlays = {
default = self.overlays.hyprland-plugins;
mkHyprlandPlugin = lib.composeManyExtensions [
hyprland.overlays.default
(final: prev: {
hyprlandPlugins =
prev.hyprlandPlugins
// {
mkHyprlandPlugin = prev.hyprlandPlugins.mkHyprlandPlugin final.hyprland;
};
})
];
hyprland-plugins = lib.composeManyExtensions [
self.overlays.mkHyprlandPlugin
(final: prev: let
inherit (final) callPackage;
in {
borders-plus-plus = callPackage ./borders-plus-plus {};
csgo-vulkan-fix = callPackage ./csgo-vulkan-fix {};
hyprbars = callPackage ./hyprbars {};
2024-04-03 21:08:47 +02:00
hyprexpo = callPackage ./hyprexpo {};
2024-03-07 10:29:46 +01:00
hyprtrails = callPackage ./hyprtrails {};
hyprwinwrap = callPackage ./hyprwinwrap {};
})
];
};
2024-01-28 22:51:54 +01:00
2024-03-07 10:29:46 +01:00
checks = eachSystem (system: self.packages.${system});
devShells = eachSystem (system:
with pkgsFor.${system}; {
default = mkShell.override {stdenv = gcc13Stdenv;} {
name = "hyprland-plugins";
buildInputs = [hyprland.packages.${system}.hyprland];
inputsFrom = [hyprland.packages.${system}.hyprland];
};
});
2023-04-27 00:58:01 +02:00
};
}