xdg-desktop-portal-hyprland/flake.nix
2023-05-02 18:49:04 +03:00

53 lines
1.5 KiB
Nix

{
description = "xdg-desktop-portal-hyprland";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
hyprland-protocols = {
url = "github:hyprwm/hyprland-protocols";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
...
} @ inputs: let
inherit (nixpkgs) lib;
genSystems = lib.genAttrs [
"aarch64-linux"
"x86_64-linux"
];
pkgsFor = genSystems (system:
import nixpkgs {
inherit system;
overlays = [
self.overlays.default
inputs.hyprland-protocols.overlays.default
];
});
mkDate = longDate: (lib.concatStringsSep "-" [
(builtins.substring 0 4 longDate)
(builtins.substring 4 2 longDate)
(builtins.substring 6 2 longDate)
]);
version = "0.pre" + "+date=" + (mkDate (self.lastModifiedDate or "19700101")) + "_" + (self.shortRev or "dirty");
in {
overlays.default = final: prev: {
xdg-desktop-portal-hyprland = final.callPackage ./nix/default.nix {
inherit (final) hyprland-protocols hyprland-share-picker;
inherit version;
};
hyprland-share-picker = final.libsForQt5.callPackage ./nix/hyprland-share-picker.nix {inherit version;};
};
packages = genSystems (system:
(self.overlays.default pkgsFor.${system} pkgsFor.${system})
// {default = self.packages.${system}.xdg-desktop-portal-hyprland;});
formatter = genSystems (system: pkgsFor.${system}.alejandra);
};
}