ꜱᴅᴅᴍ • ǫᴜɪᴄᴋsʜᴇʟʟ • ɴɪxᴏs • ꜰᴀǫ • ɢᴀʟʟᴇʀʏ • ᴀᴄᴋɴᴏᴡʟᴇᴅɢᴇᴍᴇɴᴛꜱ • ᴄʀᴇᴅɪᴛꜱ The project is written primarily in QML, distributed under the GNU General Public License v3.0 license, first published in 2026. It has gained significant community traction with 2,141 stars and 82 forks on GitHub. Key topics include: dotfiles, greeter-theme, linux, linux-theme, lockscreen.
<p align="center">
<img src="./Assets/title.png" alt="qylock" width="100%" style="border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.5);"/>
</p>
<p align="center">
<a href="#sddm-setup"><img src="https://img.shields.io/badge/SDDM-black?style=for-the-badge&color=7aa2f7&labelColor=1a1b26&logo=linux&logoColor=white"/></a> <a href="#quickshell-setup"><img src="https://img.shields.io/badge/QUICKSHELL-black?style=for-the-badge&color=bb9af7&labelColor=1a1b26&logo=qt&logoColor=white"/></a> <a href="https://github.com/Darkkal44/qylock/stargazers"><img src="https://img.shields.io/github/stars/Darkkal44/qylock?style=for-the-badge&color=9ece6a&labelColor=1a1b26&logo=github&logoColor=white"/></a> <a href="https://github.com/Darkkal44/qylock"><img src="https://img.shields.io/github/repo-size/Darkkal44/qylock?style=for-the-badge&color=e0af68&labelColor=1a1b26&logo=git&logoColor=white"/></a>
</p>
<div align="center">
<pre>
<a href="#sddm-setup">ꜱᴅᴅᴍ</a> • <a href="#quickshell-setup">ǫᴜɪᴄᴋsʜᴇʟʟ</a> • <a href="#nixos-setup">ɴɪxᴏs</a> • <a href="#faq">ꜰᴀǫ</a> • <a href="#gallery">ɢᴀʟʟᴇʀʏ</a> • <a href="#acknowledgements">ᴀᴄᴋɴᴏᴡʟᴇᴅɢᴇᴍᴇɴᴛꜱ</a> • <a href="#credits">ᴄʀᴇᴅɪᴛꜱ</a>
</pre>
</div>
<br>
<p align="center">
<img src="https://img.shields.io/badge/-HELLO%20THERE!!-e0af68?style=for-the-badge&labelColor=1a1b26&logo=coffeescript&logoColor=white" height="60" />
</p>
<p>Welcome to <b>Qylock</b>! Pretty much a bunch of lockscreen themes I've put together for SDDM and Quickshell. Enjoyyyyyyy!!!! </p>
<p><i>Hope ya find something that fits your setup~</i></p>
<br>
[!IMPORTANT]
Have a problem? Please check the FAQ before opening a new issue. Most common setup errors are already documented there!
<details>
<summary><b>View Font Requirements</b></summary>
<br>
Some themes rely on fonts that cannot be bundled here (copyright issues). Download the font and drop it into themes/<theme_name>/font/ — it loads automatically.
Theme
Font
Filename
NieR: Automata
FOT-Rodin Pro DB
FOT-Rodin Pro DB.otf
Terraria
Andy Bold
Andy Bold.ttf
Genshin Impact
HYWenHei-85W
zhcn.ttf
Sword
The Last Shuriken
The Last Shuriken.ttf
Minecraft
Minecraft Regular
minecraft.ttf
Honkai: Star Rail
DIN Next
font.ttf
osu!
Torus Regular
Torus Regular.otf
</details>
<br>
🚀 INSTALLATION
[!NOTE]
These themes are made and tested only on arch linux, but the script will work in most of the distro's out there, so all you gotta do is get the dependencies right as its different for all the distros.
A flake is provided for NixOS users — no sddm.sh / quickshell.sh needed. Themes live in the Nix store and the active theme is chosen declaratively.
🚀 USAGE
Add the input and import the module in your flake.nix:
nix
{ inputs.qylock.url ="github:Darkkal44/qylock"; outputs ={ self, nixpkgs, qylock,...}:{ nixosConfigurations.my-host = nixpkgs.lib.nixosSystem { system ="x86_64-linux"; modules =[ qylock.nixosModules.default
({ pkgs,...}:{ services.displayManager.sddm.enable =true; services.displayManager.sddm.wayland.enable =true; programs.qylock ={ enable =true; theme ="nier-automata";# any directory name under themes/# sddm.enable = true; # installs theme + sets it active (default)# quickshell.enable = true; # adds `qylock-lock` to PATH (default)# Optional per-theme tweaks (replaces the interactive prompts): themeOptions ={ terraria.backgroundMode ="time";# time | random | static Genshin.backgroundMode ="time"; clockwork.orbital ={ themeMode ="dark"; enableWindup =true;}; osu.gameMode ="menu";# menu | game};};})];};};}
For the Quickshell lockscreen, bind your WM keybind to qylock-lock (instead of ~/.local/share/quickshell-lockscreen/lock.sh). Pass a theme name as $1 to override on the fly: qylock-lock clockwork/tape.
📦 OUTPUTS
Output
Purpose
packages.<sys>.qylock-sddm-themes
SDDM themes under share/sddm/themes/
packages.<sys>.qylock-quickshell
qylock-lock wrapper with Qt6 QML deps wired in
devShells.<sys>.default
quickshell, qt6, gstreamer, fzf — to run the bash scripts locally
nixosModules.default
programs.qylock.* options shown above
[!NOTE]
The flake pins nixos-unstable because quickshell isn't in stable nixpkgs yet. If your system tracks a stable channel, override the flake's nixpkgs input to your unstable channel.
[!TIP]
Can't find your issue here? Feel free to open a discussion or an issue, but please double-check the sections below first!
<br>
⌨️ Virtual Keyboard popping up?
If the virtual keyboard keeps opening on its own at startup, you can disable it in your SDDM config:
Open /etc/sddm.conf.d/virtualkeyboard.conf as root.
Under the [General] section, set InputMethod to empty:
ini
[General]InputMethod=
<br>
📺 Low quality background video?
To keep the download size small, some videos are compressed. For the full 4K/HD version:
Get the original video from the links in the Acknowledgements section.
Rename it to bg.mp4.
Replace the bg.mp4 inside your current theme's folder.
<br>
🛠️ Themes not loading (library import version error)?
[!NOTE]
This error typically occurs because many stable distributions (like Debian or older Fedora versions) still use the Qt5-based version of SDDM. Since these themes are written in native Qt6 for modern systems, they require a specific transpilation step to work on legacy backends.
If you encounter library errors at the login screen:
Re-run the installation script: ./sddm.sh.
When prompted, select the Qt5 (Legacy) option.
The script will automatically convert the themes and install the compatible versions for you.
[!NOTE]
This is a known limitation of KWin. You can still use the SDDM portion of the themes for your login screen, but the Quickshell lockscreen itself is a no-go on Plasma because it lacks support for the ext-session-lock-v1 protocol.