From 56ab41774dbb8cc2c908106310f826e7f5c9e17e Mon Sep 17 00:00:00 2001 From: Ian Monroe Date: Tue, 10 Dec 2024 14:54:46 -0800 Subject: [PATCH] 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 --- .gitignore | 2 + build.sh | 76 ------------------- mkosi.conf.d/00-packages-core.conf | 12 ++- mkosi.conf.d/00-packages-sysinfo.conf | 10 ++- mkosi.conf.d/10-packages-cli.conf | 22 +++--- mkosi.conf.d/10-packages-efi.conf | 3 +- mkosi.conf.d/20-packages-network.conf | 7 ++ mkosi.conf.d/50-packages-graphics.conf | 4 +- .../50-packages-kde-dependencies.conf | 26 +++++++ mkosi.conf.d/50-packages-sound.conf | 11 +++ mkosi.conf.d/55-packages-kde.conf | 8 ++ mkosi.conf.d/60-packages-hw-enablement.conf | 8 ++ mkosi.conf.d/70-packages-build.conf | 12 +++ mkosi.conf.d/99-packages-development.conf | 3 + 14 files changed, 110 insertions(+), 94 deletions(-) create mode 100644 mkosi.conf.d/20-packages-network.conf create mode 100644 mkosi.conf.d/50-packages-kde-dependencies.conf create mode 100644 mkosi.conf.d/50-packages-sound.conf create mode 100644 mkosi.conf.d/55-packages-kde.conf create mode 100644 mkosi.conf.d/70-packages-build.conf diff --git a/.gitignore b/.gitignore index c6e8bab..90d02a4 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,5 @@ mkosi.local.conf kde-linux_* +/mkosi.sandbox/etc/pacman.conf +/mkosi.sandbox/etc/pacman.d/mirrorlist diff --git a/build.sh b/build.sh index ec28696..75ef33f 100755 --- a/build.sh +++ b/build.sh @@ -9,81 +9,6 @@ set -ex -packages=( - sddm - bash-completion - pacman - mesa - pipewire - pipewire-pulse - pipewire-zeroconf - pipewire-libcamera - noto-fonts - acpid - busybox - nvme-cli - bind - dmidecode - ntfs-3g - iproute2 - tpm2-tss - xz - wireplumber - flatpak - apparmor - ffmpeg # ffmpegthumbs - jxrlib # kimageformats - libavif # kimageformats - libheif # kimageformats - libjxl # kimageformats - libraw # kimageformats - openexr # kimageformats - freerdp2 # krdp - libmtp # kio-extras, for MTP support - libappimage # kio-extras, for AppImage app thumbnails - editorconfig-core-c # ktexteditor - aspell # sonnet - hspell # sonnet - - # Install build and runtime dependencies - git base-devel cmake yaml-cpp boost-libs boost dosfstools btrfs-progs glib2-devel - # NOTE: plasma-workspace depends on phonon (to build integration plugins **for** phonon) but doesn't actually - # need a working backend so we build without vlc for now. - # For discover backend - fwupd - # For kio-extras - smbclient - # For selenium - python-atspi - # For print-manager - cups cups-browsed system-config-printer - # For kdenetwork-filesharing - samba - # For spectacle - opencv - # For fingerprint login - fprintd - # For DDC/CI external monitors brightness; https://wiki.archlinux.org/title/backlight - ddcutil - # For users KCM - accountsservice - - # All the KDE we plan to include in the base image - $(pacman --sync --groups --quiet kde-linux) - - # AUR packages - snapd steam-devices-git systemd-bootchart - - systemd-git - systemd-resolvconf-git - systemd-sysvcompat-git - systemd-ukify-git - #probably can be removed: - arch-install-scripts -) -printf -v packages_str "%s," "${packages[@]}" -packages_str=${packages_str%,} - VERSION=$(date +%Y%m%d%H%M) # Build version, will just be YYYYmmddHHMM for now OUTPUT=kde-linux_$VERSION # Built rootfs path (mkosi uses this directory by default) @@ -113,7 +38,6 @@ mkosi \ --image-version="$VERSION" \ --package-cache-dir=/var/cache/mkosi.pacman \ --output-directory=. \ - --package="${packages_str}" \ "$@" # Create a directory structure for the UKIs. diff --git a/mkosi.conf.d/00-packages-core.conf b/mkosi.conf.d/00-packages-core.conf index 047cd42..90289c1 100644 --- a/mkosi.conf.d/00-packages-core.conf +++ b/mkosi.conf.d/00-packages-core.conf @@ -4,6 +4,7 @@ [Content] Packages=archlinux-keyring base + btrfs-progs kernel-modules-hook kmod linux @@ -17,9 +18,14 @@ Packages=archlinux-keyring qt6-multimedia-ffmpeg plymouth socat - systemd - systemd-resolvconf - systemd-sysvcompat + systemd-git + systemd-resolvconf-git + systemd-sysvcompat-git + systemd-ukify-git xdg-desktop-portal-gtk # GTK/Flatpak icon settings syncing xdg-user-dirs xsettingsd # GTK/Flatpak theming, scaling, and theme changes without restart + + apparmor + snapd + flatpak diff --git a/mkosi.conf.d/00-packages-sysinfo.conf b/mkosi.conf.d/00-packages-sysinfo.conf index 5417bea..76f8cbc 100644 --- a/mkosi.conf.d/00-packages-sysinfo.conf +++ b/mkosi.conf.d/00-packages-sysinfo.conf @@ -4,9 +4,15 @@ # Info center stuff [Content] -Packages=aha +Packages=acpid + aha clinfo + # For DDC/CI external monitors brightness; https://wiki.archlinux.org/title/backlight + ddcutil + dmidecode mesa-utils # This provides both eglinfo and glxinfo + nvme-cli vulkan-tools # This provides vulkaninfo wayland-utils # This provides wayland-info - xorg-xdpyinfo # Required for kinfocenter X11 info tab (including xwayland) \ No newline at end of file + xorg-xdpyinfo # Required for kinfocenter X11 info tab (including xwayland) + diff --git a/mkosi.conf.d/10-packages-cli.conf b/mkosi.conf.d/10-packages-cli.conf index a63eded..7be7f85 100644 --- a/mkosi.conf.d/10-packages-cli.conf +++ b/mkosi.conf.d/10-packages-cli.conf @@ -4,22 +4,24 @@ # Modern CLI tools! [Content] -Packages=mcfly - htop +Packages=bash-completion bat + busybox duf + fastfetch fd + gping + grml-zsh-config + htop + jq + mcfly + nano + openssh + powertop + procs ripgrep tldr - gping - procs - nano - powertop wget wl-clipboard - fastfetch zsh - grml-zsh-config zsh-completions - openssh - jq diff --git a/mkosi.conf.d/10-packages-efi.conf b/mkosi.conf.d/10-packages-efi.conf index 2ab9345..67020ec 100644 --- a/mkosi.conf.d/10-packages-efi.conf +++ b/mkosi.conf.d/10-packages-efi.conf @@ -2,8 +2,7 @@ # SPDX-FileCopyrightText: 2023 Harald Sitter [Content] -Packages=systemd-ukify - shim +Packages=shim amd-ucode intel-ucode edk2-shell diff --git a/mkosi.conf.d/20-packages-network.conf b/mkosi.conf.d/20-packages-network.conf new file mode 100644 index 0000000..d39f933 --- /dev/null +++ b/mkosi.conf.d/20-packages-network.conf @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: CC0-1.0 +# SPDX-FileCopyrightText: Ian Monroe