Compare commits
40 Commits
c0cccee037
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d53403697b | ||
|
|
aa2765828f | ||
|
|
c9199dbafd | ||
|
|
7c1b837bf9 | ||
|
|
57fdc02539 | ||
|
|
3f52e6286f | ||
|
|
c6ffa3591f | ||
|
|
1c59f8a718 | ||
|
|
f371fba55e | ||
|
|
7e73dff9b7 | ||
|
|
ac7d14e98a | ||
|
|
9a06941829 | ||
|
|
a3f1e0843a | ||
|
|
f615d38e86 | ||
|
|
a936328c28 | ||
|
|
3b7a1e440f | ||
|
|
09760ca4a9 | ||
|
|
e91adc45ce | ||
|
|
e43e54dba9 | ||
|
|
17ece6cfde | ||
|
|
03bc0c3bba | ||
|
|
e00db9e3fa | ||
|
|
b924a4a4d8 | ||
|
|
a78782e54d | ||
|
|
1eefc90924 | ||
|
|
2fe52fc3c1 | ||
|
|
2b26de7110 | ||
|
|
1d328bcbc5 | ||
|
|
ab913ad8f5 | ||
|
|
d2dc21a83f | ||
|
|
0bd50850cf | ||
|
|
1ca3554ae7 | ||
|
|
d91f91c809 | ||
|
|
6ad6008e1b | ||
|
|
a6da2af97c | ||
|
|
fa8dee1ba4 | ||
|
|
83c5550ec4 | ||
|
|
ef8da056dc | ||
|
|
51f18558fc | ||
|
|
2665d4847a |
BIN
docs/wallpapers/6293645.jpg
Normal file
|
After Width: | Height: | Size: 957 KiB |
BIN
docs/wallpapers/8.jpg
Normal file
|
After Width: | Height: | Size: 3.4 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
Before Width: | Height: | Size: 2.0 MiB |
|
Before Width: | Height: | Size: 4.5 MiB |
|
Before Width: | Height: | Size: 11 MiB |
|
Before Width: | Height: | Size: 162 KiB After Width: | Height: | Size: 1.5 MiB |
|
After Width: | Height: | Size: 5.0 MiB |
BIN
files/assets/wallpapers/6293645.jpg
Normal file
|
After Width: | Height: | Size: 957 KiB |
BIN
files/assets/wallpapers/8.jpg
Normal file
|
After Width: | Height: | Size: 3.4 MiB |
|
Before Width: | Height: | Size: 387 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 4.5 MiB |
|
Before Width: | Height: | Size: 576 KiB |
|
Before Width: | Height: | Size: 234 KiB |
|
Before Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 5.0 MiB |
@@ -13,4 +13,3 @@ setup-zsh:
|
|||||||
echo ')'
|
echo ')'
|
||||||
} >> ~/.zshrc
|
} >> ~/.zshrc
|
||||||
|
|
||||||
@echo 'eval "$(oh-my-posh init zsh --config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/refs/heads/main/themes/json.omp.json')"' >> ~/.zshrc
|
|
||||||
|
|||||||
@@ -1,53 +0,0 @@
|
|||||||
#!/usr/bin/env bash
|
|
||||||
|
|
||||||
set -oue pipefail
|
|
||||||
|
|
||||||
./install-divested.sh 20250714
|
|
||||||
./install-divested.sh https://divested.dev/rpm/fedora/divested-release-20250714-1.noarch.rpm
|
|
||||||
BASE_URL='https://divested.dev/rpm/fedora'
|
|
||||||
PKG_PREFIX='divested-release'
|
|
||||||
ARCH='noarch'
|
|
||||||
RPM_SUFFIX='-1' # adjust if upstream uses a different release number
|
|
||||||
RETRY_OPTS=(--retry 3 --retry-delay 5 -S -L -O)
|
|
||||||
|
|
||||||
if [ "${#}" -eq 0 ]; then
|
|
||||||
echo "Usage: $0 YYYYMMDD | FULL_RPM_URL" >&2
|
|
||||||
exit 2
|
|
||||||
fi
|
|
||||||
|
|
||||||
INPUT="$1"
|
|
||||||
|
|
||||||
case "$INPUT" in
|
|
||||||
http:// | https://)
|
|
||||||
RPM_URL="$INPUT"
|
|
||||||
;;
|
|
||||||
[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9])
|
|
||||||
RELEASE_VERSION="$INPUT"
|
|
||||||
FILENAME="${PKG_PREFIX}-${RELEASE_VERSION}${RPM_SUFFIX}.${ARCH}.rpm"
|
|
||||||
RPM_URL="${BASE_URL}/${FILENAME}"
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
echo "Invalid argument. Provide a date (YYYYMMDD) or a full URL." >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
TMPDIR="$(mktemp -d)"
|
|
||||||
trap 'rm -rf "$TMPDIR"' EXIT
|
|
||||||
|
|
||||||
RPM_PATH="${TMPDIR}/$(basename "$RPM_URL")"
|
|
||||||
|
|
||||||
echo "Downloading ${RPM_URL} ..."
|
|
||||||
if command -v curl >/dev/null 2>&1; then
|
|
||||||
curl "${RETRY_OPTS[@]}" -o "$RPM_PATH" "$RPM_URL"
|
|
||||||
elif command -v wget >/dev/null 2>&1; then
|
|
||||||
wget --tries=3 --wait=5 -O "$RPM_PATH" "$RPM_URL"
|
|
||||||
else
|
|
||||||
echo "Neither curl nor wget available." >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Installing ${RPM_PATH} ..."
|
|
||||||
sudo dnf install -y "$RPM_PATH"
|
|
||||||
|
|
||||||
echo "Installed $(basename "$RPM_PATH")"
|
|
||||||
89
files/scripts/bazzite-kernel.sh
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Replaces the stock Fedora kernel with the Bazzite kernel.
|
||||||
|
# The Bazzite kernel ships sched-ext (SCX) support and gaming/realtime
|
||||||
|
# optimizations, making it well-suited for low-latency audio workloads.
|
||||||
|
#
|
||||||
|
# Based on the solarpowered project kernel install approach:
|
||||||
|
# https://github.com/solar-powered/solarpowered
|
||||||
|
|
||||||
|
set -ouex pipefail
|
||||||
|
|
||||||
|
OS_VERSION=$(rpm -E %fedora)
|
||||||
|
VER=$(basename "$(curl -Ls -o /dev/null -w '%{url_effective}' https://github.com/bazzite-org/kernel-bazzite/releases/latest)")
|
||||||
|
|
||||||
|
# Verify we got a valid version string
|
||||||
|
if [[ -z "$VER" ]]; then
|
||||||
|
echo "ERROR: Failed to determine latest bazzite kernel version" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
echo "Bazzite kernel version: ${VER}"
|
||||||
|
|
||||||
|
# Disable kernel-install hooks so they don't trigger inside the container
|
||||||
|
# build environment. The initramfs will be generated explicitly below.
|
||||||
|
mkdir -p /usr/lib/kernel/install.d
|
||||||
|
pushd /usr/lib/kernel/install.d
|
||||||
|
printf '%s\n' '#!/bin/sh' 'exit 0' >05-rpmostree.install
|
||||||
|
printf '%s\n' '#!/bin/sh' 'exit 0' >50-dracut.install
|
||||||
|
chmod +x 05-rpmostree.install 50-dracut.install
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Erase stock Fedora kernel RPMs from the package database (matches Bazzite's approach)
|
||||||
|
for pkg in kernel kernel-core kernel-modules kernel-modules-core kernel-modules-extra kernel-tools-libs kernel-tools; do
|
||||||
|
rpm --erase "$pkg" --nodeps || true
|
||||||
|
done
|
||||||
|
|
||||||
|
# Remove ALL existing kernel module directories.
|
||||||
|
rm -rf /usr/lib/modules
|
||||||
|
|
||||||
|
# Create /boot/grub2 so grub2 RPM scriptlets don't fail in the container
|
||||||
|
# build environment. It gets removed by the rm -rf /boot/* below.
|
||||||
|
mkdir -p /boot/grub2
|
||||||
|
|
||||||
|
echo "Installing Bazzite kernel ${VER}..."
|
||||||
|
dnf5 install -y \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-common-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-core-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-devel-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-devel-matched-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-modules-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-modules-akmods-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-modules-core-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-modules-extra-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-modules-extra-matched-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-modules-internal-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-tools-$VER.fc$OS_VERSION.x86_64.rpm \
|
||||||
|
https://github.com/bazzite-org/kernel-bazzite/releases/download/$VER/kernel-tools-libs-$VER.fc$OS_VERSION.x86_64.rpm
|
||||||
|
|
||||||
|
# Identify the newly installed Bazzite kernel version
|
||||||
|
NEW_KVER=$(ls /usr/lib/modules | head -n1)
|
||||||
|
|
||||||
|
# Ensure vmlinuz is at the path expected by rpm-ostree and bootc for boot
|
||||||
|
# entry generation.
|
||||||
|
if [ ! -f "/usr/lib/modules/${NEW_KVER}/vmlinuz" ]; then
|
||||||
|
if [ -f "/boot/vmlinuz-${NEW_KVER}" ]; then
|
||||||
|
cp "/boot/vmlinuz-${NEW_KVER}" "/usr/lib/modules/${NEW_KVER}/vmlinuz"
|
||||||
|
else
|
||||||
|
echo "ERROR: vmlinuz not found for kernel ${NEW_KVER}" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rebuild kernel module dependency map before generating initramfs.
|
||||||
|
depmod -a "${NEW_KVER}"
|
||||||
|
|
||||||
|
# Generate the initramfs inside the container image so that rpm-ostree and
|
||||||
|
# bootc can use it directly at deploy time.
|
||||||
|
dracut \
|
||||||
|
--no-hostonly \
|
||||||
|
--kver "${NEW_KVER}" \
|
||||||
|
--reproducible \
|
||||||
|
--zstd \
|
||||||
|
-v \
|
||||||
|
--add ostree \
|
||||||
|
--force \
|
||||||
|
"/usr/lib/modules/${NEW_KVER}/initramfs.img"
|
||||||
|
|
||||||
|
# Atomic images manage /boot via the bootloader layer; clear any kernel
|
||||||
|
# files the RPM dropped there.
|
||||||
|
rm -rf /boot/*
|
||||||
@@ -1,10 +1,21 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
set -oue pipefail
|
set -oue pipefail
|
||||||
|
|
||||||
|
# Fix boot entry title and OS identity
|
||||||
|
sed -i 's|^PRETTY_NAME=.*|PRETTY_NAME="Miasma OS"|' /usr/lib/os-release
|
||||||
|
sed -i 's|^NAME=.*|NAME="Miasma OS"|' /usr/lib/os-release
|
||||||
|
sed -i 's|^ID=.*|ID=miasma-os|' /usr/lib/os-release
|
||||||
|
sed -i 's|^ID_LIKE=.*|ID_LIKE=fedora|' /usr/lib/os-release
|
||||||
|
sed -i 's|^LOGO=.*|LOGO=distributor-logo|' /usr/lib/os-release
|
||||||
|
|
||||||
mv /tmp/files/assets/images/distributor-logo.svg /usr/share/icons/hicolor/scalable/places/distributor-logo.svg
|
mv /tmp/files/assets/images/distributor-logo.svg /usr/share/icons/hicolor/scalable/places/distributor-logo.svg
|
||||||
mv /tmp/files/assets/splash/default.jxl /usr/share/backgrounds/default.jxl
|
mv /tmp/files/assets/splash/default.jxl /usr/share/backgrounds/default.jxl
|
||||||
mv /tmp/files/assets/splash/default-dark.jxl /usr/share/backgrounds/default-dark.jxl
|
mv /tmp/files/assets/splash/default-dark.jxl /usr/share/backgrounds/default-dark.jxl
|
||||||
mv /tmp/files/assets/images/watermark.png /usr/share/plymouth/themes/spinner/watermark.png
|
mv /tmp/files/assets/images/watermark.png /usr/share/plymouth/themes/spinner/watermark.png
|
||||||
|
# Remove Bazzite animation/throbber frames so Plymouth uses only our watermark
|
||||||
|
rm -f /usr/share/plymouth/themes/spinner/animation-*.png
|
||||||
|
rm -f /usr/share/plymouth/themes/spinner/throbber-*.png
|
||||||
mv /tmp/files/assets/images/fedora-gdm-logo.png /usr/share/pixmaps/fedora-gdm-logo.png
|
mv /tmp/files/assets/images/fedora-gdm-logo.png /usr/share/pixmaps/fedora-gdm-logo.png
|
||||||
mv /tmp/files/assets/images/fedora-logo-small.png /usr/share/pixmaps/fedora-logo-small.png
|
mv /tmp/files/assets/images/fedora-logo-small.png /usr/share/pixmaps/fedora-logo-small.png
|
||||||
mv /tmp/files/assets/images/fedora-logo-sprite.png /usr/share/pixmaps/fedora-logo-sprite.png
|
mv /tmp/files/assets/images/fedora-logo-sprite.png /usr/share/pixmaps/fedora-logo-sprite.png
|
||||||
@@ -14,3 +25,16 @@ mv /tmp/files/assets/images/fedora_logo_med.png /usr/share/pixmaps/fedora_logo_m
|
|||||||
mv /tmp/files/assets/images/fedora_whitelogo.svg /usr/share/pixmaps/fedora_whitelogo.svg
|
mv /tmp/files/assets/images/fedora_whitelogo.svg /usr/share/pixmaps/fedora_whitelogo.svg
|
||||||
mv /tmp/files/assets/images/fedora_whitelogo_med.png /usr/share/pixmaps/fedora_whitelogo_med.png
|
mv /tmp/files/assets/images/fedora_whitelogo_med.png /usr/share/pixmaps/fedora_whitelogo_med.png
|
||||||
mv /tmp/files/assets/images/system-logo-white.png /usr/share/pixmaps/system-logo-white.png
|
mv /tmp/files/assets/images/system-logo-white.png /usr/share/pixmaps/system-logo-white.png
|
||||||
|
|
||||||
|
# Replace EFI boot picker icon (shown before SDDM) with Miasma OS logo
|
||||||
|
mkdir -p /usr/share/pixmaps/bootloader
|
||||||
|
python3 -c "
|
||||||
|
import struct
|
||||||
|
with open('/usr/share/pixmaps/system-logo-white.png', 'rb') as f:
|
||||||
|
png_data = f.read()
|
||||||
|
# ICNS format: embed PNG data directly using ic09 (512x512) slot
|
||||||
|
entry = b'ic09' + struct.pack('>I', 8 + len(png_data)) + png_data
|
||||||
|
icns = b'icns' + struct.pack('>I', 8 + len(entry)) + entry
|
||||||
|
with open('/usr/share/pixmaps/bootloader/fedora.icns', 'wb') as f:
|
||||||
|
f.write(icns)
|
||||||
|
"
|
||||||
|
|||||||
82
files/scripts/cachyos-kernel.sh
Normal file
@@ -0,0 +1,82 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
# Replaces the stock Fedora kernel with the CachyOS LTO kernel.
|
||||||
|
# CachyOS LTO kernel is compiled with Link-Time Optimization and ships
|
||||||
|
# sched-ext (SCX) support, giving lower latency for realtime audio workloads.
|
||||||
|
#
|
||||||
|
# Adapted from the Zena project (https://github.com/zena-linux/zena),
|
||||||
|
# specifically build-scripts/modules/base/kernel.sh.
|
||||||
|
# Zena is licensed under the Apache License 2.0.
|
||||||
|
# Credit to the Zena contributors: https://github.com/zena-linux/zena/graphs/contributors
|
||||||
|
|
||||||
|
set -ouex pipefail
|
||||||
|
|
||||||
|
shopt -s nullglob
|
||||||
|
|
||||||
|
KERNEL_PACKAGES=(
|
||||||
|
kernel-cachyos-lto
|
||||||
|
kernel-cachyos-lto-core
|
||||||
|
kernel-cachyos-lto-devel-matched
|
||||||
|
kernel-cachyos-lto-modules
|
||||||
|
)
|
||||||
|
|
||||||
|
# Disable kernel-install hooks so they don't trigger inside the container
|
||||||
|
# build environment. The initramfs will be generated explicitly below.
|
||||||
|
pushd /usr/lib/kernel/install.d
|
||||||
|
printf '%s\n' '#!/bin/sh' 'exit 0' >05-rpmostree.install
|
||||||
|
printf '%s\n' '#!/bin/sh' 'exit 0' >50-dracut.install
|
||||||
|
chmod +x 05-rpmostree.install 50-dracut.install
|
||||||
|
popd
|
||||||
|
|
||||||
|
# Erase stock Fedora kernel RPMs from the package database
|
||||||
|
for pkg in kernel kernel-core kernel-modules kernel-modules-core; do
|
||||||
|
rpm --erase "$pkg" --nodeps || true
|
||||||
|
done
|
||||||
|
|
||||||
|
# Remove ALL existing kernel module directories. The original script used
|
||||||
|
# `head -n1` which only removed the first entry — on Kinoite's base image
|
||||||
|
# there are typically two kernel versions, leaving an orphaned module
|
||||||
|
# directory that confuses rpm-ostree/bootc at deploy time.
|
||||||
|
for KVER in $(ls /usr/lib/modules 2>/dev/null); do
|
||||||
|
rm -rf "/usr/lib/modules/$KVER"
|
||||||
|
done
|
||||||
|
|
||||||
|
dnf5 -y install "${KERNEL_PACKAGES[@]}"
|
||||||
|
|
||||||
|
dnf5 versionlock add "${KERNEL_PACKAGES[@]}" || true
|
||||||
|
|
||||||
|
# Identify the newly installed CachyOS kernel version
|
||||||
|
NEW_KVER=$(ls /usr/lib/modules | head -n1)
|
||||||
|
|
||||||
|
# Ensure vmlinuz is at the path expected by rpm-ostree and bootc for boot
|
||||||
|
# entry generation. Some COPR kernel RPMs only install vmlinuz to /boot and
|
||||||
|
# not to /usr/lib/modules/<kver>/vmlinuz; copy it over if missing.
|
||||||
|
if [ ! -f "/usr/lib/modules/${NEW_KVER}/vmlinuz" ]; then
|
||||||
|
if [ -f "/boot/vmlinuz-${NEW_KVER}" ]; then
|
||||||
|
cp "/boot/vmlinuz-${NEW_KVER}" "/usr/lib/modules/${NEW_KVER}/vmlinuz"
|
||||||
|
else
|
||||||
|
echo "ERROR: vmlinuz not found for kernel ${NEW_KVER}" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Rebuild kernel module dependency map before generating initramfs.
|
||||||
|
depmod -a "${NEW_KVER}"
|
||||||
|
|
||||||
|
# Generate the initramfs inside the container image so that rpm-ostree and
|
||||||
|
# bootc can use it directly at deploy time. Without this step, Kinoite boots
|
||||||
|
# with no initramfs and hits a dracut emergency shell (the "wall of errors").
|
||||||
|
# --no-hostonly : include all drivers, not just the CI build host's hardware
|
||||||
|
# --add ostree : include the ostree dracut module for atomic deployments
|
||||||
|
dracut \
|
||||||
|
--reproducible \
|
||||||
|
--no-hostonly \
|
||||||
|
--add "ostree" \
|
||||||
|
--filesystems "btrfs" \
|
||||||
|
--add-drivers "btrfs" \
|
||||||
|
--force \
|
||||||
|
"/usr/lib/modules/${NEW_KVER}/initramfs.img" \
|
||||||
|
"${NEW_KVER}"
|
||||||
|
|
||||||
|
# Atomic images manage /boot via the bootloader layer; clear any kernel
|
||||||
|
# files the RPM dropped there.
|
||||||
|
rm -rf /boot/*
|
||||||
34
files/scripts/installbitwig.sh
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
echo "Installing Bitwig Studio..."
|
||||||
|
|
||||||
|
dnf install -y libbsd bzip2-libs dpkg
|
||||||
|
|
||||||
|
curl -L -o /tmp/bitwig.deb "https://www.bitwig.com/dl/?id=419&os=installer_linux"
|
||||||
|
|
||||||
|
# Extract to temp dir to avoid /opt -> /var/opt symlink issues on immutable OS
|
||||||
|
mkdir -p /tmp/bitwig-extract
|
||||||
|
dpkg-deb -x /tmp/bitwig.deb /tmp/bitwig-extract
|
||||||
|
|
||||||
|
# Install main app to /usr/lib instead of /opt (which resolves to /var/opt at runtime)
|
||||||
|
mv /tmp/bitwig-extract/opt/bitwig-studio /usr/lib/bitwig-studio
|
||||||
|
|
||||||
|
# Copy remaining files (desktop entry, icons, mime types, etc.)
|
||||||
|
cp -rT /tmp/bitwig-extract/usr /usr
|
||||||
|
|
||||||
|
# Fix symlink to point to the new location
|
||||||
|
ln -sf /usr/lib/bitwig-studio/bitwig-studio /usr/bin/bitwig-studio
|
||||||
|
|
||||||
|
# Fix paths in .desktop file
|
||||||
|
if [ -f /usr/share/applications/com.bitwig.BitwigStudio.desktop ]; then
|
||||||
|
sed -i 's|/opt/bitwig-studio|/usr/lib/bitwig-studio|g' /usr/share/applications/com.bitwig.BitwigStudio.desktop
|
||||||
|
fi
|
||||||
|
|
||||||
|
ln -sf /usr/lib64/libbz2.so.1 /usr/lib64/libbz2.so.1.0
|
||||||
|
|
||||||
|
rm -rf /tmp/bitwig-extract /tmp/bitwig.deb
|
||||||
|
|
||||||
|
echo "Bitwig Studio installation complete."
|
||||||
|
|
||||||
|
exit 0
|
||||||
15
files/scripts/installdecentsampler.sh
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
curl -L -o /tmp/decent-sampler.tar.gz "https://cdn.decentsamples.com/production/builds/ds/1.18.1/Decent_Sampler-1.18.1-Linux-Static-x86_64.tar.gz"
|
||||||
|
tar xvf /tmp/decent-sampler.tar.gz -C /tmp
|
||||||
|
|
||||||
|
cd /tmp
|
||||||
|
|
||||||
|
mkdir -p /usr/lib64/vst/decentsampler
|
||||||
|
cd Decent_Sampler-1.18.1-Linux-Static-x86_64
|
||||||
|
mv DecentSampler.so /usr/lib64/vst/decentsampler/
|
||||||
|
|
||||||
|
rm -rf /tmp/decent-sampler.tar.gz /tmp/Decent* || true
|
||||||
|
|
||||||
|
exit 0
|
||||||
@@ -1,12 +1,44 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
|
RENOISE_VERSION=3.5.4
|
||||||
|
EXTRACT_DIR=/tmp/Renoise_3_5_4_Demo_Linux_x86_64
|
||||||
|
|
||||||
curl -L -o /tmp/renoise.tar.gz "https://files.renoise.com/demo/Renoise_3_5_4_Demo_Linux_x86_64.tar.gz"
|
curl -L -o /tmp/renoise.tar.gz "https://files.renoise.com/demo/Renoise_3_5_4_Demo_Linux_x86_64.tar.gz"
|
||||||
tar xvf /tmp/renoise.tar.gz -C /tmp
|
tar xf /tmp/renoise.tar.gz -C /tmp
|
||||||
|
|
||||||
cd /tmp/Renoise_3_5_4_Demo_Linux_x86_64
|
# Skip install.sh — it targets /usr/local which symlinks to /var/usrlocal on immutable OS
|
||||||
./install.sh || echo "Installer finished with minor warnings (likely desktop-integration related)"
|
# and is not included in the deployed ostree image.
|
||||||
|
# Instead, install directly into /usr paths.
|
||||||
|
|
||||||
rm -rf /tmp/renoise.tar.gz /tmp/Renoise* || true
|
# Keep binary and Resources/ together so Renoise can find its resources via relative path
|
||||||
|
mkdir -p /usr/lib/renoise
|
||||||
|
cp -r "${EXTRACT_DIR}/Resources" /usr/lib/renoise/
|
||||||
|
install -m755 "${EXTRACT_DIR}/renoise" /usr/lib/renoise/renoise
|
||||||
|
|
||||||
|
# Wrapper script so 'renoise' is in PATH and the binary runs from its own directory
|
||||||
|
cat > /usr/bin/renoise << 'EOF'
|
||||||
|
#!/bin/bash
|
||||||
|
exec /usr/lib/renoise/renoise "$@"
|
||||||
|
EOF
|
||||||
|
chmod 755 /usr/bin/renoise
|
||||||
|
|
||||||
|
# Desktop entry, icons, MIME types, man pages
|
||||||
|
install -D -m644 "${EXTRACT_DIR}/Installer/renoise.desktop" \
|
||||||
|
/usr/share/applications/renoise.desktop
|
||||||
|
install -D -m644 "${EXTRACT_DIR}/Installer/renoise-48.png" \
|
||||||
|
/usr/share/icons/hicolor/48x48/apps/renoise.png
|
||||||
|
install -D -m644 "${EXTRACT_DIR}/Installer/renoise-64.png" \
|
||||||
|
/usr/share/icons/hicolor/64x64/apps/renoise.png
|
||||||
|
install -D -m644 "${EXTRACT_DIR}/Installer/renoise-128.png" \
|
||||||
|
/usr/share/icons/hicolor/128x128/apps/renoise.png
|
||||||
|
install -D -m644 "${EXTRACT_DIR}/Installer/renoise.xml" \
|
||||||
|
/usr/share/mime/packages/renoise.xml
|
||||||
|
install -D -m644 "${EXTRACT_DIR}/Installer/renoise.1.gz" \
|
||||||
|
/usr/share/man/man1/renoise.1.gz
|
||||||
|
install -D -m644 "${EXTRACT_DIR}/Installer/renoise-pattern-effects.5.gz" \
|
||||||
|
/usr/share/man/man5/renoise-pattern-effects.5.gz
|
||||||
|
|
||||||
|
rm -rf /tmp/renoise.tar.gz "${EXTRACT_DIR}"
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
1
files/system/usr/etc/hostname
Normal file
@@ -0,0 +1 @@
|
|||||||
|
miasma
|
||||||
12
files/system/usr/etc/skel/.config/mimeapps.list
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
[Default Applications]
|
||||||
|
text/html=app.zen_browser.zen.desktop
|
||||||
|
x-scheme-handler/http=app.zen_browser.zen.desktop
|
||||||
|
x-scheme-handler/https=app.zen_browser.zen.desktop
|
||||||
|
x-scheme-handler/ftp=app.zen_browser.zen.desktop
|
||||||
|
x-scheme-handler/chrome=app.zen_browser.zen.desktop
|
||||||
|
application/x-extension-htm=app.zen_browser.zen.desktop
|
||||||
|
application/x-extension-html=app.zen_browser.zen.desktop
|
||||||
|
application/x-extension-shtml=app.zen_browser.zen.desktop
|
||||||
|
application/xhtml+xml=app.zen_browser.zen.desktop
|
||||||
|
application/x-extension-xhtml=app.zen_browser.zen.desktop
|
||||||
|
application/x-extension-xht=app.zen_browser.zen.desktop
|
||||||
@@ -0,0 +1,61 @@
|
|||||||
|
[Plymouth Theme]
|
||||||
|
Name=Spinner
|
||||||
|
Description=A theme designed by jimmac that features a simple spinner.
|
||||||
|
ModuleName=two-step
|
||||||
|
|
||||||
|
[two-step]
|
||||||
|
Font=Cantarell 12
|
||||||
|
TitleFont=Cantarell Light 30
|
||||||
|
ImageDir=/usr/share/plymouth/themes/spinner
|
||||||
|
DialogHorizontalAlignment=.5
|
||||||
|
DialogVerticalAlignment=.382
|
||||||
|
TitleHorizontalAlignment=.5
|
||||||
|
TitleVerticalAlignment=.382
|
||||||
|
HorizontalAlignment=.5
|
||||||
|
VerticalAlignment=.7
|
||||||
|
WatermarkHorizontalAlignment=.5
|
||||||
|
WatermarkVerticalAlignment=.96
|
||||||
|
Transition=none
|
||||||
|
TransitionDuration=0.0
|
||||||
|
BackgroundStartColor=0x000000
|
||||||
|
BackgroundEndColor=0x000000
|
||||||
|
ProgressBarBackgroundColor=0x606060
|
||||||
|
ProgressBarForegroundColor=0xffffff
|
||||||
|
MessageBelowAnimation=true
|
||||||
|
|
||||||
|
[boot-up]
|
||||||
|
UseEndAnimation=false
|
||||||
|
|
||||||
|
[shutdown]
|
||||||
|
UseEndAnimation=false
|
||||||
|
|
||||||
|
[reboot]
|
||||||
|
UseEndAnimation=false
|
||||||
|
|
||||||
|
[updates]
|
||||||
|
SuppressMessages=true
|
||||||
|
ProgressBarShowPercentComplete=true
|
||||||
|
UseProgressBar=true
|
||||||
|
Title=Installing Updates...
|
||||||
|
SubTitle=Do not turn off your computer
|
||||||
|
|
||||||
|
[system-upgrade]
|
||||||
|
SuppressMessages=true
|
||||||
|
ProgressBarShowPercentComplete=true
|
||||||
|
UseProgressBar=true
|
||||||
|
Title=Upgrading System...
|
||||||
|
SubTitle=Do not turn off your computer
|
||||||
|
|
||||||
|
[firmware-upgrade]
|
||||||
|
SuppressMessages=true
|
||||||
|
ProgressBarShowPercentComplete=true
|
||||||
|
UseProgressBar=true
|
||||||
|
Title=Upgrading Firmware...
|
||||||
|
SubTitle=Do not turn off your computer
|
||||||
|
|
||||||
|
[system-reset]
|
||||||
|
SuppressMessages=true
|
||||||
|
ProgressBarShowPercentComplete=true
|
||||||
|
UseProgressBar=true
|
||||||
|
Title=Resetting System...
|
||||||
|
SubTitle=Do not turn off your computer
|
||||||
BIN
files/system/usr/share/wallpapers/6293645.jpg
Normal file
|
After Width: | Height: | Size: 957 KiB |
BIN
files/system/usr/share/wallpapers/8.jpg
Normal file
|
After Width: | Height: | Size: 3.4 MiB |
|
Before Width: | Height: | Size: 387 KiB |
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 1.5 MiB |
|
Before Width: | Height: | Size: 4.5 MiB |
|
Before Width: | Height: | Size: 576 KiB |
|
Before Width: | Height: | Size: 234 KiB |
|
Before Width: | Height: | Size: 1.7 MiB |
|
After Width: | Height: | Size: 3.2 MiB |
|
After Width: | Height: | Size: 5.0 MiB |
@@ -9,4 +9,7 @@ modules:
|
|||||||
- installreaper.sh
|
- installreaper.sh
|
||||||
- installrenoise.sh
|
- installrenoise.sh
|
||||||
- installsurgext.sh
|
- installsurgext.sh
|
||||||
|
- installbitwig.sh
|
||||||
|
- installdecentsampler.sh
|
||||||
- branding.sh
|
- branding.sh
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ modules:
|
|||||||
- type: dnf
|
- type: dnf
|
||||||
repos:
|
repos:
|
||||||
copr:
|
copr:
|
||||||
|
- bieszczaders/kernel-cachyos-addons
|
||||||
- patrickl/wine-tkg
|
- patrickl/wine-tkg
|
||||||
- timlau/audio
|
- timlau/audio
|
||||||
- alternateved/eza
|
- alternateved/eza
|
||||||
|
|||||||
@@ -1,7 +1,23 @@
|
|||||||
modules:
|
modules:
|
||||||
|
- type: dnf
|
||||||
|
remove:
|
||||||
|
packages:
|
||||||
|
- zram-generator-defaults
|
||||||
|
|
||||||
- type: dnf
|
- type: dnf
|
||||||
install:
|
install:
|
||||||
packages:
|
packages:
|
||||||
|
# CachyOS kernel performance companion packages
|
||||||
|
# cachyos-settings: kernel tunables and sysctl optimisations from CachyOS
|
||||||
|
# cachyos-ksm-settings: Kernel Samepage Merging tuning (reduces RAM usage)
|
||||||
|
# scx-manager / scx-scheds / scx-tools: sched-ext schedulers;
|
||||||
|
# scx_lavd is ideal for low-latency realtime audio workloads
|
||||||
|
- cachyos-settings
|
||||||
|
- cachyos-ksm-settings
|
||||||
|
- scx-manager
|
||||||
|
- scx-scheds-git
|
||||||
|
- scx-tools-git
|
||||||
|
|
||||||
# useful tools
|
# useful tools
|
||||||
- zsh
|
- zsh
|
||||||
- openssl
|
- openssl
|
||||||
@@ -12,7 +28,6 @@ modules:
|
|||||||
- alacritty
|
- alacritty
|
||||||
- ripgrep
|
- ripgrep
|
||||||
- fd-find
|
- fd-find
|
||||||
- realtime-setup
|
|
||||||
- zoxide
|
- zoxide
|
||||||
- fzf
|
- fzf
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,7 @@
|
|||||||
modules:
|
modules:
|
||||||
- type: default-flatpaks
|
- type: default-flatpaks
|
||||||
configurations:
|
configurations:
|
||||||
- notify: true
|
- scope: system
|
||||||
scope: system
|
|
||||||
install:
|
install:
|
||||||
- org.tenacityaudio.Tenacity
|
- org.tenacityaudio.Tenacity
|
||||||
- app.zen_browser.zen
|
- app.zen_browser.zen
|
||||||
|
|||||||
@@ -3,13 +3,34 @@
|
|||||||
# image will be published to ghcr.io/<user>/<name>
|
# image will be published to ghcr.io/<user>/<name>
|
||||||
name: miasma-os
|
name: miasma-os
|
||||||
# description will be included in the image's metadata
|
# description will be included in the image's metadata
|
||||||
description: An personal spin based on Bazzite targeted towards musicians and music producers inspired by Fedora Jam
|
description: An KDE based Universal Blue image targeted towards musicians and music producers inspired by Fedora Jam
|
||||||
|
|
||||||
# the base image to build on top of (FROM) and the version tag to use
|
# the base image to build on top of (FROM) and the version tag to use
|
||||||
base-image: ghcr.io/ublue-os/bazzite
|
base-image: ghcr.io/ublue-os/aurora
|
||||||
image-version: latest # latest is also supported if you want new updates ASAP
|
image-version: latest
|
||||||
|
|
||||||
modules:
|
modules:
|
||||||
|
# Swap stock Fedora kernel for Bazzite kernel
|
||||||
|
- type: script
|
||||||
|
scripts:
|
||||||
|
- bazzite-kernel.sh
|
||||||
|
|
||||||
|
# Install SCX scheduler (works with Bazzite kernel's sched-ext support)
|
||||||
|
- type: dnf
|
||||||
|
repos:
|
||||||
|
copr:
|
||||||
|
- bieszczaders/kernel-cachyos-addons
|
||||||
|
install:
|
||||||
|
install-weak-deps: false
|
||||||
|
packages:
|
||||||
|
- scx-scheds-git
|
||||||
|
- scx-manager
|
||||||
|
|
||||||
|
- type: systemd
|
||||||
|
system:
|
||||||
|
enabled:
|
||||||
|
- scx_loader.service
|
||||||
|
|
||||||
- type: dnf
|
- type: dnf
|
||||||
install:
|
install:
|
||||||
packages:
|
packages:
|
||||||
|
|||||||