19 releases (11 stable)
2.0.0 | Jun 13, 2024 |
---|---|
1.2.7 | Jun 11, 2024 |
1.2.1 | May 31, 2024 |
1.1.1 | Apr 24, 2024 |
0.1.8 | Dec 19, 2023 |
#154 in Hardware support
1,077 downloads per month
450KB
7K
SLoC
ReSet
A window manager/compositor agnostic settings application for Linux written in rust and gtk4.
Features
- Bluetooth via bluez
- Audio via PulseAudio
- Wi-Fi via NetworkManager
Screenshots
Audio
Wi-Fi
Bluetooth
Plugins
ReSet features a plugin system by loading dynamic libraries for both the daemon and the ReSet graphical user interface. A list of official plugins, installation guides and their documentation can be found at ReSet-Plugins.
Installation
Plugins are loaded either from /usr/lib/reset
or ~/.config/reset/plugins
. In order to install the plugin, either install a distribution specific package that places the library into the specified system folder, or place the library in the plugins folder in your config directory.
Note, after installation, please move to confirmation.
Confirmation
In order for your plugins to load, you have to define them in .config/reset/ReSet.toml
.
This is done to avoid loading of arbitrary plugins that might be placed within this folder by accident.
plugins = ["libreset_monitors.so", "libreset_keyboard_plugin.so"]
Packaging
ReSet is available with the following packaging solutions:
Flatpak
We are currently not published on flatpak due to issues with permissions. This is being worked on...
Installation: Download the flatpak package (reset.flatpak) from the release and install with the terminal.
flatpak install --user reset.flatpak
Arch Package
Manually: Download the package (ReSet-version-x86_64.pkg.tar.zst) from the releases tab and install it with pacman.
sudo pacman -U /path/to/reset
Debian Package(Ubuntu 23.04 dependencies)
Download the package (ReSet.deb) from the releases tab and install it with apt.
sudo apt install ./path/to/reset
NixOS/Home-manager
ReSet offers a flake with a home-manager module which you can use to declaratively install ReSet and plugins. Here is an example configuration:
#inputs
reset.url = "github:Xetibo/ReSet";
reset-plugins.url = "github:Xetibo/ReSet-Plugins";
#installation and configuration
programs.ReSet.enable = true;
programs.ReSet.config.plugins = [
inputs.reset-plugins.packages."x86_64-linux".monitor
inputs.reset-plugins.packages."x86_64-linux".keyboard
];
programs.ReSet.config.plugin_config = {
#custom toml config
Keyboard = {
path = "/home/user/.config/reset/keyboard.conf";
};
};
crates
cargo install reset
Compiled Binary
The compiled binary is provided in the releases.
Usage
Besides starting the application itself, a standalone daemon version (ReSet-Daemon) also exists, which is what provides the functionality for ReSet.
It is therefore possible to use a different application as well for interacting with the daemon.
By default, the daemon is integrated into ReSet and is started automatically if no other daemon is found.
Roadmap and Notes
- Accessibility Features
- Better Error handling
- Customizable shortcuts
- and more
notes
This application was developed as a semester project/bachelor thesis for the Eastern Switzerland University of Applied Sciences.
Dependencies
~28–37MB
~719K SLoC