From b94e8e44b27b631168a871c46fe24adbd65692f2 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sun, 8 Jun 2025 00:12:07 -0400 Subject: [PATCH 01/35] Added flatseal and mission center for some management of the system and flatpaks. --- recipes/components/default-flatpak.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/recipes/components/default-flatpak.yml b/recipes/components/default-flatpak.yml index 6737ad6..e690a43 100644 --- a/recipes/components/default-flatpak.yml +++ b/recipes/components/default-flatpak.yml @@ -4,6 +4,8 @@ modules: system: install: - one.ablaze.floorp + - com.github.tchx84.Flatseal + - io.missioncenter.MissionCenter user: install: - com.discordapp.Discord \ No newline at end of file -- 2.39.5 From f18216707f4ff43b8b00549faa91f2c8c2d4e8d5 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sun, 8 Jun 2025 12:12:08 -0400 Subject: [PATCH 02/35] Added pipewire to change names and node names to discord and freetube from chromium to unique names --- .../etc/pipewire/105-add-discord-name.conf | 26 +++++++++++++++++++ .../etc/pipewire/109-add-freetube-name.conf | 17 ++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 files/system/etc/pipewire/105-add-discord-name.conf create mode 100644 files/system/etc/pipewire/109-add-freetube-name.conf diff --git a/files/system/etc/pipewire/105-add-discord-name.conf b/files/system/etc/pipewire/105-add-discord-name.conf new file mode 100644 index 0000000..8cfbed5 --- /dev/null +++ b/files/system/etc/pipewire/105-add-discord-name.conf @@ -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" + } + } + } +] diff --git a/files/system/etc/pipewire/109-add-freetube-name.conf b/files/system/etc/pipewire/109-add-freetube-name.conf new file mode 100644 index 0000000..b7b5902 --- /dev/null +++ b/files/system/etc/pipewire/109-add-freetube-name.conf @@ -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" + } + } + } +] -- 2.39.5 From 8741a1162ff4a9fe0e78b07eb7a9b45d58b28716 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sun, 8 Jun 2025 12:19:59 -0400 Subject: [PATCH 03/35] Opted for warehouse instead of gnome software --- recipes/components/base-module.yml | 3 --- recipes/components/default-flatpak.yml | 1 + 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 50c1d17..3b20b14 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -78,9 +78,6 @@ modules: - breeze-icon-theme - papirus-icon-theme - # software - - gnome-software - # power - powerstat diff --git a/recipes/components/default-flatpak.yml b/recipes/components/default-flatpak.yml index e690a43..a58cf9f 100644 --- a/recipes/components/default-flatpak.yml +++ b/recipes/components/default-flatpak.yml @@ -6,6 +6,7 @@ modules: - one.ablaze.floorp - com.github.tchx84.Flatseal - io.missioncenter.MissionCenter + - io.github.flattool.Warehouse user: install: - com.discordapp.Discord \ No newline at end of file -- 2.39.5 From 4dab1c42675a87f240312c79aece8cb824f0a34f Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sun, 8 Jun 2025 18:14:18 -0400 Subject: [PATCH 04/35] Moved monitors.conf from chezmoi config repo to here as users will tend to have various different monitor layouts. --- .../etc/skel/.config/hypr/hyprland.conf.d/monitors.conf | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 files/system/etc/skel/.config/hypr/hyprland.conf.d/monitors.conf diff --git a/files/system/etc/skel/.config/hypr/hyprland.conf.d/monitors.conf b/files/system/etc/skel/.config/hypr/hyprland.conf.d/monitors.conf new file mode 100644 index 0000000..17890f6 --- /dev/null +++ b/files/system/etc/skel/.config/hypr/hyprland.conf.d/monitors.conf @@ -0,0 +1,4 @@ +# monitors.conf + +# See https://wiki.hyprland.org/Configuring/Monitors/ +monitor=,preferred,auto,auto \ No newline at end of file -- 2.39.5 From de1d73fef6a4fb8938c8fb421e6881e8741dd01f Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sun, 8 Jun 2025 18:27:06 -0400 Subject: [PATCH 05/35] Added a default background image --- .../usr/share/hydro-os/DefaultBackground.png | Bin 0 -> 174807 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 files/system/usr/share/hydro-os/DefaultBackground.png diff --git a/files/system/usr/share/hydro-os/DefaultBackground.png b/files/system/usr/share/hydro-os/DefaultBackground.png new file mode 100644 index 0000000000000000000000000000000000000000..567dfd41b41891c900ca8714dcf4786110a4167c GIT binary patch literal 174807 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�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

