Commit Graph

440 Commits

Author SHA1 Message Date
Hadi Chokr
0e64676800 Delete mkosi.finalize.chroot 2025-02-28 15:34:17 +00:00
Hadi Chokr
e20ac27c89 Add new directory 2025-02-28 15:32:51 +00:00
Hadi Chokr
0ae975bf6f Edit 50-kde-linux.preset 2025-02-24 14:30:51 +00:00
Hadi Chokr
14b09e9243 Edit mkosi.finalize.chroot 2025-02-24 13:57:29 +00:00
Hadi Chokr
6fe3577ae2 Edit 50-kde-linux.preset 2025-02-24 13:52:42 +00:00
Hadi Chokr
ffd3d5cae9 Edit 20-packages-network.conf 2025-02-24 13:49:47 +00:00
Hadi Chokr
8a78447658 Edit mkosi.finalize.chroot 2025-02-23 06:50:30 +00:00
Hadi Chokr
c42defc927 Delete nsswitch.conf 2025-02-23 06:48:34 +00:00
Hadi Chokr
f621cea983 Edit 50-kde-linux.preset 2025-02-23 06:48:19 +00:00
Hadi Chokr
f3c96c0e5c Add the sed command into the finalize script. 2025-02-23 06:43:46 +00:00
Hadi Chokr
32a4d7d1d6 Edit nsswitch.conf 2025-02-20 15:46:07 +00:00
Hadi Chokr
cae2ac4bd1 Edit mkosi.finalize.chroot 2025-02-20 15:42:10 +00:00
Hadi Chokr
e804749a9d Upload New File 2025-02-20 15:39:38 +00:00
Hadi Chokr
5a1ef0490c Adding nss-mdns for Avahi mDNS for local domain resolving etc. 2025-02-20 07:27:21 +00: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
Lasath Fernando
03a54244d3 Make zsh the default shell for new users
ZSH is (in many ways) the successor to BASH.

It looks/feels the same as bash, but with better tab-completion, better history management, typo-correction, etc.
People that care about their shell will customize it, but people that don't will just notice that the terminal in KDE Linux is faster/more responsive. We should aim to give the best user experience by default.

https://medium.com/@mattwinmill88/what-even-is-zsh-and-why-is-everyone-using-it-9695c869fbe4#0747

Note: This change only affects new accounts so it won't suddenly break anyone's setup.
2024-12-16 19:21:52 +00:00
Bruno Pajdek
0d12df74a3 Use .gitignores instead of .keeps
@fernando Mentioned this convention should be preferred.
2024-12-16 18:59:59 +00:00
Ian Monroe
6cbe5099cf move flatpak install from chroot to container
cleaner, allows caching
2024-12-15 14:29:44 -08:00
Ian Monroe
208b0c530d move ntfs-3g to sysinfo conf file 2024-12-15 22:29:08 +00:00
Ian Monroe
5c750c9918 only run reflector when needed 2024-12-15 22:29:08 +00:00
Ian Monroe
693deea64d add nfs-utils to image
seems to be required to mount NFS
2024-12-15 22:29:08 +00:00
Bruno Pajdek
9fab0a1f1d Make debug archive in build.sh 2024-12-15 22:17:58 +00:00
Bruno Pajdek
b71472666b Don't upload any CI artifacts
The only one we were uploading was `dmesg.log` and it no longer exists. Got lost in the rework of the image shrinking in !95. Avoids the `ERROR: No files to upload` at the end of every job.
2024-12-15 17:58:00 +00:00
Bruno Pajdek
621e723730 Fix mkosi deprecation warning
Moves the deprecated `@Environment` option under `[Content]` to `Environment` under `[Build]`.
2024-12-15 17:56:05 +00:00
Bruno Pajdek
ea7ca55cd2 Use mkosi.output for build artifacts
mkosi already provides us with a nice default directory it puts artifacts in called `mkosi.output` if `--output-directory` isn't explicitly set. For some reason, it _is_ explicitly set to `.`, so it puts them in the source tree itself which pollutes it and gets messy real quick.

