From b088b871bb7b929496cda9c65bb05ab157939f7f Mon Sep 17 00:00:00 2001 From: r0chd Date: Wed, 29 Jul 2026 00:21:29 +0200 Subject: [PATCH] initialize package --- dbus/sessiond-backlight.conf | 12 ++++++++++++ flake.nix | 28 ---------------------------- nix/package.nix | 23 +++++------------------ src/main.rs | 5 ++++- 4 files changed, 21 insertions(+), 47 deletions(-) create mode 100644 dbus/sessiond-backlight.conf diff --git a/dbus/sessiond-backlight.conf b/dbus/sessiond-backlight.conf new file mode 100644 index 0000000..918fc05 --- /dev/null +++ b/dbus/sessiond-backlight.conf @@ -0,0 +1,12 @@ + + + + + + + + + + diff --git a/flake.nix b/flake.nix index b80fb1a..76aa90d 100644 --- a/flake.nix +++ b/flake.nix @@ -101,33 +101,5 @@ in import ./nix/formatter.nix { inherit pkgs rustToolchain; } ); - - finixConfigurations = - let - system = "x86_64-linux"; - pkgs = pkgsFor system; - in - { - finix-vm = finix.lib.finixSystem { - inherit (pkgs) lib; - specialArgs = { - inherit (self.packages.${system}) sessiond-backlight; - sessiond = import sources.sessiond.outPath { inherit pkgs; }; - }; - modules = [ - { nixpkgs = { inherit pkgs; }; } - ./nix/finix-vm.nix - self.finixModules.sessiond-backlight - "${finix.outPath}/modules/virtualisation/qemu.nix" - ] - ++ builtins.attrValues { - inherit (finix.nixosModules) - getty - sysklogd - polkit - ; - }; - }; - }; }; } diff --git a/nix/package.nix b/nix/package.nix index c25c2e5..3486303 100644 --- a/nix/package.nix +++ b/nix/package.nix @@ -1,8 +1,5 @@ { rustPlatform, - pkg-config, - eudev, - acl, lib, }: let @@ -18,27 +15,17 @@ rustPlatform.buildRustPackage { src = lib.cleanSource ../.; - nativeBuildInputs = [ - pkg-config - ]; - - buildInputs = [ - acl - eudev - ]; - postInstall = '' - install -Dm644 ${../lua/sessiond-uaccess.lua} $out/share/sessiond-uaccess/lua/sessiond-uaccess.lua - - cp -r ${../rules} $out/share/sessiond-uaccess/rules + install -Dm644 ${../dbus/sessiond-backlight.conf} \ + $out/share/dbus-1/system.d/sessiond-backlight.conf ''; meta = { - description = "Active-session device access manager"; - homepage = "https://tangled.org/r0chd.pl/sessiond-uaccess"; + description = "Logind-compatible backlight control service"; + homepage = "https://tangled.org/r0chd.pl/sessiond-backlight"; license = lib.licenses.gpl3; maintainers = builtins.attrValues { inherit (lib.maintainers) r0chd; }; platforms = lib.platforms.linux; - mainProgram = "sessiond-uaccess"; + mainProgram = "sessiond-backlight"; }; } diff --git a/src/main.rs b/src/main.rs index f0fe071..af39b66 100644 --- a/src/main.rs +++ b/src/main.rs @@ -61,6 +61,7 @@ impl Login1Session { struct SessiondBacklight { session_core_manager: Option, _dbus_connection: zbus::blocking::Connection, + sessions: Vec, } impl hyprwire::Dispatch for SessiondBacklight { @@ -71,7 +72,8 @@ impl hyprwire::Dispatch for SessiondBa ) { match event { session_core_manager::Event::SessionAdded { session_id } => { - let session = object.send_get_session::(session_id); + self.sessions + .push(object.send_get_session::(session_id).unwrap()); } session_core_manager::Event::Done => {} session_core_manager::Event::Error { code, message } => {} @@ -111,6 +113,7 @@ fn main() -> anyhow::Result<()> { let mut sessiond_backlight = SessiondBacklight { session_core_manager: None, _dbus_connection: dbus_connection, + sessions: Vec::new(), }; eq.wait_for_handshake(&mut sessiond_backlight)?; -- 2.51.2