X%mNw}VEt89tSXHiuqv|D3{scXf^4jcY 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 Wez^UFKZ0MczOv>|-@UYH@BaaA>eAf+ literal 0 HcmV?d00001 -- 2.39.5 From fd135e43d2c129d54980c3ba8da89ab6f6cf58a7 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sun, 8 Jun 2025 21:29:37 -0400 Subject: [PATCH 06/35] Removed ublue-os-update-services and moved from rpm-ostree to bootc update. Also added an update to notify on completed download. --- files/systemd/system/notify_update.service | 13 +++++++++++++ recipes/components/base-module.yml | 3 +-- 2 files changed, 14 insertions(+), 2 deletions(-) create mode 100644 files/systemd/system/notify_update.service diff --git a/files/systemd/system/notify_update.service b/files/systemd/system/notify_update.service new file mode 100644 index 0000000..306e301 --- /dev/null +++ b/files/systemd/system/notify_update.service @@ -0,0 +1,13 @@ +[Unit] +Description=Notify the user when the next update has been downloaded. +# order after update has been applied +After=bootc-status-updated.target + +[Service] +Type=exec +# For when only in graphical session +ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" "" +ExecStart=/usr/bin/notify-send "New system update downloaded\!" + +[Install] +WantedBy=bootc-status-updated.target \ No newline at end of file diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 3b20b14..9a0521e 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -6,13 +6,12 @@ modules: install: packages: - ublue-os-udev-rules - - ublue-os-update-services - ublue-os-signing - type: systemd system: enabled: - - rpm-ostreed-automatic.timer + - bootc-fetch-apply-updates.timer - podman-auto-update.timer - flatpak-system-update.timer user: -- 2.39.5 From 991a89c4a6c08f3ae3f9e3ca2261af3cecd83808 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 9 Jun 2025 01:44:38 -0400 Subject: [PATCH 07/35] Added personal version of flatpak-system-update service --- files/systemd/system/flatpak-system-update.service | 5 +++++ files/systemd/system/flatpak-system-update.timer | 9 +++++++++ 2 files changed, 14 insertions(+) create mode 100644 files/systemd/system/flatpak-system-update.service create mode 100644 files/systemd/system/flatpak-system-update.timer diff --git a/files/systemd/system/flatpak-system-update.service b/files/systemd/system/flatpak-system-update.service new file mode 100644 index 0000000..ca8f96c --- /dev/null +++ b/files/systemd/system/flatpak-system-update.service @@ -0,0 +1,5 @@ +[Unit] +Description=Update flatpaks + +[Service] +ExecStart=flatpak update --noninteractive \ No newline at end of file diff --git a/files/systemd/system/flatpak-system-update.timer b/files/systemd/system/flatpak-system-update.timer new file mode 100644 index 0000000..ff66905 --- /dev/null +++ b/files/systemd/system/flatpak-system-update.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Update flatpak + +[Timer] +OnBootSec=15min +OnCalendar=daily + +[Install] +WantedBy=timers.target \ No newline at end of file -- 2.39.5 From 05d374888855778da2d92dcd4f35363d4e38413a Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 9 Jun 2025 01:44:50 -0400 Subject: [PATCH 08/35] Added xpadneo --- recipes/components/steam-module.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipes/components/steam-module.yml b/recipes/components/steam-module.yml index ebbfd7c..121589f 100644 --- a/recipes/components/steam-module.yml +++ b/recipes/components/steam-module.yml @@ -2,6 +2,9 @@ modules: - type: dnf repos: nonfree: rpmfusion + copr: + enable: + - atim/xpadneo install: packages: - steam @@ -9,6 +12,7 @@ modules: - gamescope # for performance view - mangohud + - xpadneo - type: default-flatpaks system: -- 2.39.5 From c7391ae3c5dcf8fccdebc48511298913540b7fbf Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 9 Jun 2025 02:25:28 -0400 Subject: [PATCH 09/35] Added user variants of flatpak update service --- files/systemd/user/flatpak-user-update.service | 5 +++++ files/systemd/user/flatpak-user-update.timer | 9 +++++++++ 2 files changed, 14 insertions(+) create mode 100644 files/systemd/user/flatpak-user-update.service create mode 100644 files/systemd/user/flatpak-user-update.timer diff --git a/files/systemd/user/flatpak-user-update.service b/files/systemd/user/flatpak-user-update.service new file mode 100644 index 0000000..ca8f96c --- /dev/null +++ b/files/systemd/user/flatpak-user-update.service @@ -0,0 +1,5 @@ +[Unit] +Description=Update flatpaks + +[Service] +ExecStart=flatpak update --noninteractive \ No newline at end of file diff --git a/files/systemd/user/flatpak-user-update.timer b/files/systemd/user/flatpak-user-update.timer new file mode 100644 index 0000000..ff66905 --- /dev/null +++ b/files/systemd/user/flatpak-user-update.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Update flatpak + +[Timer] +OnBootSec=15min +OnCalendar=daily + +[Install] +WantedBy=timers.target \ No newline at end of file -- 2.39.5 From fac1440766bed87b4d9fc717ea3fcbee6b5058c5 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 9 Jun 2025 03:12:40 -0400 Subject: [PATCH 10/35] Actually installed fuzzel --- recipes/components/base-module.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 9a0521e..30d4dcc 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -49,6 +49,9 @@ modules: # vulkan - vulkan-tools - vulkan-validation-layers + + # dmenu runner + - fuzzel # polkit - polkit -- 2.39.5 From 853ccb3dd761a17dd30494ac7befca0371225d16 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 9 Jun 2025 03:30:01 -0400 Subject: [PATCH 11/35] Enabled notification on update service --- recipes/components/base-module.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 30d4dcc..dbdf26c 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -14,6 +14,7 @@ modules: - bootc-fetch-apply-updates.timer - podman-auto-update.timer - flatpak-system-update.timer + - notify_update.service user: enabled: - podman-auto-update.timer -- 2.39.5 From 91f6388777c69a5a4fedec23bc41addf91c64ff3 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 9 Jun 2025 12:00:13 -0400 Subject: [PATCH 12/35] Removed condition to notify update service --- files/systemd/system/notify_update.service | 2 -- 1 file changed, 2 deletions(-) diff --git a/files/systemd/system/notify_update.service b/files/systemd/system/notify_update.service index 306e301..23c6afb 100644 --- a/files/systemd/system/notify_update.service +++ b/files/systemd/system/notify_update.service @@ -5,8 +5,6 @@ After=bootc-status-updated.target [Service] Type=exec -# For when only in graphical session -ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" "" ExecStart=/usr/bin/notify-send "New system update downloaded\!" [Install] -- 2.39.5 From 85d3cd307b13e293a8fc2b07a7d07c1129c194a8 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 9 Jun 2025 22:36:44 -0400 Subject: [PATCH 13/35] Added qt ct for 5 and 6 --- recipes/components/base-module.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index dbdf26c..9b8770f 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -45,6 +45,9 @@ modules: # qt libraries - qt5-qtwayland - qt6-qtwayland + # qt ct packages + - qt5ct + - qt6ct # emoji fonts - google-noto-emoji-fonts # vulkan -- 2.39.5 From 430b6ac49bb2065ecefb62897e9f35a9551d5154 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Mon, 9 Jun 2025 23:55:13 -0400 Subject: [PATCH 14/35] Moved notify-update service to user space and updated name to have consistent naming format. --- .../notify_update.service => user/notify-update.service} | 1 + recipes/components/base-module.yml | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) rename files/systemd/{system/notify_update.service => user/notify-update.service} (64%) diff --git a/files/systemd/system/notify_update.service b/files/systemd/user/notify-update.service similarity index 64% rename from files/systemd/system/notify_update.service rename to files/systemd/user/notify-update.service index 23c6afb..86ecb44 100644 --- a/files/systemd/system/notify_update.service +++ b/files/systemd/user/notify-update.service @@ -5,6 +5,7 @@ After=bootc-status-updated.target [Service] Type=exec +ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" "" ExecStart=/usr/bin/notify-send "New system update downloaded\!" [Install] diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 9b8770f..25a832e 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -14,11 +14,11 @@ modules: - bootc-fetch-apply-updates.timer - podman-auto-update.timer - flatpak-system-update.timer - - notify_update.service user: enabled: - podman-auto-update.timer - flatpak-user-update.timer + - notify-update.service - type: dnf install: -- 2.39.5 From 676ec3afeda3c41565c2780e0cab142ab141139f Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Tue, 10 Jun 2025 13:45:12 -0400 Subject: [PATCH 15/35] Using systemd-run to launch notify-send --- files/systemd/user/notify-update.service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/files/systemd/user/notify-update.service b/files/systemd/user/notify-update.service index 86ecb44..ca8fd90 100644 --- a/files/systemd/user/notify-update.service +++ b/files/systemd/user/notify-update.service @@ -6,7 +6,7 @@ After=bootc-status-updated.target [Service] Type=exec ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" "" -ExecStart=/usr/bin/notify-send "New system update downloaded\!" +ExecStart=/usr/bin/systemd-run --user notify-send 'Update Downloaded!' 'A new update has been downloaded! Please restart to apply update!' [Install] WantedBy=bootc-status-updated.target \ No newline at end of file -- 2.39.5 From f9e324a7d44cc886c553e235bb92436a2d2bb013 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Tue, 10 Jun 2025 16:44:31 -0400 Subject: [PATCH 16/35] Added kwallet and signon formally. --- recipes/components/base-module.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 25a832e..36f9a02 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -59,6 +59,20 @@ modules: # polkit - polkit + + # password keeper + - kf6-kwallet + - kf5-kwallet + - kwalletmanager5 + - pam-kwallet + + # signon + - signon + - signon-kwallet-extension + - signon-plugin-oauth2 + - signon-qt5 + - signon-qt6 + - signon-ui # sound - wireplumber -- 2.39.5 From 5b932f8a19f31d9ef298d5a72f8f3067bb5a92b0 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Tue, 10 Jun 2025 17:35:17 -0400 Subject: [PATCH 17/35] Moved notify-update service back to system --- files/systemd/{user => system}/notify-update.service | 0 recipes/components/base-module.yml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename files/systemd/{user => system}/notify-update.service (100%) diff --git a/files/systemd/user/notify-update.service b/files/systemd/system/notify-update.service similarity index 100% rename from files/systemd/user/notify-update.service rename to files/systemd/system/notify-update.service diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 36f9a02..bf0cb5e 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -14,11 +14,11 @@ modules: - bootc-fetch-apply-updates.timer - podman-auto-update.timer - flatpak-system-update.timer + - notify-update.service user: enabled: - podman-auto-update.timer - flatpak-user-update.timer - - notify-update.service - type: dnf install: -- 2.39.5 From 7d816a0b11d2f977e4b21c07a741abb1462ffd9f Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 11 Jun 2025 00:05:28 -0400 Subject: [PATCH 18/35] Moved all kwallet and signon into sddm-module --- recipes/components/base-module.yml | 14 -------------- recipes/components/sddm-module.yml | 13 ++++++++++++- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index bf0cb5e..558cf28 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -59,20 +59,6 @@ modules: # polkit - polkit - - # password keeper - - kf6-kwallet - - kf5-kwallet - - kwalletmanager5 - - pam-kwallet - - # signon - - signon - - signon-kwallet-extension - - signon-plugin-oauth2 - - signon-qt5 - - signon-qt6 - - signon-ui # sound - wireplumber diff --git a/recipes/components/sddm-module.yml b/recipes/components/sddm-module.yml index 8b2cc11..8cd02e0 100644 --- a/recipes/components/sddm-module.yml +++ b/recipes/components/sddm-module.yml @@ -7,8 +7,19 @@ modules: - qt5-qtgraphicaleffects - qt5-qtquickcontrols2 - qt5-qtsvg - - kwallet + + # password keeper + - kf6-kwallet + - kwalletmanager - pam-kwallet + + # signon + - signon + - signon-kwallet-extension + - signon-plugin-oauth2 + - signon-qt5 + - signon-qt6 + - signon-ui - type: script scripts: -- 2.39.5 From 5028f8b3c5931e56080da02d47023cd107f6762e Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 11 Jun 2025 00:55:56 -0400 Subject: [PATCH 19/35] Forgot to remove the exec condition. --- files/systemd/system/notify-update.service | 1 - 1 file changed, 1 deletion(-) diff --git a/files/systemd/system/notify-update.service b/files/systemd/system/notify-update.service index ca8fd90..0a94150 100644 --- a/files/systemd/system/notify-update.service +++ b/files/systemd/system/notify-update.service @@ -5,7 +5,6 @@ After=bootc-status-updated.target [Service] Type=exec -ExecCondition=/lib/systemd/systemd-xdg-autostart-condition "wlroots:sway:Wayfire:labwc:Hyprland" "" ExecStart=/usr/bin/systemd-run --user notify-send 'Update Downloaded!' 'A new update has been downloaded! Please restart to apply update!' [Install] -- 2.39.5 From c3c41fa9b35bb8970bed8f21cb1b9bf506d773a9 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 11 Jun 2025 09:58:35 -0400 Subject: [PATCH 20/35] Add a service to hopefully unlock kwallet on start --- files/systemd/user/unlock-kwallet.service | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 files/systemd/user/unlock-kwallet.service diff --git a/files/systemd/user/unlock-kwallet.service b/files/systemd/user/unlock-kwallet.service new file mode 100644 index 0000000..3215bd8 --- /dev/null +++ b/files/systemd/user/unlock-kwallet.service @@ -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 \ No newline at end of file -- 2.39.5 From 64fe2b055496a7d471e345b2e8adb5fe63698d83 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 11 Jun 2025 15:54:57 -0400 Subject: [PATCH 21/35] Switched to custom update service and timer. Also activated unlock-wallet service --- files/systemd/system/bootc-fetch-updates.service | 8 ++++++++ files/systemd/system/bootc-fetch-updates.timer | 12 ++++++++++++ recipes/components/base-module.yml | 3 ++- 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 files/systemd/system/bootc-fetch-updates.service create mode 100644 files/systemd/system/bootc-fetch-updates.timer diff --git a/files/systemd/system/bootc-fetch-updates.service b/files/systemd/system/bootc-fetch-updates.service new file mode 100644 index 0000000..c316cde --- /dev/null +++ b/files/systemd/system/bootc-fetch-updates.service @@ -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 \ No newline at end of file diff --git a/files/systemd/system/bootc-fetch-updates.timer b/files/systemd/system/bootc-fetch-updates.timer new file mode 100644 index 0000000..482831f --- /dev/null +++ b/files/systemd/system/bootc-fetch-updates.timer @@ -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 \ No newline at end of file diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 558cf28..63c3d42 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -11,7 +11,7 @@ modules: - type: systemd system: enabled: - - bootc-fetch-apply-updates.timer + - bootc-fetch-updates.timer - podman-auto-update.timer - flatpak-system-update.timer - notify-update.service @@ -19,6 +19,7 @@ modules: enabled: - podman-auto-update.timer - flatpak-user-update.timer + - unlock-wallet.service - type: dnf install: -- 2.39.5 From 2791d04cdacd7b399c4045cfbb3ed83eccdf4daf Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 11 Jun 2025 16:17:12 -0400 Subject: [PATCH 22/35] fixed typo --- 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 63c3d42..720760e 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -19,7 +19,7 @@ modules: enabled: - podman-auto-update.timer - flatpak-user-update.timer - - unlock-wallet.service + - unlock-kwallet.service - type: dnf install: -- 2.39.5 From 2c63bb864298f29dcd2f064fa22c47a2a3f4f23b Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 11 Jun 2025 16:41:41 -0400 Subject: [PATCH 23/35] Moved notify service back to user space due to user scope not found. --- files/systemd/{system => user}/notify-update.service | 0 recipes/components/base-module.yml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename files/systemd/{system => user}/notify-update.service (100%) diff --git a/files/systemd/system/notify-update.service b/files/systemd/user/notify-update.service similarity index 100% rename from files/systemd/system/notify-update.service rename to files/systemd/user/notify-update.service diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 720760e..fbac760 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -14,12 +14,12 @@ modules: - bootc-fetch-updates.timer - podman-auto-update.timer - flatpak-system-update.timer - - notify-update.service user: enabled: - podman-auto-update.timer - flatpak-user-update.timer - unlock-kwallet.service + - notify-update.service - type: dnf install: -- 2.39.5 From 38c06add0756956cc380a5df99972f780f6e0c4c Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Thu, 12 Jun 2025 15:48:23 -0400 Subject: [PATCH 24/35] Use swww daemon directly and change via matugen instead of relying on hyprpanel --- files/systemd/user/swww.service | 15 +++++++++++++++ recipes/components/base-module.yml | 1 + 2 files changed, 16 insertions(+) create mode 100644 files/systemd/user/swww.service diff --git a/files/systemd/user/swww.service b/files/systemd/user/swww.service new file mode 100644 index 0000000..1993560 --- /dev/null +++ b/files/systemd/user/swww.service @@ -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 \ No newline at end of file diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index fbac760..c74bbae 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -20,6 +20,7 @@ modules: - flatpak-user-update.timer - unlock-kwallet.service - notify-update.service + - swww.service - type: dnf install: -- 2.39.5 From 7a10a11e0f321d81ecc724407c5fc2a9bba2531d Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 13 Jun 2025 11:28:58 -0400 Subject: [PATCH 25/35] Added path systemd unit to trigger update notification --- files/systemd/user/bootc-status-updated.path | 11 +++++++++++ files/systemd/user/bootc-status-updated.target | 5 +++++ recipes/components/base-module.yml | 1 + 3 files changed, 17 insertions(+) create mode 100644 files/systemd/user/bootc-status-updated.path create mode 100644 files/systemd/user/bootc-status-updated.target diff --git a/files/systemd/user/bootc-status-updated.path b/files/systemd/user/bootc-status-updated.path new file mode 100644 index 0000000..0b85fbf --- /dev/null +++ b/files/systemd/user/bootc-status-updated.path @@ -0,0 +1,11 @@ +[Unit] +Description=Monitor bootc for status changes +Documentation=man:bootc-status-updated.path(5) +ConditionPathExists=/run/ostree-booted + +[Path] +PathChanged=/ostree/bootc +Unit=bootc-status-updated.target + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/files/systemd/user/bootc-status-updated.target b/files/systemd/user/bootc-status-updated.target new file mode 100644 index 0000000..9fabc15 --- /dev/null +++ b/files/systemd/user/bootc-status-updated.target @@ -0,0 +1,5 @@ +[Unit] +Description=Target for bootc status changes +Documentation=man:bootc-status-updated.target(5) +StopWhenUnneeded=true +ConditionPathExists=/run/ostree-booted \ No newline at end of file diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index c74bbae..9bd6da5 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -21,6 +21,7 @@ modules: - unlock-kwallet.service - notify-update.service - swww.service + - bootc-status-updated.path - type: dnf install: -- 2.39.5 From ff0cb59c44233469200fe851ab31456e180cc3e3 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 13 Jun 2025 21:58:32 -0400 Subject: [PATCH 26/35] Added initramfs module to regenerate as modprobe.d and dracut.conf.d have been modified --- recipes/recipe_nvidia.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/recipe_nvidia.yml b/recipes/recipe_nvidia.yml index dc4ad9e..4cb1270 100644 --- a/recipes/recipe_nvidia.yml +++ b/recipes/recipe_nvidia.yml @@ -22,6 +22,7 @@ modules: - from-file: components/autostart-module.yml - from-file: components/default-flatpak.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 -- 2.39.5 From e986b0395f9ed2ef93a9681de42bdaef105ae617 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 13 Jun 2025 23:04:01 -0400 Subject: [PATCH 27/35] Moved swww service to autostart module as that makes more sense. --- recipes/components/autostart-module.yml | 1 + recipes/components/base-module.yml | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/components/autostart-module.yml b/recipes/components/autostart-module.yml index 6089a78..88d87dd 100644 --- a/recipes/components/autostart-module.yml +++ b/recipes/components/autostart-module.yml @@ -2,6 +2,7 @@ modules: - type: systemd user: enabled: + - swww.service - hyprpanel.service - hyprpolkitagent.service - discord.service diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 9bd6da5..31da3d6 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -20,7 +20,6 @@ modules: - flatpak-user-update.timer - unlock-kwallet.service - notify-update.service - - swww.service - bootc-status-updated.path - type: dnf -- 2.39.5 From f8ee64c130300543905f7182d8a2ca3cdacd55cc Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Fri, 13 Jun 2025 23:14:09 -0400 Subject: [PATCH 28/35] Added image info --- files/scripts/addimageinfo.sh | 40 ++++++++++++++++++++++++++++++ recipes/components/base-module.yml | 4 +++ 2 files changed, 44 insertions(+) create mode 100644 files/scripts/addimageinfo.sh diff --git a/files/scripts/addimageinfo.sh b/files/scripts/addimageinfo.sh new file mode 100644 index 0000000..de46de4 --- /dev/null +++ b/files/scripts/addimageinfo.sh @@ -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 \ No newline at end of file diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 31da3d6..1570c93 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -8,6 +8,10 @@ modules: - ublue-os-udev-rules - ublue-os-signing + - type: script + scripts: + - addimageinfo.sh + - type: systemd system: enabled: -- 2.39.5 From 9e0dc3216f4719245b1faf96a20af42c5eeceb15 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sat, 14 Jun 2025 10:36:39 -0400 Subject: [PATCH 29/35] Attempting to use system bootc-status-updated to flag the user side. --- files/systemd/system/flag-update-downloaded.service | 10 ++++++++++ files/systemd/user/bootc-status-updated.path | 3 +-- files/systemd/user/bootc-status-updated.target | 3 +-- 3 files changed, 12 insertions(+), 4 deletions(-) create mode 100644 files/systemd/system/flag-update-downloaded.service diff --git a/files/systemd/system/flag-update-downloaded.service b/files/systemd/system/flag-update-downloaded.service new file mode 100644 index 0000000..dde8c29 --- /dev/null +++ b/files/systemd/system/flag-update-downloaded.service @@ -0,0 +1,10 @@ +[Unit] +Description=Create a file to flag that an update has been downloaded +After=bootc-status-updated.target + +[Service] +Type=exec +ExecStart=/usr/bin/touch /tmp/hydro-os-updated + +[Install] +WantedBy=bootc-status-updated.target \ No newline at end of file diff --git a/files/systemd/user/bootc-status-updated.path b/files/systemd/user/bootc-status-updated.path index 0b85fbf..f38a4d0 100644 --- a/files/systemd/user/bootc-status-updated.path +++ b/files/systemd/user/bootc-status-updated.path @@ -1,10 +1,9 @@ [Unit] Description=Monitor bootc for status changes Documentation=man:bootc-status-updated.path(5) -ConditionPathExists=/run/ostree-booted [Path] -PathChanged=/ostree/bootc +PathExists=/tmp/hydro-os-updated Unit=bootc-status-updated.target [Install] diff --git a/files/systemd/user/bootc-status-updated.target b/files/systemd/user/bootc-status-updated.target index 9fabc15..c74140d 100644 --- a/files/systemd/user/bootc-status-updated.target +++ b/files/systemd/user/bootc-status-updated.target @@ -1,5 +1,4 @@ [Unit] Description=Target for bootc status changes Documentation=man:bootc-status-updated.target(5) -StopWhenUnneeded=true -ConditionPathExists=/run/ostree-booted \ No newline at end of file +StopWhenUnneeded=true \ No newline at end of file -- 2.39.5 From 5a4123097e93797de834a4ccaab27fd7b79a2314 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sat, 14 Jun 2025 11:11:53 -0400 Subject: [PATCH 30/35] Forgot to enable the service --- recipes/components/base-module.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 1570c93..4791703 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -18,6 +18,7 @@ modules: - bootc-fetch-updates.timer - podman-auto-update.timer - flatpak-system-update.timer + - flag-update-downloaded.service user: enabled: - podman-auto-update.timer -- 2.39.5 From cf132260df1412ddadfb622b6d423e30b11f5461 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sat, 14 Jun 2025 12:48:35 -0400 Subject: [PATCH 31/35] Attempt to utilize bling module ublue-update instead of personal systemd units. --- files/system/etc/ublue-update/ublue-update.toml | 8 ++++++++ files/systemd/system/bootc-fetch-updates.service | 8 -------- files/systemd/system/bootc-fetch-updates.timer | 12 ------------ .../systemd/system/flag-update-downloaded.service | 10 ---------- files/systemd/system/flatpak-system-update.service | 5 ----- files/systemd/system/flatpak-system-update.timer | 9 --------- files/systemd/user/bootc-status-updated.path | 10 ---------- files/systemd/user/bootc-status-updated.target | 4 ---- files/systemd/user/flatpak-user-update.service | 5 ----- files/systemd/user/flatpak-user-update.timer | 9 --------- files/systemd/user/notify-update.service | 11 ----------- recipes/components/base-module.yml | 14 ++++---------- 12 files changed, 12 insertions(+), 93 deletions(-) create mode 100644 files/system/etc/ublue-update/ublue-update.toml delete mode 100644 files/systemd/system/bootc-fetch-updates.service delete mode 100644 files/systemd/system/bootc-fetch-updates.timer delete mode 100644 files/systemd/system/flag-update-downloaded.service delete mode 100644 files/systemd/system/flatpak-system-update.service delete mode 100644 files/systemd/system/flatpak-system-update.timer delete mode 100644 files/systemd/user/bootc-status-updated.path delete mode 100644 files/systemd/user/bootc-status-updated.target delete mode 100644 files/systemd/user/flatpak-user-update.service delete mode 100644 files/systemd/user/flatpak-user-update.timer delete mode 100644 files/systemd/user/notify-update.service diff --git a/files/system/etc/ublue-update/ublue-update.toml b/files/system/etc/ublue-update/ublue-update.toml new file mode 100644 index 0000000..c4ac766 --- /dev/null +++ b/files/system/etc/ublue-update/ublue-update.toml @@ -0,0 +1,8 @@ +[checks] + min_battery_percent = 20.0 + max_cpu_load_percent = 50.0 + max_mem_percent = 90.0 + network_not_metered = true + +[notify] + dbus_notify = true \ No newline at end of file diff --git a/files/systemd/system/bootc-fetch-updates.service b/files/systemd/system/bootc-fetch-updates.service deleted file mode 100644 index c316cde..0000000 --- a/files/systemd/system/bootc-fetch-updates.service +++ /dev/null @@ -1,8 +0,0 @@ -[Unit] -Description=Download bootc updates -Documentation=man:bootc(8) -ConditionPathExists=/run/ostree-booted - -[Service] -Type=oneshot -ExecStart=/usr/bin/bootc update --quiet \ No newline at end of file diff --git a/files/systemd/system/bootc-fetch-updates.timer b/files/systemd/system/bootc-fetch-updates.timer deleted file mode 100644 index 482831f..0000000 --- a/files/systemd/system/bootc-fetch-updates.timer +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=Download bootc updates -Documentation=man:bootc(8) -ConditionPathExists=/run/ostree-booted - -[Timer] -OnBootSec=15min -OnUnitInactiveSec=8h -RandomizedDelaySec=2h - -[Install] -WantedBy=timers.target \ No newline at end of file diff --git a/files/systemd/system/flag-update-downloaded.service b/files/systemd/system/flag-update-downloaded.service deleted file mode 100644 index dde8c29..0000000 --- a/files/systemd/system/flag-update-downloaded.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Create a file to flag that an update has been downloaded -After=bootc-status-updated.target - -[Service] -Type=exec -ExecStart=/usr/bin/touch /tmp/hydro-os-updated - -[Install] -WantedBy=bootc-status-updated.target \ No newline at end of file diff --git a/files/systemd/system/flatpak-system-update.service b/files/systemd/system/flatpak-system-update.service deleted file mode 100644 index ca8f96c..0000000 --- a/files/systemd/system/flatpak-system-update.service +++ /dev/null @@ -1,5 +0,0 @@ -[Unit] -Description=Update flatpaks - -[Service] -ExecStart=flatpak update --noninteractive \ No newline at end of file diff --git a/files/systemd/system/flatpak-system-update.timer b/files/systemd/system/flatpak-system-update.timer deleted file mode 100644 index ff66905..0000000 --- a/files/systemd/system/flatpak-system-update.timer +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Update flatpak - -[Timer] -OnBootSec=15min -OnCalendar=daily - -[Install] -WantedBy=timers.target \ No newline at end of file diff --git a/files/systemd/user/bootc-status-updated.path b/files/systemd/user/bootc-status-updated.path deleted file mode 100644 index f38a4d0..0000000 --- a/files/systemd/user/bootc-status-updated.path +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Monitor bootc for status changes -Documentation=man:bootc-status-updated.path(5) - -[Path] -PathExists=/tmp/hydro-os-updated -Unit=bootc-status-updated.target - -[Install] -WantedBy=multi-user.target \ No newline at end of file diff --git a/files/systemd/user/bootc-status-updated.target b/files/systemd/user/bootc-status-updated.target deleted file mode 100644 index c74140d..0000000 --- a/files/systemd/user/bootc-status-updated.target +++ /dev/null @@ -1,4 +0,0 @@ -[Unit] -Description=Target for bootc status changes -Documentation=man:bootc-status-updated.target(5) -StopWhenUnneeded=true \ No newline at end of file diff --git a/files/systemd/user/flatpak-user-update.service b/files/systemd/user/flatpak-user-update.service deleted file mode 100644 index ca8f96c..0000000 --- a/files/systemd/user/flatpak-user-update.service +++ /dev/null @@ -1,5 +0,0 @@ -[Unit] -Description=Update flatpaks - -[Service] -ExecStart=flatpak update --noninteractive \ No newline at end of file diff --git a/files/systemd/user/flatpak-user-update.timer b/files/systemd/user/flatpak-user-update.timer deleted file mode 100644 index ff66905..0000000 --- a/files/systemd/user/flatpak-user-update.timer +++ /dev/null @@ -1,9 +0,0 @@ -[Unit] -Description=Update flatpak - -[Timer] -OnBootSec=15min -OnCalendar=daily - -[Install] -WantedBy=timers.target \ No newline at end of file diff --git a/files/systemd/user/notify-update.service b/files/systemd/user/notify-update.service deleted file mode 100644 index 0a94150..0000000 --- a/files/systemd/user/notify-update.service +++ /dev/null @@ -1,11 +0,0 @@ -[Unit] -Description=Notify the user when the next update has been downloaded. -# order after update has been applied -After=bootc-status-updated.target - -[Service] -Type=exec -ExecStart=/usr/bin/systemd-run --user notify-send 'Update Downloaded!' 'A new update has been downloaded! Please restart to apply update!' - -[Install] -WantedBy=bootc-status-updated.target \ No newline at end of file diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 4791703..45b9e26 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -13,20 +13,14 @@ modules: - addimageinfo.sh - type: systemd - system: - enabled: - - bootc-fetch-updates.timer - - podman-auto-update.timer - - flatpak-system-update.timer - - flag-update-downloaded.service user: enabled: - - podman-auto-update.timer - - flatpak-user-update.timer - unlock-kwallet.service - - notify-update.service - - bootc-status-updated.path + - type: bling + install: + - ublue-update + - type: dnf install: packages: -- 2.39.5 From 5a2e03380552156f142634bb043469fe7adf4632 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sat, 14 Jun 2025 13:15:10 -0400 Subject: [PATCH 32/35] use copr package than bling module --- recipes/components/base-module.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 45b9e26..4609c0b 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -3,10 +3,12 @@ modules: repos: copr: - ublue-os/packages + - ublue-os/bling install: packages: - ublue-os-udev-rules - ublue-os-signing + - ublue-update - type: script scripts: @@ -16,10 +18,6 @@ modules: user: enabled: - unlock-kwallet.service - - - type: bling - install: - - ublue-update - type: dnf install: -- 2.39.5 From 0e42248ac591d0a477237acd10b29c745ee9e37d Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sat, 14 Jun 2025 13:20:46 -0400 Subject: [PATCH 33/35] Separate copr repos into modules --- recipes/components/base-module.yml | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index 4609c0b..f9bcc04 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -3,13 +3,19 @@ modules: repos: copr: - ublue-os/packages - - ublue-os/bling install: packages: - ublue-os-udev-rules - ublue-os-signing - - ublue-update + - type: dnf + repos: + copr: + - ublue-os/bling + install: + packages: + - ublue-update + - type: script scripts: - addimageinfo.sh -- 2.39.5 From 123e11860d9af77c047dd7e3645c6967c5a2762c Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sat, 14 Jun 2025 14:42:33 -0400 Subject: [PATCH 34/35] Revert chagnes, dropping notifying user on update. --- files/systemd/system/bootc-fetch-updates.service | 8 ++++++++ files/systemd/system/bootc-fetch-updates.timer | 12 ++++++++++++ files/systemd/system/flatpak-system-update.service | 5 +++++ files/systemd/system/flatpak-system-update.timer | 9 +++++++++ files/systemd/user/flatpak-user-update.service | 5 +++++ files/systemd/user/flatpak-user-update.timer | 9 +++++++++ recipes/components/base-module.yml | 13 +++++-------- 7 files changed, 53 insertions(+), 8 deletions(-) create mode 100644 files/systemd/system/bootc-fetch-updates.service create mode 100644 files/systemd/system/bootc-fetch-updates.timer create mode 100644 files/systemd/system/flatpak-system-update.service create mode 100644 files/systemd/system/flatpak-system-update.timer create mode 100644 files/systemd/user/flatpak-user-update.service create mode 100644 files/systemd/user/flatpak-user-update.timer diff --git a/files/systemd/system/bootc-fetch-updates.service b/files/systemd/system/bootc-fetch-updates.service new file mode 100644 index 0000000..c316cde --- /dev/null +++ b/files/systemd/system/bootc-fetch-updates.service @@ -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 \ No newline at end of file diff --git a/files/systemd/system/bootc-fetch-updates.timer b/files/systemd/system/bootc-fetch-updates.timer new file mode 100644 index 0000000..482831f --- /dev/null +++ b/files/systemd/system/bootc-fetch-updates.timer @@ -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 \ No newline at end of file diff --git a/files/systemd/system/flatpak-system-update.service b/files/systemd/system/flatpak-system-update.service new file mode 100644 index 0000000..ca8f96c --- /dev/null +++ b/files/systemd/system/flatpak-system-update.service @@ -0,0 +1,5 @@ +[Unit] +Description=Update flatpaks + +[Service] +ExecStart=flatpak update --noninteractive \ No newline at end of file diff --git a/files/systemd/system/flatpak-system-update.timer b/files/systemd/system/flatpak-system-update.timer new file mode 100644 index 0000000..ff66905 --- /dev/null +++ b/files/systemd/system/flatpak-system-update.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Update flatpak + +[Timer] +OnBootSec=15min +OnCalendar=daily + +[Install] +WantedBy=timers.target \ No newline at end of file diff --git a/files/systemd/user/flatpak-user-update.service b/files/systemd/user/flatpak-user-update.service new file mode 100644 index 0000000..ca8f96c --- /dev/null +++ b/files/systemd/user/flatpak-user-update.service @@ -0,0 +1,5 @@ +[Unit] +Description=Update flatpaks + +[Service] +ExecStart=flatpak update --noninteractive \ No newline at end of file diff --git a/files/systemd/user/flatpak-user-update.timer b/files/systemd/user/flatpak-user-update.timer new file mode 100644 index 0000000..ff66905 --- /dev/null +++ b/files/systemd/user/flatpak-user-update.timer @@ -0,0 +1,9 @@ +[Unit] +Description=Update flatpak + +[Timer] +OnBootSec=15min +OnCalendar=daily + +[Install] +WantedBy=timers.target \ No newline at end of file diff --git a/recipes/components/base-module.yml b/recipes/components/base-module.yml index f9bcc04..fecaddb 100644 --- a/recipes/components/base-module.yml +++ b/recipes/components/base-module.yml @@ -7,23 +7,20 @@ modules: packages: - ublue-os-udev-rules - ublue-os-signing - - - type: dnf - repos: - copr: - - ublue-os/bling - install: - packages: - - ublue-update - type: script scripts: - addimageinfo.sh - type: systemd + system: + enabled: + - bootc-fetch-updates.timer + - flatpak-system-update.timer user: enabled: - unlock-kwallet.service + - flatpak-user-update.timer - type: dnf install: -- 2.39.5 From bfc6bb9d068e755b366dfca284351c36185ce94e Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Sat, 14 Jun 2025 14:43:28 -0400 Subject: [PATCH 35/35] Removed ublue update config --- files/system/etc/ublue-update/ublue-update.toml | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 files/system/etc/ublue-update/ublue-update.toml diff --git a/files/system/etc/ublue-update/ublue-update.toml b/files/system/etc/ublue-update/ublue-update.toml deleted file mode 100644 index c4ac766..0000000 --- a/files/system/etc/ublue-update/ublue-update.toml +++ /dev/null @@ -1,8 +0,0 @@ -[checks] - min_battery_percent = 20.0 - max_cpu_load_percent = 50.0 - max_mem_percent = 90.0 - network_not_metered = true - -[notify] - dbus_notify = true \ No newline at end of file -- 2.39.5