feat: add all packages and files
This commit is contained in:
parent
19bfa6dbb5
commit
310ac97c56
6 changed files with 130 additions and 11 deletions
|
@ -2,7 +2,7 @@
|
||||||
# These allow changing the produced image by passing different build args to adjust
|
# These allow changing the produced image by passing different build args to adjust
|
||||||
# the source from which your image is built.
|
# the source from which your image is built.
|
||||||
# Build args can be provided on the commandline when building locally with:
|
# Build args can be provided on the commandline when building locally with:
|
||||||
# podman build -f Containerfile --build-arg FEDORA_VERSION=40 -t local-image
|
# podman build -f Containerfile --build-arg FEDORA_MAJOR_VERSION=40 -t local-image
|
||||||
|
|
||||||
# SOURCE_IMAGE arg can be anything from ublue upstream which matches your desired version:
|
# SOURCE_IMAGE arg can be anything from ublue upstream which matches your desired version:
|
||||||
# See list here: https://github.com/orgs/ublue-os/packages?repo_name=main
|
# See list here: https://github.com/orgs/ublue-os/packages?repo_name=main
|
||||||
|
@ -15,7 +15,7 @@
|
||||||
# - "base"
|
# - "base"
|
||||||
#
|
#
|
||||||
# "aurora", "bazzite", "bluefin" or "ucore" may also be used but have different suffixes.
|
# "aurora", "bazzite", "bluefin" or "ucore" may also be used but have different suffixes.
|
||||||
ARG SOURCE_IMAGE="silverblue"
|
ARG SOURCE_IMAGE="base"
|
||||||
|
|
||||||
## SOURCE_SUFFIX arg should include a hyphen and the appropriate suffix name
|
## SOURCE_SUFFIX arg should include a hyphen and the appropriate suffix name
|
||||||
# These examples all work for silverblue/kinoite/sericea/onyx/lazurite/vauxite/base
|
# These examples all work for silverblue/kinoite/sericea/onyx/lazurite/vauxite/base
|
||||||
|
@ -33,25 +33,36 @@ ARG SOURCE_IMAGE="silverblue"
|
||||||
# - stable-zfs
|
# - stable-zfs
|
||||||
# - stable-nvidia-zfs
|
# - stable-nvidia-zfs
|
||||||
# - (and the above with testing rather than stable)
|
# - (and the above with testing rather than stable)
|
||||||
ARG SOURCE_SUFFIX="-main"
|
ARG SOURCE_SUFFIX="-nvidia"
|
||||||
|
|
||||||
## SOURCE_TAG arg must be a version built for the specific image: eg, 39, 40, gts, latest
|
## SOURCE_TAG arg must be a version built for the specific image: eg, 39, 40, gts, latest
|
||||||
ARG SOURCE_TAG="latest"
|
ARG SOURCE_TAG="latest"
|
||||||
|
|
||||||
|
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION:-40}"
|
||||||
|
|
||||||
### 2. SOURCE IMAGE
|
### 2. SOURCE IMAGE
|
||||||
## this is a standard Containerfile FROM using the build ARGs above to select the right upstream image
|
## this is a standard Containerfile FROM using the build ARGs above to select the right upstream image
|
||||||
FROM ghcr.io/ublue-os/${SOURCE_IMAGE}${SOURCE_SUFFIX}:${SOURCE_TAG}
|
FROM ghcr.io/ublue-os/${SOURCE_IMAGE}${SOURCE_SUFFIX}:${SOURCE_TAG}
|
||||||
|
|
||||||
|
ARG FEDORA_MAJOR_VERSION="${FEDORA_MAJOR_VERSION}"
|
||||||
|
|
||||||
### 3. MODIFICATIONS
|
### 3. MODIFICATIONS
|
||||||
## make modifications desired in your image and install packages by modifying the build.sh script
|
## make modifications desired in your image and install packages by modifying the build.sh script
|
||||||
## the following RUN directive does all the things required to run "build.sh" as recommended.
|
## the following RUN directive does all the things required to run "build.sh" as recommended.
|
||||||
|
|
||||||
|
COPY --from=ghcr.io/ublue-os/config:latest /files/ublue-os-just /
|
||||||
|
COPY --from=ghcr.io/ublue-os/config:latest /files/ublue-os-udev-rules /
|
||||||
|
COPY --from=ghcr.io/ublue-os/config:latest /files/ublue-os-update-services /
|
||||||
|
COPY --from=ghcr.io/ublue-os/bluefin:latest /usr/share/fish /usr/share/fish
|
||||||
|
COPY files /
|
||||||
COPY build.sh /tmp/build.sh
|
COPY build.sh /tmp/build.sh
|
||||||
|
COPY packages /tmp/packages
|
||||||
|
|
||||||
RUN mkdir -p /var/lib/alternatives && \
|
RUN mkdir -p /var/lib/alternatives && \
|
||||||
/tmp/build.sh && \
|
/tmp/build.sh && \
|
||||||
|
fc-cache --system-only --really-force --verbose && \
|
||||||
|
mkdir -p /var/tmp && \
|
||||||
|
chmod -R 1777 /var/tmp && \
|
||||||
ostree container commit
|
ostree container commit
|
||||||
## NOTES:
|
## NOTES:
|
||||||
# - /var/lib/alternatives is required to prevent failure with some RPM installs
|
# - /var/lib/alternatives is required to prevent failure with some RPM installs
|
||||||
|
|
22
build.sh
22
build.sh
|
@ -4,20 +4,26 @@ set -ouex pipefail
|
||||||
|
|
||||||
RELEASE="$(rpm -E %fedora)"
|
RELEASE="$(rpm -E %fedora)"
|
||||||
|
|
||||||
|
### Add repos
|
||||||
|
|
||||||
|
# Add Staging repo
|
||||||
|
curl -Lo /etc/yum.repos.d/ublue-os-staging-fedora-"${FEDORA_MAJOR_VERSION}".repo https://copr.fedorainfracloud.org/coprs/ublue-os/staging/repo/fedora-"${FEDORA_MAJOR_VERSION}"/ublue-os-staging-fedora-"${FEDORA_MAJOR_VERSION}".repo
|
||||||
|
|
||||||
|
# Add Bling repo
|
||||||
|
curl -Lo /etc/yum.repos.d/ublue-os-bling-fedora-"${FEDORA_MAJOR_VERSION}".repo https://copr.fedorainfracloud.org/coprs/ublue-os/bling/repo/fedora-"${FEDORA_MAJOR_VERSION}"/ublue-os-bling-fedora-"${FEDORA_MAJOR_VERSION}".repo
|
||||||
|
|
||||||
|
curl -Lo /etc/yum.repos.d/ganto-lxc4-fedora-"${FEDORA_MAJOR_VERSION}".repo https://copr.fedorainfracloud.org/coprs/ganto/lxc4/repo/fedora-"${FEDORA_MAJOR_VERSION}"/ganto-lxc4-fedora-"${FEDORA_MAJOR_VERSION}".repo
|
||||||
|
|
||||||
|
curl -Lo /etc/yum.repos.d/_copr_che-nerd-fonts-"${FEDORA_MAJOR_VERSION}".repo https://copr.fedorainfracloud.org/coprs/che/nerd-fonts/repo/fedora-"${FEDORA_MAJOR_VERSION}"/che-nerd-fonts-fedora-"${FEDORA_MAJOR_VERSION}".repo
|
||||||
|
|
||||||
### Install packages
|
### Install packages
|
||||||
|
|
||||||
# Packages can be installed from any enabled yum repo on the image.
|
grep -v '^#' /tmp/packages | xargs rpm-ostree install
|
||||||
# RPMfusion repos are available by default in ublue main images
|
|
||||||
# List of rpmfusion packages can be found here:
|
|
||||||
# https://mirrors.rpmfusion.org/mirrorlist?path=free/fedora/updates/39/x86_64/repoview/index.html&protocol=https&redirect=1
|
|
||||||
|
|
||||||
# this installs a package from fedora repos
|
|
||||||
rpm-ostree install screen
|
|
||||||
|
|
||||||
# this would install a package from rpmfusion
|
# this would install a package from rpmfusion
|
||||||
# rpm-ostree install vlc
|
# rpm-ostree install vlc
|
||||||
|
|
||||||
#### Example for enabling a System Unit File
|
#### Services
|
||||||
|
|
||||||
systemctl enable podman.socket
|
systemctl enable podman.socket
|
||||||
|
systemctl enable tailscaled.service
|
||||||
|
|
4
cosign.pub
Normal file
4
cosign.pub
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
-----BEGIN PUBLIC KEY-----
|
||||||
|
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEG8A6iUv3QkDjv8o9Bjq1xhsWr/fo
|
||||||
|
JXdGPebPTfZQpX/zMdP32WenP6s8kSdlfGI3c2nqM3EWOTebfjrH4O3NbQ==
|
||||||
|
-----END PUBLIC KEY-----
|
6
files/etc/yum.repos.d/docker-ce.repo
Normal file
6
files/etc/yum.repos.d/docker-ce.repo
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
[docker-ce-stable]
|
||||||
|
name=Docker CE Stable - $basearch
|
||||||
|
baseurl=https://download.docker.com/linux/fedora/$releasever/$basearch/stable
|
||||||
|
enabled=1
|
||||||
|
gpgcheck=1
|
||||||
|
gpgkey=https://download.docker.com/linux/fedora/gpg
|
8
files/etc/yum.repos.d/tailscale.repo
Normal file
8
files/etc/yum.repos.d/tailscale.repo
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
[tailscale-stable]
|
||||||
|
name=Tailscale stable
|
||||||
|
baseurl=https://pkgs.tailscale.com/stable/fedora/$basearch
|
||||||
|
enabled=1
|
||||||
|
type=rpm
|
||||||
|
repo_gpgcheck=0
|
||||||
|
gpgcheck=0
|
||||||
|
gpgkey=https://pkgs.tailscale.com/stable/fedora/repo.gpg
|
84
packages
Normal file
84
packages
Normal file
|
@ -0,0 +1,84 @@
|
||||||
|
# Compositor
|
||||||
|
xorg-x11-server-Xwayland
|
||||||
|
river
|
||||||
|
|
||||||
|
# apps
|
||||||
|
foot
|
||||||
|
mako
|
||||||
|
waybar
|
||||||
|
kanshi
|
||||||
|
fuzzel
|
||||||
|
|
||||||
|
# fonts
|
||||||
|
nerd-fonts
|
||||||
|
fontawesome-fonts-all
|
||||||
|
|
||||||
|
# lock
|
||||||
|
swayidle
|
||||||
|
swaylock
|
||||||
|
|
||||||
|
# utility
|
||||||
|
slurp
|
||||||
|
grimshot
|
||||||
|
wev
|
||||||
|
wl-clipboard
|
||||||
|
brightnessctl
|
||||||
|
wlr-randr
|
||||||
|
|
||||||
|
# portal
|
||||||
|
xdg-desktop-portal-wlr
|
||||||
|
xdg-desktop-portal-gtk
|
||||||
|
|
||||||
|
# containers
|
||||||
|
docker-ce
|
||||||
|
docker-ce-cli
|
||||||
|
docker-buildx-plugin
|
||||||
|
docker-compose-plugin
|
||||||
|
incus
|
||||||
|
incus-agent
|
||||||
|
podman
|
||||||
|
podman-compose
|
||||||
|
podman-tui
|
||||||
|
podmansh
|
||||||
|
|
||||||
|
# emulation
|
||||||
|
libvirt
|
||||||
|
qemu-char-spice
|
||||||
|
qemu-device-display-virtio-gpu
|
||||||
|
qemu-device-display-virtio-vga
|
||||||
|
qemu-device-usb-redirect
|
||||||
|
qemu-img
|
||||||
|
qemu-system-x86-core
|
||||||
|
qemu-user-binfmt
|
||||||
|
qemu-user-static
|
||||||
|
qemu
|
||||||
|
virt-manager
|
||||||
|
virt-viewer
|
||||||
|
|
||||||
|
# env
|
||||||
|
polkit
|
||||||
|
xdg-user-dirs
|
||||||
|
dbus-tools
|
||||||
|
dbus-daemon
|
||||||
|
vulkan-tools
|
||||||
|
|
||||||
|
# networking
|
||||||
|
network-manager-applet
|
||||||
|
bluez
|
||||||
|
bluez-tools
|
||||||
|
blueman
|
||||||
|
tailscale
|
||||||
|
wireguard-tools
|
||||||
|
|
||||||
|
# sound
|
||||||
|
pipewire
|
||||||
|
wireplumber
|
||||||
|
pamixer
|
||||||
|
|
||||||
|
# shell
|
||||||
|
fish
|
||||||
|
zsh
|
||||||
|
|
||||||
|
# classic dev tools
|
||||||
|
gcc
|
||||||
|
make
|
Loading…
Reference in a new issue