uiriansan/SilentSDDM
QMLA very customizable SDDM theme that actually looks good.
[!WARNING] This theme requires SDDM v0.21.0 or newer. Make sure your distro provides the correct version before installing.
https://github.com/user-attachments/assets/dd63c526-34d6-45ec-8a7d-5c29bf08c702
Presets
configs/default.conf
https://github.com/user-attachments/assets/3a03e859-c6b9-4c4b-bf7f-ab610b94eb28
configs/everforest.conf
configs/catppuccin-latte.conf
configs/catppuccin-frappe.conf
configs/catppuccin-macchiato.conf
configs/catppuccin-mocha.conf
configs/nord.conf
Dependencies
- SDDM ≥ 0.21;
- QT ≥ 6.5;
- qt6-svg;
- qt6-virtualkeyboard
- qt6-multimedia
- qt6-imageformats
Installation
Install script AUR packages GURU package NixOS flake Manual installation Pling/KDE Store
Install script
Just clone the repo and run the script:
git clone -b main --depth=1 https://github.com/uiriansan/SilentSDDM && cd SilentSDDM && ./install.sh
[!IMPORTANT] Make sure to test the theme before rebooting by running
./test.sh, otherwise you might end up with a broken login screen. Refer to the snippets page if something goes wrong and open an issue if you don't find the solution there.
AUR packages for Arch
If you run Arch Linux, consider installing one of the AUR packages:
Stable version:
yay -S sddm-silent-theme
Git version:
yay -S sddm-silent-theme-git
Then, replace the current theme and set the environment variables in /etc/sddm.conf:
sudoedit /etc/sddm.conf
# Make sure these options are correct:
[General]
InputMethod=qtvirtualkeyboard
GreeterEnvironment=QML2_IMPORT_PATH=/usr/share/sddm/themes/silent/components/,QT_IM_MODULE=qtvirtualkeyboard
[Theme]
Current=silent
Finally, test the theme to make sure everything is working:
cd /usr/share/sddm/themes/silent/
./test.sh
[!IMPORTANT] Refer to the snippets page if something goes wrong and open an issue if you don't find the solution there.
GURU package for Gentoo
If you run Gentoo linux, consider installing the GURU package
- Enable the GURU repository
emerge -av eselect-repository
eselect repository enable guru
emaint sync -r guru
- Unmask the required packages. Add this to your packages.accept_keywords:
# for the git version use
# x11-misc/silent-sddm-theme **
x11-misc/silent-sddm-theme ~amd64
media-fonts/redhat ~amd64
- Install SilentSDDM
emerge -av x11-misc/silent-sddm-theme
- Add the following to /etc/sddm.conf and restart SDDM
[General]
InputMethod=qtvirtualkeyboard
GreeterEnvironment=QML2_IMPORT_PATH=/usr/share/sddm/themes/silent/components/,QT_IM_MODULE=qtvirtualkeyboard
[Theme]
Current=silent
NixOS flake
For NixOS with flakes enabled, first include this flake into your flake inputs:
inputs = {
silentSDDM = {
url = "github:uiriansan/SilentSDDM";
inputs.nixpkgs.follows = "nixpkgs";
};
};
Next, import the default nixosModule and set the enable option
{
inputs,
...
}: {
imports = [inputs.silentSDDM.nixosModules.default];
programs.silentSDDM = {
enable = true;
theme = "rei";
# settings = { ... }; see example in module
};
}
That's it! SilentSDDM should now be installed and configured.
You may now run the test-sddm-silent executable for testing.
For further configuration read the module option descriptions and examples.
[!NOTE] Since the module adds extra dependencies to SDDM, you may need to restart for the theme to work correctly.
Local development and testing under nix
First git clone the repository and cd into the resulting directory
git clone https://github.com/uiriansan/SilentSDDM.git
cd SilentSDDM/
Now you may make changes to the contents and test them out using the following
nix run .#test
[!IMPORTANT] Refer to the snippets page if something goes wrong and open an issue if you don't find the solution there.
Manual installation
1. Install dependencies:
Arch Linux
sudo pacman -S --needed sddm qt6-svg qt6-virtualkeyboard qt6-multimedia-ffmpeg qt6-imageformats
Void Linux
sudo xbps-install sddm qt6-svg qt6-virtualkeyboard qt6-multimedia qt6-imageformats
Fedora
sudo dnf install sddm qt6-qtsvg qt6-qtvirtualkeyboard qt6-qtmultimedia qt6-qtimageformats
OpenSUSE
sudo zypper install sddm-qt6 libQt6Svg6 qt6-virtualkeyboard qt6-virtualkeyboard-imports qt6-multimedia qt6-multimedia-imports qt6-imageformats
2. Clone this repo:
git clone -b main --depth=1 https://github.com/uiriansan/SilentSDDM
cd SilentSDDM/
[!NOTE] You can also get the compressed files from the latest release.
3. Test the theme to make sure you have all dependencies:
./test.sh
[!IMPORTANT] Refer to the snippets page if something goes wrong and open an issue if you don't find the solution there.
4. Copy the theme to /usr/share/sddm/themes/:
cd SilentSDDM/
sudo mkdir -p /usr/share/sddm/themes/silent
sudo cp -rf . /usr/share/sddm/themes/silent/
5. Install the fonts:
sudo cp -r /usr/share/sddm/themes/silent/fonts/* /usr/share/fonts/
6. Replace the current theme and set the environment variables in /etc/sddm.conf:
sudoedit /etc/sddm.conf
# Make sure these options are correct:
[General]
InputMethod=qtvirtualkeyboard
GreeterEnvironment=QML2_IMPORT_PATH=/usr/share/sddm/themes/silent/components/,QT_IM_MODULE=qtvirtualkeyboard
[Theme]
Current=silent
Pling/KDE Store
The theme is also available in Planet Linux'ing Groups & KDE Store.
Customizing
The preset configs are located in ./configs/. To change the active config, edit ./metadata.desktop and replace the value of ConfigFile=:
ConfigFile=configs/<your_preferred_config>.conf
[!NOTE] Changes to the login screen will only take effect when made in
/usr/share/sddm/themes/silent/. If you've changed things in the cloned directory, copy them withsudo cp -rf SilentSDDM/. /usr/share/sddm/themes/silent/
You can also create your own config file. There's a guide with the list of available options (there are more than 200 of them xD) in the wiki.
[!IMPORTANT] Don't forget to test the theme after every change by running
./test.sh, otherwise you might end up with a broken login screen.
There are some extra tips on how to customize the theme on the snippets page.
Acknowledgements
- Keyitdev/sddm-astronaut-theme: inspiration and code reference;
- Match-Yang/sddm-deepin: inspiration and code reference;
- qt/qtvirtualkeyboard: code reference;
- Joyston Judah: background;
- DesktopHut: background;
- MoeWalls: background;
- MoeWalls: background;
- iconify.design: icons