After build, the contents of the source tree are now
```
drwxrwxrwx 1 root root  100 Dec 15 15:18 .git
-rw-rw-rw- 1 root root  226 Dec 15 15:18 .gitignore
-rw-rw-rw- 1 root root 1.1K Dec 15 15:18 .gitlab-ci.yml
drwxrwxrwx 1 root root  370 Dec 15 15:18 LICENSES
-rw-rw-rw- 1 root root  337 Dec 15 15:18 README.md
-rw-rw-rw- 1 root root  128 Dec 15 15:18 REUSE.toml
-rwxrwxrwx 1 root root  824 Dec 15 15:18 addons.sh
-rwxrwxrwx 1 root root 1.7K Dec 15 15:18 bootstrap.sh
-rwxrwxrwx 1 root root 6.1K Dec 15 15:18 build.sh
-rwxrwxrwx 1 root root 2.9K Dec 15 15:18 build_docker.sh
-rwxrwxrwx 1 root root  427 Dec 15 15:18 in_docker.sh
drwxrwxrwx 1 root root   96 Dec 15 15:25 kde-linux.cache
drwxrwxrwx 1 root root   20 Dec 15 15:18 mkosi.cache
-rw-rw-rw- 1 root root 1.8K Dec 15 15:18 mkosi.conf
drwxrwxrwx 1 root root  420 Dec 15 15:18 mkosi.conf.d
drwxrwxrwx 1 root root   20 Dec 15 15:18 mkosi.extra
-rwxrwxrwx 1 root root 3.6K Dec 15 15:18 mkosi.finalize.chroot
drwxr-xr-x 1 root root  500 Dec 15 15:37 mkosi.output
-rwxrwxrwx 1 root root 5.2K Dec 15 15:18 mkosi.postinst.chroot
-rwxrwxrwx 1 root root 1.3K Dec 15 15:18 mkosi.prepare.chroot
drwxrwxrwx 1 root root   46 Dec 15 15:18 mkosi.repart
drwxrwxrwx 1 root root    6 Dec 15 15:18 mkosi.skeleton
-rwxrwxrwx 1 root root  742 Dec 15 15:18 permission-fix.sh
drwxrwxrwx 1 root root   30 Dec 15 15:18 strip
-rwxrwxrwx 1 root root 1.4K Dec 15 15:18 torrent-create.rb
-rwxrwxrwx 1 root root  796 Dec 15 15:18 update.sh
drwxrwxrwx 1 root root   94 Dec 15 15:18 upload-vacuum
-rwxrwxrwx 1 root root 1.6K Dec 15 15:18 upload.sh
```

And the contents of `mkosi.output` are
```
drwxr-xr-x 1 root root  206 Dec 15 15:28 kde-linux_202412151518
-rw-r--r-- 1 root root 173M Dec 15 15:25 kde-linux_202412151518.efi
-rw-r--r-- 1 root root 5.2G Dec 15 15:36 kde-linux_202412151518.raw
-rw------- 1 root root  55K Dec 15 15:37 kde-linux_202412151518.torrent
-rw-r--r-- 1 root root  14M Dec 15 15:25 kde-linux_202412151518.vmlinuz
-rw-r--r-- 1 root root 1.6G Dec 15 15:23 kde-linux_202412151518_debug-x86-64.tar.zst
-rw-r--r-- 1 root root 173M Dec 15 15:24 kde-linux_202412151518_live.efi
-rw-r--r-- 1 root root 3.0G Dec 15 15:36 kde-linux_202412151518_root-x86-64.tar.zst
```
2024-12-15 17:55:10 +00:00
Ian Monroe
56ab41774d install all packages using mkosi.conf.d files
remove the call to --packages
Attempted to keep everything, with the exception of the redundant
systemd/systemd-git packages
2024-12-15 15:42:09 +00:00
Ian Monroe
9a3481e59e install all packages outside the chroot
use the mkosi sandbox to install, so now the arch linux packages
are all cached properly
2024-12-15 15:42:09 +00:00
Lasath Fernando
f228149332 Rename pacman to kde-linux-readonly-pacman
To make it clear to users that it won't work the way it does in Arch Linux.

Closes #106
2024-12-15 11:16:21 +00:00
Bruno Pajdek
b294a76309 Refactor EFI directory structure creation
Just a bit nicer and more readable.
2024-12-15 10:30:52 +00:00
Ian Monroe
2a7d44aba8 mount a btrfs subvolume on /var/lib/containers
this fixes rootful podman
tweak your container storage settings to use btrfs instead of overlay and you
can build the KDE Linux image with podman now
2024-12-09 02:52:06 +00:00
Ian Monroe
9a9a5640ff add crun back
it's the default for podman
2024-12-07 11:14:05 -08:00
Lasath Fernando
3d93221288 Re-add docker
There are just too many bugs to deal with in podman, whereas docker just works.

https://invent.kde.org/-/snippets/3274

https://github.com/89luca89/distrobox/issues/1624

https://github.com/89luca89/distrobox/issues/1401

and a ton more every time I try to do something.

This also gives docker permissions to the `wheel` group (instead of having to add users to a newly-created `docker` group). Since everyone in `wheel` are already root-equivalent, this makes more sense anyway.
2024-12-07 02:23:01 +00:00
Lasath Fernando
6a08c954bb Pass options from update.sh to sysupdated
Required to make `updatectl` work. Explained in inline comments.
2024-12-06 20:54:18 +00:00