A Libadwaita GUI companion application for usbguard
- Rust 95%
- Nix 5%
| assets | feat: Add basic tray application with allow popup | |
| data | feat: Add credits section with icon info, clean up branding | |
| screenshots | add setup instructions for fedora, better screenshots | |
| src | refactor: Clean up, clippy | |
| .envrc | Project scaffold | |
| .gitignore | feat: Add application modes & usb notifications | |
| build.nix | update to v0.4.1 | |
| Cargo.lock | update to v0.4.1 | |
| Cargo.toml | update to v0.4.1 | |
| flake.lock | feat: Add pre-commit hook | |
| flake.nix | feat: Add application modes & usb notifications | |
| LICENSE | License the application under MIT | |
| README.md | add setup instructions for fedora, better screenshots | |
Usbling
A Libadwaita GUI companion application for usbguard
nix run git+https://codeberg.org/kaya/usbling.git
Features
- New USB device notification: Get a desktop notification on new device being plugged in
- Alert on device addition: Easily allow or disallow usb device as soon as it was plugged in
- Temporary rules: Block or allow devices for an hour, useful when re-plugging the same device frequently
Installation
Fedora
Install both usbguard and usbguard-dbus package, make sure your user has IPC permissions.
Installing with Home Manager
Add Usbling repo as flake input:
# flake.nix
inputs.usbling = {
url = "git+https://codeberg.org/kaya/usbling.git";
inputs.nixpkgs.follows = "nixpkgs";
};
Install Usbling package:
# home.nix
{ inputs, pkgs, ... }:
{
nixpkgs.overlays = [ inputs.usbling.overlays.default ];
home.packages = with pkgs; [
usbling
];
}
Enable usbguard if you haven't already:
# configuration.nix
services.usbguard = {
enable = true;
IPCAllowedGroups = [ "wheel" ];
};
Credits
Icon from the GNOME Icon Library, licensed CC0-1.0.
License
Usbling is licensed under the MIT License.