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)?;