Universal Linux Settings Application
Find a file
DashieTM f229ed7dea
Some checks failed
Rust-build / Build (push) Has been cancelled
Update nix packages
2025-02-15 16:17:06 +01:00
.direnv Update nix packages 2025-02-15 16:17:06 +01:00
.github/workflows Use nix CI 2024-12-03 23:31:22 +01:00
assets chore: Remove unused files 2023-12-18 16:15:43 +01:00
debian/DEBIAN debian: fix recommendations and dependencies 2024-06-13 15:14:29 +02:00
flatpak flatpak: Change name to ReSet case 2024-06-11 15:09:34 +02:00
nix Update nix packages 2025-02-15 16:17:06 +01:00
src chore: Update todos 2024-06-12 23:52:09 +02:00
test_plugin chore: Bump version 2024-06-13 14:38:16 +02:00
.envrc nix: use flake 2024-05-20 21:23:58 +02:00
.gitignore chore: Readd cargo.lock 2024-04-24 11:26:54 +02:00
build.rs Add CSS to button 2023-11-02 14:14:07 +01:00
Cargo.lock chore: Bump version 2024-06-13 14:38:16 +02:00
Cargo.toml chore: Bump version 2024-06-13 14:38:16 +02:00
flake.lock Update nix packages 2025-02-15 16:17:06 +01:00
flake.nix chore: change name to ReSet to avoid conflicts 2024-06-07 00:28:40 +02:00
LICENSE Initial commit 2023-09-15 10:53:16 +02:00
PKGBUILD chore: Bump version 2024-06-13 14:38:16 +02:00
README.md init: store true if daemon is already started 2024-06-12 19:46:11 +02:00
ReSet.desktop chore: rename ReSet.desktop 2024-06-07 01:48:05 +02:00

ReSet

Logo of 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

Audio Screenshot of ReSet

Wi-Fi

Wi-Fi Screenshot of ReSet

Bluetooth

Bluetooth Screenshot of ReSet

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.