From 7d6b363b76905b6aea72e4313e82fe51c893470d Mon Sep 17 00:00:00 2001 From: ezratweaver Date: Fri, 22 May 2026 02:04:42 -0400 Subject: [PATCH 1/2] adw-bluetooth: 1.0.0 -> 1.1.0 --- .../services/desktops/adw-bluetooth.nix | 33 +++++++++++++++++++ pkgs/by-name/ad/adw-bluetooth/package.nix | 28 +++++++++++++--- 2 files changed, 56 insertions(+), 5 deletions(-) create mode 100644 nixos/modules/services/desktops/adw-bluetooth.nix diff --git a/nixos/modules/services/desktops/adw-bluetooth.nix b/nixos/modules/services/desktops/adw-bluetooth.nix new file mode 100644 index 000000000000..ab15b1cdfef4 --- /dev/null +++ b/nixos/modules/services/desktops/adw-bluetooth.nix @@ -0,0 +1,33 @@ +{ + config, + lib, + pkgs, + ... +}: + +let + cfg = config.services.adw-bluetooth; +in +{ + meta.maintainers = with lib.maintainers; [ ezratweaver ]; + + options.services.adw-bluetooth = { + enable = lib.mkEnableOption "Adwaita Bluetooth daemon"; + }; + + config = lib.mkIf cfg.enable { + environment.systemPackages = [ pkgs.adw-bluetooth ]; + services.dbus.packages = [ pkgs.adw-bluetooth ]; + + systemd.user.services.adw-bluetooth-daemon = { + description = "AdwBluetooth Daemon"; + wantedBy = [ "default.target" ]; + after = [ "bluetooth.target" ]; + serviceConfig = { + Type = "dbus"; + BusName = "com.ezratweaver.AdwBluetoothDaemon"; + ExecStart = "${pkgs.adw-bluetooth}/libexec/adw-bluetooth-daemon"; + }; + }; + }; +} diff --git a/pkgs/by-name/ad/adw-bluetooth/package.nix b/pkgs/by-name/ad/adw-bluetooth/package.nix index fde7d2367c9a..f0b700ee9c9b 100644 --- a/pkgs/by-name/ad/adw-bluetooth/package.nix +++ b/pkgs/by-name/ad/adw-bluetooth/package.nix @@ -2,6 +2,7 @@ stdenv, lib, fetchFromGitHub, + buildGoModule, meson, ninja, pkg-config, @@ -13,17 +14,27 @@ libadwaita, }: -stdenv.mkDerivation (finalAttrs: { - pname = "adw-bluetooth"; - version = "1.0.0"; +let + version = "1.1.0"; src = fetchFromGitHub { owner = "ezratweaver"; repo = "adw-bluetooth"; - tag = finalAttrs.version; - hash = "sha256-/KJpB9i6tFDnB3C0tPtJtt8tTDfNftIkHmP1JSVSZNY="; + tag = version; + hash = "sha256-h3cHtecwBsx3j33qXVn/zaq4FZext71P7flzunCHqHg="; }; + daemon = buildGoModule { + pname = "adw-bluetooth-daemon"; + inherit version; + src = src + "/daemon"; + vendorHash = "sha256-7tiSwNhq6e4LEh4lUkfh2i4tEdWWL6TxQpYYwYKsfog="; + }; +in +stdenv.mkDerivation (finalAttrs: { + pname = "adw-bluetooth"; + inherit version src; + nativeBuildInputs = [ meson ninja @@ -39,6 +50,13 @@ stdenv.mkDerivation (finalAttrs: { libadwaita ]; + mesonFlags = [ "-Dbuild_daemon=false" ]; + + postInstall = '' + mkdir -p $out/libexec + ln -s ${daemon}/bin/daemon $out/libexec/adw-bluetooth-daemon + ''; + meta = { description = "GNOME Inspired LibAdwaita Bluetooth Applet"; homepage = "https://github.com/ezratweaver/adw-bluetooth"; From a875214e7d216c7b8cad254361e76117ae7719e5 Mon Sep 17 00:00:00 2001 From: ezratweaver Date: Fri, 22 May 2026 02:05:04 -0400 Subject: [PATCH 2/2] nixos/adw-bluetooth: init module --- nixos/doc/manual/release-notes/rl-2605.section.md | 2 ++ nixos/modules/module-list.nix | 1 + nixos/modules/services/desktops/adw-bluetooth.nix | 7 ++++--- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/nixos/doc/manual/release-notes/rl-2605.section.md b/nixos/doc/manual/release-notes/rl-2605.section.md index 70c6cdd2d0d6..15a57d19f25c 100644 --- a/nixos/doc/manual/release-notes/rl-2605.section.md +++ b/nixos/doc/manual/release-notes/rl-2605.section.md @@ -77,6 +77,8 @@ - [ImmichFrame](https://immichframe.dev/), display your photos from Immich as a digital photo frame. Available as [services.immichframe](#opt-services.immichframe.enable). +- [adw-bluetooth](https://github.com/ezratweaver/adw-bluetooth), a GNOME-inspired LibAdwaita Bluetooth applet. Available as [services.adw-bluetooth](#opt-services.adw-bluetooth.enable). + - [PdfDing](https://www.pdfding.com/), manage, view and edit your PDFs seamlessly on all your devices wherever you are. Available as [services.pdfding](#opt-services.pdfding.enable). - [mangowc](https://github.com/DreamMaoMao/mangowc), a lightweight and feature-rich Wayland compositor based on dwl. Available as [programs.mangowc](#opt-programs.mangowc.enable). diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix index eb21ab718578..afb05adcfb55 100644 --- a/nixos/modules/module-list.nix +++ b/nixos/modules/module-list.nix @@ -557,6 +557,7 @@ ./services/databases/victoriametrics.nix ./services/databases/victoriatraces.nix ./services/desktops/accountsservice.nix + ./services/desktops/adw-bluetooth.nix ./services/desktops/ayatana-indicators.nix ./services/desktops/bamf.nix ./services/desktops/blueman.nix diff --git a/nixos/modules/services/desktops/adw-bluetooth.nix b/nixos/modules/services/desktops/adw-bluetooth.nix index ab15b1cdfef4..43c6cfe4e436 100644 --- a/nixos/modules/services/desktops/adw-bluetooth.nix +++ b/nixos/modules/services/desktops/adw-bluetooth.nix @@ -13,11 +13,12 @@ in options.services.adw-bluetooth = { enable = lib.mkEnableOption "Adwaita Bluetooth daemon"; + package = lib.mkPackageOption pkgs "adw-bluetooth" { }; }; config = lib.mkIf cfg.enable { - environment.systemPackages = [ pkgs.adw-bluetooth ]; - services.dbus.packages = [ pkgs.adw-bluetooth ]; + environment.systemPackages = [ cfg.package ]; + services.dbus.packages = [ cfg.package ]; systemd.user.services.adw-bluetooth-daemon = { description = "AdwBluetooth Daemon"; @@ -26,7 +27,7 @@ in serviceConfig = { Type = "dbus"; BusName = "com.ezratweaver.AdwBluetoothDaemon"; - ExecStart = "${pkgs.adw-bluetooth}/libexec/adw-bluetooth-daemon"; + ExecStart = "${cfg.package}/libexec/adw-bluetooth-daemon"; }; }; };