Improving garuda-common-settings - manual intervention required

Hey fellow Garuda users :wave:

We decided to make some changes regarding garuda-common-settings. This will be part of some upcoming changes which will improve the user experience and gets rid of some old technical debts. This may require manual intervention. Lets have a look at what exactly changes when updating to version 1.4.0 !

  • Systemd-swap will be replaced with zram-generator. This is the new, recommended way to setup ZRAM space automatically. System-swap provides some additional functionality (eg. setting up swap file automtatically) which isnt used in Garuda however. We just use ZRAM which makes zram-generator the perfect fit for our use case. Another reason for the change is that zram-generator is still being actively developed.
  • nohang will be replaced with systemd-oomd: This step has been taken as systemd-oomd is part of Systemd already with much better integration with the system. -> This has been reverted, users reported it does not work as efficient as nohang.
  • Ananicy, uresourced & irqbalance become optional dependencies. The reasoning behind this change is that those applications might not be suitable for every installation. Uresourced for example has close to 0 use an a single-user system as it allocates more ressources to the current graphical user. This will make these applications orphans which need to be removed manually. We might add a graphical way to install these if needed at a later date. :slight_smile:

So, in order to complete the update we will have to do the following:

  • Press yes to the systemd-swap removal (to make sure not two applications are setting up ZRAM)
  • Remove the resulting orphans after the update. This can be done by using the Garuda Assistant if you prefer the GUI way or by running the command directly:
sudo pacman -Rns (pacman -Qtdq)
  • Reboot in order to use zram-generator for setting up ZRAM

Also note that we now provide a command called update which takes care of updating the keyrings before running the actual system update & some post update operations such as updating the mlocate index (if installed). This basically replaces the already known upd alias and helps the unknown key issues which happen when the system gets updated before the keyring package. It will also detect if Yay or Paru are installed and then select the fitting application to update the system (in case of Yay or Paru being installed this also updates AUR applications).
If you think that there are other useful commands to run on system update for specific use cases, let us know :wink:


Re: the new update alias

Hmm. I'm not keen on a single command updating normal repo and AUR packages at the same time. Some packages show up as AUR updates when they become orphans /unwanted dependencies of another package that is updated. They don't need to be updated, but removed.

Perhaps the 2 aliases upd and update should co exist instead of the new one replacing the old one in newer releases?

Just my thoughts based on my own use case.


I feel the same, I changed my old alias upd to up, and I am fine now :slight_smile:


Nice; I see that we're also going back to pulsaudio and bash, what is the reasoning behind those changes?


Thats definitely feasable! The original idea was to provide an easy to remember command to use which can update the system with less changes of missing something so updating AUR as well made sense in this context. But its of no use to implement something people wouldn't use, so. Are there more people thinking like this? :eyes:

About bash: After running fish as login shell for a while we noticed that it makes things harder for users as it does not offer POSIX compatibility. So we thought about a better solution which would satisfy both requirements: let users run bash as login shell to preserve working applications & offer a userfriendly shell to work with by setting fish as shell in terminals only.
Where did you spot the pulseaudio change? :eyes:


So if I don't change my old alias, this new batch of updates will even change things in my own /home dot config files and wipe my "upd" alias?


No, /home isnt touched by updates at all. :sweat_smile:


@librewish's commit here: update shells and add anbox to gaming edition (ea7d9718) ยท Commits ยท Garuda Linux / Tools / Iso-Profiles ยท GitLab apparently he only did it in Mate.


What's with bash? I have ZSH out of the gate not Fish.

1 Like

Currently, some editions use fish, some zsh, in future releases it will be all bash. Sorry for the confusion, and for deviating the topic :face_with_hand_over_mouth:


:star_struck::star_struck: great.... will it be nice for multi core support & enhancement settings in Garuda Assisant Manager along with Firewall , Virtualisation. Not limited to enable job per sec (-j4) , multi threading , hyper threading v, over clocking, i/o scheduler algorithms. Just auto-cpufreq & thermald is not enough & buggy in most state. Changing just Pacman build settings will not improve overall performance . Mounting tmp folder as tmpfs will be good. But also creating a ramdisk file will help in my view. More than RAM , cpu usage skyrockets. Sadly many software dont natively support multi threading across multi core. But config of logical cpu as default is encouraged ryr

TLDR; Multi Core support in Garuda Settings

Hopefully the choice of bash, fish, or zsh will be left up to the individual during install of the OS, or at least offered after landing on the desktop for the first time.

I'm sure that option is not going away from Garuda Assistant!


Nice update it seems :eyes: I like when update needs manual changes like this :grin:

Since I got used to upd and it's also shorter, I would alias upd for update.


qq: does this need a $ before ( in this?

sudo pacman -Rns (pacman -Qtdq)

zsh complained at me:

โฏ sudo pacman -Rns (pacman -Qtdq)
zsh: number expected

did a quick search in the forum for 'zsh "number expected"' and didnt find it so .. hope this is right! :slight_smile:

This is for fish shell which doesn't require $ (easier). For zsh, bash, etc. you need $ followed by the brackets.


Quick question - if I install the barebones edition and do sudo update will this all be taken care of or do I install the garuda-common-settings package?

update is meant to be run without root. Anyway you have to update to the latest garuda-common-settings (which is installed on every edition as basic package) to have access to this command :slight_smile:


excellent, thank you. I like the distro and all of the tweaks etc are great, I'm just not a fan of the theme - I prefer a more traditional/vanilla KDE Plasma desktop.

Is update missing fish_update_completions? It is there in the upd alias but not in the update script. I don't know its use and also if it's useful while updating.