# Eydos Settings

Settings app for the Liberux / Eydos mobile platform, built with Rust and [ltk](https://git.eydos.io/Liberux/ltk).

## Features

All panels are implemented and functional:

- **Network** — Wi-Fi (list + toggle), Bluetooth (paired devices + toggle), Mobile Networks (SIM/IMEI/operator), Interconnectivity, Portable Hotspot, More Connectivity (Airplane mode, VPN)
- **Display** — Brightness slider, Night Light (toggle + colour temperature), UI scale, Screen orientation lock, Sleep timeout
- **Sound** — Volume slider, Mute toggle
- **Personalisation** — Wallpaper variant (light/dark), Themes (light / dark / auto)
- **Privacy & Security** — Location toggle, Do Not Disturb, Lockscreen notifications, Security status (firewall, SELinux), Privacy protection
- **Apps** — Installed app list with launch support, System App Updater (dnf/apt check-update)
- **Battery** — Percentage, charge status, design/actual capacity, cycle count, time remaining, power profile (performance / balanced / power-saver), AC status
- **Storage** — Mounted filesystems with used/total space
- **System** — About (hostname, OS, kernel, CPU, RAM, uptime, IP), Date & Time, Region & Language, Accessibility, Digital Wellbeing, Account
- **Home Screen** — Home screen layout settings
- **Lock Screen / Fingerprint** — Lock screen and biometric settings

A search bar on the home screen filters all entries by name.

## Building

```bash
cargo build --release
```

Cross-compile for aarch64:

```bash
cargo build --release --target aarch64-unknown-linux-gnu
```

Or via the Makefile:

```bash
make
make install  # installs to /usr/bin and copies the .desktop file
```

## Running

```bash
./target/release/eydos-settings
```

The app reads `~/.config/eydos/settings.toml` for theme and wallpaper preferences.

## System Integration

Slow/blocking operations (nmcli, bluetoothctl, wpctl, upower, powerprofilesctl) run in a background thread and refresh every 5 seconds without blocking the UI. Fast sysfs/procfs reads (brightness, battery, memory) happen synchronously on every poll tick.

## License

GPL-3.0
