Commit Graph

458 Commits

Author SHA1 Message Date
Harald Sitter
00a140c2e8 initcpio ensure the gpt image dissection works 2025-04-07 03:08:28 +02:00
Nate Graham
191d7a98c8 Remove stoken GUI app desktop files
These come from the `stoken` package, which got pulled in as a
dependency of `openconnect` in e7aa97f0fd.

We don't want these GUI apps cluttering up the menu structure; their
icons are ugly, and when you launch them, they just show an
incomprehensible error message and quit.
2025-04-06 12:03:54 -06:00
Nicolas Fella
e7aa97f0fd Install VPN support modules for NetworkManager
These are needed for VPN connections to work

Fixes https://invent.kde.org/kde-linux/kde-linux/-/issues/167
2025-03-31 21:04:42 +02:00
Nate Graham
5bb8ca3aaa Pre-install backends for Plasma Vaults
All of them, so people migrating from elsewhere don't get locked out of
their vaults.

Resolves #168
2025-03-30 17:21:56 +00:00
Raresh Rus
9c709c4f24 daemon.json fix issue JSON standard does not allow trailing comma
Fix CLion issue "JSON standard does not allow trailing comma
mkosi.extra/etc/docker/daemon.json:2".
2025-03-30 17:18:17 +00:00
Harald Sitter
9caaf74443 drop @locale subvolume
it shouldn't be necessary any longer since we now generate all locales
into the image itself. in fact the mount is getting in the way of those
generated locales working
2025-03-30 16:14:25 +02:00
Nate Graham
59383ab75c Fully clean up the remnants of the build process
Fixes #108
2025-03-29 07:21:14 -06:00
Nate Graham
92103bfef9 Remove pacman
We don't want people finding and using it anyway, and it isn't
even functional because we don't include a /etc/pacman.conf file. It
was only ever intended to be here for local debugging during bring-up,
but the fact thst it hasn't worked shows that this isn't very important
either. Let's delete it.

Fixes #161
2025-03-28 20:44:52 -06:00
Nate Graham
93081dc756 Don't let archlinux-appstream-data leak onto the image
It's unneeded for our purposes.

Fixes #162
2025-03-28 18:53:12 +00:00
Harald Sitter
a28a2dfcbb etc: don't symlink locale.conf
it seems to screw up calamares because it wants to write into the
symlink target (which is in a readonly /usr)
2025-03-27 15:46:00 +01:00
Harald Sitter
7d398189e6 fix mangled /etc/pam.d
unfortunately the tmpfiles.d/40-etc.conf ran in addition to
tmpfiles.d/etc.conf (from systemd) and the latter copies systemd's pam.d
configs out of /usr/share/factory into /etc. those configs then break
pam by overriding our actual configs in /usr/lib/pam.d

fixing this is a bit tricky. to fix new systems we simply overwrite the
etc.conf from systemd and as an additional safeguard remove etc/pam.d
from the factory directory.

to fix existing installations a new service is being added that runs a
simple cleanup program. as part of reaching the basic.target

Fixes #165
2025-03-27 01:51:07 +01:00
Harald Sitter
3878997f33 erofs: use zstd for compression and be less verbose 2025-03-25 16:26:56 +01:00
Harald Sitter
61c9fde971 erofs: prototype
requires kde-linux.erofs=1 to opt in.
expects a kde-linux.erofs in the root of the root partition.

the biggest change here is a new mount generator that replaces the old
overlay tech. to assit in migration a transition script is invoked as
part of the mount actions. all of this happens in the initrd.
after switch into the real root the most important part is the tmpfiles
system which should make sure to populate etc on clean installations

