https://github.com/renner0e/kde-dev
Fedora container with kde-builder and friends to be used with distrobox
https://github.com/renner0e/kde-dev
distrobox kde
Last synced: 4 months ago
JSON representation
Fedora container with kde-builder and friends to be used with distrobox
- Host: GitHub
- URL: https://github.com/renner0e/kde-dev
- Owner: renner0e
- License: apache-2.0
- Created: 2025-07-20T10:12:53.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2026-02-14T21:41:30.000Z (4 months ago)
- Last Synced: 2026-02-15T02:52:25.887Z (4 months ago)
- Topics: distrobox, kde
- Language: Just
- Homepage:
- Size: 66.4 KB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# KDE Plasma build container
# What is this?
This container (to be used with Distrobox) includes all build dependencies to get a graphical development session of KDE Plasma running using [kde-builder](https://kde-builder.kde.org/).
This is especially nice for image based systems like Fedora Kinoite and Bazzite.
But this also works on traditional systems to not mess up your host with unnecessary build dependencies.
# Prerequsities
- bash
- curl
- recent enough version of docker/podman (to support [zstd:chunked](https://www.redhat.com/en/blog/faster-container-image-pulls) containers)
- [distrobox](https://distrobox.it/)
- [just](https://github.com/casey/just)
- Quite a bit of storage space
This also has a couple additional handy tools:
- `git`
- `neovim`
- `ripgrep`
- `starship`
- `zsh`
The container is a little bit chunky and is around 10GiB big. But updates with `podman pull ghcr.io/renner0e/kde-dev:latest` should be ok due to partial pulls. You can also update the container with `dnf upgrade`.
# Setup
```
git clone https://github.com/renner0e/kde-dev && cd kde-dev
```
Setup the distrobox:
```
distrobox assemble create --file ./distrobox.ini
```
You may also do this manually with the `distrobox create -i ghcr.io/renner0e/kde-dev:latest -n kde-dev` command
```
distrobox enter kde-dev
```
Create kde-builder default config (only once)
```
kde-builder --generate-config
```
in the distrobox:
```
kde-builder plasma-desktop
```
on the host:
This will install a session file into `/usr/local/share/wayland-sessions`
```
just session
```
This should be all, now you can log out and select Plasma Development session in SDDM.


# Goodies
## Faster compile times
`just ccache` for convenience
Setting up `ccache` for super fast compile times - https://develop.kde.org/docs/getting-started/building/kde-builder-tips/#building-with-ccache-or-sccache
`ccache` is obviously already preinstalled.
[Download ccache used by KDE Linux](https://storage.kde.org/kde-linux-packages/testing/ccache/ccache.tar) and put it in `~/.cache/ccache`
directory structure should look like this:
```
❯ tree -d -L 1 .cache/ccache
.cache/ccache
├── 0
├── 1
├── 2
├── 3
├── 4
├── 5
├── 6
├── 7
├── 8
├── 9
├── a
├── b
├── c
├── d
├── e
├── f
└── lock
```
## How do I build this container locally?
```
podman build . -t localhost/kde-dev:latest
```
Change all the image refs to the one you chose instead of `ghcr.io/renner0e/kde-dev:latest`
# Remove/undo all changes
Remove session:
```
sudo rm /usr/local/share/wayland-sessions/plasmawayland-dev6.desktop
```
Delete source code and filesystem tree:
See your `~/.config/kde-builder.yaml` for all directories.
```
rm -rf kde/usr kde/src kde/build
```
Delete the container:
```
podman image rm -f ghcr.io/renner0e/kde-dev:latest
```
Delete kde-builder config:
```
rm -f ~/.config/kde-builder.yaml
```