add-more-system-apps #10

Merged
eriq12 merged 35 commits from add-more-system-apps into main 2025-06-14 15:10:36 -04:00
19 changed files with 202 additions and 10 deletions

View 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:wayblue:${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

View 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"
}
}
}
]

View 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"
}
}
}
]

View File

@@ -0,0 +1,4 @@
# monitors.conf
# See https://wiki.hyprland.org/Configuring/Monitors/
monitor=,preferred,auto,auto

Binary file not shown.

After

Width:  |  Height:  |  Size: 171 KiB

View 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

View 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

View File

@@ -0,0 +1,5 @@
[Unit]
Description=Update flatpaks
[Service]
ExecStart=flatpak update --noninteractive

View File

@@ -0,0 +1,9 @@
[Unit]
Description=Update flatpak
[Timer]
OnBootSec=15min
OnCalendar=daily
[Install]
WantedBy=timers.target

View File

@@ -0,0 +1,5 @@
[Unit]
Description=Update flatpaks
[Service]
ExecStart=flatpak update --noninteractive

View File

@@ -0,0 +1,9 @@
[Unit]
Description=Update flatpak
[Timer]
OnBootSec=15min
OnCalendar=daily
[Install]
WantedBy=timers.target

View 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

View File

@@ -0,0 +1,17 @@
[Unit]
Description=Unlocks kwallet for hyprland on login.
# 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/libexec/pam_kwallet_init
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

View File

@@ -2,6 +2,7 @@ modules:
- type: systemd - type: systemd
user: user:
enabled: enabled:
- swww.service
- hyprpanel.service - hyprpanel.service
- hyprpolkitagent.service - hyprpolkitagent.service
- discord.service - discord.service

View File

@@ -6,18 +6,20 @@ modules:
install: install:
packages: packages:
- ublue-os-udev-rules - ublue-os-udev-rules
- ublue-os-update-services
- ublue-os-signing - ublue-os-signing
- type: script
scripts:
- addimageinfo.sh
- type: systemd - type: systemd
system: system:
enabled: enabled:
- rpm-ostreed-automatic.timer - bootc-fetch-updates.timer
- podman-auto-update.timer
- flatpak-system-update.timer - flatpak-system-update.timer
user: user:
enabled: enabled:
- podman-auto-update.timer - unlock-kwallet.service
- flatpak-user-update.timer - flatpak-user-update.timer
- type: dnf - type: dnf
@@ -45,12 +47,18 @@ modules:
# qt libraries # qt libraries
- qt5-qtwayland - qt5-qtwayland
- qt6-qtwayland - qt6-qtwayland
# qt ct packages
- qt5ct
- qt6ct
# emoji fonts # emoji fonts
- google-noto-emoji-fonts - google-noto-emoji-fonts
# vulkan # vulkan
- vulkan-tools - vulkan-tools
- vulkan-validation-layers - vulkan-validation-layers
# dmenu runner
- fuzzel
# polkit # polkit
- polkit - polkit
@@ -78,9 +86,6 @@ modules:
- breeze-icon-theme - breeze-icon-theme
- papirus-icon-theme - papirus-icon-theme
# software
- gnome-software
# power # power
- powerstat - powerstat

View File

@@ -4,6 +4,9 @@ modules:
system: system:
install: install:
- one.ablaze.floorp - one.ablaze.floorp
- com.github.tchx84.Flatseal
- io.missioncenter.MissionCenter
- io.github.flattool.Warehouse
user: user:
install: install:
- com.discordapp.Discord - com.discordapp.Discord

View File

@@ -7,9 +7,20 @@ modules:
- qt5-qtgraphicaleffects - qt5-qtgraphicaleffects
- qt5-qtquickcontrols2 - qt5-qtquickcontrols2
- qt5-qtsvg - qt5-qtsvg
- kwallet
# password keeper
- kf6-kwallet
- kwalletmanager
- pam-kwallet - pam-kwallet
# signon
- signon
- signon-kwallet-extension
- signon-plugin-oauth2
- signon-qt5
- signon-qt6
- signon-ui
- type: script - type: script
scripts: scripts:
- setsddmtheming.sh - setsddmtheming.sh

View File

@@ -2,6 +2,9 @@ modules:
- type: dnf - type: dnf
repos: repos:
nonfree: rpmfusion nonfree: rpmfusion
copr:
enable:
- atim/xpadneo
install: install:
packages: packages:
- steam - steam
@@ -9,6 +12,7 @@ modules:
- gamescope - gamescope
# for performance view # for performance view
- mangohud - mangohud
- xpadneo
- type: default-flatpaks - type: default-flatpaks
system: system:

View File

@@ -22,6 +22,7 @@ modules:
- from-file: components/autostart-module.yml - from-file: components/autostart-module.yml
- from-file: components/default-flatpak.yml - from-file: components/default-flatpak.yml
- from-file: components/chezmoi-module.yml - from-file: components/chezmoi-module.yml
- type: initramfs
- type: signing # this sets up the proper policy & signing files for signed images to work fully - type: signing # this sets up the proper policy & signing files for signed images to work fully