Rani, short for “Reliable Assistant for Native Installations” is supposed to replace the Garuda applications in the long run.
The idea was to have a uniform look with both website, forum and repository views, while being much easier to maintain than our other tools.
Currently implemented are Garuda Welcome, Garuda Assistant and Garuda Gamer features (plus Systemd service management).
Most features work, though I’m 100% sure that there are bugs preventing some functionalities.
Test builds are in the repo:
sudo pacman -Syu garuda-rani
or
sudo pacman -Syu garuda-rani-git
If you want to help to test, please report bugs back to me.
When facing a bug, please open the application via CLI (garuda-rani
) and provide the logs printed, they are very verbose for this purpose currently.
Initial preview, a lot changed since then
Changelog
Changelog
All notable changes to this project will be documented in this file.
[2.4.0] - 2025-03-29
Features
- (locales) Add new component allowing language changes
- (packages) Safeguard against non-available pkgnames
- (theming) More design choices
- (maintenance) Prompt to delete merged .pacnew, make snapshot success mandatory
- (window) Don’t hide buttons on systems without the Kwin setting active
- Make things more navigatable, preparement for cmd args
- (cli) Allow CLI commands to open tabs, pages and execute diagnostic actions
- (configService) Refresh pkgs, locale and reboot pending after actions
- (terminal) Add copy, upload to privatebin buttons, keyboard shortcuts
- (app) Allow closing globally via ctrl + q
- (system-settings) Add option to choose iwd as NetworkManager backend
- Migrate to nx
- Verbose cmdarg, fix diagnostics args
Bug Fixes
- (angular) Increase budgets
- (system-components) Correct systemd service name for opensnitch
- (system-settings) Correct ‘service’ to ‘pkg’ for “Intel-undervolt installed” checkbox
- (system-settings) Correct ‘service’ to ‘pkg’ for “Thermald installed” checkbox
- (package-lists) Remove xbox-generic-controller from gaming
- (theming) Make checkboxes easier to see, misc fixes
- (maintenance) Make it clear how to merge pacdiff, drop kompare, warn about destructiveness
- (kernels) Update kernel state after kernels initialized for the first time
- (maintenance) Pacdiff file not being deleted after y
- (kernels) Distinguish broken and non-installed modules
- (configService) Too many update executions
- (http) Downgrade tauri http plugin, adapter currently breaks actions
- (kernels) Remove unnecessary double call
- (translations) Missing translations with angular optimization
- Focus active window when opening rani a second time
Refactor
- Move status data to cached service, allow running external AUR update
Styling
- (prettier) Set tailwindcss plugin active and reformat
Miscellaneous Tasks
- Post nx-migration cleanup invalid tests
- Set nx defaults for generation of components
[2.3.0] - 2025-03-21
Features
- (packages) Use searchable table instead for display
- (system-tools) Only load components when tab has been selected
- (kernels) Add kernels component
- (kernels) Add dkms module check and loading indicator
- (gaming) Add more WINE versions
- (language-packs) New component
- (settings) Move to dedicated page
- (maintenance) Allow merging pacdiff files interactively
- (system-status) Warn about pending reboot
- (system-settings) Add bpftune
Bug Fixes
- (system-components) Scanning-support never being enabled
- (os-interact) Check for systemd sockets as well, fixing non-recognized sockets
- (pnpm-lock.yaml) Sync with package.json
- (config-service) Apply Loglevel on settings change
- (notifications) Unbreak not-sending notifications
Refactor
- Massively improve performance by caching and using services
- Use pacman regex for prefiltering, print commands used
Miscellaneous Tasks
- Drop ununsed code
[2.2.0] - 2025-03-18
Features
- (system-settings) Add packages section
- (translation) Use inbuilt Tauri resources to load translations
- Version 2.2.0
Bug Fixes
- (system-components) Virtualbox checking for group rather than pkg
- (packages) Invalid pkgnames, fixed parser as well
- (language) Only update language once on startup
- (translations) Safeguard for failing to load translation files
[2.1.0] - 2025-03-18
Features
- (garuda-update) Set GARUDA_UPDATE_RANI=1 to notify garuda-update of usage via rani
Bug Fixes
- (vmware,virtualbox) Disable DMABUF renderer
- (lib.rs) Attempt fixing detection by making strings lowercase
- (dynamic-checkboxes) Allow disabled entries to be properly managed.
Documentation
- (changelog) Add changelog
Miscellaneous Tasks
- (flake.lock) Update
[2.0.0] - 2025-03-17
Features
- (window) Responsive window button states
- (loadingservice) Use refcount on loading indicator
- (font) Use system-ui
- (init) Resize window to reasonable size when monitor is too small
- Move parseArchWiki script to Typescript
- (system-status) Report AUR updates too
- (system-status) Support schedule AUR updates, update on task updates
- Strip AUR functionality, we decided to not support it
- (system-components) Expand with containers section
- Menu bar “terminal” button glows actively when tasks are pending
- (terminal) Only show buttons when needed/reasonable
Bug Fixes
- (os-interact) Fix setting dns to default
- (diagnostics) Disable logging symbol after loading full diagnostics
- (system-status) Invalid update versions
- (angular) Zoneless change detection complaining
- (gamer) Some icons being improperly sized
- (gaming) Missing pacakges, add script to check for missing ones
- (theme) Light theme not working, wrong window buttons on the right
- (window) Set reasonable menu breakpoint, set logicalSize dynamically
- (dynamic-checkboxes) Ensure already enabled/installed packages are not disabled
- Duplicated updates, duplicated logic
- (systemd-services) Event reporting failure due to no output
- Menu bar “terminal” button size changing when glow effect is active
Styling
- Declare types as types
Miscellaneous Tasks
- Cleanup unused
- Add package list check
- Also check AUR packages
- Fix missing pnpm, less verbose script
[1.3.1] - 2025-03-12
Bug Fixes
- Set WEBKIT_DISABLE_COMPOSITING_MODE for NVIDIA GPUs
[1.3.0] - 2025-03-06
Bug Fixes
- (package.json,cargo.toml) Cleanup required packages
- (translation) Load translations before the application loads
- (home) Utilize launch-terminal garuda-libs script for chroot
[1.2.0] - 2025-03-05
Features
- Allow confirmation-less app exit when there are no pending tasks.
- (operation-manager) Do not store/restore pending operations when exiting app
- (logs) Allow setting loglevel
Bug Fixes
- (shell.nix) Fix nix build env
- (style) Disable any kind of text selection
- (diagnostics) Do not use garuda-inxi funstuff
- (config,home) Fix excessive redraws, live system detection, angular change detection
- More efficient file existence checks via plugin-fs
- (status) Logs reporting update check failure when none are availble
- (theme-handler) Use updateConfig method to set new setting
- (xterm) Use computed signal to prevent wrong theme
Refactor
- (first-boot) Revamp first boot checks
- (darkmode) Redo darkmode to be more consistent
- (language-switcher) Redo language-switcher to be more consistent
- (app) Pre-init config before rendering application
- (app) More reliable menu/label setup, more reliable transloco
[1.1.0] - 2025-03-02
Features
- Run setup-assistant on first boot, relaunch after update
- (gaming) Import new icons from gamer, placeholders update
[1.0.2] - 2025-03-02
Features
- (welcome) Don’t show status on live system
Bug Fixes
- No max size, inform about errors, calamares not starting
[1.0.1] - 2025-03-02
Bug Fixes
- User set to null, loglevel to info, skip mirrorlist by default
[1.0.0] - 2025-03-02
Features
- Safeguards app shutdown/remove action, only safe undone
- (operations) Allow aborting running, and running directly
- (system-status) Warn on >2w no update
- Add autostart config, remove problematic vboxkvm
Bug Fixes
- (nvidia) Attempt disabling dmabuf renderer
- (gaming) Invalid parsed entries
- (operation-manager) Passed signal instead of value
- (diagnostics) Make buttons not rounded, comply with rest of app
Miscellaneous Tasks
- Extend Arch wiki list parsing
[0.2.0] - 2025-03-01
Features
- (privilege-manager) Keep one-time use creds between a run of multiple
- Make settings menu entries dynamic, use fontawesome icons
- Improve visuals on home and other places
- Set reasonable min window size, report progress, misc fixes
- (gaming) Derive list of games from AUR, check whether available
- (operations) Sort pending list after order, cleanup subscriptions
- Use cdr onpush for better performance, support installing AUR games
- Support reporting pacdiff/update status on home, allow ensuring package is installed
Bug Fixes
- Save state on shutdown
- (system-settings) Toggling hblock now works as expected
- Singleton ConfigService, shell not initializing
- (privilege-manager) Handle aborted input gracefully
- (checkboxes) Fix unexpected toggle behaviour
- (diagnostics) Page not loading due to privatebinclient constructor missing
- (deps) Add missing dep, remove obsolete
- (window) Add missing permission
- Hblock enable action, don’t try translating game titles
- Use better icons for status
Refactor
- (configService) Move user determination to configService
- (configService) Source darkMode from configService
Documentation
- Add deps, run funstuff
Miscellaneous Tasks
- Add linting
- (types) Declare a handful interfaces as types
- Version 0.2.0
[0.1.1] - 2025-02-27
Features
- (terminal) Use WebGlAddon
Bug Fixes
- (gamer) No more broken icons
- (privilege-manager) Don’t dump password into logs
[0.1.0] - 2025-02-27
Features
- (logger) Introduce custom logger class for loglevels
- (translations) Add trashy auto-translated languages
- (shortcuts) Prevent default browser shortcuts in prod
Bug Fixes
- (translations) Disable script optimisations in prod mode
Miscellaneous Tasks
- Version 0.1.0
[0.0.1] - 2025-02-27
Features
- Initial commit
- (gamer) Finished queue logic, much more entries
- Systemd services actions/comp, reset configs, many improvements
- Integrate btrfs-assistant and apps in need of sudo
- Correct icons, provide some services globally
- Fake window buttons
- Start porting sys components, misc improvements
- A boat load of improvements, too many to specify
- Saving progress, loading indicator, tons of improvements
- Heavy refactoring to make use of privilege/operation services, add loading indicator
- Make more use of loadingService, diagnostics refactor
- Tabbed maintenance, skip done, support live/installed actions in welcome, theme fixes
- Adjust package name, reformat
Bug Fixes
- (privilege-manager) Wrong authenticated status
- Operation management, show disabled services
- Direct run should open terminal
- Await store being ready, make initial window higher, readme link
Refactor
- Migrate to configService
Documentation
- (readme) Add
Miscellaneous Tasks
- Drop some unused code, update cargo deps
- Cleanup unused code
- Add some ci
- Use non-alpine container, add missing libsoup
- Update mirrorlist before installation
- Limit to bundle directories
- Add the regular checks, try bullseye
- Flake.nix setup
- Add .desktop file
- Only upload the needed files