push sheeet
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s

This commit is contained in:
Dark Steveneq
2025-10-09 14:15:47 +02:00
commit 646b892680
49168 changed files with 5897842 additions and 0 deletions

View File

@@ -0,0 +1,84 @@
{
lib,
stdenv,
source, # this is ./source.nix
glib,
wrapGAppsHook3,
gobject-introspection,
meson,
pkg-config,
ninja,
vala,
wayland,
wayland-scanner,
python3,
}:
let
cleanArgs = lib.flip removeAttrs [
"name"
"sourceRoot"
"nativeBuildInputs"
"buildInputs"
"website-path"
"meta"
];
buildAstalModule =
{
name,
sourceRoot ? "lib/${name}",
nativeBuildInputs ? [ ],
buildInputs ? [ ],
website-path ? name,
meta ? { },
...
}@args:
stdenv.mkDerivation (
finalAttrs:
cleanArgs args
// {
pname = "astal-${name}";
inherit (source) version;
__structuredAttrs = true;
strictDeps = true;
src = source;
sourceRoot = "${finalAttrs.src.name}/${sourceRoot}";
nativeBuildInputs = nativeBuildInputs ++ [
wrapGAppsHook3
gobject-introspection
meson
pkg-config
ninja
vala
wayland
wayland-scanner
python3
];
buildInputs = [ glib ] ++ buildInputs;
meta = {
homepage = "https://aylur.github.io/astal/guide/libraries/${website-path}";
license = lib.licenses.lgpl21;
maintainers = with lib.maintainers; [ perchun ];
platforms = [
"aarch64-linux"
"x86_64-linux"
];
}
// meta;
}
);
in
args:
# to support (finalAttrs: {...})
if builtins.typeOf args == "function" then
buildAstalModule (lib.fix args)
else
buildAstalModule args

View File

@@ -0,0 +1,24 @@
{ wireplumber }:
self: {
source = self.callPackage ./source.nix { };
buildAstalModule = self.callPackage ./buildAstalModule.nix { };
apps = self.callPackage ./modules/apps.nix { };
astal3 = self.callPackage ./modules/astal3.nix { };
astal4 = self.callPackage ./modules/astal4.nix { };
auth = self.callPackage ./modules/auth.nix { };
battery = self.callPackage ./modules/battery.nix { };
bluetooth = self.callPackage ./modules/bluetooth.nix { };
cava = self.callPackage ./modules/cava.nix { };
gjs = self.callPackage ./modules/gjs.nix { };
greet = self.callPackage ./modules/greet.nix { };
hyprland = self.callPackage ./modules/hyprland.nix { };
io = self.callPackage ./modules/io.nix { };
mpris = self.callPackage ./modules/mpris.nix { };
network = self.callPackage ./modules/network.nix { };
notifd = self.callPackage ./modules/notifd.nix { };
powerprofiles = self.callPackage ./modules/powerprofiles.nix { };
river = self.callPackage ./modules/river.nix { };
tray = self.callPackage ./modules/tray.nix { };
wireplumber = self.callPackage ./modules/wireplumber.nix { inherit wireplumber; };
}

View File

@@ -0,0 +1,9 @@
{
buildAstalModule,
json-glib,
}:
buildAstalModule {
name = "apps";
buildInputs = [ json-glib ];
meta.description = "Astal module for application query";
}

View File

@@ -0,0 +1,16 @@
{
buildAstalModule,
gtk3,
gtk-layer-shell,
io,
}:
buildAstalModule {
name = "astal3";
sourceRoot = "lib/astal/gtk3";
buildInputs = [ io ];
propagatedBuildInputs = [
gtk3
gtk-layer-shell
];
meta.description = "Astal module for GTK3 widgets";
}

View File

@@ -0,0 +1,16 @@
{
buildAstalModule,
gtk4,
gtk4-layer-shell,
io,
}:
buildAstalModule {
name = "astal4";
sourceRoot = "lib/astal/gtk4";
buildInputs = [
io
gtk4
gtk4-layer-shell
];
meta.description = "Astal module for GTK4 widgets";
}

View File

@@ -0,0 +1,9 @@
{
buildAstalModule,
pam,
}:
buildAstalModule {
name = "auth";
buildInputs = [ pam ];
meta.description = "Astal module for authentication using pam";
}

View File

@@ -0,0 +1,9 @@
{
buildAstalModule,
json-glib,
}:
buildAstalModule {
name = "battery";
buildInputs = [ json-glib ];
meta.description = "Astal module for upowerd devices (DBus proxy)";
}

View File

