From b1671e8c9608907664fe371a43be740c985e388e Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sun, 18 May 2025 16:04:08 -0400 Subject: [PATCH 01/38] Moved to base image for fedora provided by Red Hat. Removed some scripts and waybar for hyprpanel. --- files/system/etc/xdg/waybar/config.jsonc | 100 -------------- files/system/etc/xdg/waybar/style.css | 129 ------------------ files/system/etc/xdg/waybar/tokyonight.css | 15 -- .../hyprland.conf.d/keybinds.conf | 2 - .../scripts/hypr_power/hypr_close_clients | 18 --- .../scripts/hypr_power/hypr_logout | 5 - .../scripts/hypr_power/hypr_reboot | 5 - .../scripts/hypr_power/hypr_shutdown | 5 - .../scripts/load-kwallet-apps.sh | 3 - .../hypr-hydro-os/scripts/load-kwallet.sh | 5 - .../usr/share/hypr-hydro-os/scripts/local-lua | 4 - .../usr/share/hypr-hydro-os/scripts/menu.lua | 27 ---- .../share/hypr-hydro-os/scripts/powermenu.lua | 14 -- .../{waybar.service => hyprpanel.service} | 5 +- .../user/sway-notification-center.service | 16 --- recipes/recipe.yml | 6 +- 16 files changed, 5 insertions(+), 354 deletions(-) delete mode 100644 files/system/etc/xdg/waybar/config.jsonc delete mode 100644 files/system/etc/xdg/waybar/style.css delete mode 100644 files/system/etc/xdg/waybar/tokyonight.css delete mode 100755 files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_close_clients delete mode 100755 files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_logout delete mode 100755 files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_reboot delete mode 100755 files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_shutdown delete mode 100755 files/system/usr/share/hypr-hydro-os/scripts/load-kwallet-apps.sh delete mode 100755 files/system/usr/share/hypr-hydro-os/scripts/load-kwallet.sh delete mode 100755 files/system/usr/share/hypr-hydro-os/scripts/local-lua delete mode 100644 files/system/usr/share/hypr-hydro-os/scripts/menu.lua delete mode 100644 files/system/usr/share/hypr-hydro-os/scripts/powermenu.lua rename files/systemd/user/{waybar.service => hyprpanel.service} (70%) delete mode 100644 files/systemd/user/sway-notification-center.service diff --git a/files/system/etc/xdg/waybar/config.jsonc b/files/system/etc/xdg/waybar/config.jsonc deleted file mode 100644 index 11c477e..0000000 --- a/files/system/etc/xdg/waybar/config.jsonc +++ /dev/null @@ -1,100 +0,0 @@ -// -*- mode: jsonc -*- -{ - "layer": "top", // Waybar at top layer - // "position": "bottom", // Waybar position (top|bottom|left|right) - "height": 52, // Waybar height (to be removed for auto height) - // "width": 1280, // Waybar width - "spacing": 0, // Gaps between modules (4px) - // Choose the order of the modules - "modules-left": [ - "cpu", - "memory", - "hyprland/workspaces", - "hyprland/window" - ], - "modules-center": [ - "mpris" - ], - "modules-right": [ - "tray", - "gamemode", - "wireplumber", - "custom/notification", - "clock" - ], - //"reload_style_on_change": true, - "hyprland/window":{ - "separate-outputs": true, - "hide-empty-text": true, - }, - "tray": { - // "icon-size": 21, - "spacing": 10 - }, - "clock": { - // "timezone": "America/New_York", - "format": "{:%I : %M %p %Y-%m-%d}", - "tooltip-format": "{:%Y %B}\n{calendar}" - }, - "cpu": { - "format": "{usage}% ", - "tooltip": false - }, - "memory": { - "format": "{}% " - }, - "temperature": { - // "thermal-zone": 2, - // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", - "critical-threshold": 80, - // "format-critical": "{temperatureC}°C {icon}", - "format": "{temperatureC}°C {icon}", - "format-icons": ["", "", ""] - }, - "network": { - // "interface": "wlp2*", // (Optional) To force the use of this interface - "format-wifi": "{essid} ({signalStrength}%) ", - "format-ethernet": "{ipaddr}/{cidr} ", - "tooltip-format": "{ifname} via {gwaddr} ", - "format-linked": "{ifname} (No IP) ", - "format-disconnected": "Disconnected ⚠", - "format-alt": "{ifname}: {ipaddr}/{cidr}" - }, - "wireplumber": { - "format": "{node_name} {volume}% {icon}", - "format-muted": "{node_name} ", - "on-click": "hyprctl dispatch -- exec flatpak run com.saivert.pwvucontrol", - "format-icons": ["", "", ""] - }, - "custom/notification": { - "tooltip": false, - "format": "{} {icon}", - "format-icons": { - "notification": "", - "none": "", - "dnd-notification": "", - "dnd-none": "", - "inhibited-notification": "", - "inhibited-none": "", - "dnd-inhibited-notification": "", - "dnd-inhibited-none": "" - }, - "return-type": "json", - "exec-if": "which swaync-client", - "exec": "swaync-client -swb", - "on-click": "swaync-client -t -sw", - "on-click-right": "swaync-client -d -sw", - "escape": true - }, - "mpris": { - "format": "{player_icon} {title} - {artist}", - "format-paused": "{status_icon} {title} - {artist}", - "player-icons": { - "default": "▶", - "mpv": "🎵" - }, - "status-icons": { - "paused": "⏸" - } - }, -} diff --git a/files/system/etc/xdg/waybar/style.css b/files/system/etc/xdg/waybar/style.css deleted file mode 100644 index 3036a72..0000000 --- a/files/system/etc/xdg/waybar/style.css +++ /dev/null @@ -1,129 +0,0 @@ -@import "tokyonight.css"; - -* { - font-family: JetBrains Mono; - font-size: 17px; - min-height: 0; -} - -window#waybar { - background-color: @transparent; - color: @theme_text_color; - margin: 0rem 0rem 0rem 0rem; -} - -#workspaces button { - color: @lavender; - border-radius: 1.5rem; - padding: 0rem 0.5rem; -} - -#workspaces button.active { - color: @sky; - border-radius: 1.5rem; -} - -#workspaces button:hover { - color: @sapphire; - border-radius: 1.5rem; -} - -#cpu, -#memory, -#custom-weather, -#wireplumber, -#custom-notification, -#custom-music, -#custom-edit-config, -#tray, -#backlight, -#clock, -#battery, -#pulseaudio, -#custom-lock, -#powermenu, -#window, -#workspaces, -#gamemode, -#mpris { - background-color: @theme_bg_color; - padding: 0.5rem 0.75rem; - margin: 0.75rem 0.25rem 0rem 0.25rem; - border-radius: 1.5rem; - border: 2px solid; -} - -window#waybar.empty #window { - background-color: transparent; - border: 0px -} - -/* left side margin */ -#cpu { - margin-left: 1rem; -} - -/* right side margin */ -#clock { - margin-right: 1rem; -} - -#cpu { - color: @green; -} - -#memory { - color: @magenta; -} - -#clock { - color: @blue; -} - -#battery { - color: @green; -} - -#battery.charging { - color: @green; -} - -#battery.warning:not(.charging) { - color: @red; -} - -#backlight { - color: @yellow; -} - -#pulseaudio { - color: @maroon; -} - -#custom-music { - color: @mauve; -} - -#custom-lock { - color: @magenta; -} - -#custom-power { - color: @red; -} - -#wireplumber { - color: @red; -} - -#custom-notification { - color: @rosewater; -} - -#custom-notification.notification { - color: @red; -} - -#custom-notification.dnd-notification { - color: @maroon; -} diff --git a/files/system/etc/xdg/waybar/tokyonight.css b/files/system/etc/xdg/waybar/tokyonight.css deleted file mode 100644 index 4a259ee..0000000 --- a/files/system/etc/xdg/waybar/tokyonight.css +++ /dev/null @@ -1,15 +0,0 @@ -@define-color foreground #313244; -@define-color background #1a1b26; -@define-color text #a9b1d6; -@define-color black #414868; -@define-color red #f7768e; -@define-color green #73daca; -@define-color yellow #e0af68; -@define-color blue #7aa2f7; -@define-color magenta #bb9af7; -@define-color cyan #7dcfff; -@define-color white #c0caf5; -@define-color sky #89dceb; -@define-color sapphire #74c7ec; -@define-color rosewater #f5e0dc; -@define-color flamingo #f2cdcd; \ No newline at end of file diff --git a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf index 87f3aea..f86c491 100644 --- a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf +++ b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf @@ -5,14 +5,12 @@ $fileManager = uwsm app -- org.kde.dolphin.desktop $menu = uwsm app -- $(wofi --show drun --define=drun-print_desktop_file=true) #$menu = ags request -i launcher show $screenshot = hyprshot -m region --clipboard-only -$powermenu = /usr/share/hypr-hydro-os/scripts/local-lua /usr/share/hypr-hydro-os/scripts/powermenu.lua # See https://wiki.hyprland.org/Configuring/Keywords/ for more $mainMod = SUPER # Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more bind = $mainMod SHIFT, C, killactive, -bind = $mainMod, M, exec, $powermenu bind = $mainMod, E, exec, $fileManager bind = $mainMod, V, togglefloating, bind = $mainMod, R, exec, $menu diff --git a/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_close_clients b/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_close_clients deleted file mode 100755 index 10a5dca..0000000 --- a/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_close_clients +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash - -HYPRCMDS=$(hyprctl -j clients | jq -j '.[] | "dispatch closewindow address:\(.address); "') -hyprctl --batch "$HYPRCMDS" >>/tmp/hyprexitwithgrace.log 2>&1 - -notify-send "power controls" "Closing Applications..." - -sleep 2 - -COUNT=$(hyprctl clients | grep "class:" | wc -l) - -if [ "$COUNT" -eq "0" ]; then - notify-send "power controls" "Closed Applications." - return -else - notify-send "power controls" "Some apps didn't close. Not shutting down." - exit 1 -fi diff --git a/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_logout b/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_logout deleted file mode 100755 index 3c5fac5..0000000 --- a/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_logout +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_close_clients - -hyprctl dispatch exit diff --git a/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_reboot b/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_reboot deleted file mode 100755 index e3add18..0000000 --- a/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_reboot +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_close_clients - -systemctl reboot diff --git a/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_shutdown b/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_shutdown deleted file mode 100755 index 398d517..0000000 --- a/files/system/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_shutdown +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_close_clients - -systemctl poweroff diff --git a/files/system/usr/share/hypr-hydro-os/scripts/load-kwallet-apps.sh b/files/system/usr/share/hypr-hydro-os/scripts/load-kwallet-apps.sh deleted file mode 100755 index a65b328..0000000 --- a/files/system/usr/share/hypr-hydro-os/scripts/load-kwallet-apps.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env bash -# nextcloud desktop -sleep 15 && flatpak run --branch=stable --arch=x86_64 --command=nextcloud --file-forwarding com.nextcloud.desktopclient.nextcloud diff --git a/files/system/usr/share/hypr-hydro-os/scripts/load-kwallet.sh b/files/system/usr/share/hypr-hydro-os/scripts/load-kwallet.sh deleted file mode 100755 index b480b05..0000000 --- a/files/system/usr/share/hypr-hydro-os/scripts/load-kwallet.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash -kwalletmanager5 & -sleep 1 && exec --no-startup-id /usr/lib/pam_kwallet_init -notify-send -e --expire-time=2000 'Kwallet has been loaded. Loading dependent apps...' -sleep 2 && hyprctl dispatch closewindow class:org.kde.kwalletmanager diff --git a/files/system/usr/share/hypr-hydro-os/scripts/local-lua b/files/system/usr/share/hypr-hydro-os/scripts/local-lua deleted file mode 100755 index 7604e5e..0000000 --- a/files/system/usr/share/hypr-hydro-os/scripts/local-lua +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -BIN_DIR=$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" &>/dev/null && pwd) - -LUA_PATH="${BIN_DIR}/?.lua;;" lua $1 diff --git a/files/system/usr/share/hypr-hydro-os/scripts/menu.lua b/files/system/usr/share/hypr-hydro-os/scripts/menu.lua deleted file mode 100644 index 1e658ba..0000000 --- a/files/system/usr/share/hypr-hydro-os/scripts/menu.lua +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env lua -local menu = {} - -function menu:clean_string(str) - str = string.gsub(str, "^%s+", "") - str = string.gsub(str, "%s+$", "") - return string.gsub(str, "[\n]+", " ") -end - -function menu:bring_menu(prompt, options) - local options_string = "" - local length = 1 - for _, value in pairs(options) do - options_string = options_string .. value .. "\n" - length = length + 1 - end - - options_string = options_string:sub(1, -2) - - local command = "echo -e '" .. options_string .. "' | wofi -dmenu -i -p '" .. prompt .. "'" - local f = assert(io.popen(command, "r")) - local s = menu:clean_string(assert(f:read("*a"))) - f:close() - return s -end - -return menu diff --git a/files/system/usr/share/hypr-hydro-os/scripts/powermenu.lua b/files/system/usr/share/hypr-hydro-os/scripts/powermenu.lua deleted file mode 100644 index c5ac902..0000000 --- a/files/system/usr/share/hypr-hydro-os/scripts/powermenu.lua +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/env lua -local menu = require("menu") -local executable = { - ["Shutdown"] = "/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_shutdown", - ["Reboot"] = "/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_reboot", - ["Log out"] = "/usr/share/hypr-hydro-os/scripts/hypr_power/hypr_logout", - ["Cancel"] = "", -} - -local options = { "Shutdown", "Reboot", "Log out", "Cancel" } - -local s = menu:bring_menu("Power menu", options) - -os.execute(executable[s]) diff --git a/files/systemd/user/waybar.service b/files/systemd/user/hyprpanel.service similarity index 70% rename from files/systemd/user/waybar.service rename to files/systemd/user/hyprpanel.service index a991743..0b419e0 100644 --- a/files/systemd/user/waybar.service +++ b/files/systemd/user/hyprpanel.service @@ -1,5 +1,5 @@ [Unit] -Description=Highly customizable Wayland bar for Sway and Wlroots based compositors. +Description=A panel bar branched from AGS maintained by Hyprland devs. Documentation=man:waybar(5) # order startup after WM After=graphical-session.target @@ -8,8 +8,7 @@ After=graphical-session.target Type=exec # Repurpose XDG Autostart filtering ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" "" -ExecStart=/usr/bin/waybar -ExecReload=kill -SIGUSR2 $MAINPID +ExecStart=/usr/bin/hyprpanel Restart=on-failure Slice=app-graphical.slice diff --git a/files/systemd/user/sway-notification-center.service b/files/systemd/user/sway-notification-center.service deleted file mode 100644 index 9fa6d5d..0000000 --- a/files/systemd/user/sway-notification-center.service +++ /dev/null @@ -1,16 +0,0 @@ -[Unit] -Description=A simple notification daemon with a GTK gui for notifications and the control center. -Documentation=man:swaync(1) -# 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/swaync -Restart=on-failure -Slice=app-graphical.slice - -[Install] -WantedBy=graphical-session.target \ No newline at end of file diff --git a/recipes/recipe.yml b/recipes/recipe.yml index 8a82169..e21af3d 100644 --- a/recipes/recipe.yml +++ b/recipes/recipe.yml @@ -6,7 +6,7 @@ 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 +base-image: quay.io/fedora-ostree-desktops/base-atomic image-version: latest # latest is also supported if you want new updates ASAP # module configuration, executed in order @@ -23,7 +23,7 @@ modules: - https://copr.fedorainfracloud.org/coprs/erikreider/SwayNotificationCenter/repo/fedora-%OS_VERSION%/erikreider-SwayNotificationCenter-fedora-%OS_VERSION%.repo install: - hyprland-git - - waybar + - hyprpanel - neovim - SwayNotificationCenter - hyprpolkitagent @@ -41,7 +41,7 @@ modules: - type: systemd user: enabled: - - waybar.service + - hyprpanel.service - hyprpolkitagent.service - type: signing # this sets up the proper policy & signing files for signed images to work fully From 900155e5e8222544323838c97f8654fd9e64ae92 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 19 May 2025 10:42:15 -0400 Subject: [PATCH 02/38] Give credit to wayblue --- README.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ae83533..0df2065 100644 --- a/README.md +++ b/README.md @@ -26,4 +26,9 @@ To rebase an existing atomic Fedora installation to the latest build: 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. \ No newline at end of file +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. \ No newline at end of file From bef1fea9b5f4e46981e085946cf322b7527d8539 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 19 May 2025 11:36:48 -0400 Subject: [PATCH 03/38] Sddm patch for issue on login --- files/systemd/system/sddm-boot-patch.service | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 files/systemd/system/sddm-boot-patch.service diff --git a/files/systemd/system/sddm-boot-patch.service b/files/systemd/system/sddm-boot-patch.service new file mode 100644 index 0000000..8f6699b --- /dev/null +++ b/files/systemd/system/sddm-boot-patch.service @@ -0,0 +1,18 @@ +# Taken from Wayblue's repo, https://github.com/wayblueorg/wayblue +# This is to resolve issue on boot for sddm login +# Creates an SDDM user before SDDM runs. +# See: +# - https://github.com/ublue-os/cinnamon/blob/bf44562ddbed670cdd0d03a45ea08bdb8a6e96a7/system_files/usr/lib/systemd/system/ublue-lightdm-workaround.service#L4 +# - https://github.com/ublue-os/main/issues/224#issuecomment-1987851271 + +[Unit] +Description=Create SDDM user on system boot +Before=sddm.service + +[Service] +Type=oneshot +ExecStart=/usr/etc/sddm/sddm-useradd +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target From d3603718a9049ee85f6d030801d23f98c5ef4246 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 19 May 2025 13:44:40 -0400 Subject: [PATCH 04/38] added sddm-useradd script for patch --- files/system/etc/sddm/sddm-useradd | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 files/system/etc/sddm/sddm-useradd diff --git a/files/system/etc/sddm/sddm-useradd b/files/system/etc/sddm/sddm-useradd new file mode 100644 index 0000000..e44f640 --- /dev/null +++ b/files/system/etc/sddm/sddm-useradd @@ -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 From 534aca65f755621a41e2d3c395e9f53ecf87e1d0 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 19 May 2025 13:45:15 -0400 Subject: [PATCH 05/38] split recipe into components to be more manageable and organized --- recipes/components/default-flatpak.yml | 9 +++++++ recipes/components/hyprland-module.yml | 18 +++++++++++++ recipes/components/sddm-module.yml | 15 +++++++++++ recipes/components/sys-files-module.yml | 5 ++++ recipes/recipe.yml | 35 +++---------------------- 5 files changed, 51 insertions(+), 31 deletions(-) create mode 100644 recipes/components/default-flatpak.yml create mode 100644 recipes/components/hyprland-module.yml create mode 100644 recipes/components/sddm-module.yml create mode 100644 recipes/components/sys-files-module.yml diff --git a/recipes/components/default-flatpak.yml b/recipes/components/default-flatpak.yml new file mode 100644 index 0000000..6737ad6 --- /dev/null +++ b/recipes/components/default-flatpak.yml @@ -0,0 +1,9 @@ +modules: + - type: default-flatpaks + notify: true + system: + install: + - one.ablaze.floorp + user: + install: + - com.discordapp.Discord \ No newline at end of file diff --git a/recipes/components/hyprland-module.yml b/recipes/components/hyprland-module.yml new file mode 100644 index 0000000..8f0ac23 --- /dev/null +++ b/recipes/components/hyprland-module.yml @@ -0,0 +1,18 @@ +modules: + - type: rpm-ostree + repos: + - https://copr.fedorainfracloud.org/coprs/solopasha/hyprland/repo/fedora-%OS_VERSION%/solopasha-hyprland-fedora-%OS_VERSION%.repo + - https://copr.fedorainfracloud.org/coprs/erikreider/SwayNotificationCenter/repo/fedora-%OS_VERSION%/erikreider-SwayNotificationCenter-fedora-%OS_VERSION%.repo + install: + - hyprland-git + - hyprpanel + - neovim + - SwayNotificationCenter + - hyprpolkitagent + - hyprshot + + - type: systemd + user: + enabled: + - hyprpanel.service + - hyprpolkitagent.service \ No newline at end of file diff --git a/recipes/components/sddm-module.yml b/recipes/components/sddm-module.yml new file mode 100644 index 0000000..135aae9 --- /dev/null +++ b/recipes/components/sddm-module.yml @@ -0,0 +1,15 @@ +modules: + - type: rpm-ostree + install: + - sddm + - sddm-themes + - qt5-qtgraphicaleffects + - qt5-qtquickcontrols2 + - qt5-qtsvg + - kwallet + - pam-kwallet + + - type: systemd + system: + enabled: + - sddm-boot-patch.service \ No newline at end of file diff --git a/recipes/components/sys-files-module.yml b/recipes/components/sys-files-module.yml new file mode 100644 index 0000000..41df104 --- /dev/null +++ b/recipes/components/sys-files-module.yml @@ -0,0 +1,5 @@ +modules: + - type: files + files: + - source: system + destination: / # copies files/system/* (* means everything inside it) into your image's root folder / \ No newline at end of file diff --git a/recipes/recipe.yml b/recipes/recipe.yml index e21af3d..54f9135 100644 --- a/recipes/recipe.yml +++ b/recipes/recipe.yml @@ -12,37 +12,10 @@ image-version: latest # 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 / - - - type: rpm-ostree - repos: - - https://copr.fedorainfracloud.org/coprs/solopasha/hyprland/repo/fedora-%OS_VERSION%/solopasha-hyprland-fedora-%OS_VERSION%.repo - - https://copr.fedorainfracloud.org/coprs/erikreider/SwayNotificationCenter/repo/fedora-%OS_VERSION%/erikreider-SwayNotificationCenter-fedora-%OS_VERSION%.repo - install: - - hyprland-git - - hyprpanel - - neovim - - SwayNotificationCenter - - hyprpolkitagent - - hyprshot - - - 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 - - com.discordapp.Discord - user: {} # Also add Flathub user repo, but no user packages - - - type: systemd - user: - enabled: - - hyprpanel.service - - hyprpolkitagent.service + - from-file: components/sys-files-module.yml + - from-file: components/sddm-module.yml + - from-file: components/hyprland-module.yml + - from-file: components/default-flatpak.yml - type: signing # this sets up the proper policy & signing files for signed images to work fully From 350f458ba01a22f4c9ce97b11abe65f333010736 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 13:49:12 -0400 Subject: [PATCH 06/38] adding base-module ading udev rules and other things from ublue --- recipes/components/base-module.yml | 25 +++++++++++++++++++++++++ recipes/recipe.yml | 1 + 2 files changed, 26 insertions(+) create mode 100644 recipes/components/base-module.yml diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml new file mode 100644 index 0000000..264ec83 --- /dev/null +++ b/recipes/components/base-module.yml @@ -0,0 +1,25 @@ +modules: + - type: containerfile + snippets: + - RUN rpm-ostree install just powerstat + - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-udev-rules.noarch.rpm / + - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-update-services.noarch.rpm / + - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-signing.noarch.rpm / + - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-luks.noarch.rpm / + - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-just.noarch.rpm / + - RUN rpm -ivh /ublue-os-udev-rules.noarch.rpm + - RUN rpm -ivh /ublue-os-update-services.noarch.rpm + - RUN rpm -ivh /ublue-os-signing.noarch.rpm + - RUN rpm -ivh /ublue-os-luks.noarch.rpm + - RUN rpm -ivh /ublue-os-just.noarch.rpm + + - type: systemd + system: + enabled: + - rpm-ostreed.automatic.timer + - podman-auto-update.timer + - flatpak-system-update.timer + user: + enabled: + - podman-auto-update.timer + - flatpak-system-update.timer \ No newline at end of file diff --git a/recipes/recipe.yml b/recipes/recipe.yml index 54f9135..a997231 100644 --- a/recipes/recipe.yml +++ b/recipes/recipe.yml @@ -13,6 +13,7 @@ image-version: latest # latest is also supported if you want new updates ASAP # you can include multiple instances of the same module modules: - from-file: components/sys-files-module.yml + - from-file: components/base-module.yml - from-file: components/sddm-module.yml - from-file: components/hyprland-module.yml - from-file: components/default-flatpak.yml From 9a91dd08d0ff7b0eb5f6bb6c627275218ecc3e43 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 13:54:34 -0400 Subject: [PATCH 07/38] Chagned to 42 as latest tag is not supported in Red Hat's container repo --- recipes/recipe.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/recipe.yml b/recipes/recipe.yml index a997231..a6dc7ab 100644 --- a/recipes/recipe.yml +++ b/recipes/recipe.yml @@ -7,7 +7,7 @@ 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: latest # latest is also supported if you want new updates ASAP +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 From 7057f93a9a553f4536ac9966af3554650ed7ac78 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 14:12:47 -0400 Subject: [PATCH 08/38] Moved systemd module to a script --- files/scripts/enableautoupdates.sh | 10 ++++++++++ recipes/components/base-module.yml | 13 +++---------- 2 files changed, 13 insertions(+), 10 deletions(-) create mode 100644 files/scripts/enableautoupdates.sh diff --git a/files/scripts/enableautoupdates.sh b/files/scripts/enableautoupdates.sh new file mode 100644 index 0000000..c7646e9 --- /dev/null +++ b/files/scripts/enableautoupdates.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +# Tell build process to exit if there are any errors. +set -oue pipefail + +systemctl enable rpm-ostreed-automatic.timer +systemctl enable podman-auto-update.timer +systemctl --global enable podman-auto-update.timer +systemctl --global enable flatpak-user-update.timer +systemctl enable flatpak-system-update.timer \ No newline at end of file diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 264ec83..dcc02bf 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -13,13 +13,6 @@ modules: - RUN rpm -ivh /ublue-os-luks.noarch.rpm - RUN rpm -ivh /ublue-os-just.noarch.rpm - - type: systemd - system: - enabled: - - rpm-ostreed.automatic.timer - - podman-auto-update.timer - - flatpak-system-update.timer - user: - enabled: - - podman-auto-update.timer - - flatpak-system-update.timer \ No newline at end of file + - type: script + scripts: + - enableautoupdates.sh # using systemd did not work, so using this script instead \ No newline at end of file From 0cf7637927c10c4035976a59e34d829330b0d386 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 15:15:02 -0400 Subject: [PATCH 09/38] isolate pushes to only main for builds --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4416758..3fc05e3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,6 +5,8 @@ on: "00 06 * * *" # build at 06:00 UTC every day # (20 minutes after last ublue images start building) push: + branches: + - main paths-ignore: # don't rebuild if only documentation has changed - "**.md" From 3d0d0ef382bd1740c6fdc3d69d3cee6d80568958 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 17:17:33 -0400 Subject: [PATCH 10/38] Added nvidia drivers --- files/scripts/nvidia/installtoolkitpolicy.sh | 6 ++++++ files/scripts/nvidia/removeunusedrepos.sh | 10 ++++++++++ files/scripts/nvidia/setdrmvariables.sh | 16 ++++++++++++++++ files/scripts/nvidia/setearlyloading.sh | 7 +++++++ recipes/components/nvidia-module.yml | 15 +++++++++++++++ 5 files changed, 54 insertions(+) create mode 100644 files/scripts/nvidia/installtoolkitpolicy.sh create mode 100644 files/scripts/nvidia/removeunusedrepos.sh create mode 100644 files/scripts/nvidia/setdrmvariables.sh create mode 100644 files/scripts/nvidia/setearlyloading.sh create mode 100644 recipes/components/nvidia-module.yml diff --git a/files/scripts/nvidia/installtoolkitpolicy.sh b/files/scripts/nvidia/installtoolkitpolicy.sh new file mode 100644 index 0000000..c55ff44 --- /dev/null +++ b/files/scripts/nvidia/installtoolkitpolicy.sh @@ -0,0 +1,6 @@ +#!/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 \ No newline at end of file diff --git a/files/scripts/nvidia/removeunusedrepos.sh b/files/scripts/nvidia/removeunusedrepos.sh new file mode 100644 index 0000000..7693d6c --- /dev/null +++ b/files/scripts/nvidia/removeunusedrepos.sh @@ -0,0 +1,10 @@ +#!/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 \ No newline at end of file diff --git a/files/scripts/nvidia/setdrmvariables.sh b/files/scripts/nvidia/setdrmvariables.sh new file mode 100644 index 0000000..617d940 --- /dev/null +++ b/files/scripts/nvidia/setdrmvariables.sh @@ -0,0 +1,16 @@ +#!/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 \ No newline at end of file diff --git a/files/scripts/nvidia/setearlyloading.sh b/files/scripts/nvidia/setearlyloading.sh new file mode 100644 index 0000000..19ec951 --- /dev/null +++ b/files/scripts/nvidia/setearlyloading.sh @@ -0,0 +1,7 @@ +#!/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 diff --git a/recipes/components/nvidia-module.yml b/recipes/components/nvidia-module.yml new file mode 100644 index 0000000..0ba6275 --- /dev/null +++ b/recipes/components/nvidia-module.yml @@ -0,0 +1,15 @@ +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-driver-cuda nvidia-modprobe nvidia-persistenced nvidia-settings nvidia-container-toolkit + - type: script + scripts: + - nvidia/installtoolkitpolicy.sh + - nvidia/removeunusedrepos.sh + - nvidia/setearlyloading.sh + - nvidia/setdrmvariables.sh From d453c910f72dd3836f83fe8f7d37adc69e7595b9 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 17:18:32 -0400 Subject: [PATCH 11/38] Revert commit to restrict build to main branch --- .github/workflows/build.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 3fc05e3..4416758 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,8 +5,6 @@ on: "00 06 * * *" # build at 06:00 UTC every day # (20 minutes after last ublue images start building) push: - branches: - - main paths-ignore: # don't rebuild if only documentation has changed - "**.md" From 9d9755bf722f81445ca5081a2ad914c57c5c6336 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 17:44:01 -0400 Subject: [PATCH 12/38] Added nvidia module to recipe --- recipes/recipe.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/recipe.yml b/recipes/recipe.yml index a6dc7ab..c9aa11b 100644 --- a/recipes/recipe.yml +++ b/recipes/recipe.yml @@ -14,6 +14,7 @@ image-version: 42 # latest is also supported if you want new updates ASAP modules: - from-file: components/sys-files-module.yml - from-file: components/base-module.yml + - from-file: components/nvidia-modules.yml - from-file: components/sddm-module.yml - from-file: components/hyprland-module.yml - from-file: components/default-flatpak.yml From 7f23ca80c2d81cb71f1032359b558f3408a76472 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 17:45:47 -0400 Subject: [PATCH 13/38] Corrected typo --- recipes/recipe.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/recipe.yml b/recipes/recipe.yml index c9aa11b..c77232c 100644 --- a/recipes/recipe.yml +++ b/recipes/recipe.yml @@ -14,7 +14,7 @@ image-version: 42 # latest is also supported if you want new updates ASAP modules: - from-file: components/sys-files-module.yml - from-file: components/base-module.yml - - from-file: components/nvidia-modules.yml + - from-file: components/nvidia-module.yml - from-file: components/sddm-module.yml - from-file: components/hyprland-module.yml - from-file: components/default-flatpak.yml From c3974e0d5fb1197a0e1b141b6512bfe09c25e2ac Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 19:10:54 -0400 Subject: [PATCH 14/38] Change module order --- recipes/recipe.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/recipe.yml b/recipes/recipe.yml index c77232c..f40eff3 100644 --- a/recipes/recipe.yml +++ b/recipes/recipe.yml @@ -12,10 +12,10 @@ 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/sys-files-module.yml + - from-file: components/sddm-module.yml - from-file: components/base-module.yml - from-file: components/nvidia-module.yml - - from-file: components/sddm-module.yml + - from-file: components/sys-files-module.yml - from-file: components/hyprland-module.yml - from-file: components/default-flatpak.yml From 886c8cbea4e81086c565d4c71cf0213bd440fb5a Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 19:14:19 -0400 Subject: [PATCH 15/38] Reapply commit to remove building on branches, as it builds already for pull requests --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4416758..3fc05e3 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -5,6 +5,8 @@ on: "00 06 * * *" # build at 06:00 UTC every day # (20 minutes after last ublue images start building) push: + branches: + - main paths-ignore: # don't rebuild if only documentation has changed - "**.md" From 269c74d93dcb6f000bb682eabb4eebe3c847a59e Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 21:00:39 -0400 Subject: [PATCH 16/38] Added theming to login sddm --- files/scripts/setsddmtheming.sh | 11 +++++++++++ files/system/sddm.conf.d/theme.conf | 2 ++ recipes/components/sddm-module.yml | 4 ++++ 3 files changed, 17 insertions(+) create mode 100644 files/scripts/setsddmtheming.sh create mode 100644 files/system/sddm.conf.d/theme.conf diff --git a/files/scripts/setsddmtheming.sh b/files/scripts/setsddmtheming.sh new file mode 100644 index 0000000..d48dc60 --- /dev/null +++ b/files/scripts/setsddmtheming.sh @@ -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 diff --git a/files/system/sddm.conf.d/theme.conf b/files/system/sddm.conf.d/theme.conf new file mode 100644 index 0000000..1007848 --- /dev/null +++ b/files/system/sddm.conf.d/theme.conf @@ -0,0 +1,2 @@ +[Theme] +Current=maldives \ No newline at end of file diff --git a/recipes/components/sddm-module.yml b/recipes/components/sddm-module.yml index 135aae9..c58847d 100644 --- a/recipes/components/sddm-module.yml +++ b/recipes/components/sddm-module.yml @@ -9,6 +9,10 @@ modules: - kwallet - pam-kwallet + - type: script + scripts: + - setsddmtheming.sh + - type: systemd system: enabled: From 62dc188e0bd0953456049d19dc9509e8f834d738 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 22:10:09 -0400 Subject: [PATCH 17/38] Added more packages that seemed useful from wayblue --- files/scripts/installproprietarypackages.sh | 25 +++++++ recipes/components/base-module.yml | 77 ++++++++++++++++++++- 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 files/scripts/installproprietarypackages.sh diff --git a/files/scripts/installproprietarypackages.sh b/files/scripts/installproprietarypackages.sh new file mode 100644 index 0000000..2600ea0 --- /dev/null +++ b/files/scripts/installproprietarypackages.sh @@ -0,0 +1,25 @@ +#!/usr/bin/env bash + +# Tell build process to exit if there are any errors. +set -oue pipefail + +curl -Lo /etc/yum.repos.d/negativo17-fedora-multimedia.repo https://negativo17.org/repos/fedora-multimedia.repo +sed -i '0,/enabled=1/{s/enabled=1/enabled=1\npriority=90/}' /etc/yum.repos.d/negativo17-fedora-multimedia.repo + +rpm-ostree override replace \ + --experimental \ + --from repo='fedora-multimedia' \ + libheif \ + libva \ + libva-intel-media-driver \ + mesa-dri-drivers \ + mesa-filesystem \ + mesa-libEGL \ + mesa-libGL \ + mesa-libgbm \ + mesa-libxatracker \ + mesa-va-drivers \ + mesa-vulkan-drivers \ + gstreamer1-plugin-libav \ + gstreamer1-plugin-vaapi \ + rar diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index dcc02bf..09f8bad 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -15,4 +15,79 @@ modules: - type: script scripts: - - enableautoupdates.sh # using systemd did not work, so using this script instead \ No newline at end of file + - enableautoupdates.sh # using systemd did not work, so using this script instead + + - type: rpm-ostree + install: + # environment + # fuzzy finder + - fzf + # power profiles like + - tuned-ppd + # xwayland + - xorg-x11-server-Xwayland + # headset control + - headsetcontrol + # media related + - mediainfo + - playerctl + - alsa-firmware + # nofitications + - SwayNotificationCenter + # text editor + - neovim + # tools for evocation + - just + # zip utilities + - p7zip + # qt libraries + - qt5-qtwayland + - qt6-qtwayland + # emoji fonts + - google-noto-emoji-fonts + # vulkan + - vulkan-tools + - vulkan-validation-layers + + + # polkit + - polkit + - polkit-kde + + # sound + - wireplumber + - pipewire + - pamixer + - pulseaudio-utils + + # networking + - network-manager-applet + - bluez + - bluez-tools + - firewall-config + + # file manager + - thunar + - thunar-archive-plugin + - thunar-volman + - xarchiver + - imv + - gvfs-mtp + - gvfs-gphoto2 + - gvfs-smb + - gvfs-nfs + - gvfs-fuse + - gvfs-archive + + # theme and GUI + - fontawesome-fonts-all + - gnome-themes-extra + - gnome-icon-theme + - paper-icon-theme + - breeze-icon-theme + - papirus-icon-theme + + - type: script + scripts: + - installproprietarypackages.sh + From 354d7beea0c92e4132840d7ac757121a476fda30 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 22:29:03 -0400 Subject: [PATCH 18/38] Removed duplicate neovim from hyprland-module as it is not a hyprland related package --- recipes/components/hyprland-module.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipes/components/hyprland-module.yml b/recipes/components/hyprland-module.yml index 8f0ac23..fd6b198 100644 --- a/recipes/components/hyprland-module.yml +++ b/recipes/components/hyprland-module.yml @@ -6,8 +6,6 @@ modules: install: - hyprland-git - hyprpanel - - neovim - - SwayNotificationCenter - hyprpolkitagent - hyprshot From b8e8c95b7f79b2a9069deff725e20e2c78a5d100 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 22:36:44 -0400 Subject: [PATCH 19/38] Install steam and protonup-qt --- recipes/components/steam-module.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 recipes/components/steam-module.yml diff --git a/recipes/components/steam-module.yml b/recipes/components/steam-module.yml new file mode 100644 index 0000000..f9eeeb3 --- /dev/null +++ b/recipes/components/steam-module.yml @@ -0,0 +1,10 @@ +modules: + - type: rpm-ostree + repos: + - rpmfusion + install: + - steam + + - type: default-flatpaks + system: + - net.davidotek.pupgui2 \ No newline at end of file From 7ee1831dd931dcf6013effbfc60ffa1738a6a239 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 21 May 2025 23:29:46 -0400 Subject: [PATCH 20/38] switch to plasma applicatons and remove network-manager-applet --- recipes/components/base-module.yml | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 09f8bad..a341538 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -61,23 +61,13 @@ modules: - pulseaudio-utils # networking - - network-manager-applet - bluez - bluez-tools - firewall-config - # file manager - - thunar - - thunar-archive-plugin - - thunar-volman - - xarchiver - - imv - - gvfs-mtp - - gvfs-gphoto2 - - gvfs-smb - - gvfs-nfs - - gvfs-fuse - - gvfs-archive + # kde stuff + - dolphin + - plasma-systemsettings # theme and GUI - fontawesome-fonts-all From f5764396269de37d68edea3e8bd3d2e8e92dd401 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Thu, 22 May 2025 00:37:24 -0400 Subject: [PATCH 21/38] Added default config for hyprpanel --- .../etc/skel/.config/hyprpanel/config.json | 59 +++++++++++++++++++ .../etc/skel/.config/hyprpanel/modules.json | 1 + .../etc/skel/.config/hyprpanel/modules.scss | 0 3 files changed, 60 insertions(+) create mode 100644 files/system/etc/skel/.config/hyprpanel/config.json create mode 100644 files/system/etc/skel/.config/hyprpanel/modules.json create mode 100644 files/system/etc/skel/.config/hyprpanel/modules.scss diff --git a/files/system/etc/skel/.config/hyprpanel/config.json b/files/system/etc/skel/.config/hyprpanel/config.json new file mode 100644 index 0000000..aa6fb44 --- /dev/null +++ b/files/system/etc/skel/.config/hyprpanel/config.json @@ -0,0 +1,59 @@ +{ + "scalingPriority": "gdk", + "theme.bar.floating": true, + "bar.autoHide": "never", + "bar.layouts": { + "*": { + "left": [ + "cpu", + "ram", + "workspaces", + "windowtitle" + ], + "middle": [ + "media" + ], + "right": [ + "volume", + "network", + "bluetooth", + "systray", + "notifications", + "clock", + "dashboard" + ] + } + }, + "theme.notification.enableShadow": false, + "theme.bar.border.location": "none", + "theme.bar.border_radius": "0.75em", + "theme.bar.outer_spacing": ".25em", + "theme.bar.buttons.radius": "0.75em", + "theme.bar.menus.monochrome": false, + "theme.bar.menus.opacity": 100, + "theme.bar.buttons.y_margins": "0.1em", + "theme.bar.buttons.enableBorders": true, + "theme.bar.transparent": true, + "theme.bar.enableShadow": false, + "menus.clock.time.hideSeconds": false, + "menus.dashboard.shortcuts.left.shortcut1.icon": "", + "menus.dashboard.shortcuts.left.shortcut1.command": "uwsm app -- one.ablaze.floorp.desktop", + "menus.dashboard.shortcuts.left.shortcut1.tooltip": "Floorp", + "menus.dashboard.shortcuts.enabled": true, + "menus.dashboard.stats.enable_gpu": false, + "menus.clock.weather.enabled": false, + "bar.workspaces.show_icons": false, + "bar.workspaces.show_numbered": true, + "theme.bar.buttons.windowtitle.enableBorder": false, + "bar.windowtitle.custom_title": true, + "bar.windowtitle.truncation": true, + "bar.notifications.show_total": true, + "bar.notifications.hideCountWhenZero": true, + "bar.launcher.icon": "󰣛", + "bar.launcher.autoDetectIcon": false, + "menus.dashboard.shortcuts.left.shortcut3.command": "uwsm app -- com.discordapp.Discord", + "menus.dashboard.shortcuts.left.shortcut2.icon": "󰹕", + "menus.dashboard.shortcuts.left.shortcut2.command": "uwsm app --net.cozic.joplin_desktop", + "menus.dashboard.shortcuts.left.shortcut2.tooltip": "Joplin", + "menus.dashboard.shortcuts.left.shortcut4.command": "rofi -show drun -run-command \"uwsm app -- {cmd}\"" +} \ No newline at end of file diff --git a/files/system/etc/skel/.config/hyprpanel/modules.json b/files/system/etc/skel/.config/hyprpanel/modules.json new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/files/system/etc/skel/.config/hyprpanel/modules.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/files/system/etc/skel/.config/hyprpanel/modules.scss b/files/system/etc/skel/.config/hyprpanel/modules.scss new file mode 100644 index 0000000..e69de29 From e8a8455617aee70a6d70c6e645fdbfbc027decfb Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Thu, 22 May 2025 01:36:47 -0400 Subject: [PATCH 22/38] Added kde portal --- .../etc/skel/.config/xdg-desktop-portal/hyprland-portals.conf | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 files/system/etc/skel/.config/xdg-desktop-portal/hyprland-portals.conf diff --git a/files/system/etc/skel/.config/xdg-desktop-portal/hyprland-portals.conf b/files/system/etc/skel/.config/xdg-desktop-portal/hyprland-portals.conf new file mode 100644 index 0000000..cf421e6 --- /dev/null +++ b/files/system/etc/skel/.config/xdg-desktop-portal/hyprland-portals.conf @@ -0,0 +1,3 @@ +[preferred] +default=hyprland;gtk +org.freedesktop.impl.portal.FileChooser=kde From 065d6bde1c9aab46addc6c90bcbdb575e03cd03e Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Thu, 22 May 2025 01:51:49 -0400 Subject: [PATCH 23/38] remove example script --- files/scripts/example.sh | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 files/scripts/example.sh diff --git a/files/scripts/example.sh b/files/scripts/example.sh deleted file mode 100644 index fdb2e04..0000000 --- a/files/scripts/example.sh +++ /dev/null @@ -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' From a62fdaf823c37f3a81eca124e9422db84ee28a9a Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Thu, 22 May 2025 11:45:52 -0400 Subject: [PATCH 24/38] Added kirigami libraries for settings --- recipes/components/base-module.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index a341538..f4895c2 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -43,6 +43,10 @@ modules: # qt libraries - qt5-qtwayland - qt6-qtwayland + # kirigami + - kf5-kirigami + - kf6-kirigami + - kf6-kirigami-addons # emoji fonts - google-noto-emoji-fonts # vulkan From 76a8542e5516a9987a65d4b916146d3e5b1eb4c9 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Thu, 22 May 2025 12:39:57 -0400 Subject: [PATCH 25/38] Re-added gamescope and added user input to launch script --- .../usr/share/wayland-sessions/steam-big-picture.desktop | 2 +- recipes/components/steam-module.yml | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/files/system/usr/share/wayland-sessions/steam-big-picture.desktop b/files/system/usr/share/wayland-sessions/steam-big-picture.desktop index c04d302..f167201 100644 --- a/files/system/usr/share/wayland-sessions/steam-big-picture.desktop +++ b/files/system/usr/share/wayland-sessions/steam-big-picture.desktop @@ -1,5 +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 -fe -- /usr/bin/steam -tenfoot +Exec=/usr/bin/gamescope -H 1080 -r 60 --force-composition --mangoapp -fe -- /usr/bin/steam -tenfoot %U Type=Application \ No newline at end of file diff --git a/recipes/components/steam-module.yml b/recipes/components/steam-module.yml index f9eeeb3..3286ee0 100644 --- a/recipes/components/steam-module.yml +++ b/recipes/components/steam-module.yml @@ -4,6 +4,10 @@ modules: - rpmfusion install: - steam + # for game mode and big picture mode + - gamescope + # for performance view + - mangohud - type: default-flatpaks system: From c716cd31c9fb8034578f1413a9f6ac63e953f791 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Thu, 22 May 2025 13:00:52 -0400 Subject: [PATCH 26/38] Enabled steam module --- recipes/recipe.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/recipe.yml b/recipes/recipe.yml index f40eff3..18942fd 100644 --- a/recipes/recipe.yml +++ b/recipes/recipe.yml @@ -17,6 +17,7 @@ modules: - from-file: components/nvidia-module.yml - from-file: components/sys-files-module.yml - from-file: components/hyprland-module.yml + - from-file: components/steam-module.yml - from-file: components/default-flatpak.yml - type: signing # this sets up the proper policy & signing files for signed images to work fully From 4e5002b4eacf598520b92ad5e3f1d7b2aa109829 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Thu, 22 May 2025 13:48:28 -0400 Subject: [PATCH 27/38] Corrected format for flatpak in steam module --- recipes/components/steam-module.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/components/steam-module.yml b/recipes/components/steam-module.yml index 3286ee0..1b38ca1 100644 --- a/recipes/components/steam-module.yml +++ b/recipes/components/steam-module.yml @@ -11,4 +11,5 @@ modules: - type: default-flatpaks system: - - net.davidotek.pupgui2 \ No newline at end of file + install: + - net.davidotek.pupgui2 \ No newline at end of file From 83e35bd80637935260be8c277b1e64f2f34ff517 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Thu, 22 May 2025 14:41:19 -0400 Subject: [PATCH 28/38] Converted from rpm-ostree to dnf --- recipes/components/base-module.yml | 124 +++++++++++++------------ recipes/components/hyprland-module.yml | 6 +- recipes/components/sddm-module.yml | 17 ++-- recipes/components/steam-module.yml | 15 +-- 4 files changed, 84 insertions(+), 78 deletions(-) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index f4895c2..ca8e234 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -17,69 +17,73 @@ modules: scripts: - enableautoupdates.sh # using systemd did not work, so using this script instead - - type: rpm-ostree + - type: dnf + repos: + copr: + - erikreider/SwayNotificationCenter install: - # environment - # fuzzy finder - - fzf - # power profiles like - - tuned-ppd - # xwayland - - xorg-x11-server-Xwayland - # headset control - - headsetcontrol - # media related - - mediainfo - - playerctl - - alsa-firmware - # nofitications - - SwayNotificationCenter - # text editor - - neovim - # tools for evocation - - just - # zip utilities - - p7zip - # qt libraries - - qt5-qtwayland - - qt6-qtwayland - # kirigami - - kf5-kirigami - - kf6-kirigami - - kf6-kirigami-addons - # emoji fonts - - google-noto-emoji-fonts - # vulkan - - vulkan-tools - - vulkan-validation-layers + packages: + # environment + # fuzzy finder + - fzf + # power profiles like + - tuned-ppd + # xwayland + - xorg-x11-server-Xwayland + # headset control + - headsetcontrol + # media related + - mediainfo + - playerctl + - alsa-firmware + # nofitications + - SwayNotificationCenter + # text editor + - neovim + # tools for evocation + - just + # zip utilities + - p7zip + # qt libraries + - qt5-qtwayland + - qt6-qtwayland + # kirigami + - kf5-kirigami + - kf6-kirigami + - kf6-kirigami-addons + # emoji fonts + - google-noto-emoji-fonts + # vulkan + - vulkan-tools + - vulkan-validation-layers - # polkit - - polkit - - polkit-kde - - # sound - - wireplumber - - pipewire - - pamixer - - pulseaudio-utils - - # networking - - bluez - - bluez-tools - - firewall-config - - # kde stuff - - dolphin - - plasma-systemsettings - - # theme and GUI - - fontawesome-fonts-all - - gnome-themes-extra - - gnome-icon-theme - - paper-icon-theme - - breeze-icon-theme - - papirus-icon-theme + # polkit + - polkit + - polkit-kde + + # sound + - wireplumber + - pipewire + - pamixer + - pulseaudio-utils + + # networking + - bluez + - bluez-tools + - firewall-config + + # kde stuff + - dolphin + - plasma-systemsettings + + # theme and GUI + - fontawesome-fonts-all + - gnome-themes-extra + - gnome-icon-theme + - paper-icon-theme + - breeze-icon-theme + - papirus-icon-theme - type: script scripts: diff --git a/recipes/components/hyprland-module.yml b/recipes/components/hyprland-module.yml index fd6b198..41d1654 100644 --- a/recipes/components/hyprland-module.yml +++ b/recipes/components/hyprland-module.yml @@ -1,8 +1,8 @@ modules: - - type: rpm-ostree + - type: dnf repos: - - https://copr.fedorainfracloud.org/coprs/solopasha/hyprland/repo/fedora-%OS_VERSION%/solopasha-hyprland-fedora-%OS_VERSION%.repo - - https://copr.fedorainfracloud.org/coprs/erikreider/SwayNotificationCenter/repo/fedora-%OS_VERSION%/erikreider-SwayNotificationCenter-fedora-%OS_VERSION%.repo + copr: + - solopasha/hyprland install: - hyprland-git - hyprpanel diff --git a/recipes/components/sddm-module.yml b/recipes/components/sddm-module.yml index c58847d..ae1913d 100644 --- a/recipes/components/sddm-module.yml +++ b/recipes/components/sddm-module.yml @@ -1,13 +1,14 @@ modules: - - type: rpm-ostree + - type: dnf install: - - sddm - - sddm-themes - - qt5-qtgraphicaleffects - - qt5-qtquickcontrols2 - - qt5-qtsvg - - kwallet - - pam-kwallet + packages: + - sddm + - sddm-themes + - qt5-qtgraphicaleffects + - qt5-qtquickcontrols2 + - qt5-qtsvg + - kwallet + - pam-kwallet - type: script scripts: diff --git a/recipes/components/steam-module.yml b/recipes/components/steam-module.yml index 1b38ca1..ebbfd7c 100644 --- a/recipes/components/steam-module.yml +++ b/recipes/components/steam-module.yml @@ -1,13 +1,14 @@ modules: - - type: rpm-ostree + - type: dnf repos: - - rpmfusion + nonfree: rpmfusion install: - - steam - # for game mode and big picture mode - - gamescope - # for performance view - - mangohud + packages: + - steam + # for game mode and big picture mode + - gamescope + # for performance view + - mangohud - type: default-flatpaks system: From a73107abb389cbedff09bdb620a2d8586fa3c43b Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Thu, 22 May 2025 14:43:57 -0400 Subject: [PATCH 29/38] Corrected hyprland format --- recipes/components/hyprland-module.yml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/recipes/components/hyprland-module.yml b/recipes/components/hyprland-module.yml index 41d1654..4d6ac6e 100644 --- a/recipes/components/hyprland-module.yml +++ b/recipes/components/hyprland-module.yml @@ -4,10 +4,11 @@ modules: copr: - solopasha/hyprland install: - - hyprland-git - - hyprpanel - - hyprpolkitagent - - hyprshot + packages: + - hyprland-git + - hyprpanel + - hyprpolkitagent + - hyprshot - type: systemd user: From 36b1e97b53fdbfa1116bd20008c60d5e58c7df95 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 23 May 2025 14:22:00 -0400 Subject: [PATCH 30/38] Remove kde related dolphin and settings as settings was not working. --- .../xdg-desktop-portal/hyprland-portals.conf | 3 --- recipes/components/base-module.yml | 15 ++++++--------- 2 files changed, 6 insertions(+), 12 deletions(-) delete mode 100644 files/system/etc/skel/.config/xdg-desktop-portal/hyprland-portals.conf diff --git a/files/system/etc/skel/.config/xdg-desktop-portal/hyprland-portals.conf b/files/system/etc/skel/.config/xdg-desktop-portal/hyprland-portals.conf deleted file mode 100644 index cf421e6..0000000 --- a/files/system/etc/skel/.config/xdg-desktop-portal/hyprland-portals.conf +++ /dev/null @@ -1,3 +0,0 @@ -[preferred] -default=hyprland;gtk -org.freedesktop.impl.portal.FileChooser=kde diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index ca8e234..a37c404 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -47,20 +47,14 @@ modules: # qt libraries - qt5-qtwayland - qt6-qtwayland - # kirigami - - kf5-kirigami - - kf6-kirigami - - kf6-kirigami-addons # emoji fonts - google-noto-emoji-fonts # vulkan - vulkan-tools - vulkan-validation-layers - # polkit - polkit - - polkit-kde # sound - wireplumber @@ -73,9 +67,12 @@ modules: - bluez-tools - firewall-config - # kde stuff - - dolphin - - plasma-systemsettings + # file manager + - nautilus + - file-roller + - file-roller-nautilus + - nextcloud-client + - nextcloud-client-nautilus # theme and GUI - fontawesome-fonts-all From 3c9047226bdff71140ea55f5e32b22369e41e76c Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 23 May 2025 15:12:54 -0400 Subject: [PATCH 31/38] Added gnome software store to allow users to install applications --- recipes/components/base-module.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index a37c404..1617d78 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -81,6 +81,10 @@ modules: - paper-icon-theme - breeze-icon-theme - papirus-icon-theme + + # software + - gnome-software + - gnome-software-rpm-ostree - type: script scripts: From 28860af56f4fb0a4f446b9df442456e75c7177a6 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 23 May 2025 15:33:24 -0400 Subject: [PATCH 32/38] Removed firefox browser and made file manager hotkey application agnostic --- .../usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf | 2 +- recipes/components/base-module.yml | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf index f86c491..1537401 100644 --- a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf +++ b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/keybinds.conf @@ -1,7 +1,7 @@ # key_binds.conf # Set programs that you use -$fileManager = uwsm app -- org.kde.dolphin.desktop +$fileManager = xdg-open "$HOME" $menu = uwsm app -- $(wofi --show drun --define=drun-print_desktop_file=true) #$menu = ags request -i launcher show $screenshot = hyprshot -m region --clipboard-only diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 1617d78..25fea38 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -85,6 +85,12 @@ modules: # software - gnome-software - gnome-software-rpm-ostree + + remove: + packages: + # remove firefox + - firefox + - firefox-langpacks - type: script scripts: From 2e3a2afe7471ec2e60b7949a127ebfeffcf6f0bf Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 23 May 2025 15:35:57 -0400 Subject: [PATCH 33/38] changed windowrule for steam to include when in small mode --- .../usr/share/hypr-hydro-os/hyprland.conf.d/game_workspace.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/game_workspace.conf b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/game_workspace.conf index 1affe9e..392f09c 100644 --- a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/game_workspace.conf +++ b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/game_workspace.conf @@ -6,7 +6,7 @@ $game-workspace-number = 5 exec-once = uwsm app -- steam.desktop # window rules -windowrule = workspace 9 silent, title:^(Steam)$ +windowrule = workspace 9 silent, class:^(steam)$ # key binds $mainMod = SUPER From 67ca43db57949754b7d6585499626193736a1988 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 23 May 2025 15:46:43 -0400 Subject: [PATCH 34/38] removed more rpm-ostree for just and powerstat, and removed some ublue packages --- recipes/components/base-module.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 25fea38..e18e6d4 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -1,17 +1,10 @@ modules: - type: containerfile snippets: - - RUN rpm-ostree install just powerstat - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-udev-rules.noarch.rpm / - - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-update-services.noarch.rpm / - - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-signing.noarch.rpm / - - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-luks.noarch.rpm / - - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-just.noarch.rpm / + - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-signing.noarch.rpm - RUN rpm -ivh /ublue-os-udev-rules.noarch.rpm - - RUN rpm -ivh /ublue-os-update-services.noarch.rpm - RUN rpm -ivh /ublue-os-signing.noarch.rpm - - RUN rpm -ivh /ublue-os-luks.noarch.rpm - - RUN rpm -ivh /ublue-os-just.noarch.rpm - type: script scripts: @@ -85,7 +78,10 @@ modules: # software - gnome-software - gnome-software-rpm-ostree - + + # power + - powerstat + remove: packages: # remove firefox From 4fa79e1eed97b54523c7f9559354a32cfaf6ffc1 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 23 May 2025 15:49:36 -0400 Subject: [PATCH 35/38] added back copy destination for signing package --- recipes/components/base-module.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index e18e6d4..4d03288 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -2,7 +2,7 @@ modules: - type: containerfile snippets: - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-udev-rules.noarch.rpm / - - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-signing.noarch.rpm + - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-signing.noarch.rpm / - RUN rpm -ivh /ublue-os-udev-rules.noarch.rpm - RUN rpm -ivh /ublue-os-signing.noarch.rpm From 66757cf6e0cdcfe82d453b0ecf149799c6c850d4 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 23 May 2025 15:52:43 -0400 Subject: [PATCH 36/38] Added back update services package from ublue to allow auto update --- recipes/components/base-module.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 4d03288..90ff4c9 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -2,8 +2,10 @@ modules: - type: containerfile snippets: - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-udev-rules.noarch.rpm / + - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-update-services.noarch.rpm / - COPY --from=ghcr.io/ublue-os/config:latest /rpms/ublue-os-signing.noarch.rpm / - RUN rpm -ivh /ublue-os-udev-rules.noarch.rpm + - RUN rpm -ivh /ublue-os-update-services.noarch.rpm - RUN rpm -ivh /ublue-os-signing.noarch.rpm - type: script From be384c3e28f1eade8a3495289d7ccac4ebbb773a Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 23 May 2025 17:03:09 -0400 Subject: [PATCH 37/38] Copied the menu call to the dashboard menu --- files/system/etc/skel/.config/hyprpanel/config.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/system/etc/skel/.config/hyprpanel/config.json b/files/system/etc/skel/.config/hyprpanel/config.json index aa6fb44..47a8ddf 100644 --- a/files/system/etc/skel/.config/hyprpanel/config.json +++ b/files/system/etc/skel/.config/hyprpanel/config.json @@ -55,5 +55,5 @@ "menus.dashboard.shortcuts.left.shortcut2.icon": "󰹕", "menus.dashboard.shortcuts.left.shortcut2.command": "uwsm app --net.cozic.joplin_desktop", "menus.dashboard.shortcuts.left.shortcut2.tooltip": "Joplin", - "menus.dashboard.shortcuts.left.shortcut4.command": "rofi -show drun -run-command \"uwsm app -- {cmd}\"" + "menus.dashboard.shortcuts.left.shortcut4.command": "uwsm app -- $(wofi --show drun --define=drun-print_desktop_file=true)" } \ No newline at end of file From 46ff9d254ca70b3693dc7e445d6061e9b9833e72 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 23 May 2025 17:31:00 -0400 Subject: [PATCH 38/38] Converted autostart execs to systemd units --- .../hypr-hydro-os/hyprland.conf.d/browser.conf | 6 +----- .../hyprland.conf.d/discord_workspace.conf | 7 +------ .../hyprland.conf.d/game_workspace.conf | 2 -- .../hypr-hydro-os/hyprland.conf.d/terminal.conf | 4 ---- files/systemd/user/discord.service | 17 +++++++++++++++++ files/systemd/user/floorp.service | 17 +++++++++++++++++ files/systemd/user/steam.service | 17 +++++++++++++++++ files/systemd/user/terminal.service | 17 +++++++++++++++++ recipes/components/autostart-module.yml | 10 ++++++++++ recipes/components/hyprland-module.yml | 8 +------- 10 files changed, 81 insertions(+), 24 deletions(-) create mode 100644 files/systemd/user/discord.service create mode 100644 files/systemd/user/floorp.service create mode 100644 files/systemd/user/steam.service create mode 100644 files/systemd/user/terminal.service create mode 100644 recipes/components/autostart-module.yml diff --git a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/browser.conf b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/browser.conf index 0b860e0..ac65b59 100644 --- a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/browser.conf +++ b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/browser.conf @@ -1,11 +1,7 @@ # browser.conf # floorp -$browser = uwsm app -- one.ablaze.floorp.desktop $mainMod = SUPER -## autostart -exec-once = [workspace 1 silent] $browser - ## keybind -bind = $mainMod, F, exec, $browser +bind = $mainMod, F, exec, uwsm app -- one.ablaze.floorp.desktop diff --git a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/discord_workspace.conf b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/discord_workspace.conf index e7f9c30..6cd281f 100644 --- a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/discord_workspace.conf +++ b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/discord_workspace.conf @@ -1,7 +1,5 @@ # discord_workspace.conf -$discord = uwsm app -- com.discordapp.Discord.desktop - $discord_class = class:^(vesktop)$|^(discord)$|^(com.discord.app.Discord)$|^(WebCord)$|^(equibop)$ # workspace @@ -20,7 +18,4 @@ bind = $mainMod, D, togglespecialworkspace, discord bind = $mainMod SHIFT, D, movetoworkspace, special:discord # discord overlay -#exec-once = discover-overlay - -# launch discord -exec-once = $discord \ No newline at end of file +#exec-once = discover-overlay \ No newline at end of file diff --git a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/game_workspace.conf b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/game_workspace.conf index 392f09c..5df2548 100644 --- a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/game_workspace.conf +++ b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/game_workspace.conf @@ -3,8 +3,6 @@ # workspace number $game-workspace-number = 5 -exec-once = uwsm app -- steam.desktop - # window rules windowrule = workspace 9 silent, class:^(steam)$ diff --git a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/terminal.conf b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/terminal.conf index 98e28ce..539d57a 100644 --- a/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/terminal.conf +++ b/files/system/usr/share/hypr-hydro-os/hyprland.conf.d/terminal.conf @@ -1,12 +1,8 @@ # terminal.conf -$terminal = uwsm app -- kitty.desktop # workspace workspace = special:terminal -# launch a terminal -exec-once = [workspace special:terminal silent] $terminal - # key binds $mainMod = SUPER bind = $mainMod, T, togglespecialworkspace, terminal diff --git a/files/systemd/user/discord.service b/files/systemd/user/discord.service new file mode 100644 index 0000000..aba6024 --- /dev/null +++ b/files/systemd/user/discord.service @@ -0,0 +1,17 @@ +[Unit] +Description=The pc gaming platform +# 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/flatpak run com.discordapp.Discord +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 \ No newline at end of file diff --git a/files/systemd/user/floorp.service b/files/systemd/user/floorp.service new file mode 100644 index 0000000..1fc9b5b --- /dev/null +++ b/files/systemd/user/floorp.service @@ -0,0 +1,17 @@ +[Unit] +Description=The pc gaming platform +# 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/flatpak run one.ablaze.floorp +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 \ No newline at end of file diff --git a/files/systemd/user/steam.service b/files/systemd/user/steam.service new file mode 100644 index 0000000..84ea60e --- /dev/null +++ b/files/systemd/user/steam.service @@ -0,0 +1,17 @@ +[Unit] +Description=The pc gaming platform +# 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/steam %U +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 \ No newline at end of file diff --git a/files/systemd/user/terminal.service b/files/systemd/user/terminal.service new file mode 100644 index 0000000..da56249 --- /dev/null +++ b/files/systemd/user/terminal.service @@ -0,0 +1,17 @@ +[Unit] +Description=The pc gaming platform +# 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/kitty +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 \ No newline at end of file diff --git a/recipes/components/autostart-module.yml b/recipes/components/autostart-module.yml new file mode 100644 index 0000000..e66b83c --- /dev/null +++ b/recipes/components/autostart-module.yml @@ -0,0 +1,10 @@ +modules: + - type: systemd + user: + enabled: + - hyprpanel.service + - hyprpolkitagent.service + - discord.service + - floorp.service + - steam.service + - terminal.service \ No newline at end of file diff --git a/recipes/components/hyprland-module.yml b/recipes/components/hyprland-module.yml index 4d6ac6e..6ab195d 100644 --- a/recipes/components/hyprland-module.yml +++ b/recipes/components/hyprland-module.yml @@ -8,10 +8,4 @@ modules: - hyprland-git - hyprpanel - hyprpolkitagent - - hyprshot - - - type: systemd - user: - enabled: - - hyprpanel.service - - hyprpolkitagent.service \ No newline at end of file + - hyprshot \ No newline at end of file