Dux Calendar Installation
Dux Calendar Installation
Dux Calendar installs a single dcal binary, the Quickshell UI config, and a desktop entry.
Requirements
- Quickshell (
qs) —quickshell-gitorquickshellfrom the Dux repository - Qt 6 declarative, including
Qt.labs.platformfor the tray icon - Go 1.25+ (build from source only; the packaged binary is pure Go with no CGO)
Installation Methods
Choose the installation method that best fits your system.
Flatpak
Dux Calendar is available on Flathub as com.danklinux.dankcalendar. The Flatpak bundles its runtime dependencies, so you do not need a separate Quickshell install on the host.
flatpak install flathub com.danklinux.dankcalendar
flatpak run com.danklinux.dankcalendar
Notifications and credentials use XDG desktop portals. To sync Dux Shell theme colors from the host, grant read access to the cache:
flatpak override --user \
--filesystem=xdg-cache/DankMaterialShell:ro \
com.danklinux.dankcalendar
Local ICS calendar directories also need an explicit filesystem grant (or the equivalent in Flatseal).
Distribution Packages
Each Dux repository ships two packages: dcal follows tagged releases, and dcal-git builds from upstream master. They conflict, so install one.
Arch & Derivatives
- Stable Release
- Latest Development Build
paru -S dcal-bin
paru -S dcal-git
Fedora & CentOS
sudo dnf copr enable duxlabs/dux
sudo dnf install dcal # or dcal-git for the latest development build
Debian & Ubuntu
Debian
Packages are published on OBS for Debian 13 (Trixie), Debian Testing, and Debian Sid.
Select your release:
- Debian 13 (Trixie)
- Debian Testing
- Debian Sid
curl -fsSL https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/Debian_13/Release.key | \
sudo gpg --dearmor -o /etc/apt/keyrings/duxlabs.gpg
echo "deb [signed-by=/etc/apt/keyrings/duxlabs.gpg] https://download.opensuse.org/repositories/home:/AvengeMedia:/danklinux/Debian_13/ /" | \
sudo tee /etc/apt/sources.list.d/duxlabs.list
sudo apt update
sudo apt install dcal # or dcal-git for the latest development build
curl -fsSL https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/Debian_Testing/Release.key | \
sudo gpg --dearmor -o /etc/apt/keyrings/duxlabs.gpg
echo "deb [signed-by=/etc/apt/keyrings/duxlabs.gpg] https://download.opensuse.org/repositories/home:/AvengeMedia:/danklinux/Debian_Testing/ /" | \
sudo tee /etc/apt/sources.list.d/duxlabs.list
sudo apt update
sudo apt install dcal # or dcal-git for the latest development build
curl -fsSL https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/Debian_Unstable/Release.key | \
sudo gpg --dearmor -o /etc/apt/keyrings/duxlabs.gpg
echo "deb [signed-by=/etc/apt/keyrings/duxlabs.gpg] https://download.opensuse.org/repositories/home:/AvengeMedia:/danklinux/Debian_Unstable/ /" | \
sudo tee /etc/apt/sources.list.d/duxlabs.list
sudo apt update
sudo apt install dcal # or dcal-git for the latest development build
Ubuntu
Ubuntu 26.04 LTS+ (Resolute Raccoon) is supported via Launchpad PPA.
sudo add-apt-repository ppa:duxlabs/dux
sudo apt update
sudo apt install dcal # or dcal-git for the latest development build
openSUSE & Derivatives
Dux Calendar is available through the Open Build Service (OBS) for OpenSUSE Tumbleweed, Leap 16/16.1, and Slowroll.
Select your distribution:
- Tumbleweed
- Leap 16
- Leap 16.1
- Slowroll
sudo zypper addrepo https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/openSUSE_Tumbleweed/home:AvengeMedia:danklinux.repo
sudo zypper refresh
sudo zypper install dcal # or dcal-git for the latest development build
sudo zypper addrepo https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/16.0/home:AvengeMedia:danklinux.repo
sudo zypper refresh
sudo zypper install dcal # or dcal-git for the latest development build
sudo zypper addrepo https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/16.1/home:AvengeMedia:danklinux.repo
sudo zypper refresh
sudo zypper install dcal # or dcal-git for the latest development build
sudo zypper addrepo https://download.opensuse.org/repositories/home:AvengeMedia:danklinux/openSUSE_Slowroll/home:AvengeMedia:danklinux.repo
sudo zypper refresh
sudo zypper install dcal # or dcal-git for the latest development build
Void Linux
Install Dux Calendar from our R2-backed XBPS repository or build it from source.
- Dux Repository
- Build from Source
echo "repository=https://void.danklinux.com/danklinux/current" | sudo tee /etc/xbps.d/dux.conf
sudo xbps-install -Su
sudo xbps-install -S dcal
On the first sync, xbps-install will output our signing key fingerprint and ask you to type y to trust and import it. Verify that the key matches our official signing fingerprint.
If you prefer to build from source using xbps-src:
# Set up the Void packages tree (one time)
git clone --depth 1 https://github.com/void-linux/void-packages.git
cd void-packages
./xbps-src binary-bootstrap
# Copy in the templates (adjust paths as needed)
cp -R ../Dux/distro/void/srcpkgs/dankcalendar* srcpkgs/
# Build the package
./xbps-src pkg dankcalendar
# Install the results
sudo xbps-install --repository=hostdir/binpkgs dankcalendar
Distribution packages install:
dcalto/usr/bin/dcal(the Quickshell UI is embedded in the binary)- Desktop entry, icon, shell completions, and
dcal.serviceunder/usr/lib/systemd/user/
From Source
The Quickshell UI is embedded into the dcal binary at build time, and part of it lives in the dank-qml-common submodule — clone with --recurse-submodules (or run git submodule update --init in an existing clone):
git clone --recurse-submodules https://github.com/duxlabs-dev/dux-calendar
cd dux-calendar
make
sudo make install
This installs:
dcalbinary to/usr/local/bin(UI embedded)- Desktop entry + icon
Override the prefix with PREFIX=/usr sudo make install.
Running at Login
Dux Calendar runs as a background daemon, and the window is just a view onto it. To keep it running across logins, choose one of:
systemd user service
The distribution package and make install-systemd both provide a user unit. After installing from a distribution package or building from source:
systemctl --user enable --now dcal
When building from source without the systemd install target:
make install-systemd
systemctl --user enable --now dcal
Start at login (XDG autostart)
Toggle Start at login from Settings → General. This manages an XDG autostart entry that launches dcal run -d --hidden, so the daemon starts hidden and waits in the tray.
Verification
# Check version
dcal version
# Launch the calendar window
dcal