-
-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathDockerfile
More file actions
18 lines (16 loc) · 10.6 KB
/
Dockerfile
File metadata and controls
18 lines (16 loc) · 10.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
FROM scratch as builder
ADD ./steamos /
ADD ./steamos/usr/share/factory /
# not removing libcroco holo-desync holo-keyring holo-pacman holo-pipewire holo-sudo holo-wireplumber elfutils
RUN pacman -R --noconfirm podman distrobox crun steamos-kdumpst-layer jupiter-steamos-log-submitter criu jupiter-firewall python-httpcore casync clinfo firewalld flatpak-kcm fuse-overlayfs gperftools kdumpst kirigami-addons lib32-gamescope lib32-libpipewire lib32-libxcrypt-compat libcec libdecor libjxl libopenmpt libwbclient mpg123 networkmanager-openvpn plasma-remotecontrollers plasma-welcome portaudio python-httpx python-pyalsa steamdeck-dsp steamos-log-submitter steamos-reset steamos-systemreport libdbusmenu-gtk3 rubberband qpdf pipewire-x11-bell pipewire-v4l2 libppd libplacebo libyuv accounts-qml-module accountsservice adobe-source-code-pro-fonts adwaita-icon-theme alsa-card-profiles alsa-lib alsa-plugins alsa-topology-conf alsa-ucm-conf alsa-utils anthy aom appstream appstream arch-install-scripts archlinux-appstream-data ark aspell aspell-en assimp at-spi2-core attica avahi baloo baloo-widgets bats bash-completion bluedevil bluez bluez-libs bluez bluez-utils bolt boost-libs breeze breeze-grub breeze-gtk breeze-icons btop btrfs-progs bubblewrap cairo cairomm-1.16 cantarell-fonts caps cdparanoia cfitsio cifs-utils convertlit cpupower cups cups-filters cups-pdf dav1d python-dbus dconf desktop-file-utils discount discover djvulibre dmidecode dolphin dos2unix dosfstools double-conversion drkonqi ebook-tools editorconfig-core-c efibootmgr efivar ell enchant evtest exfat-utils exiv2 f3 fatresize fd ffmpeg ffmpegthumbs fish flac flatpak fontconfig frameworkintegration freeglut freerdp freetype2 fribidi fuse2 fuse3 fuse-common gamemode gamescope gdb gdb-common gdk-pixbuf2 giflib git ghostscript glew glfw glibmm-2.68 glib-networking glu gobject-introspection-runtime gpm gpu-trace graphene graphite grub gsettings-desktop-schemas gsm gssdp gst-plugins-base gst-plugins-base-libs gst-plugin-pipewire gst-plugins-bad-libs drm_info gstreamer gtk3 gtk4 gtkmm-4.0 gupnp gupnp-igd ddcutil drm_janitor libavif gtk-update-icon-cache gwenview harfbuzz hicolor-icon-theme hidapi htop hunspell ibus ibus-anthy ibus-hangul ibus-pinyin ibus-table ibus-table-cangjie-lite iotop iso-codes iw iwd jasper jbig2dec jq json-glib jupiter-dock-updater-bin jupiter-fan-control jupiter-hw-support jupiter-legacy-support kaccounts-integration kactivitymanagerd karchive kate kauth kbookmarks kcmutils kcodecs kcolorpicker kcompletion kconfig kconfigwidgets kcontacts kcoreaddons kcrash kdbusaddons kdeclarative kde-cli-tools kdeconnect kdecoration kded kde-gtk-config kdeplasma-addons kdesu kdialog kdnssd kdsoap-qt6 kdsoap-ws-discovery-client kfilemetadata kgamma kglobalaccel kguiaddons kholidays ki18n kiconthemes kidletime kimageannotator kinfocenter kio kio-extras kio-fuse kirigami kitemmodels kitemviews kitty-terminfo kjobwidgets kmenuedit knewstuff knotifications knotifyconfig konsole kpackage kparts kpeople kpipewire kpmcore kpty kquickcharts krunner kscreen kscreenlocker kservice ksshaskpass ksystemstats ktexteditor ktextwidgets kunitconversion kuserfeedback kwallet kwallet-pam kwayland kwidgetsaddons kwin kwindowsystem kwrited kxmlgui lame layer-shell-qt lcms2 ldb lib32-alsa-lib lib32-alsa-plugins lib32-brotli lib32-bzip2 lib32-curl lib32-dbus lib32-e2fsprogs lib32-expat lib32-flac lib32-fontconfig lib32-freetype2 lib32-gamemode lib32-gcc-libs lib32-glib2 lib32-glibc lib32-harfbuzz lib32-icu lib32-keyutils lib32-krb5 lib32-libnghttp2 lib32-libnghttp3 lib32-libasyncns lib32-libcap lib32-libdrm lib32-libelf lib32-libffi lib32-libgcrypt lib32-libglvnd lib32-libgpg-error lib32-libidn2 lib32-libldap lib32-libnm lib32-libogg lib32-libpciaccess lib32-libpng lib32-libpsl lib32-libpulse lib32-libsndfile lib32-libssh2 lib32-libtasn1 lib32-libtirpc lib32-libunistring lib32-libunwind lib32-libva lib32-libva-mesa-driver lib32-libvdpau lib32-libvorbis lib32-libx11 lib32-libxau lib32-libxcb lib32-libxcrypt lib32-libxdamage lib32-libxdmcp lib32-libxext lib32-libxfixes lib32-libxinerama lib32-libxml2 lib32-libxshmfence lib32-libxss lib32-libxxf86vm lib32-llvm-libs lib32-lm_sensors lib32-mangohud lib32-mesa lib32-mesa-vdpau lib32-ncurses lib32-nspr lib32-nss lib32-openal lib32-openssl lib32-opus lib32-p11-kit lib32-pam lib32-pcre2 lib32-pipewire lib32-sqlite lib32-systemd lib32-util-linux lib32-vulkan-icd-loader lib32-vulkan-radeon lib32-wayland lib32-xz lib32-zlib lib32-zstd libaccounts-glib libaccounts-qt libass libasyncns libatasmart libavc1394 libblockdev libbluray libbs2b libbsd libbytesize libcanberra libcloudproviders libcolord libcups libcupsfilters libdaemon libdatrie libdbusmenu-glib libdmtx libedit libepoxy libfakekey libfdk-aac libfontenc libfreeaptx libglvnd libgudev libhangul libibus libice libiec61883 libimobiledevice libinih libinput libjpeg-turbo libkdcraw libkexiv2 libkscreen libksysguard libldac libmbim libmd libmm-glib libmodplug libmtp libndp libnewt libnm libnotify libnice libogg libspectre libdrm libpciaccess libpgm libplist libpng libproxy libpulse libqaccessibilityclient-qt6 libqalculate libqmi libqrtr-glib libraw libraw1394 librsvg libsamplerate libsigc++-3.0 libsm libsndfile libsodium libsoup3 libsoxr libssh libstemmer libteam libthai libtheora libtiff libtommath libtraceevent libtracefs libunwind libusbmuxd libva libva-intel-driver libva-mesa-driver libvdpau libvorbis libvpx libvpl libwacom libwebp libx11 libxau libxaw libxcb libxcomposite libxcursor libxcvt libxdamage libxdmcp libxext libxfixes libxfont2 libxft libxi libxinerama libxkbcommon libxkbcommon-x11 libxkbfile libxmlb libxmu libxpm libxrandr libxrender libxres libxshmfence libxslt libxss libxt libxtst libxv libxxf86vm libyaml libzip lilv linux-firmware-neptune linux-neptune-611 llvm-libs lm_sensors lsb-release l-smash lsof lua luit lv2 lzo maliit-framework maliit-keyboard mangohud md4c mdadm media-player-info mesa mesa-utils mesa-vdpau milou minizip mobile-broadband-provider-info modemmanager modemmanager mtdev nano nethogs networkmanager networkmanager-qt noise-suppression-for-voice noto-fonts noto-fonts-cjk nspr nss nss-mdns ntfs-3g numactl nvme-cli ocl-icd okular oniguruma openal opencore-amr openjpeg2 openssh openvpn opus orc ostree oxygen 7zip pango pangomm-2.48 parted partitionmanager paru pavucontrol pcsclite perf perl-error perl-mailtools perl-timedate phonon-qt6 phonon-qt6-vlc pipewire pipewire-alsa pipewire-audio pipewire-jack pipewire-pulse pixman pkcs11-helper plasma-browser-integration plasma-desktop plasma-disks plasma-firewall plasma-integration plasma-meta plasma-nm plasma-pa plasma-systemmonitor plasma-thunderbolt plasma-vault plasma-wayland-protocols plasma-workspace plasma-workspace-wallpapers polkit polkit-kde-agent polkit-qt6 poppler poppler powerdevil powertop ppp prison pulseaudio-qt purpose python-aiohttp python-aiosignal python-attrs python-click python-crcmod python-dbus-next python-evdev python-frozenlist python-gobject python-hid python-multidict python-progressbar python-psutil python-pyaml python-pyenchant python-semantic-version python-typing_extensions python-utils python-yaml python-yarl pyzy qca-qt6 qqc2-desktop-style qrencode qt5-base qt5-declarative qt5-feedback qt5-graphicaleffects qt5-multimedia qt5-quickcontrols2 qt5-svg qt5-tools qt5-translations qt5-wayland qt5-x11extras qt6-5compat qt6-base qt6-connectivity qt6-declarative qt6-imageformats qt6-multimedia qt6-multimedia-ffmpeg qt6-positioning qt6-quick3d qt6-quicktimeline qt6-sensors qt6-shadertools qt6-speech qt6-svg qt6-tools qt6-translations qt6-virtualkeyboard qt6-wayland qt6-webchannel qt6-webengine qt6-websockets qt6-webview rauc rav1e ripgrep rtkit rxvt-unicode-terminfo sbc sddm sddm-kcm sdl2 seatd serd shared-mime-info signond signon-kwallet-extension signon-plugin-oauth2 signon-ui slang smartmontools smbclient snappy socat solid sonnet sord sound-theme-freedesktop source-highlight spectacle speex speexdsp squashfs-tools sratom srt sshfs steamdeck-kde-presets steam-im-modules steam-jupiter-stable steamos-devkit-service steamos-efi strace svt-av1 syndication syntax-highlighting systemsettings taglib talloc tcl tdb tevent threadweaver tk trace-cmd tree tslib ttf-dejavu ttf-hack ttf-twemoji-default udisks2 unrar unzip upower usbutils v4l-utils vid.stab vim vim-runtime vkmark vmaf volume_key vpower vulkan-icd-loader vulkan-radeon vulkan-tools wakehook wayland wayland-utils webrtc-audio-processing-1 wget wireless-regdb wireplumber wpa_supplicant x264 x265 xbindkeys xbitmaps xcb-proto xcb-util xcb-util-cursor xcb-util-errors xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm xdg-dbus-proxy xdg-desktop-portal xdg-desktop-portal-kde xdg-desktop-portal-gtk xdg-user-dirs xdg-utils xdotool xf86-input-libinput xf86-video-amdgpu xkeyboard-config xorg-fonts-encodings xorgproto xorg-server xorg-server-common xorg-setxkbmap xorg-xauth xorg-xdpyinfo xorg-xhost xorg-xkbcomp xorg-xmessage xorg-xprop xorg-xrandr xorg-xrdb xorg-xset xorg-xsetroot xorg-xwayland xorg-xwininfo xterm xvidcore zenity-gtk3 zeromq zip zsh zxing-cpp renderdoc-minimal lib32-renderdoc-minimal lib32-xcb-util-keysyms aalib adwaita-icon-theme-legacy appstream-qt aribb24 atomupd-daemon bluez-qt brltty ffmpeg4.4 filelight freerdp2 fwupd-minimal gocryptfs gsettings-system-schemas gst-plugins-good hwloc imlib2 kcolorscheme kglobalacceld krdp kstatusnotifieritem ksvg lib32-json-c lib32-libnsl lib32-spirv-llvm-translator lib32-spirv-tools libao libblockdev-btrfs libblockdev-crypto libblockdev-fs libblockdev-loop libblockdev-lvm libblockdev-mdraid libblockdev-nvme libblockdev-part libblockdev-swap libcaca libdc1394 libiio libimobiledevice-glue libjcat liblouis libmng libplasma libshout libwnck3 modemmanager-qt opencv orca pcaudiolib plasma-activities plasma-activities-stats plasma5support poppler-qt6 print-manager python-cairo python-pygdbmi qcoro qqc2-breeze-style qtkeychain-qt6 ripgrep-all sdl2_ttf speech-dispatcher spirv-llvm-translator startup-notification steamos-atomupd-client steamos-manager steamos-powerbuttond tinysparql twolame udisks2-btrfs udisks2-lvm2 umr vlc xorg-xmodmap xsettingsd espeak-ng inputplumber onetbb openxr mandoc \
&& sed -r -i 's/\[(jupiter|core|extra|community|multilib|holo)\]/\[\1-rel\]/g' /etc/pacman.conf \
&& pacman-key --init \
&& pacman-key --populate archlinux \
&& pacman-key --populate holo \
&& pacman -Sy \
# && comm -1 -2 <(pacman -Qeq | sort) <(pacman -Qoq /usr/include/ | sort) | pacman -S --noconfirm - \
&& comm -1 -2 <(pacman -Qdq | sort | sed "/^filesystem$/d") <(pacman -Qoq /usr/include/ | sort | sed "/^filesystem$/d") | pacman -S --noconfirm --asdeps - \
&& pacman -S --noconfirm gcc make autoconf automake bison fakeroot flex m4 tpm2-tss \
&& yes | pacman -Scc
FROM scratch
COPY --from=builder / /