Compare commits

24 Commits

Author SHA1 Message Date
05211ae180 remove-hyprpanel (#55)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 11m43s
Reviewed-on: #55
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-08-14 20:46:08 -04:00
2970015961 Returned back to original gitea action (#54)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 12m8s
Reviewed-on: #54
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-08-02 12:36:34 -04:00
8f84dc8588 Changed from github.token to secrets.GITHUB_TOKEN (#53)
Reviewed-on: #53
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-08-02 03:27:24 -04:00
20ce492ec1 Added back registry token for github (#52)
Reviewed-on: #52
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-08-02 00:49:08 -04:00
fac4e4144a Changed target to publish main releases to github (#51)
Reviewed-on: #51
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-08-01 23:50:27 -04:00
42e52e93e7 deprecate-nvidia-use-github (#50)
Reviewed-on: #50
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-08-01 21:09:36 -04:00
b64c19c3e5 Add in quickshell and prepare hyprpanel for deprecation (#49)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 9m53s
Reviewed-on: #49
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-08-01 10:11:29 -04:00
7809d24cd4 Updated default flatpak configuration to the new v2 spec (#47)
Some checks failed
bluebuild / Build Custom Image (recipe.yml) (pull_request) Has been cancelled
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 11m20s
Reviewed-on: #47
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-27 17:36:56 -04:00
a784d1de70 Add grayjay and localsend ports for ease of activation for firewalld (#46)
Some checks failed
bluebuild / Build Custom Image (recipe.yml) (push) Failing after 9m8s
Reviewed-on: #46
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-25 16:29:58 -04:00
61bb77e05b Removed remaining desktop file overrides (#45)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 15m27s
Reviewed-on: #45
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-22 10:22:19 -04:00
1fdc24f550 Activated asus sensor kernel module and ntsync kernel module (#44)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 14m1s
Reviewed-on: #44
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-21 22:09:10 -04:00
5781fd017b Separated the dnf file yml into components (#43)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 16m15s
Reviewed-on: #43
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-17 13:34:02 -04:00
8edcd4ff05 add discord overlay (#42)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 37s
Reviewed-on: #42
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-16 22:53:24 -04:00
55fe8e21b5 Revert change to kde (#41)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 34s
Reviewed-on: #41
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-16 18:37:45 -04:00
47fad27d7b Resume to latest aquamarine with hdr fixed (#40)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 14m18s
Reviewed-on: #40
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-14 14:38:11 -04:00
73a6d27e0e Renamed xpadneo install script to suit expanded use, and added open razer dkms (#39)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 12m13s
Reviewed-on: #39
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-13 15:12:59 -04:00
92ea9c9af2 switch-to-kde-programs (#38)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 10m46s
Reviewed-on: #38
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-13 12:30:26 -04:00
1181d5accb Switching from using negativo17 to using rpm-fusion and xpadneo copr repos (#37)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 8m21s
Reviewed-on: #37
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-11 20:09:24 -04:00
6259ab886e Readd vscodium (#36)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 13m3s
Reviewed-on: #36
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-03 13:22:14 -04:00
5fbb9383f9 Test temporary removal of vscodium package and repo (#35)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 11m9s
Reviewed-on: #35
Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-07-02 16:06:42 -04:00
0ba2ad78f5 Override codium.desktop to use toggle enabling wayland
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 34s
bluebuild / Build Custom Image (recipe.yml) (pull_request) Successful in 10m28s
2025-06-29 00:15:59 -04:00
4f61fb3e33 Isolate negativo repos to only ones used, install codium via dnf 2025-06-29 00:13:20 -04:00
52becf4ef4 Remove tuned and powerstat
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (pull_request) Successful in 10m20s
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 11m59s
2025-06-25 16:58:35 -04:00
39611efb18 Add xpadneo properly (#28)
All checks were successful
bluebuild / Build Custom Image (recipe.yml) (push) Successful in 13m20s
Reviewed-on: #28

Changed nonfree repo from rpm-fusion to negativo17, and added a script to build xpadneo to kernel and version

Co-authored-by: Eriq Taing <eriq12@protonmail.com>
Co-committed-by: Eriq Taing <eriq12@protonmail.com>
2025-06-23 22:48:46 -04:00
28 changed files with 355 additions and 564 deletions

View File

@@ -1,224 +0,0 @@
name: "BlueBuild"
description: "Build a custom OS image"
inputs:
recipe:
description: |
The [recipe](https://blue-build.org/reference/recipe/) file to build the image from, relative to the `config/` or `recipes/` directory.
required: true
default: "recipe.yml"
cosign_private_key:
description: |
The Sigstore/cosign secret used to sign the image.
Example: `&#36;{{ secrets.SIGNING_SECRET }}`
required: true
registry_token:
description: |
The token used to sign into the container registry.
Example: `&#36;{{ github.token }}`
required: false
default: ""
registry_username:
description: |
The username used to sign into the container registry.
required: false
default: ${{ github.repository_owner }}
pr_event_number:
description: |
The event number used to tag images pushed from pull requests.
Example: `&#36;{{ github.event.number }}`
required: true
maximize_build_space:
description: |
Whether to run the unwanted software remover to maximize build space in the GitHub builder.
Disable this with 'false' if your image doesn't take up a lot of space and you'd rather have shorter build times.
required: false
default: "true"
use_unstable_cli:
description: |
If true, this action pulls the `main` branch of blue-build/cli instead of the stable version the current action version is configured to use by default.
This feature is useful for testing new features, but should not be used in production.
Input must match the string 'true' for the unstable version to be used.
required: false
default: "false"
cli_version:
description: |
Set this with a tag, sha, or branch name for the blue-build/cli repo to use that particular version of the CLI tool. This will override the `use_unstable_cli` input for the action.
required: false
registry:
description: |
The container registry to push the built image to.
required: false
default: "ghcr.io"
registry_namespace:
description: |
The namespace on the registry to push to.
Example: `ublue-os`
required: false
default: ${{ github.repository_owner }}
rechunk:
description: |
Rechunk the ostree-based result images with [github.com/hhd-dev/rechunk](https://github.com/hhd-dev/rechunk) for more efficient diffs and updates. (lower image size, better download speed, better update resuming)
Will make your builds considerably slower. This is an experimental option, as it can cause issues with file permissions in some scenarios, so enable on your own risk.
Internally builds squashed images with podman to further reduce the image size.
required: false
default: "false"
use_cache:
description: |
Make use of layer cache by pushing the layers to the registry. Input must match the string 'true' for the step to be enabled.
required: false
default: "true"
squash:
description: |
Uses buildah to squash the build's layers into a single layer. Use of this option
disables cache. Conflicts with adding `--build-driver` or `--squash` to the build opts.
required: false
default: "false"
build_opts:
description: |
Provide options to the call to the BlueBuild CLI build command. If you use this with
the squash input set to true and provide either of the `--build-driver` or `--squash` flags
an error will occur and the action will not run.
required: false
default: " "
working_directory:
description: |
Changes working directory for whole build.
For example, setting this to `./abc/` would cause for the recipe to be read from `./abc/recipes/recipe.yml`.
required: false
default: ./
skip_checkout:
description: |
Set to true to skip doing the actions/checkout step.
This allows you to checkout manually before calling bluebuild/github-action
and to modify files (such as supplying build information to other scripts) before building.
required: false
default: "false"
runs:
using: "composite"
steps:
- name: Validate inputs
shell: bash
run: "${{ github.action_path }}/build_opts_check.sh"
env:
SQUASH_INPUT_VALUE: "${{ inputs.squash }}"
BUILD_OPTS: "${{ inputs.build_opts }}"
# building custom images might take a lot of space,
# so it's best to remove unneeded softawre
- name: Maximize build space
uses: jlumbroso/free-disk-space@54081f138730dfa15788a46383842cd2f914a1be # v1.3.1
if: ${{ inputs.maximize_build_space == 'true' }}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@18ce135bb5112fa8ce4ed6c17ab05699d7f3a5e0 # v3.11.0
if: ${{ inputs.squash != 'true' && inputs.rechunk != 'true' }}
with:
install: true
driver: docker-container
cache-binary: ${{ inputs.use_cache }}
- name: Get Ubuntu version
id: ubuntu_version
shell: bash
run: |
VERSION=$(awk -F= '/^VERSION_ID=/ {gsub(/"/, "", $2); print $2}' /etc/os-release)
echo "Ubuntu version is $VERSION"
echo "version=$VERSION" >> $GITHUB_OUTPUT
# that is compatible with BlueBuild
- name: Setup Podman
if: ${{ (inputs.squash == 'true' || inputs.rechunk == 'true') && steps.ubuntu_version.outputs.version == '22.04' }}
shell: bash
run: |
# from https://askubuntu.com/questions/1414446/whats-the-recommended-way-of-installing-podman-4-in-ubuntu-22-04
ubuntu_version='22.04'
key_url="https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/unstable/xUbuntu_${ubuntu_version}/Release.key"
sources_url="https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/unstable/xUbuntu_${ubuntu_version}"
echo "deb $sources_url/ /" | sudo tee /etc/apt/sources.list.d/devel-kubic-libcontainers-unstable.list
curl -fsSL $key_url | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/devel_kubic_libcontainers_unstable.gpg > /dev/null
sudo apt-get update
sudo apt-get install -y podman
- uses: sigstore/cosign-installer@sigstore/cosign-installer # v3.9.0
with:
install-dir: /usr/bin
use-sudo: true
# clones user's repo
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
if: ${{ inputs.skip_checkout == 'false' }}
- name: Determine Vars
id: build_vars
shell: bash
env:
RECIPE: ${{ inputs.recipe }}
run: |
if [[ "${{ inputs.use_unstable_cli }}" == "true" && -z "${{ inputs.cli_version }}" ]]; then
CLI_VERSION_TAG="main"
elif [ -n "${{ inputs.cli_version }}" ]; then
CLI_VERSION_TAG="${{ inputs.cli_version }}"
else
CLI_VERSION_TAG="v0.9"
fi
echo "cli_version=${CLI_VERSION_TAG}" >> ${GITHUB_OUTPUT}
RECIPE_PATH=""
if [ -f "./config/${RECIPE}" ]; then
RECIPE_PATH="./config/${RECIPE}"
else
RECIPE_PATH="./recipes/${RECIPE}"
fi
echo "recipe_path=${RECIPE_PATH}" >> ${GITHUB_OUTPUT}
- name: Install BlueBuild
shell: bash
env:
CLI_VERSION_TAG: ${{ steps.build_vars.outputs.cli_version }}
run: |
sudo docker create \
--name blue-build-installer \
ghcr.io/blue-build/cli:${{ env.CLI_VERSION_TAG }}-installer
sudo docker cp blue-build-installer:/out/bluebuild /usr/bin/bluebuild
sudo docker rm blue-build-installer
bluebuild --version
# blue-build/cli does the heavy lifting
- name: Build Image
shell: bash
working-directory: ${{ inputs.working_directory }}
env:
COSIGN_PRIVATE_KEY: ${{ inputs.cosign_private_key }}
GH_TOKEN: ${{ inputs.registry_token }}
BB_PASSWORD: ${{ inputs.registry_token }}
BB_USERNAME: ${{ inputs.registry_username }}
BB_REGISTRY: ${{ inputs.registry }}
BB_REGISTRY_NAMESPACE: ${{ inputs.registry_namespace }}
GH_PR_EVENT_NUMBER: ${{ inputs.pr_event_number }}
BB_CACHE_LAYERS: ${{ inputs.use_cache }}
RECIPE_PATH: ${{ steps.build_vars.outputs.recipe_path }}
RUST_LOG_STYLE: always
CLICOLOR_FORCE: "1"
BUILD_OPTS: ${{ inputs.build_opts }}
run: |
if [ "${{ inputs.squash }}" = "true" ]; then
BUILD_OPTS="--build-driver podman --squash $BUILD_OPTS"
fi
RUN_SUDO=""
if [ "${{ inputs.rechunk }}" = "true" ]; then
RUN_SUDO=1
BUILD_OPTS="--rechunk $BUILD_OPTS"
fi
if [ -n "$RUN_SUDO" ]; then
sudo -E bluebuild build -v --push ${BUILD_OPTS} ${RECIPE_PATH}
else
bluebuild build -v --push ${BUILD_OPTS} ${RECIPE_PATH}
fi

View File

@@ -1,30 +0,0 @@
name: bluebuild-nvidia
on:
workflow_dispatch: # allow manually triggering builds
jobs:
bluebuild:
name: Build Custom Image
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
strategy:
fail-fast: false # stop GH from cancelling all matrix builds if one fails
matrix:
recipe:
# !! Add your recipes here
- recipe_nvidia.yml
steps:
# the build is fully handled by the reusable github action
- name: Build Custom Image
uses: blue-build/github-action@v1.8
with:
recipe: ${{ matrix.recipe }}
cosign_private_key: ${{ secrets.SIGNING_SECRET }}
registry: 'git.hydrosaber.com'
registry_token: ${{ secrets.PACKAGE_BUILDER_TOKEN }}
pr_event_number: ${{ github.event.number }}
# enabled by default, disable if your image is small and you want faster builds
maximize_build_space: true

View File

@@ -9,88 +9,37 @@ on:
- main - main
paths-ignore: # don't rebuild if only documentation has changed paths-ignore: # don't rebuild if only documentation has changed
- "**.md" - "**.md"
- ".github/workflows/build-nvidia.yml"
- "files/scripts/nvidia/**"
- "recipes/components/nvidia-module.yml"
- "recipes/recipe_nvidia.yml"
pull_request: pull_request:
workflow_dispatch: # allow manually triggering builds workflow_dispatch: # allow manually triggering builds
concurrency:
# only run one build at a time
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true
jobs: jobs:
bluebuild: bluebuild:
name: Build Custom Image name: Build Custom Image
runs-on: fedora-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read
packages: write packages: write
id-token: write id-token: write
strategy: strategy:
fail-fast: false # stop GH from cancelling all matrix builds if one fails
matrix: matrix:
recipe: recipe:
# !! Add your recipes here
- recipe.yml - recipe.yml
steps: steps:
- name: Install required packages
shell: bash
run: |
sudo dnf install -y nodejs docker-cli docker-buildx containerd
- uses: sigstore/cosign-installer@v3.9.0 # the build is fully handled by the reusable github action
- name: Build Custom Image
uses: blue-build/github-action@v1.8
with: with:
install-dir: /usr/bin recipe: ${{ matrix.recipe }}
use-sudo: true cosign_private_key: ${{ secrets.SIGNING_SECRET }}
registry: 'git.hydrosaber.com'
registry_token: ${{ secrets.PACKAGE_BUILDER_TOKEN }}
pr_event_number: ${{ github.event.number }}
# clones user's repo # enabled by default, disable if your image is small and you want faster builds
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 maximize_build_space: true
- name: Determine Vars
id: build_vars
shell: bash
env:
RECIPE: ${{ matrix.recipe }}
run: |
if [[ "${{ inputs.use_unstable_cli }}" == "true" && -z "${{ inputs.cli_version }}" ]]; then
CLI_VERSION_TAG="main"
elif [ -n "${{ inputs.cli_version }}" ]; then
CLI_VERSION_TAG="${{ inputs.cli_version }}"
else
CLI_VERSION_TAG="v0.9"
fi
echo "cli_version=${CLI_VERSION_TAG}" >> ${GITHUB_OUTPUT}
RECIPE_PATH=""
if [ -f "./config/${RECIPE}" ]; then
RECIPE_PATH="./config/${RECIPE}"
else
RECIPE_PATH="./recipes/${RECIPE}"
fi
echo "recipe_path=${RECIPE_PATH}" >> ${GITHUB_OUTPUT}
- name: Install BlueBuild
shell: bash
env:
CLI_VERSION_TAG: ${{ steps.build_vars.outputs.cli_version }}
run: |
sudo docker create \
--name blue-build-installer \
ghcr.io/blue-build/cli:${{ env.CLI_VERSION_TAG }}-installer
sudo docker cp blue-build-installer:/out/bluebuild /usr/bin/bluebuild
sudo docker rm blue-build-installer
bluebuild --version
# blue-build/cli does the heavy lifting
- name: Build Image
shell: bash
working-directory: ${{ inputs.working_directory }}
env:
COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }}
GH_TOKEN: ${{ secrets.PACKAGE_BUILDER_TOKEN }}
BB_PASSWORD: ${{ inputs.registry_token }}
BB_USERNAME: ${{ github.repository_owner }}
BB_REGISTRY: 'git.hydrosaber.com'
BB_REGISTRY_NAMESPACE: ${{ github.repository_owner }}
GH_PR_EVENT_NUMBER: ${{ github.event.number }}
BB_CACHE_LAYERS: false
RECIPE_PATH: ${{ steps.build_vars.outputs.recipe_path }}
RUST_LOG_STYLE: always
CLICOLOR_FORCE: "1"
run: |
sudo -E bluebuild build -v --push ${RECIPE_PATH}

View File

@@ -1,4 +1,4 @@
-----BEGIN PUBLIC KEY----- -----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzzK2nfqN5MlTqBitNsehDVnITGSF MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDgbLqIZdNv3Lx7jEKq3l6UImgXi/
r9FQRKI6dNDXRjlKgcMaa88Mb9FdfqFVHSPesN1mHz3/QfZIPG/s7mJAfw== MdQ51/79s4zfI2f4wQ8ran/sZO3y91hhsImytGqfSpNZmMV8T0rmOAAXkg==
-----END PUBLIC KEY----- -----END PUBLIC KEY-----

8
files/dnf/codium.repo Normal file
View File

@@ -0,0 +1,8 @@
[gitlab.com_paulcarroty_vscodium_repo]
name=download.vscodium.com
baseurl=https://download.vscodium.com/rpms/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
metadata_expire=1h

View File

@@ -0,0 +1,27 @@
#!/usr/bin/env bash
# Tell build process to exit if there are any errors.
set -oue pipefail
echo "INFO: grab kernel module"
KERNEL_VER=$(ls /lib/modules | head -n 1)
echo $KERNEL_VER
echo "INFO: list all modules"
ls /usr/src
echo "INFO: grab xpad modules"
XPAD_MODULE_VER=$(ls /usr/src | grep xpadneo | sed 's/-/\//')
echo $XPAD_MODULE_VER
echo "INFO: grab open razer modules"
RAZER_MODULE_VER=$(ls /usr/src | grep razer | sed -E 's/(.*)-/\1\//')
echo $RAZER_MODULE_VER
echo "INFO: build and install xpadneo"
sudo dkms build -m $XPAD_MODULE_VER -k $KERNEL_VER
sudo dkms install -m $XPAD_MODULE_VER -k $KERNEL_VER
echo "INFO: build and install openrazer"
sudo dkms build -m $RAZER_MODULE_VER -k $KERNEL_VER
sudo dkms install -m $RAZER_MODULE_VER -k $KERNEL_VER

View File

@@ -1,6 +0,0 @@
#!/usr/bin/env bash
# Tell build process to exit if there are any errors.
set -oue pipefail
semodule --verbose --install /usr/share/selinux/packages/nvidia-container.pp

View File

@@ -1,10 +0,0 @@
#!/usr/bin/env bash
# Tell build process to exit if there are any errors.
set -oue pipefail
rm -f /etc/yum.repos.d/negativo17-fedora-nvidia.repo
rm -f /etc/yum.repos.d/negativo17-fedora-multimedia.repo
rm -f /etc/yum.repos.d/eyecantcu-supergfxctl.repo
rm -f /etc/yum.repos.d/_copr_ublue-os-akmods.repo
rm -f /etc/yum.repos.d/nvidia-container-toolkit.repo

View File

@@ -1,16 +0,0 @@
#!/usr/bin/env bash
# Tell build process to exit if there are any errors.
set -oue pipefail
echo '
# Nvidia modesetting support. Set to 0 or comment to disable kernel modesetting
# support. This must be disabled in case of SLI Mosaic.
options nvidia-drm modeset=1 fbdev=1
' > /usr/lib/modprobe.d/nvidia-modeset.conf
cp /usr/lib/modprobe.d/nvidia-modeset.conf /etc/modprobe.d/nvidia-modeset.conf

View File

@@ -1,7 +0,0 @@
#!/usr/bin/env bash
# Tell build process to exit if there are any errors.
set -oue pipefail
sed -i 's@omit_drivers@force_drivers@g' /usr/lib/dracut/dracut.conf.d/99-nvidia.conf
sed -i 's@ nvidia @ i915 amdgpu nvidia @g' /usr/lib/dracut/dracut.conf.d/99-nvidia.conf

View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<service>
<port port="12315" protocol="tcp"/>
</service>

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<service>
<port port="53317" protocol="tcp"/>
<port port="53317" protocol="udp"/>
</service>

View File

@@ -0,0 +1 @@
nct6775

View File

@@ -0,0 +1 @@
ntsync

View File

@@ -0,0 +1,27 @@
[Desktop Entry]
Name=VSCodium
Comment=Code Editing. Redefined.
GenericName=Text Editor
Exec=/usr/share/codium/codium --ozone-platform=wayland %F
Icon=vscodium
Type=Application
StartupNotify=false
StartupWMClass=VSCodium
Categories=TextEditor;Development;IDE;
MimeType=text/plain;inode/directory;application/x-codium-workspace;
Actions=new-empty-window;
Keywords=vscodium;codium;vscode;
[Desktop Action new-empty-window]
Name=New Empty Window
Name[de]=Neues leeres Fenster
Name[es]=Nueva ventana vacía
Name[fr]=Nouvelle fenêtre vide
Name[it]=Nuova finestra vuota
Name[ja]=新しい空のウィンドウ
Name[ko]=새 빈 창
Name[ru]=Новое пустое окно
Name[zh_CN]=新建空窗口
Name[zh_TW]=開新空視窗
Exec=/usr/share/codium/codium --new-window %F
Icon=vscodium

View File

@@ -1,6 +1,5 @@
[Unit] [Unit]
Description=A panel bar branched from AGS maintained by Hyprland devs. Description=A panel bar branched from AGS maintained by Hyprland devs.
Documentation=man:waybar(5)
# order startup after WM # order startup after WM
After=graphical-session.target After=graphical-session.target
@@ -8,7 +7,7 @@ After=graphical-session.target
Type=exec Type=exec
# Repurpose XDG Autostart filtering # Repurpose XDG Autostart filtering
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" "" ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
ExecStart=/usr/bin/hyprpanel ExecStart=/usr/bin/quickshell
Restart=on-failure Restart=on-failure
Slice=app-graphical.slice Slice=app-graphical.slice

View File

@@ -1,14 +1,19 @@
modules: modules:
- type: default-flatpaks - type: default-flatpaks
notify: true configurations:
system: - scope: user
install: repo:
- com.github.tchx84.Flatseal title: Flathub (user)
- io.missioncenter.MissionCenter install:
- io.github.flattool.Ignition - one.ablaze.floorp
- net.davidotek.pupgui2 - io.github.equicord.equibop
- org.gnome.Loupe - scope: system
user: repo:
install: title: Flathub
- one.ablaze.floorp notify: true
- io.github.equicord.equibop install:
- com.github.tchx84.Flatseal
- io.missioncenter.MissionCenter
- io.github.flattool.Ignition
- net.davidotek.pupgui2
- org.gnome.Loupe

View File

@@ -1,146 +1,8 @@
modules: modules:
- type: dnf - from-file: dnf/multimedia.yml
repos: - from-file: dnf/sddm.yml
copr: - from-file: dnf/hyprland.yml
- ublue-os/packages - from-file: dnf/environment.yml
- solopasha/hyprland - from-file: dnf/applications.yml
- atim/xpadneo - from-file: dnf/themes.yml
- peterwu/rendezvous - from-file: dnf/drivers.yml
nonfree: rpmfusion
install:
skip-unavailable: true
packages:
# sddm
- sddm
- sddm-themes
- qt5-qtgraphicaleffects
- qt5-qtquickcontrols2
- qt5-qtsvg
# password keeper
- kf6-kwallet
- kwalletmanager
- pam-kwallet
# hyprland
- hyprland-git
- hyprpanel
- hyprpolkitagent
- hyprshot
# ublue udev rules and signing
- ublue-os-udev-rules
- ublue-os-signing
# environment
# power profiles like
- tuned-ppd
# xwayland
- xorg-x11-server-Xwayland
# headset control
- headsetcontrol
# media related
- mediainfo
- playerctl
- alsa-firmware
# zip utilities
- p7zip
# qt libraries
- qt5-qtwayland
- qt6-qtwayland
# vulkan
- vulkan-tools
- vulkan-validation-layers
# polkit
- polkit
# sound
- wireplumber
- pipewire
- headsetcontrol
# networking
- bluez
- bluez-tools
- firewall-config
# power
- powerstat
# applications
# fuzzy finder
- fzf
# dmenu runner
- fuzzel
# file manager
- nautilus
- file-roller
- file-roller-nautilus
# text editor
- neovim
# software store
- gnome-software
# disk management
- gnome-disk-utility
# kdeconnect
- kde-connect
# settings apps
# qt
- qt5ct
- qt6ct
# gtk
- nwg-look
# Themes and fonts
# emoji fonts
- google-noto-emoji-fonts
# theme and GUI
- fontawesome-fonts-all
- gnome-themes-extra
- papirus-icon-theme
- bibata-cursor-themes
# zsh
- zsh
# zoxide for z stuff
- zoxide
# steam
- steam
# for game mode and big picture mode
- gamescope
# for performance view
- mangohud
# controller
- xpadneo
remove:
packages:
# remove firefox
- firefox
- firefox-langpacks
replace:
- from-repo: rpmfusion-nonfree
packages:
- libheif
- libva
- libva-intel-media-driver
- mesa-dri-drivers
- mesa-filesystem
- mesa-libEGL
- mesa-libGL
- mesa-libgbm
- mesa-va-drivers
- mesa-vulkan-drivers
- gstreamer1-plugin-libav

View File

@@ -1,16 +0,0 @@
modules:
- type: containerfile
snippets:
- COPY --from=ghcr.io/ublue-os/akmods-nvidia:main-42 /rpms/ /tmp/rpms
- RUN find /tmp/rpms
- RUN rpm-ostree install /tmp/rpms/ublue-os/ublue-os-nvidia*.rpm
- RUN sed -i '0,/enabled=0/{s/enabled=0/enabled=1/}' /etc/yum.repos.d/nvidia-container-toolkit.repo
- RUN sed -i '0,/enabled=0/{s/enabled=0/enabled=1\npriority=90/}' /etc/yum.repos.d/negativo17-fedora-nvidia.repo
- RUN rpm-ostree install /tmp/rpms/kmods/kmod-nvidia*.rpm libnvidia-fbc libva-nvidia-driver nvidia-driver nvidia-modprobe nvidia-persistenced nvidia-settings nvidia-container-toolkit
- type: script
scripts:
- nvidia/installtoolkitpolicy.sh
- nvidia/removeunusedrepos.sh
- nvidia/setearlyloading.sh
- nvidia/setdrmvariables.sh

View File

@@ -8,5 +8,5 @@ modules:
enabled: enabled:
- flatpak-user-update.timer - flatpak-user-update.timer
- swww.service - swww.service
- hyprpanel.service - quickshell.service
- hyprpolkitagent.service - hyprpolkitagent.service

View File

@@ -0,0 +1,70 @@
modules:
- type: dnf
repos:
nonfree: rpmfusion
files:
- codium.repo
copr:
- mavit/discover-overlay
keys:
- https://gitlab.com/paulcarroty/vscodium-deb-rpm-repo/-/raw/master/pub.gpg
install:
packages:
# applications
# fuzzy finder
- fzf
# dmenu runner
- fuzzel
# file manager
- nautilus
- file-roller
- file-roller-nautilus
- ffmpegthumbnailer
# music / video player
- vlc
# text editor
- neovim
- codium
# software store
- gnome-software
# disk management
- gnome-disk-utility
# kdeconnect
- kde-connect
# discord overlay
- discover-overlay
# settings apps
# qt
- qt5ct
- qt6ct
# gtk
- nwg-look
# zsh
- zsh
# zoxide for z stuff
- zoxide
# steam
- steam
# for game mode and big picture mode
- gamescope
# for performance view
- mangohud
remove:
packages:
# remove firefox
- firefox
- firefox-langpacks

17
recipes/dnf/drivers.yml Normal file
View File

@@ -0,0 +1,17 @@
modules:
- type: dnf
repos:
files:
- https://negativo17.org/repos/fedora-steam.repo
- https://openrazer.github.io/hardware:razer.repo
install:
packages:
- dkms
- openrazer-meta
- repo: fedora-steam
packages:
- dkms-xpadneo
- type: script
scripts:
- installdkmsmodules.sh

View File

@@ -0,0 +1,47 @@
modules:
- type: dnf
repos:
files:
- codium.repo
copr:
- ublue-os/packages
install:
packages:
# ublue udev rules and signing
- ublue-os-udev-rules
- ublue-os-signing
# environment
# xwayland
- xorg-x11-server-Xwayland
# headset control
- headsetcontrol
# media related
- mediainfo
- playerctl
- alsa-firmware
# zip utilities
- p7zip
# qt libraries
- qt5-qtwayland
- qt6-qtwayland
# vulkan
- vulkan-tools
- vulkan-validation-layers
# xdg-desktop-portals
- xdg-desktop-portal
- xdg-desktop-portal-gtk
- xdg-desktop-portal-gnome
# polkit
- polkit
# sound
- wireplumber
- pipewire
- headsetcontrol
# networking
- bluez
- bluez-tools
- firewall-config

20
recipes/dnf/hyprland.yml Normal file
View File

@@ -0,0 +1,20 @@
modules:
- type: dnf
repos:
copr:
- solopasha/hyprland
- errornointernet/quickshell
install:
packages:
- aquamarine
- hyprland-git
- hyprpolkitagent
- hyprshot
- hyprland-qt-support
- hyprland-qtutils
- xdg-desktop-portal-hyprland
- swww
- matugen
# quickshell
- quickshell

View File

@@ -0,0 +1,38 @@
modules:
- type: dnf
repos:
nonfree: rpmfusion
install:
packages:
# other multimedia
- gstreamer1-plugin-libav
- gstreamer1-plugins-bad-free-extras
- gstreamer1-plugins-bad-freeworld
- gstreamer1-plugins-ugly
- gstreamer1-vaapi
remove:
packages:
# old codecs
- fdk-aac-free
- libavcodec-free
- libavdevice-free
- libavfilter-free
- libavformat-free
- libavutil-free
- libpostproc-free
- libswresample-free
- libswscale-free
- ffmpeg-free
replace:
- from-repo: rpmfusion-free-updates
packages:
- old: mesa-va-drivers
new: mesa-va-drivers-freeworld
- type: dnf
install:
packages:
- ffmpeg
- mesa-vdpau-drivers-freeworld

28
recipes/dnf/sddm.yml Normal file
View File

@@ -0,0 +1,28 @@
modules:
- type: dnf
install:
packages:
# sddm
- sddm
- sddm-themes
- qt5-qtgraphicaleffects
- qt5-qtquickcontrols2
- qt5-qtsvg
# added libraries for quickshell
- qt5-qtimageformats
- qt5-qtmultimedia
- qt6-qtquickcontrols2
- qt6-qtsvg
- qt6-qtimageformats
- qt6-qtmultimedia
- qt6-qt5compat
# added for editing quickshell (qmlls)
- qt5-qtdeclarative-devel
- qt6-qtdeclarative-devel
# password keeper
- kf6-kwallet
- kwalletmanager
- pam-kwallet

17
recipes/dnf/themes.yml Normal file
View File

@@ -0,0 +1,17 @@
modules:
- type: dnf
repos:
copr:
- peterwu/rendezvous
install:
packages:
# Themes and fonts
# emoji fonts
- google-noto-emoji-fonts
# theme and GUI
- fontawesome-fonts-all
- gnome-themes-extra
- papirus-icon-theme
- bibata-cursor-themes
- material-icons-fonts

View File

@@ -1,25 +0,0 @@
---
# yaml-language-server: $schema=https://schema.blue-build.org/recipe-v1.json
# image will be published to ghcr.io/<user>/<name>
name: hydro-os-nvidia
# description will be included in the image's metadata
description: This is my personal OS image.
# the base image to build on top of (FROM) and the version tag to use
base-image: quay.io/fedora-ostree-desktops/base-atomic
image-version: 42 # latest is also supported if you want new updates ASAP
# module configuration, executed in order
# you can include multiple instances of the same module
modules:
- from-file: components/dnf-module.yml
- from-file: components/script-module.yml
- from-file: components/sys-files-module.yml
- from-file: components/systemd-module.yml
- from-file: components/nvidia-module.yml
- from-file: components/default-flatpak.yml
- from-file: components/chezmoi-module.yml
- type: initramfs
- type: signing