@@ -0,0 +1,5 @@
{ buildAstalModule }:
buildAstalModule {
name = "bluetooth";
meta.description = "Astal module for bluez using DBus";
}

View File

@@ -0,0 +1,13 @@
{
buildAstalModule,
libcava,
fftw,
}:
buildAstalModule {
name = "cava";
buildInputs = [
libcava
fftw
];
meta.description = "Astal module for audio visualization using cava";
}

View File

@@ -0,0 +1,27 @@
{
buildAstalModule,
astal3,
io,
meson,
ninja,
pkg-config,
}:
(buildAstalModule {
name = "gjs";
sourceRoot = "lang/gjs";
meta.description = "Astal module for GJS";
}).overrideAttrs
{
# Remove all unused here inputs
nativeBuildInputs = [
meson
ninja
pkg-config
];
buildInputs = [
astal3
io
];
propagatedBuildInputs = [ ];
}

View File

@@ -0,0 +1,6 @@
{ buildAstalModule, json-glib }:
buildAstalModule {
name = "greet";
buildInputs = [ json-glib ];
meta.description = "Astal module for greetd using IPC";
}

View File

@@ -0,0 +1,6 @@
{ buildAstalModule, json-glib }:
buildAstalModule {
name = "hyprland";
buildInputs = [ json-glib ];
meta.description = "Astal module for Hyprland using IPC";
}

View File

@@ -0,0 +1,6 @@
{ buildAstalModule }:
buildAstalModule {
name = "io";
sourceRoot = "lib/astal/io";
meta.description = "Astal core library";
}

View File

@@ -0,0 +1,13 @@
{
buildAstalModule,
gvfs,
json-glib,
}:
buildAstalModule {
name = "mpris";
buildInputs = [
gvfs
json-glib
];
meta.description = "Astal module for mpris players";
}

View File

@@ -0,0 +1,6 @@
{ buildAstalModule, networkmanager }:
buildAstalModule {
name = "network";
buildInputs = [ networkmanager ];
meta.description = "Astal module for NetworkManager";
}

View File

@@ -0,0 +1,13 @@
{
buildAstalModule,
json-glib,
gdk-pixbuf,
}:
buildAstalModule {
name = "notifd";
buildInputs = [
json-glib
gdk-pixbuf
];
meta.description = "Astal module for notification daemon";
}

View File

@@ -0,0 +1,6 @@
{ buildAstalModule, json-glib }:
buildAstalModule {
name = "powerprofiles";
buildInputs = [ json-glib ];
meta.description = "Astal module for upowerd profiles using DBus";
}

View File

@@ -0,0 +1,12 @@
{ buildAstalModule, json-glib }:
buildAstalModule {
name = "river";
buildInputs = [ json-glib ];
meta.description = "Astal module for River using IPC";
postUnpack = ''
rm -rf $sourceRoot/subprojects
mkdir -p $sourceRoot/subprojects
cp -r --remove-destination $src/lib/wayland-glib $sourceRoot/subprojects/wayland-glib
'';
}

View File

@@ -0,0 +1,13 @@
{
buildAstalModule,
json-glib,
appmenu-glib-translator,
}:
buildAstalModule {
name = "tray";
buildInputs = [
json-glib
appmenu-glib-translator
];
meta.description = "Astal module for StatusNotifierItem";
}

View File

@@ -0,0 +1,6 @@
{ buildAstalModule, wireplumber }:
buildAstalModule {
name = "wireplumber";
buildInputs = [ wireplumber ];
meta.description = "Astal module for wireplumber";
}

View File

@@ -0,0 +1,36 @@
{
lib,
nix-update-script,
fetchFromGitHub,
}:
let
originalDrv = fetchFromGitHub {
owner = "Aylur";
repo = "astal";
rev = "12c15b44608422e494c387aba6adc1ab6315d925";
hash = "sha256-EfTrJse33t3RP//DqESkTMCpMSdIi/wxxfa12+eP5jo=";
};
in
originalDrv.overrideAttrs (
final: prev: {
name = "${final.pname}-${final.version}"; # fetchFromGitHub already defines name
pname = "astal-source";
version = "0-unstable-2025-10-05";
meta = prev.meta // {
description = "Building blocks for creating custom desktop shells (source)";
longDescription = ''
Please don't use this package directly, use one of subpackages in
`astal` namespace. This package is just a `fetchFromGitHub`, which is
reused between all subpackages.
'';
maintainers = with lib.maintainers; [ perchun ];
platforms = lib.platforms.linux;
};
passthru = prev.passthru // {
updateScript = nix-update-script { extraArgs = [ "--version=branch" ]; };
src = originalDrv;
};
}
)