Commit Graph

782 Commits

Author SHA1 Message Date
Gabriel Barrantes
54d4502898 WIP: initial testing CI 2025-10-11 12:59:08 -06:00
Harald Sitter
dca873e7b2 drop verbosity of transition script
no longer needed. it's in production now and needlessly creates noise
2025-10-09 23:09:48 +02:00
Kristen McWilliam
c7239e382c feat: make journal persistent across restarts
This will ensure that the journal retains its state even after a system
reboot or service restart, improving the ability to troubleshoot and
maintain system integrity.

Resolves #331
2025-10-09 12:42:28 -04:00
l10n daemon script
e00ffd2512 GIT_SILENT made messages (after extraction) 2025-10-09 09:52:49 +00:00
Nate Graham
9e0d7aed49 Pre-install python-lxml
It's required for 24px icon auto-generation in breeze-icons.
2025-10-08 11:30:53 -06:00
Nate Graham
51c13f262e Remove LSHW GUI app that came along for the ride
We only need the CLI tool.
2025-10-08 11:08:05 -06:00
Nate Graham
064a918158 Don't pre-install icoutils anymore
the exe thumbnailer in kio-extras no longer uses it.

See https://invent.kde.org/sysadmin/repo-metadata/-/merge_requests/629
2025-10-08 10:54:57 -06:00
Gabriel Barrantes
4fb1d0bbac No need to clean subvolumes
See 15138c4d72
2025-10-07 22:30:13 +00:00
Nate Graham
aafc0bcb41 Pre-install lshw
This provides a fancy readout of your hardware that's useful for
debugging, and also allows the DaVinci Resolve distrobox container to
work.

This will add 8.1 MB to the base image size.
2025-10-06 21:28:00 -06:00
Vishal Rao
4affe87ec2 git clone latest Calamares release
Fixes #212
2025-10-06 18:29:45 -06:00
Nate Graham
7ebb326ab7 Create scripts to set up a systemd-sysext and a full development environment
We can simplify this a lot for KDE developers setting up a new
development environment.

If this is merged, we can replace all of the documentation at https://community.kde.org/KDE_Linux#Setup with a single script invocation.

Resolves #213
2025-10-06 18:19:41 -06:00
Hadi Chokr
fde750b1bb Add usb-dirty-pages-udev manually
Add the two files that make up my AUR Package to the image.

Depends on https://invent.kde.org/kde-linux/kde-linux-packages/-/merge_requests/57

Signed-off-by: Hadi Chokr <hadichokr@icloud.com>
2025-10-06 18:16:22 -06:00
Harald Sitter
e1756496c3 basic-test: give timeout a better error message
makes it easier to figure out what's going on

Fixes #372
2025-10-06 21:11:16 +02:00
Harald Sitter
8688601f07 presets: explicitly disable orca user service
since user services aren't default-off on arch this service is auto
started when installed, which leads to orca reading the screen by
default.

disable this so it becomes opt-in
2025-10-06 21:08:45 +02:00
Harald Sitter
f9d82550cb bootstrap: install wget for ci image bootstrapping
wget is used to download the gitlab-runner in the outer script from
sysadmin/ci-images
2025-10-06 20:02:51 +02:00
Harald Sitter
c6a74f19a5 hack: temporarily rebuild the pacman.conf
currently waiting for a ci image rebuild to land so this gets fixed
properly
2025-10-06 20:02:51 +02:00
Harald Sitter
fa35a74159 build: make sure the pacman cache is up to date
otherwise we may end up retrieving outdated materials
2025-10-06 20:02:51 +02:00
Harald Sitter
10c0f7e3ad packages: pick systemd from main arch repo names
we don't need git builds and they are troublesome. so instead we use the
main arch packages, with a slight twist: the packages pipeline rebuilds
systemd with sysupdated enabled.
2025-10-06 20:02:51 +02:00
Harald Sitter
8244df407b bootstrap: prefer our repos over all others
this should allow us to override packages more conveniently without
having to fiddle with the package versions at all
2025-10-06 17:38:13 +02:00
Nate Graham
5c665a3d9f Don't add defunct nightly runtime
It was just removed recently, and was not needed anyway because KDE's
nightly apps use the released runtime, not the nightly runtime.

