nixpkgs/pkgs/by-name/ag/ags/package.nix
2024-05-08 22:45:51 +05:30

80 lines
1.5 KiB
Nix

{
lib,
buildNpmPackage,
fetchFromGitHub,
meson,
ninja,
pkg-config,
gobject-introspection,
gjs,
glib-networking,
gnome,
gtk-layer-shell,
libpulseaudio,
libsoup_3,
networkmanager,
upower,
typescript,
wrapGAppsHook3,
linux-pam,
nix-update-script,
}:
buildNpmPackage rec {
pname = "ags";
version = "1.8.2";
src = fetchFromGitHub {
owner = "Aylur";
repo = "ags";
rev = "v${version}";
hash = "sha256-ebnkUaee/pnfmw1KmOZj+MP1g5wA+8BT/TPKmn4Dkwc=";
fetchSubmodules = true;
};
npmDepsHash = "sha256-ucWdADdMqAdLXQYKGOXHNRNM9bhjKX4vkMcQ8q/GZ20=";
mesonFlags = [ (lib.mesonBool "build_types" true) ];
nativeBuildInputs = [
meson
ninja
pkg-config
gjs
gobject-introspection
typescript
wrapGAppsHook3
];
# Most of the build inputs here are basically needed for their typelibs.
buildInputs = [
gjs
glib-networking
gnome.gnome-bluetooth
gtk-layer-shell
libpulseaudio
libsoup_3
linux-pam
networkmanager
upower
];
postPatch = ''
chmod u+x ./post_install.sh && patchShebangs ./post_install.sh
'';
passthru.updateScript = nix-update-script {};
meta = {
homepage = "https://github.com/Aylur/ags";
description = "A EWW-inspired widget system as a GJS library";
changelog = "https://github.com/Aylur/ags/releases/tag/v${version}";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [
foo-dogsquared
johnrtitor
];
mainProgram = "ags";
platforms = lib.platforms.linux;
};
}