Compare commits
242 Commits
6305c9fc0d
...
local-podm
| Author | SHA1 | Date | |
|---|---|---|---|
| 9ec681a418 | |||
| 2b5621f925 | |||
| fbb1362bcb | |||
| fda8718761 | |||
| 3370a20328 | |||
| 70ce259afd | |||
| 62ad2a4347 | |||
| 90c986efd7 | |||
| 9d6d0ce42c | |||
| bd2c71d547 | |||
| debda3de3f | |||
| 62805ea6cc | |||
| f49a7f04c8 | |||
| c4dc5f4d74 | |||
| eb2529b601 | |||
| a8c75c8c07 | |||
| c4eceb803f | |||
| ecdc3b5811 | |||
| 6357822a73 | |||
| f476d7370e | |||
| 83825e2360 | |||
| 195132f9c3 | |||
| b5ba3ad1c1 | |||
| 28b267ed71 | |||
| f7e14fdefd | |||
| bac6009afc | |||
| 7fa27982d2 | |||
| 692f87d29e | |||
| 5216a9e2c6 | |||
| 745cda9474 | |||
| 4c60587159 | |||
| 264d207261 | |||
| 1b003073ab | |||
| 2bbbee9423 | |||
| 158219a750 | |||
| ec874ffb19 | |||
| 4a1c67e77c | |||
| 53bd20584a | |||
| 163c82c3b2 | |||
| 33058773a8 | |||
| d02948d80a | |||
| ac8f7cca4e | |||
| 3259a65291 | |||
| 786b11a91c | |||
| 8e3ba4957b | |||
| f9fa6c1da0 | |||
| 4a5cb7e8a1 | |||
| 263b38819f | |||
| 8e17303070 | |||
| 19567c736a | |||
| 6467e2c0eb | |||
| f7bbfed2ac | |||
| 5549e00157 | |||
| 05211ae180 | |||
| 2970015961 | |||
| 8f84dc8588 | |||
| 20ce492ec1 | |||
| fac4e4144a | |||
| 42e52e93e7 | |||
| b64c19c3e5 | |||
| 7809d24cd4 | |||
| a784d1de70 | |||
| 61bb77e05b | |||
| 1fdc24f550 | |||
| 5781fd017b | |||
| 8edcd4ff05 | |||
| 55fe8e21b5 | |||
| 47fad27d7b | |||
| 73a6d27e0e | |||
| 92ea9c9af2 | |||
| 1181d5accb | |||
| 6259ab886e | |||
| 5fbb9383f9 | |||
| 0ba2ad78f5 | |||
| 4f61fb3e33 | |||
| 52becf4ef4 | |||
| 39611efb18 | |||
| d0e1214f23 | |||
| fa931b6f1f | |||
| 07adaa0438 | |||
| 46a54506f2 | |||
| fd295b21e9 | |||
| c2df7707ee | |||
| be74a20a4b | |||
| d44297ebaf | |||
| bfab543dc3 | |||
| 2795869465 | |||
| 777bcbdb24 | |||
| ffc809061b | |||
| 45ea42457c | |||
| 7107645dc9 | |||
| b72f3ec79f | |||
| 2ec348e81f | |||
| 841270554c | |||
| d75fdb0608 | |||
| 537dc3835f | |||
| b471730686 | |||
| a4ccb540c8 | |||
| f76c13d103 | |||
| c168988e13 | |||
| 27bbd783df | |||
| 0a0a3c820c | |||
| f30442534f | |||
| 68045125e4 | |||
| bfc6bb9d06 | |||
| 123e11860d | |||
| 0e42248ac5 | |||
| 5a2e033805 | |||
| cf132260df | |||
| 5a4123097e | |||
| 9e0dc3216f | |||
| f8ee64c130 | |||
| e986b0395f | |||
| ff0cb59c44 | |||
| 7a10a11e0f | |||
| 38c06add07 | |||
| 2c63bb8642 | |||
| 2791d04cda | |||
| 64fe2b0554 | |||
| c3c41fa9b3 | |||
| 5028f8b3c5 | |||
| 7d816a0b11 | |||
| 5b932f8a19 | |||
| f9e324a7d4 | |||
| 676ec3afed | |||
| 430b6ac49b | |||
| 85d3cd307b | |||
| 91f6388777 | |||
| 853ccb3dd7 | |||
| fac1440766 | |||
| c7391ae3c5 | |||
| 05d3748888 | |||
| 991a89c4a6 | |||
| fd135e43d2 | |||
| de1d73fef6 | |||
| 4dab1c4267 | |||
| 8741a1162f | |||
| f18216707f | |||
| b94e8e44b2 | |||
| a64f4ce9ff | |||
| cc5c721016 | |||
| 60da4a5c19 | |||
| 5539c02f05 | |||
| 987d93b2d1 | |||
| 15ed5250c7 | |||
| c1d7044fc9 | |||
| fc879401b0 | |||
| 94ac33a612 | |||
| ce69f99a2b | |||
| 1e1d8072b1 | |||
| 62e3617ac7 | |||
| ec7bfa6999 | |||
| 0614b7221f | |||
| b3d22fec37 | |||
| a9fead39d2 | |||
| 81c30d3201 | |||
| 25e041b939 | |||
| 4d08e4f254 | |||
| f2455f618e | |||
| c5427dca4a | |||
| 2840ed5841 | |||
| 687b992686 | |||
| 1e625b66a5 | |||
| 9728e8d2f3 | |||
| 099d5bd9d7 | |||
| 5394bf9671 | |||
| f708d3ab84 | |||
| 9c93c80ce3 | |||
| 3432b5ffae | |||
| e5dd484ce7 | |||
| 6ef8e3a452 | |||
| a7b7f63792 | |||
| 937327b92e | |||
| 912e8da0c8 | |||
| 3169904919 | |||
| 29eff45604 | |||
| 7c68cc7b65 | |||
| 46ff9d254c | |||
| be384c3e28 | |||
| 66757cf6e0 | |||
| 4fa79e1eed | |||
| 67ca43db57 | |||
| 2e3a2afe74 | |||
| 28860af56f | |||
| 3c9047226b | |||
| 36b1e97b53 | |||
| a73107abb3 | |||
| 83e35bd806 | |||
| 4e5002b4ea | |||
| c716cd31c9 | |||
| 76a8542e55 | |||
| a62fdaf823 | |||
| 065d6bde1c | |||
| e8a8455617 | |||
| f576439626 | |||
| 7ee1831dd9 | |||
| b8e8c95b7f | |||
| 354d7beea0 | |||
| 62dc188e0b | |||
| 269c74d93d | |||
| 886c8cbea4 | |||
| c3974e0d5f | |||
| 7f23ca80c2 | |||
| 9d9755bf72 | |||
| d453c910f7 | |||
| 3d0d0ef382 | |||
| 0cf7637927 | |||
| 7057f93a9a | |||
| 9a91dd08d0 | |||
| 350f458ba0 | |||
| 534aca65f7 | |||
| d3603718a9 | |||
| bef1fea9b5 | |||
| 900155e5e8 | |||
| b1671e8c96 | |||
| f9051195ee | |||
| 4634867987 | |||
| 425f4581c7 | |||
| 736b4186c5 | |||
| de2315dd20 | |||
| ff881fd0ad | |||
| 36e226578b | |||
| 399cd847d1 | |||
| 30fe9ff3f9 | |||
| e8cf18cbb2 | |||
| da3f13eefb | |||
| 473a33d041 | |||
| 3411aa882f | |||
| 2a268978a7 | |||
| c4fbd9fa75 | |||
| 6430da2b61 | |||
| 4b29099855 | |||
| b71aa51dc0 | |||
| 5c678bd59a | |||
| 412434b059 | |||
| d87f12e700 | |||
| 0cd81022e5 | |||
| 0ee4fdca31 | |||
| d5d9f44e59 | |||
| ae4912c545 | |||
| 965fabc47d | |||
| 4ccf7f7a85 |
11
.github/workflows/build.yml
vendored
11
.github/workflows/build.yml
vendored
@@ -2,12 +2,13 @@ name: bluebuild
|
||||
on:
|
||||
schedule:
|
||||
- cron:
|
||||
"00 06 * * *" # build at 06:00 UTC every day
|
||||
"00 06 * * *" # build at 06:00 UTC every Monday
|
||||
# (20 minutes after last ublue images start building)
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore: # don't rebuild if only documentation has changed
|
||||
- "**.md"
|
||||
|
||||
pull_request:
|
||||
workflow_dispatch: # allow manually triggering builds
|
||||
concurrency:
|
||||
@@ -17,7 +18,7 @@ concurrency:
|
||||
jobs:
|
||||
bluebuild:
|
||||
name: Build Custom Image
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-22.04
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
@@ -29,6 +30,7 @@ jobs:
|
||||
# !! Add your recipes here
|
||||
- recipe.yml
|
||||
steps:
|
||||
|
||||
# the build is fully handled by the reusable github action
|
||||
- name: Build Custom Image
|
||||
uses: blue-build/github-action@v1.8
|
||||
@@ -40,4 +42,5 @@ jobs:
|
||||
pr_event_number: ${{ github.event.number }}
|
||||
|
||||
# enabled by default, disable if your image is small and you want faster builds
|
||||
maximize_build_space: true
|
||||
maximize_build_space: "true"
|
||||
rechunk: "true"
|
||||
|
||||
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
||||
cosign.key
|
||||
cosign.private
|
||||
/Containerfile
|
||||
/.bluebuild-scripts_*
|
||||
|
||||
13
README.md
13
README.md
@@ -1,4 +1,4 @@
|
||||
# hydro-os [](https://github.com/eriq12/hydro-os/actions/workflows/build.yml)
|
||||
# hydro-os [](https://git.hydrosaber.com/eriq12/hydro-os/actions?workflows=build.yml)
|
||||
|
||||
This is a personal OS distro that I am using to learn more about the technolgies behind Bluebuild and possibly to later learn about hosting a git server, container repositiories, and actions.
|
||||
|
||||
@@ -11,7 +11,7 @@ To rebase an existing atomic Fedora installation to the latest build:
|
||||
|
||||
- First rebase to the unsigned image, to get the proper signing keys and policies installed:
|
||||
```
|
||||
rpm-ostree rebase ostree-unverified-registry:ghcr.io/eriq12/hydro-os:latest
|
||||
rpm-ostree rebase ostree-unverified-registry:git.hydrosaber.com/eriq12/hydro-os:latest
|
||||
```
|
||||
- Reboot to complete the rebase:
|
||||
```
|
||||
@@ -19,11 +19,16 @@ To rebase an existing atomic Fedora installation to the latest build:
|
||||
```
|
||||
- Then rebase to the signed image, like so:
|
||||
```
|
||||
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/eriq12/hydro-os:latest
|
||||
rpm-ostree rebase ostree-image-signed:docker://git.hydrosaber.com/eriq12/hydro-os:latest
|
||||
```
|
||||
- Reboot again to complete the installation
|
||||
```
|
||||
systemctl reboot
|
||||
```
|
||||
|
||||
The `latest` tag will automatically point to the latest build. That build will still always use the Fedora version specified in `recipe.yml`, so you won't get accidentally updated to the next major version.
|
||||
The `latest` tag will automatically point to the latest build. That build will still always use the Fedora version specified in `recipe.yml`, so you won't get accidentally updated to the next major version.
|
||||
|
||||
|
||||
# Attribution
|
||||
|
||||
Thanks to [Wayblue](https://github.com/wayblueorg/wayblue) for how to get around some issues with sddm on an atomic distribution and how to create a working distro from the base Fedora image.
|
||||
@@ -1,4 +1,4 @@
|
||||
-----BEGIN PUBLIC KEY-----
|
||||
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEzzK2nfqN5MlTqBitNsehDVnITGSF
|
||||
r9FQRKI6dNDXRjlKgcMaa88Mb9FdfqFVHSPesN1mHz3/QfZIPG/s7mJAfw==
|
||||
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEDgbLqIZdNv3Lx7jEKq3l6UImgXi/
|
||||
MdQ51/79s4zfI2f4wQ8ran/sZO3y91hhsImytGqfSpNZmMV8T0rmOAAXkg==
|
||||
-----END PUBLIC KEY-----
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
[org.gnome.desktop.interface]
|
||||
gtk-theme='Adwaita-dark'
|
||||
color-scheme='prefer-dark'
|
||||
icon-theme='Papirus'
|
||||
40
files/scripts/addimageinfo.sh
Normal file
40
files/scripts/addimageinfo.sh
Normal file
@@ -0,0 +1,40 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
# This file includes code from Universal Blue which is licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS"
|
||||
# BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language
|
||||
# governing permissions and limitations under the License.
|
||||
|
||||
IMAGE_PRETTY_NAME="hydro-os"
|
||||
IMAGE_LIKE="fedora"
|
||||
HOME_URL="https://git.hydrosaber.com/eriq12/hydro-os"
|
||||
DOCUMENTATION_URL="https://git.hydrosaber.com/eriq12/hydro-os"
|
||||
SUPPORT_URL="https://git.hydrosaber.com/eriq12/hydro-os/issues"
|
||||
BUG_SUPPORT_URL="https://git.hydrosaber.com/eriq12/hydro-os/issues"
|
||||
|
||||
if grep -q "VARIANT_ID" /usr/lib/os-release; then
|
||||
sed -i "s/^VARIANT_ID=.*/VARIANT_ID=$IMAGE_NAME/" /usr/lib/os-release
|
||||
else
|
||||
echo "VARIANT_ID=$IMAGE_NAME" >> /usr/lib/os-release
|
||||
fi
|
||||
sed -i "s/^PRETTY_NAME=.*/PRETTY_NAME=\"${IMAGE_PRETTY_NAME} (powered by Fedora Atomic)\"/" /usr/lib/os-release
|
||||
sed -i "s/^NAME=.*/NAME=\"$IMAGE_PRETTY_NAME\"/" /usr/lib/os-release
|
||||
sed -i "s|^HOME_URL=.*|HOME_URL=\"$HOME_URL\"|" /usr/lib/os-release
|
||||
sed -i "s|^DOCUMENTATION_URL=.*|DOCUMENTATION_URL=\"$DOCUMENTATION_URL\"|" /usr/lib/os-release
|
||||
sed -i "s|^SUPPORT_URL=.*|SUPPORT_URL=\"$SUPPORT_URL\"|" /usr/lib/os-release
|
||||
sed -i "s|^BUG_REPORT_URL=.*|BUG_REPORT_URL=\"$BUG_SUPPORT_URL\"|" /usr/lib/os-release
|
||||
sed -i "s|^CPE_NAME=\"cpe:/o:fedoraproject:fedora|CPE_NAME=\"cpe:/o:linux:${IMAGE_PRETTY_NAME,}|" /usr/lib/os-release
|
||||
sed -i "s/^DEFAULT_HOSTNAME=.*/DEFAULT_HOSTNAME=\"${IMAGE_PRETTY_NAME,}\"/" /usr/lib/os-release
|
||||
sed -i "s/^ID=fedora/ID=\"${IMAGE_LIKE,}\"\nID_LIKE=\"${IMAGE_PRETTY_NAME,}\"/" /usr/lib/os-release
|
||||
sed -i "/^REDHAT_BUGZILLA_PRODUCT=/d; /^REDHAT_BUGZILLA_PRODUCT_VERSION=/d; /^REDHAT_SUPPORT_PRODUCT=/d; /^REDHAT_SUPPORT_PRODUCT_VERSION=/d" /usr/lib/os-release
|
||||
|
||||
# Fix issues caused by ID no longer being fedora
|
||||
sed -i "s/^EFIDIR=.*/EFIDIR=\"fedora\"/" /usr/sbin/grub2-switch-to-blscfg
|
||||
7
files/scripts/buildakmods.sh
Normal file
7
files/scripts/buildakmods.sh
Normal file
@@ -0,0 +1,7 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -oue pipefail
|
||||
|
||||
QUALIFIED_KERNEL="$(rpm -qa | grep -P 'kernel-(\d+\.\d+\.\d+)' | sed -E 's/kernel-//')"
|
||||
|
||||
sudo akmods --kernels $QUALIFIED_KERNEL
|
||||
@@ -1,10 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell this script to exit if there are any errors.
|
||||
# You should have this in every custom script, to ensure that your completed
|
||||
# builds actually ran successfully without any errors!
|
||||
set -oue pipefail
|
||||
|
||||
# Your code goes here.
|
||||
echo 'This is an example shell script'
|
||||
echo 'Scripts here will run during build if specified in recipe.yml'
|
||||
6
files/scripts/installohmyzsh.sh
Normal file
6
files/scripts/installohmyzsh.sh
Normal file
@@ -0,0 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
git clone https://github.com/ohmyzsh/ohmyzsh.git /usr/share/ohmyzsh
|
||||
16
files/scripts/installrazermodule.sh
Normal file
16
files/scripts/installrazermodule.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
echo "INFO: grab kernel module"
|
||||
KERNEL_VER="$(rpm -qa | grep -P 'kernel-(\d+\.\d+\.\d+)' | sed -E 's/kernel-//')"
|
||||
echo $KERNEL_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 openrazer"
|
||||
sudo dkms build -m $RAZER_MODULE_VER -k $KERNEL_VER
|
||||
sudo dkms install -m $RAZER_MODULE_VER -k $KERNEL_VER
|
||||
16
files/scripts/installxpadneomodule.sh
Normal file
16
files/scripts/installxpadneomodule.sh
Normal file
@@ -0,0 +1,16 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
echo "INFO: grab kernel module"
|
||||
KERNEL_VER="$(rpm -qa | grep -P 'kernel-(\d+\.\d+\.\d+)' | sed -E 's/kernel-//')"
|
||||
echo $KERNEL_VER
|
||||
|
||||
echo "INFO: grab xpad modules"
|
||||
XPAD_MODULE_VER=$(ls /usr/src | grep xpadneo | sed 's/-/\//')
|
||||
echo $XPAD_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
|
||||
8
files/scripts/regenerateinitramfs.sh
Normal file
8
files/scripts/regenerateinitramfs.sh
Normal file
@@ -0,0 +1,8 @@
|
||||
#!/usr/bin/env bash
|
||||
# Obtained from wayblue project https://github.com/wayblueorg/wayblue/blob/live/files/scripts/regenerateinitramfs.sh
|
||||
|
||||
set -oue pipefail
|
||||
|
||||
QUALIFIED_KERNEL="$(rpm -qa | grep -P 'kernel-(\d+\.\d+\.\d+)' | sed -E 's/kernel-//')"
|
||||
/usr/bin/dracut --no-hostonly --kver "$QUALIFIED_KERNEL" --reproducible -v --add ostree -f "/lib/modules/$QUALIFIED_KERNEL/initramfs.img"
|
||||
chmod 0600 "/lib/modules/$QUALIFIED_KERNEL/initramfs.img"
|
||||
11
files/scripts/setsddmtheming.sh
Normal file
11
files/scripts/setsddmtheming.sh
Normal file
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
sed -i 's/color: "black"/color: "white"/' /usr/share/sddm/themes/maldives/Main.qml
|
||||
sed -i 's/id: lblPassword/id: lblPassword\ncolor: "white"/' /usr/share/sddm/themes/maldives/Main.qml
|
||||
sed -i 's/id: lblName/id: lblName\ncolor: "white"/' /usr/share/sddm/themes/maldives/Main.qml
|
||||
sed -i 's/id: lblSession/id: lblSession\ncolor: "white"/' /usr/share/sddm/themes/maldives/Main.qml
|
||||
sed -i 's/id: lblLayout/id: lblLayout\ncolor: "white"/' /usr/share/sddm/themes/maldives/Main.qml
|
||||
sed -i 's/id: errorMessage/id: errorMessage\ncolor: "white"/' /usr/share/sddm/themes/maldives/Main.qml
|
||||
10
files/scripts/setupchezmoiskel.sh
Normal file
10
files/scripts/setupchezmoiskel.sh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Tell build process to exit if there are any errors.
|
||||
set -oue pipefail
|
||||
|
||||
git clone https://git.hydrosaber.com/eriq12/dotfiles /etc/skel/.local/share/chezmoi
|
||||
|
||||
cp /etc/skel/.local/share/chezmoi/dot_bashrc /etc/skel/.bashrc
|
||||
cp /etc/skel/.local/share/chezmoi/dot_zshrc /etc/skel/.zshrc
|
||||
cp -r /etc/skel/.local/share/chezmoi/dot_config /etc/skel/.config
|
||||
@@ -1 +0,0 @@
|
||||
|
||||
8
files/system/etc/default/useradd
Normal file
8
files/system/etc/default/useradd
Normal file
@@ -0,0 +1,8 @@
|
||||
# useradd defaults file
|
||||
GROUP=100
|
||||
HOME=/home
|
||||
INACTIVE=-1
|
||||
EXPIRE=
|
||||
SHELL=/bin/zsh
|
||||
SKEL=/etc/skel
|
||||
CREATE_MAIL_SPOOL=yes
|
||||
2
files/system/etc/environment.d/theme.conf
Normal file
2
files/system/etc/environment.d/theme.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
QT_QPA_PLATFORMTHEME=qt6ct
|
||||
QT_QUICK_CONTROLS_STYLE=org.hyprland.style
|
||||
4
files/system/etc/firewalld/services/grayjay.xml
Normal file
4
files/system/etc/firewalld/services/grayjay.xml
Normal file
@@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<port port="12315" protocol="tcp"/>
|
||||
</service>
|
||||
5
files/system/etc/firewalld/services/localsend.xml
Normal file
5
files/system/etc/firewalld/services/localsend.xml
Normal file
@@ -0,0 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<service>
|
||||
<port port="53317" protocol="tcp"/>
|
||||
<port port="53317" protocol="udp"/>
|
||||
</service>
|
||||
1
files/system/etc/modules-load.d/asus-sensor.conf
Normal file
1
files/system/etc/modules-load.d/asus-sensor.conf
Normal file
@@ -0,0 +1 @@
|
||||
nct6775
|
||||
1
files/system/etc/modules-load.d/ntsync.conf
Normal file
1
files/system/etc/modules-load.d/ntsync.conf
Normal file
@@ -0,0 +1 @@
|
||||
ntsync
|
||||
26
files/system/etc/pipewire/105-add-discord-name.conf
Normal file
26
files/system/etc/pipewire/105-add-discord-name.conf
Normal file
@@ -0,0 +1,26 @@
|
||||
# ~/.config/pipewire/pipewire.conf.d/104-group-game-audio-to-node.conf
|
||||
|
||||
node.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
application.process.binary = "equibop.bin"
|
||||
}
|
||||
{
|
||||
pipewire.access.portal.app_id = "io.github.equicord.equibop"
|
||||
}
|
||||
{
|
||||
pipewire.access.portal.app_id = "com.discordapp.Discord"
|
||||
}
|
||||
{
|
||||
pipewire.access.portal.app_id = "com.discordapp.DiscordCanary"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
application.name = "Discord"
|
||||
node.name = "Discord"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
17
files/system/etc/pipewire/109-add-freetube-name.conf
Normal file
17
files/system/etc/pipewire/109-add-freetube-name.conf
Normal file
@@ -0,0 +1,17 @@
|
||||
# ~/.config/pipewire/pipewire.conf.d/104-group-game-audio-to-node.conf
|
||||
|
||||
node.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
pipewire.access.portal.app_id = "io.github.equicord.equibop"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
application.name = "Freetube"
|
||||
node.name = "Freetube"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
4
files/system/etc/sddm/sddm-useradd
Normal file
4
files/system/etc/sddm/sddm-useradd
Normal file
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/sh
|
||||
|
||||
getent group sddm > /dev/null || groupadd -r sddm
|
||||
getent passwd sddm > /dev/null || useradd -r -g sddm -c "SDDM Greeter Account" -d /var/lib/sddm -s /usr/sbin/nologin sddm
|
||||
16
files/system/etc/xdg/autostart/kitty.desktop
Normal file
16
files/system/etc/xdg/autostart/kitty.desktop
Normal file
@@ -0,0 +1,16 @@
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=kitty
|
||||
GenericName=Terminal emulator
|
||||
Comment=Fast, feature-rich, GPU based terminal
|
||||
TryExec=kitty
|
||||
StartupNotify=true
|
||||
Exec=/usr/bin/hyprctl dispatch exec [workspace special:terminal silent] /usr/bin/kitty
|
||||
Icon=kitty
|
||||
Categories=System;TerminalEmulator;
|
||||
X-TerminalArgExec=--
|
||||
X-TerminalArgTitle=--title
|
||||
X-TerminalArgAppId=--class
|
||||
X-TerminalArgDir=--working-directory
|
||||
X-TerminalArgHold=--hold
|
||||
BIN
files/system/usr/share/hydro-os/alt-background.png
Normal file
BIN
files/system/usr/share/hydro-os/alt-background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 114 KiB |
BIN
files/system/usr/share/hydro-os/default-background.png
Normal file
BIN
files/system/usr/share/hydro-os/default-background.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 171 KiB |
@@ -0,0 +1,5 @@
|
||||
[Desktop Entry]
|
||||
Name=Steam Big Picture Mode
|
||||
Comment=Start Steam in Big Picture Mode
|
||||
Exec=/usr/bin/gamescope -H 1080 -r 60 --force-composition --mangoapp -fe -- /usr/bin/steam -tenfoot %U
|
||||
Type=Application
|
||||
8
files/systemd/system/bootc-fetch-updates.service
Normal file
8
files/systemd/system/bootc-fetch-updates.service
Normal file
@@ -0,0 +1,8 @@
|
||||
[Unit]
|
||||
Description=Download bootc updates
|
||||
Documentation=man:bootc(8)
|
||||
ConditionPathExists=/run/ostree-booted
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/bootc update --quiet
|
||||
12
files/systemd/system/bootc-fetch-updates.timer
Normal file
12
files/systemd/system/bootc-fetch-updates.timer
Normal file
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Download bootc updates
|
||||
Documentation=man:bootc(8)
|
||||
ConditionPathExists=/run/ostree-booted
|
||||
|
||||
[Timer]
|
||||
OnBootSec=15min
|
||||
OnUnitInactiveSec=8h
|
||||
RandomizedDelaySec=2h
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
5
files/systemd/system/flatpak-system-update.service
Normal file
5
files/systemd/system/flatpak-system-update.service
Normal file
@@ -0,0 +1,5 @@
|
||||
[Unit]
|
||||
Description=Update flatpaks
|
||||
|
||||
[Service]
|
||||
ExecStart=flatpak update --noninteractive
|
||||
9
files/systemd/system/flatpak-system-update.timer
Normal file
9
files/systemd/system/flatpak-system-update.timer
Normal file
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Update flatpak
|
||||
|
||||
[Timer]
|
||||
OnBootSec=15min
|
||||
OnCalendar=daily
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
5
files/systemd/user/flatpak-user-update.service
Normal file
5
files/systemd/user/flatpak-user-update.service
Normal file
@@ -0,0 +1,5 @@
|
||||
[Unit]
|
||||
Description=Update flatpaks
|
||||
|
||||
[Service]
|
||||
ExecStart=flatpak update --noninteractive
|
||||
9
files/systemd/user/flatpak-user-update.timer
Normal file
9
files/systemd/user/flatpak-user-update.timer
Normal file
@@ -0,0 +1,9 @@
|
||||
[Unit]
|
||||
Description=Update flatpak
|
||||
|
||||
[Timer]
|
||||
OnBootSec=15min
|
||||
OnCalendar=daily
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
18
files/systemd/user/quickshell.service
Normal file
18
files/systemd/user/quickshell.service
Normal file
@@ -0,0 +1,18 @@
|
||||
[Unit]
|
||||
Description=A panel bar branched from AGS maintained by Hyprland devs.
|
||||
# order startup after WM
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
# Repurpose XDG Autostart filtering
|
||||
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
|
||||
ExecStart=/usr/bin/quickshell
|
||||
Restart=on-failure
|
||||
Slice=app-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
# Alternatively can be wanted by specific WMs' targets
|
||||
# Should also be duplicated in 'After=' to avoid ordering loop
|
||||
#WantedBy=wayland-session@hyprland.desktop.target
|
||||
15
files/systemd/user/swww.service
Normal file
15
files/systemd/user/swww.service
Normal file
@@ -0,0 +1,15 @@
|
||||
[Unit]
|
||||
Description=Background service
|
||||
# order startup after WM
|
||||
After=graphical-session.target
|
||||
|
||||
[Service]
|
||||
Type=exec
|
||||
# Repurpose XDG Autostart filtering
|
||||
ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" ""
|
||||
ExecStart=/usr/bin/swww-daemon
|
||||
Restart=on-failure
|
||||
Slice=app-graphical.slice
|
||||
|
||||
[Install]
|
||||
WantedBy=graphical-session.target
|
||||
3
recipes/components/chezmoi-module.yml
Normal file
3
recipes/components/chezmoi-module.yml
Normal file
@@ -0,0 +1,3 @@
|
||||
modules:
|
||||
- type: chezmoi
|
||||
repository: "https://git.hydrosaber.com/eriq12/dotfiles"
|
||||
5
recipes/components/cleanup-usr-etc.yml
Normal file
5
recipes/components/cleanup-usr-etc.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
modules:
|
||||
- type: script
|
||||
snippets:
|
||||
- "sudo cp -n -r /usr/etc /etc"
|
||||
- "sudo rm -rf /usr/etc"
|
||||
9
recipes/components/dnf-module.yml
Normal file
9
recipes/components/dnf-module.yml
Normal file
@@ -0,0 +1,9 @@
|
||||
modules:
|
||||
- from-file: dnf/multimedia.yml
|
||||
- from-file: dnf/greeter.yml
|
||||
- from-file: dnf/hyprland.yml
|
||||
- from-file: dnf/environment.yml
|
||||
- from-file: dnf/applications.yml
|
||||
- from-file: dnf/vr.yml
|
||||
- from-file: dnf/themes.yml
|
||||
- from-file: dnf/drivers.yml
|
||||
4
recipes/components/gschema-module.yml
Normal file
4
recipes/components/gschema-module.yml
Normal file
@@ -0,0 +1,4 @@
|
||||
modules:
|
||||
- type: gschema-overrides
|
||||
include:
|
||||
- zz1-hydro-os-theming.gschema.override
|
||||
5
recipes/components/script-module.yml
Normal file
5
recipes/components/script-module.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
modules:
|
||||
- type: script
|
||||
scripts:
|
||||
- addimageinfo.sh
|
||||
- installohmyzsh.sh
|
||||
5
recipes/components/sys-files-module.yml
Normal file
5
recipes/components/sys-files-module.yml
Normal file
@@ -0,0 +1,5 @@
|
||||
modules:
|
||||
- type: files
|
||||
files:
|
||||
- source: system
|
||||
destination: / # copies files/system/* (* means everything inside it) into your image's root folder /
|
||||
13
recipes/components/systemd-module.yml
Normal file
13
recipes/components/systemd-module.yml
Normal file
@@ -0,0 +1,13 @@
|
||||
modules:
|
||||
- type: systemd
|
||||
system:
|
||||
enabled:
|
||||
- bootc-fetch-updates.timer
|
||||
- flatpak-system-update.timer
|
||||
- lactd.service
|
||||
user:
|
||||
enabled:
|
||||
- flatpak-user-update.timer
|
||||
- quickshell.service
|
||||
- hyprpolkitagent.service
|
||||
- swww.service
|
||||
68
recipes/dnf/applications.yml
Normal file
68
recipes/dnf/applications.yml
Normal file
@@ -0,0 +1,68 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
nonfree: rpmfusion
|
||||
copr:
|
||||
- ilyaz/LACT
|
||||
install:
|
||||
packages:
|
||||
# applications
|
||||
# fuzzy finder
|
||||
- fzf
|
||||
|
||||
# dmenu runner
|
||||
- fuzzel
|
||||
|
||||
# file manager
|
||||
- dolphin
|
||||
- ark
|
||||
|
||||
- ffmpegthumbnailer
|
||||
|
||||
# music / video player
|
||||
- vlc
|
||||
|
||||
# text editor
|
||||
- neovim
|
||||
|
||||
# kdeconnect
|
||||
- kde-connect
|
||||
|
||||
# settings apps
|
||||
# qt
|
||||
- qt5ct
|
||||
- qt6ct
|
||||
|
||||
# gtk
|
||||
- nwg-look
|
||||
|
||||
# software store
|
||||
- gnome-software
|
||||
|
||||
# disk management
|
||||
- gnome-disk-utility
|
||||
|
||||
# diagnostics
|
||||
- qdirstat
|
||||
|
||||
- lact
|
||||
|
||||
- btop
|
||||
|
||||
# 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
|
||||
12
recipes/dnf/drivers.yml
Normal file
12
recipes/dnf/drivers.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
copr:
|
||||
- atim/xpadneo
|
||||
install:
|
||||
packages:
|
||||
- xpadneo
|
||||
|
||||
- type: script
|
||||
scripts:
|
||||
- buildakmods.sh
|
||||
58
recipes/dnf/environment.yml
Normal file
58
recipes/dnf/environment.yml
Normal file
@@ -0,0 +1,58 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
repos:
|
||||
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-kde
|
||||
|
||||
# polkit
|
||||
- polkit
|
||||
|
||||
# sound
|
||||
- wireplumber
|
||||
- pipewire
|
||||
- headsetcontrol
|
||||
|
||||
# networking
|
||||
- network-manager-applet
|
||||
- NetworkManager
|
||||
- NetworkManager-bluetooth
|
||||
- NetworkManager-wifi
|
||||
- bluez
|
||||
- bluez-tools
|
||||
- firewall-config
|
||||
|
||||
# packages for steam script
|
||||
- lsb_release
|
||||
26
recipes/dnf/greeter.yml
Normal file
26
recipes/dnf/greeter.yml
Normal file
@@ -0,0 +1,26 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
install:
|
||||
packages:
|
||||
# sddm
|
||||
- sddm
|
||||
- sddm-themes
|
||||
|
||||
# added libraries for quickshell
|
||||
- qt5-qtgraphicaleffects
|
||||
- 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
|
||||
21
recipes/dnf/hyprland.yml
Normal file
21
recipes/dnf/hyprland.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
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
|
||||
- wlogout
|
||||
|
||||
# quickshell
|
||||
- quickshell-git
|
||||
38
recipes/dnf/multimedia.yml
Normal file
38
recipes/dnf/multimedia.yml
Normal 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
|
||||
17
recipes/dnf/themes.yml
Normal file
17
recipes/dnf/themes.yml
Normal 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
|
||||
21
recipes/dnf/vr.yml
Normal file
21
recipes/dnf/vr.yml
Normal file
@@ -0,0 +1,21 @@
|
||||
modules:
|
||||
- type: dnf
|
||||
install:
|
||||
packages:
|
||||
# monado
|
||||
- eigen3-devel
|
||||
- glslang-devel
|
||||
- glslc
|
||||
- libbsd-devel
|
||||
- libdrm-devel
|
||||
- libusb1
|
||||
- libusb1-devel
|
||||
- libXrandr-devel
|
||||
- mesa-libGL-devel
|
||||
- ninja-build
|
||||
- openxr-devel
|
||||
- SDL2-devel
|
||||
- wayland-devel
|
||||
- wayland-protocols-devel
|
||||
# wayvr dashboard
|
||||
- webkit2gtk4.1
|
||||
@@ -6,31 +6,18 @@ name: hydro-os
|
||||
description: This is my personal OS image.
|
||||
|
||||
# the base image to build on top of (FROM) and the version tag to use
|
||||
base-image: ghcr.io/ublue-os/bazzite-asus-nvidia
|
||||
image-version: latest # latest is also supported if you want new updates ASAP
|
||||
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:
|
||||
- type: files
|
||||
files:
|
||||
- source: system
|
||||
destination: / # copies files/system/* (* means everything inside it) into your image's root folder /
|
||||
- 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/chezmoi-module.yml
|
||||
- from-file: components/cleanup-usr-etc.yml
|
||||
|
||||
- type: rpm-ostree
|
||||
repos:
|
||||
- https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-%OS_VERSION%/atim-starship-fedora-%OS_VERSION%.repo
|
||||
install:
|
||||
- micro
|
||||
- starship
|
||||
|
||||
- type: default-flatpaks
|
||||
notify: true # Send notification after install/uninstall is finished (true/false)
|
||||
system:
|
||||
# If no repo information is specified, Flathub will be used by default
|
||||
install:
|
||||
- one.ablaze.floorp
|
||||
user: {} # Also add Flathub user repo, but no user packages
|
||||
|
||||
- type: signing # this sets up the proper policy & signing files for signed images to work fully
|
||||
- type: signing
|
||||
|
||||
|
||||
Reference in New Issue
Block a user