assuming the prototype works out this would render /usr readonly while
the rest of the system can just be a plain old btrfs
2025-03-25 15:21:42 +01:00
Harald Sitter
44327ac34d trailing_spaces-- 2025-03-25 01:23:31 +01:00
Harald Sitter
4a9f5decbf overlay: don't run when invoked in erofs mode
this introduces a new cmdline arg `kde-linux.erofs=1` which enables
erofs mode. currently this does nothing besides disabling the overlay.
in the future this will be a testing toggle for an erofs based system
2025-03-25 01:13:48 +01:00
Harald Sitter
ca059003df live generator: don't error out when not in a live session
it's perfectly normal!
2025-03-25 01:07:01 +01:00
Harald Sitter
20bda00747 create an erofs of the rootfs as well
we might end up using it instead of a btrfs subvolume. first we need one
to experiment with though
2025-03-20 00:57:33 +00:00
Hadi Chokr
3e162c3f54 Fix: Set \$EDITOR to vim in Bash and Zsh
Ensure that the default shell has a proper editor set by defining EDITOR as vim. This prevents issues where Git cannot open an editor when committing changes. 

Solves #163
2025-03-14 23:33:29 +00:00
Hadi Chokr
37eb8254f6 Transition KDE apps to nightly Flatpak versions
Fix issue #140: Transition KDE apps to nightly Flatpak versions

Updated the download_flatpaks function to install KDE apps from the KDE nightly Flatpak repository instead of Flathub. This ensures that the bundled KDE apps are pulled from the nightly builds, reflecting the latest development versions of the software.

The following changes were made:
- Added the KDE nightly repository to the Flatpak configuration.
- Updated the installation of KDE apps to use nightly builds (ark, dolphin, elisa, gwenview, kate, haruna, konsole, kwrite, okular).
- Kept Mozilla Firefox installation from Flathub for stable releases.

This update addresses issue #140, ensuring that the Testing edition uses nightly versions of bundled KDE apps.
2025-03-08 00:19:41 +00:00
Harald Sitter
7cad3b86ed use a pristine pacman.conf
the one in the docker image has been made to not extract localization
tech as of late. seeing as we need (some) localization data to generate
locales and whatnot we need to restore the original config
2025-03-07 19:34:49 +00:00
Harald Sitter
6e7d6f6f20 Revert "disable locale generation"
This reverts commit efa56847ed.

as it turns out we do need the archives after all. as per glibc
documentation the two operation modes are either one large archive or
multiple small archives. there seems to be no way to run without archive
(indeed, it seems fair to spend a bit more time generating the image
instead of paying for locales at every app startup)
2025-03-07 19:34:49 +00:00
Harald Sitter
7a47065aec create /media for snapd 2025-03-07 09:27:31 +01:00
Hadi Chokr
624f245827 Add SVN to base image
For certain flatpak builder repos, and also other repos not using git.
2025-03-05 18:17:32 +00:00
Harald Sitter
a84ed80126 simplify nsswitch finalize script
- remove overbaring debugging
- don't print exceptions or handle exceptions when they are meant to be
fatal
- don't open the file multiple times
- don't check uid, it's inconsequental because we really only need a
writable file
2025-03-05 13:09:54 +01:00
Harald Sitter
8ca406639e give the nsswitch finalize script a shebang line 2025-03-05 13:09:53 +01:00
Harald Sitter
b37390eba6 chmod +x the finalize scripts 2025-03-05 13:09:48 +01:00
Hadi Chokr
bfda7db36c Adding nss-mdns for Avahi mDNS for local domain resolving etc.
Now only modifiying /etc/nsswitch.conf is necesarry. https://wiki.archlinux.org/title/Avahi#systemd-resolved_prevents_nss-mdns_from_working

Fixes #80
2025-03-05 12:09:14 +00:00
Nate Graham
6c7c7c060e Get our logo into Info Center
Install it to /usr/share/pixmaps, and use it as the os-release LOGO.

Resolves #124
2025-03-03 11:59:48 -07:00
Harald Sitter
c2171f965e put .local/bin into PATH so kde-builder is happy
without this it will error out and tell the user to fix their path
2025-03-03 18:46:43 +00:00
Nate Graham
a05a01a2a6 Pre-install python-setproctitle for kde-builder
It's a good thing to be able to run this out of the box.

Fixes #156
2025-03-03 16:16:43 +00:00
Lasath Fernando
89ad1eb049 Create appstream metadata file and add it to sysupdate config
This is required for plasma/discover!957 to pick up and display KDE Linux
2025-03-03 01:53:21 +00:00
Nate Graham
83d492d918 Remove nvtop .desktop file
Amends 6341baed9d.