Ideally that would be changed, but until it is, we don't need it.

Resolves #374

Related to #217
2025-10-04 09:48:23 -06:00
Thomas Duckworth
d0d635e480 Improve performance and harden kernel
Tweaks some memory management, kernel, and networking parameters to improve performance and harden. See https://wiki.archlinux.org/title/Sysctl
2025-09-29 15:01:36 +10:00
Hadi Chokr
9f0d97f98d Provide Theme Integration for Firefox Flatpak
Preinstall org.gtk.Gtk3theme.Breeze for firefox flatpak.

Closes #366
2025-09-29 04:33:09 +00:00
Federico Damián Schonborn
97da7d7d92 Enable pcscd.socket by default
This is required for accessing smart cards.
2025-09-28 06:04:58 +00:00
Hadi Chokr
7da300fb9c Add linux-firmware-marvell 2025-09-27 16:36:40 +00:00
Nate Graham
1cad16ff1c Don't pre-install grml-zsh-config
It seems to break some zsh things, and it's not clear why we include it
anyway.

Fixes #326
2025-09-24 22:51:38 -06:00
Thomas Duckworth
cd534ddea2 Increase nofile and memlock limits
Part of https://invent.kde.org/kde-linux/kde-linux/-/issues/282

Increasing nofile limits is required for certain games to work, e.g.
Stronghold 2, and increasing memlock limits is required for certain
real-time workloads, e.g. the use of DAWs.
2025-09-24 19:46:48 -06:00
l10n daemon script
73b69ed96d GIT_SILENT made messages (after extraction) 2025-09-22 00:40:59 +00:00
Thomas Duckworth
362f516cf0 Increase inotify watcher limits
It's fairly common for users to hit the kernel's default limits for inotify watchers. Increase this to ensure applications behave correctly.
2025-09-20 19:22:23 -06:00
Nate Graham
0d54165bce Pre-install udev-hid-bpf
Resolves #298
2025-09-20 16:35:12 -06:00
Nate Graham
d50d21e7db Pre-install drminfo
It's useful for debugging KWin and other graphics issues.

Resolves #289
2025-09-20 16:07:51 -06:00
Harald Sitter
920c33badd encode the version of the sysupdate in os-release
this should be the path so its easy to find by grepping!
2025-09-20 00:34:48 +02:00
Harald Sitter
2fbbee161c fix sysupdate
excitingly systemd will just not look at .conf files anymore when there
is a single .transfer file. so a couple days ago I actually broke the
update system by introducing a caibx transfer file. yay.

rename everything to .transfer so updates start working again
2025-09-20 00:15:38 +02:00
Harald Sitter
4961085425 don't purg sub id files
they are needed so sub ids actually get created

from the manpage:

> Note, that newusers, useradd, and usermod will only create entries
> in /etc/subuid if subid delegation is managed via subid files.
2025-09-19 23:47:04 +02:00
Nate Graham
4e327bff28 Don't pre-install Icon Explorer
It's on Flathub now! So developers and designers who need it can grab it
from there.

We have to delete its files rather than stopping installing it, since
it's in the conjoined plasma-sdk package, and other apps in there aren't
on Flathub yet.
2025-09-17 07:15:00 -06:00
Harald Sitter
24eda82e5f consume caibx file via sysupdate
this is a bit dangerous but necessary for more efficient delta updates.

we must be very careful to avoid a bug in systemd caused by putting
foo.erofs.caibx into the sha256sums. so instead we have foo.caibx that
gets installed with the correct name by sysupdate

we still have the foo.erofs.caibx on the server for backwards compat,
but continue to not put it into the sha256sums
2025-09-17 14:17:24 +02:00
Harald Sitter
780b987bf0 initial factorization needs to run in migrate mode
otherwise files don't get replaced when they have no hash
2025-09-15 13:15:17 +02:00
Harald Sitter
3c1c185e50 invoke factory correctly
needs a trailing slash actually
2025-09-15 12:33:43 +02:00
Harald Sitter
5104b5aeba run /etc factorization as part of subvol setup 2025-09-15 06:46:26 +02:00
Harald Sitter
dcb66270b7 make sure machine dependent files don't end up in the factory 2025-09-15 06:45:38 +02:00
Harald Sitter
4432e167df protect golden images properly
this was using the wrong key and resulted in the slice being empty.