It's broken due to Konsole being in a Flatpak, which suffers from Bug
495551. Even if it were working, this is kind of useless since it just
launches the CLI command anyway. Let's remove it.
2025-02-22 15:12:03 -07:00
Nate Graham
6341baed9d Add a few more power user CI tools to the image
nvtop is basically the GPU companion to htop, which we do already
include.

ydotool is useful for basic automation, which enthusiasts and developers
often benefit from.

Relevant to #12
2025-02-20 03:49:40 +00:00
Hadi Chokr
854d69a0b5 Fix EFI boot entry permissions (Issue #146) 2025-02-19 20:16:18 +00:00
Harald Sitter
68f1857863 postinst: set image_id
prevents mkosi from adding one which is then not in our unified kernel
image
2025-01-27 15:12:58 +01:00
Nate Graham
88810855d4 Include Ufw
We currently include the firewall KCM but no firewall! Instead of
getting rid of the KCM, let's add a firewall. Ufw is sane enough, at
least until the KCM supports zones which is necessary to fully support
the competing firewalld firewall.

Resolves #112
2025-01-26 15:25:52 -07:00
Harald Sitter
629b26135e calamares: use /boot instead of /efi
/boot is where systemd auto mounts stuff these days
2025-01-26 18:03:17 +00:00
Harald Sitter
c6b95cf982 Revert "Refactor EFI directory structure creation"
This reverts commit b294a76309.

The template system was put in place to differentiate what is in the live
image and what needs to be in the target system. doing away with it
broke the installation
2025-01-26 18:03:17 +00:00
Harald Sitter
aaa81980ff update: ensure older systems can upgrade
/efi mounting would fall over and block the update, so make a better
effort finding it and mounting it
2025-01-26 16:43:49 +01:00
Nate Graham
8f93783339 Add Maliit to base image
In the past this has been requested as a Flatpak, but I believe that it
fits better as a pre-installed package because it's system enablement
for touch devices; without it, they simply don't work. As such, the user
shouldn't be able to remove it or swap it out for something else
(because it's the only thing we support right now anyway).
2025-01-23 20:37:13 +00:00
Ian Monroe
0b9dca0246 create a new update-local.py script
just pass it a directory and it will look for update images in it
2025-01-17 03:41:34 +00:00
Lasath Fernando
d7237822dc Fix error when building locally multiple times
If the mount directories are left over from a previous run, it currently tries to create them again and fails.

This fixes that.
2025-01-16 15:18:44 +00:00
Nate Graham
262ca17e3f Don't install KWalletManager from Flatpak
It isn't suitable for our use case since it's more than just an app; it
provides a KCM as well. This doesn't (and can't) come through in the
Flatpak packaging of it, so we're missing the KCM in System Settings,
and that's a problem.

Instead, let's let the software be built from source using kde-builder.
Depends on
https://invent.kde.org/kde-linux/kde-linux-packages/-/merge_requests/15
2025-01-14 03:55:08 +00:00
Harald Sitter
096cc653e1 Revert "finalize: trust our signing key very much"
This reverts commit 0b3b7ca074.

Turns out my command seems to have been bad :(

https://invent.kde.org/kde-linux/kde-linux/-/jobs/2445201
2025-01-07 23:15:08 +01:00
Harald Sitter
0b3b7ca074 finalize: trust our signing key very much 2025-01-07 12:31:24 +01:00
Harald Sitter
0f94a54d14 dev packages: install pip
python without it is rather sad
2025-01-07 12:30:47 +01:00
Harald Sitter
a90214e641 dev packages: install meson
needed to build glib stuff most of the time
2025-01-07 12:30:19 +01:00
Justin Zobel
804bd36b07 Update mkosi.conf - fix build 2025-01-03 22:14:23 +10:30
Nate Graham
f1cf413fe4 Add lsof to the base image
Common CLI tool useful for troubleshooting stuff.

Fixes #126
2024-12-23 10:35:42 -07:00
Ian Monroe
1921a0140c Revert "Use mkosi.output for build artifacts"
This reverts commit ea7ca55cd2.
2024-12-16 11:34:28 -08:00