also guard against this by using UnmarshalStrict
2025-09-14 19:04:25 +02:00
Nate Graham
917df3e8a7 Revert "Reduce latency for audio use cases"
This reverts commit 294f9f5d52.

This appears to have broken audio.
2025-09-14 10:47:40 -06:00
Nate Graham
bab9b1bdcf Don't pre-install Elisa
These days local music library managers are niche apps; most people
seem to listen to music using Spotify, YouTube, etc.

We already don't pre-install an email client on the basis that it's a
fairly niche app, so my sense is that we should consider a local music
library manager to be in the same boat.

Haruna is pre-installed and can handle audio files, so users won't
be left without a way to play any local audio files they do have.

Users who do still maintain local music collections can manually
download Elisa or any similar app of their choice. Elisa is even
featured on Discover's home page, so getting it if desired shouldn't
be a grueling task.
2025-09-14 06:29:04 -06:00
Nate Graham
914353e043 Pre-install foomatic-db
This is the data source for foomatic-db-engine, which is already
pre-installed. Adding it allows the Foomatic engine to generate PPD
files for a bunch more printers.

Resolves #328
2025-09-14 04:57:21 -06:00
Nate Graham
afa3f914ac Remove unrelated comment in printing.conf file
GIT_SILENT
2025-09-14 04:53:22 -06:00
Nate Graham
294f9f5d52 Reduce latency for audio use cases
This patch makes improvements to latency for pro audio use cases:

- Reduce the default and maximum audio latency for apps using PipeWire
  or else ALSA, JACK, or PulseAudio directly. Cost: some CPU time when
  performing heavy audio loads.

- Give users in the `audio` group the ability to make the CPU work
  harder and access the real-time clock. Cost: easier for misinformed
  users to allow misbehaving programs to waste energy.

Overall I think these costs are worth the benefits of better suitability
for real-time audio workloads.

My research sources included:
- https://blog.rtrace.io/posts/the-linux-audio-stack-demystified/
- https://forum.endeavouros.com/t/pipewire-guide-audio-crackling-popping-and-latency/69602
2025-09-14 04:48:14 -06:00
l10n daemon script
6ee6a362e9 GIT_SILENT made messages (after extraction) 2025-09-14 00:41:02 +00:00
Nate Graham
6ed8a202bd Fix inverted condition for audio power saving
It was saving power when plugged in, but not when on battery!
2025-09-13 17:36:23 -06:00
Nate Graham
3fa9a6933e Tweak kernel parameters to optimize latency and power usage
See inline comments regarding what exactly these kernel options do.

But in a nutshell, we should get lower latency and power usage, at the
cost of a little bit of throughput in CPU-intensive tasks. For the kinds
of userspace desktop use cases we target in KDE Linux, this seems like
an appropriate trade-off.

Research sources included:
- https://discourse.ubuntu.com/t/enable-low-latency-features-in-the-generic-ubuntu-kernel-for-24-04/42255
- https://discourse.ubuntu.com/t/fine-tuning-the-ubuntu-24-04-kernel-for-low-latency-throughput-and-power-efficiency/44834
- https://www.kernel.org/doc/html/v6.15-rc3/timers/no_hz.html
2025-09-13 16:53:05 -06:00
Harald Sitter
85cf5f0664 vacuum: load releases from the root path
otherwise we are not cleaning up raw images

unfortunately this also means we'll screw over the sha256sums in the
root a bit. not easily dealt with. needs some refactoring of how the v2
stuff works
2025-09-13 23:01:03 +02:00
Harald Sitter
65b6b0326d fix fontconfig symlinks
this broke in the grand name change where the old symlinks broke and we
didn't notice :(

Fixes #323
2025-09-13 22:32:09 +02:00