From 8c176a0a8422d1116352c34d1003602b51b70ba0 Mon Sep 17 00:00:00 2001 From: EinoHR Date: Wed, 26 Apr 2023 18:17:02 +0000 Subject: [PATCH 01/44] chore(automatic): add public key --- cosign.pub | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cosign.pub b/cosign.pub index f9482c4..5771e5e 100644 --- a/cosign.pub +++ b/cosign.pub @@ -1,4 +1,4 @@ -----BEGIN PUBLIC KEY----- -MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7lh7fJMV4dBT2jT1XafixUJa7OVA -cT+QFVD8IfIJIS/KBAc8hx1aslzkH3tfeM0cwyCLB7kOStZ4sh6RyFQD9w== +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhLQohNcU7O0ND0+Y9rffKFEqgMzz +f3QzuB4N2OMTSr6fWghtm9mk90NUCk+rQKCF9gRn8ozERz/gnZEUKqlGPQ== -----END PUBLIC KEY----- From 316aa59b883e504f03c85bea97889b57311c77f6 Mon Sep 17 00:00:00 2001 From: EinoHR Date: Wed, 26 Apr 2023 18:17:02 +0000 Subject: [PATCH 02/44] chore(automatic): change image name --- recipe.yml | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/recipe.yml b/recipe.yml index 0ae7e08..d0851f6 100644 --- a/recipe.yml +++ b/recipe.yml @@ -2,21 +2,17 @@ # If you are looking at this file in your root directory on your computer, editing it does nothing. # The image will be at ghcr.io/yourusername/name -name: startingpoint - +name: linuXYZ # The native container image to build on top of # Warning: Non-uBlue images might function unexpectly base-image: ghcr.io/ublue-os/silverblue-main - # What fedora version to use. Use an explicit version or `latest`. # If you use `latest`, you will be automatically updated # to the next major version assuming the image you're using as your base container # builds with the tag (all uBlue images do this). fedora-version: 37 - # This description will be visible in the container metadata description: A starting point for further customization of uBlue images. Make your own! https://ublue.it/making-your-own/ - # These scripts will be executed during the container build # Place scripts in scripts/ and put the corresponding filename here scripts: @@ -29,7 +25,6 @@ rpms: - python3-pip - libadwaita # libadwaita comes with silverblue, but not with other flavors # add your own below - # These Flatpaks (from flathub) will be available for install on boot # this is just an example selection. # If you leave this empty you can use yafti for post-boot installation From 7f335ce5d22b8844e89789d9cdb796c68a45651a Mon Sep 17 00:00:00 2001 From: EinoHR Date: Wed, 26 Apr 2023 18:17:02 +0000 Subject: [PATCH 03/44] chore(automatic): update all repo/image links --- README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 50748ad..2420b7c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Starting point -[![build-ublue](https://github.com/ublue-os/startingpoint/actions/workflows/build.yml/badge.svg)](https://github.com/ublue-os/startingpoint/actions/workflows/build.yml) +[![build-ublue](https://github.com/einohr/linuxyz/actions/workflows/build.yml/badge.svg)](https://github.com/einohr/linuxyz/actions/workflows/build.yml) This is a starting point Fedora Silverblue image designed to be customized to whatever you want, have GitHub build it for you, and then host it for you. You then just tell your computer to boot off of that image. GitHub keeps 90 days worth image backups for you, thanks Microsoft! @@ -13,7 +13,7 @@ See the [Make Your Own -page in the documentation](https://ublue.it/making-your- Don't worry, it only requires some basic knowledge about using the terminal and git. > **Note** -> Everywhere in this repository, make sure to replace `ublue-os/startingpoint` with the details of your own repository. Unless you used [`create-ublue-image`](https://github.com/EinoHR/create-ublue-image), in which case the previous repo identifier should already be your repo's details. +> Everywhere in this repository, make sure to replace `einohr/linuxyz` with the details of your own repository. Unless you used [`create-ublue-image`](https://github.com/EinoHR/create-ublue-image), in which case the previous repo identifier should already be your repo's details. ## Customization @@ -69,13 +69,13 @@ The files `/etc/profile.d/ublue-firstboot.sh` and `/etc/skel.d/.config/autostart To rebase an existing Silverblue/Kinoite installation to the latest build: ``` -sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/startingpoint:latest +sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/einohr/linuxyz:latest ``` This repository builds date tags as well, so if you want to rebase to a particular day's build: ``` -sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/ublue-os/startingpoint:20230403 +sudo rpm-ostree rebase ostree-unverified-registry:ghcr.io/einohr/linuxyz:20230403 ``` The `latest` tag will automatically point to the latest build. That build will still always use the Fedora version specified in `release.yml`, so you won't get accidentally updated to the next major version. @@ -104,6 +104,6 @@ Check the [just website](https://just.systems) for tips on modifying and adding These images are signed with sisgstore's [cosign](https://docs.sigstore.dev/cosign/overview/). You can verify the signature by downloading the `cosign.pub` key from this repo and running the following command: - cosign verify --key cosign.pub ghcr.io/ublue-os/startingpoint + cosign verify --key cosign.pub ghcr.io/einohr/linuxyz If you're forking this repo, the uBlue website has [instructions](https://ublue.it/making-your-own/) for setting up signing properly. From 9dad2abd7a7f2afec8f73e37c8614ff112ba3085 Mon Sep 17 00:00:00 2001 From: EinoHR Date: Wed, 26 Apr 2023 18:17:02 +0000 Subject: [PATCH 04/44] chore(automatic): update main title --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2420b7c..f4bbb40 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# Starting point +# linuXYZ [![build-ublue](https://github.com/einohr/linuxyz/actions/workflows/build.yml/badge.svg)](https://github.com/einohr/linuxyz/actions/workflows/build.yml) From 6cc7535fcc8d4bb7171eb07dab4a1844ea54f26f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 26 Apr 2023 18:17:21 +0000 Subject: [PATCH 05/44] build(deps): bump sigstore/cosign-installer from 3.0.2 to 3.0.3 Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.0.2 to 3.0.3. - [Release notes](https://github.com/sigstore/cosign-installer/releases) - [Commits](https://github.com/sigstore/cosign-installer/compare/v3.0.2...v3.0.3) --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c3ae778..9a1e447 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -153,7 +153,7 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} # Sign container - - uses: sigstore/cosign-installer@v3.0.2 + - uses: sigstore/cosign-installer@v3.0.3 if: github.event_name != 'pull_request' - name: Sign container image From 4cd71d3ed5303ec38e9528e8b93b1985bc06e5e7 Mon Sep 17 00:00:00 2001 From: EinoHR Date: Wed, 26 Apr 2023 21:18:37 +0300 Subject: [PATCH 06/44] chore: lowercase name --- recipe.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe.yml b/recipe.yml index d0851f6..6b370ef 100644 --- a/recipe.yml +++ b/recipe.yml @@ -2,7 +2,7 @@ # If you are looking at this file in your root directory on your computer, editing it does nothing. # The image will be at ghcr.io/yourusername/name -name: linuXYZ +name: linuxyz # The native container image to build on top of # Warning: Non-uBlue images might function unexpectly base-image: ghcr.io/ublue-os/silverblue-main From 1df626c9f98b908ee1e6ecf457ff59c22f7c9118 Mon Sep 17 00:00:00 2001 From: EinoHR Date: Wed, 26 Apr 2023 21:25:44 +0300 Subject: [PATCH 07/44] customize --- recipe.yml | 39 +++++++++++++++++++++++++++++---------- 1 file changed, 29 insertions(+), 10 deletions(-) diff --git a/recipe.yml b/recipe.yml index 6b370ef..ffd9fe2 100644 --- a/recipe.yml +++ b/recipe.yml @@ -5,14 +5,18 @@ name: linuxyz # The native container image to build on top of # Warning: Non-uBlue images might function unexpectly -base-image: ghcr.io/ublue-os/silverblue-main + +base-image: ghcr.io/ublue-os/kinoite-main # What fedora version to use. Use an explicit version or `latest`. # If you use `latest`, you will be automatically updated # to the next major version assuming the image you're using as your base container # builds with the tag (all uBlue images do this). -fedora-version: 37 + +fedora-version: latest + # This description will be visible in the container metadata -description: A starting point for further customization of uBlue images. Make your own! https://ublue.it/making-your-own/ +description: My personal uBlue image. Make your own! https://ublue.it/making-your-own/ + # These scripts will be executed during the container build # Place scripts in scripts/ and put the corresponding filename here scripts: @@ -25,15 +29,30 @@ rpms: - python3-pip - libadwaita # libadwaita comes with silverblue, but not with other flavors # add your own below + - python + - rsync + - syncthing + - btop + - kitty + - starship + - bismuth + - zsh + - fish + - fzf + - rEFInd + - ulauncher + - qemu + - libvirt + - virt-manager + - tailscale + # These Flatpaks (from flathub) will be available for install on boot # this is just an example selection. # If you leave this empty you can use yafti for post-boot installation flatpaks: - - org.mozilla.firefox - - org.mozilla.Thunderbird - - com.mattjakeman.ExtensionManager - - org.libreoffice.LibreOffice - - org.gnome.DejaDup - - org.gustavoperedo.FontDownloader + - io.mpv.Mpv + - com.borgbase.Vorta + - md.obsidian.Obsidian + - com.obsproject.Studio - com.github.tchx84.Flatseal - - io.github.celluloid_player.Celluloid + - io.gitlab.librewolf-community From e3210c10a6165d1d6b30c056f866cde70bc1bfd0 Mon Sep 17 00:00:00 2001 From: EinoHR Date: Wed, 26 Apr 2023 21:26:14 +0300 Subject: [PATCH 08/44] ignore key --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 485dee6..2ea33b5 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .idea +cosign.key From aaddfe60d705651c0239f4965a98ef6fd50f25cb Mon Sep 17 00:00:00 2001 From: Eino Rauhala <60004820+EinoHR@users.noreply.github.com> Date: Thu, 27 Apr 2023 13:39:49 +0000 Subject: [PATCH 09/44] fix: switch to nvidia --- recipe.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipe.yml b/recipe.yml index ffd9fe2..0bf7610 100644 --- a/recipe.yml +++ b/recipe.yml @@ -6,7 +6,7 @@ name: linuxyz # The native container image to build on top of # Warning: Non-uBlue images might function unexpectly -base-image: ghcr.io/ublue-os/kinoite-main +base-image: ghcr.io/ublue-os/kinoite-nvidia # What fedora version to use. Use an explicit version or `latest`. # If you use `latest`, you will be automatically updated # to the next major version assuming the image you're using as your base container From 2dd79cf454cea5ceb0519da2e7b3db264c8ebc1a Mon Sep 17 00:00:00 2001 From: ER Date: Thu, 27 Apr 2023 17:17:51 +0300 Subject: [PATCH 10/44] feat: add extra repos field to recipe --- build.sh | 9 +++++++++ recipe.yml | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/build.sh b/build.sh index 350da18..4774c59 100644 --- a/build.sh +++ b/build.sh @@ -11,6 +11,15 @@ echo "---" # remove the default firefox (from fedora) in favor of the flatpak rpm-ostree override remove firefox firefox-langpacks +repos=$(yq '.extrarepos[]' < /usr/etc/ublue-recipe.yml) +if [[ -n "$repos" ]]; then + echo "-- Adding repos defined in recipe.yml --" + for repo in $(echo -e "$repos"); do \ + wget $repo -P /usr/etc/yum.repos.d/ \ + done + echo "---" +fi + echo "-- Installing RPMs defined in recipe.yml --" rpm_packages=$(yq '.rpms[]' < /usr/etc/ublue-recipe.yml) for pkg in $(echo -e "$rpm_packages"); do \ diff --git a/recipe.yml b/recipe.yml index 0bf7610..08c1ee5 100644 --- a/recipe.yml +++ b/recipe.yml @@ -22,6 +22,12 @@ description: My personal uBlue image. Make your own! https://ublue.it/making-you scripts: # - example.sh +# a list of urls of .repo files that should be added to your system +# this is the proper way to add copr repos to your image +extrarepos: + # example: + # - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-37/atim-starship-fedora-37.repo + # These rpms will be installed from the fedora repository # using rpm-ostree and will be preinstalled in the final image rpms: From ae9994e397a62fae627e5fe7dc1379444598e07e Mon Sep 17 00:00:00 2001 From: ER Date: Thu, 27 Apr 2023 17:23:53 +0300 Subject: [PATCH 11/44] fix: semicolon before "done" keyword in shell --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index 4774c59..a2840a2 100644 --- a/build.sh +++ b/build.sh @@ -15,7 +15,7 @@ repos=$(yq '.extrarepos[]' < /usr/etc/ublue-recipe.yml) if [[ -n "$repos" ]]; then echo "-- Adding repos defined in recipe.yml --" for repo in $(echo -e "$repos"); do \ - wget $repo -P /usr/etc/yum.repos.d/ \ + wget $repo -P /usr/etc/yum.repos.d/; \ done echo "---" fi From 85a81fb50b6326a02c80c2bf4cabcc1d2f5b4c4c Mon Sep 17 00:00:00 2001 From: EinoHR Date: Thu, 27 Apr 2023 17:25:48 +0300 Subject: [PATCH 12/44] feat: add starship and tailscale repos --- recipe.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/recipe.yml b/recipe.yml index 08c1ee5..25851ae 100644 --- a/recipe.yml +++ b/recipe.yml @@ -12,7 +12,7 @@ base-image: ghcr.io/ublue-os/kinoite-nvidia # to the next major version assuming the image you're using as your base container # builds with the tag (all uBlue images do this). -fedora-version: latest +fedora-version: 37 # This description will be visible in the container metadata description: My personal uBlue image. Make your own! https://ublue.it/making-your-own/ @@ -26,7 +26,8 @@ scripts: # this is the proper way to add copr repos to your image extrarepos: # example: - # - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-37/atim-starship-fedora-37.repo + - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-37/atim-starship-fedora-37.repo + - https://pkgs.tailscale.com/stable/fedora/tailscale.repo # These rpms will be installed from the fedora repository # using rpm-ostree and will be preinstalled in the final image From db55ef3b9dd5d324670bbf0f947fe90a95066004 Mon Sep 17 00:00:00 2001 From: ER Date: Fri, 28 Apr 2023 16:43:37 +0300 Subject: [PATCH 13/44] fix: don't put repos in /usr/etc/ --- build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sh b/build.sh index a2840a2..592602a 100644 --- a/build.sh +++ b/build.sh @@ -15,7 +15,7 @@ repos=$(yq '.extrarepos[]' < /usr/etc/ublue-recipe.yml) if [[ -n "$repos" ]]; then echo "-- Adding repos defined in recipe.yml --" for repo in $(echo -e "$repos"); do \ - wget $repo -P /usr/etc/yum.repos.d/; \ + wget $repo -P /etc/yum.repos.d/; \ done echo "---" fi From 91e0985c4bdd2b25ce2fedf8b58bbca828d196e0 Mon Sep 17 00:00:00 2001 From: ER Date: Sat, 20 May 2023 11:32:50 +0300 Subject: [PATCH 14/44] chore: changing out cosign keys --- cosign.pub | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cosign.pub b/cosign.pub index 5771e5e..ebca10d 100644 --- a/cosign.pub +++ b/cosign.pub @@ -1,4 +1,4 @@ -----BEGIN PUBLIC KEY----- -MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEhLQohNcU7O0ND0+Y9rffKFEqgMzz -f3QzuB4N2OMTSr6fWghtm9mk90NUCk+rQKCF9gRn8ozERz/gnZEUKqlGPQ== +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEEO87Op1qSvlZb21Z5kLKoGy6OQIj +LL1OXUzbFXg5iLXvLKMLDG/8a+vNG+Mk8cG2Hy/Uo9cjd//m+ljubo3NGA== -----END PUBLIC KEY----- From dad075d735be6bccbfa9b44157a5cb2b1cc5f10f Mon Sep 17 00:00:00 2001 From: ER Date: Sun, 9 Jul 2023 16:42:45 +0300 Subject: [PATCH 15/44] chore: disable some unneeded packages --- recipe.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recipe.yml b/recipe.yml index e88130e..fa19b5a 100644 --- a/recipe.yml +++ b/recipe.yml @@ -67,15 +67,15 @@ rpm: - python - rsync - syncthing - - btop + # - btop - kitty - starship - bismuth - zsh - fish - - fzf + # - fzf - rEFInd - - ulauncher + # - ulauncher - qemu - libvirt - virt-manager From 0a918f901bb4dfdd19692a485fb673c48df0a91a Mon Sep 17 00:00:00 2001 From: ER Date: Sun, 9 Jul 2023 17:01:15 +0300 Subject: [PATCH 16/44] refactor: let's get GNOMED --- recipe.yml | 17 ++++++++++++----- scripts/post/gext.sh | 4 ++++ usr/share/ublue-os/just/custom.just | 9 +++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) create mode 100644 scripts/post/gext.sh diff --git a/recipe.yml b/recipe.yml index fa19b5a..e3f234f 100644 --- a/recipe.yml +++ b/recipe.yml @@ -5,7 +5,7 @@ name: linuxyz # The native container image to build on top of. # Warning: Non-uBlue images might not work properly, due to missing components. -base-image: ghcr.io/ublue-os/kinoite-nvidia +base-image: ghcr.io/ublue-os/silverblue-nvidia # What Fedora version to use. Use an explicit version or `latest`. # If you use `latest`, you will be automatically updated to the next major @@ -67,20 +67,27 @@ rpm: - python - rsync - syncthing - # - btop - kitty - starship - - bismuth - zsh - fish - # - fzf - rEFInd - # - ulauncher - qemu - libvirt - virt-manager - tailscale + - gnome-shell-extension-pop-shell + - xprop + - gnome-shell-extension-burn-my-windows + - gnome-shell-extension-blur-my-shell + + # - bismuth + + - ulauncher + # - fzf + # - btop + # These RPMs will be removed from the system image. This step happens during # image build, BEFORE installing custom RPMs (from the "rpm.install" category). remove: diff --git a/scripts/post/gext.sh b/scripts/post/gext.sh new file mode 100644 index 0000000..976bf44 --- /dev/null +++ b/scripts/post/gext.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env bash +set -oue pipefail +# https://github.com/essembeh/gnome-extensions-cli +pip3 install --upgrade gnome-extensions-cli \ No newline at end of file diff --git a/usr/share/ublue-os/just/custom.just b/usr/share/ublue-os/just/custom.just index 1d84831..3f2d8d4 100644 --- a/usr/share/ublue-os/just/custom.just +++ b/usr/share/ublue-os/just/custom.just @@ -10,4 +10,13 @@ setup-flatpaks: flatpak install --user --noninteractive flathub $pkg; \ done +# https://github.com/essembeh/gnome-extensions-cli +setup-gext: + # vitals + gext install 1460 + # gsconnect + gext install 1319 + # arcmenu + gext install 3628 + # Include some of your custom scripts here! \ No newline at end of file From 1ad6c1adeb4cd8688205bfe641daba9b5f9365a4 Mon Sep 17 00:00:00 2001 From: ER Date: Sun, 9 Jul 2023 17:03:18 +0300 Subject: [PATCH 17/44] feat: backup file managers --- recipe.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/recipe.yml b/recipe.yml index e3f234f..3114331 100644 --- a/recipe.yml +++ b/recipe.yml @@ -77,6 +77,10 @@ rpm: - virt-manager - tailscale + - pcmanfm + - thunar + - nemo + - gnome-shell-extension-pop-shell - xprop - gnome-shell-extension-burn-my-windows From b2c10a357b170d6b40a8d56d13d85466a2970579 Mon Sep 17 00:00:00 2001 From: ER Date: Sun, 9 Jul 2023 17:10:45 +0300 Subject: [PATCH 18/44] fix: pkgs not found: g-s-e-burn-my-windows --- recipe.yml | 1 - usr/share/ublue-os/just/custom.just | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/recipe.yml b/recipe.yml index 3114331..a6bb4eb 100644 --- a/recipe.yml +++ b/recipe.yml @@ -83,7 +83,6 @@ rpm: - gnome-shell-extension-pop-shell - xprop - - gnome-shell-extension-burn-my-windows - gnome-shell-extension-blur-my-shell # - bismuth diff --git a/usr/share/ublue-os/just/custom.just b/usr/share/ublue-os/just/custom.just index 3f2d8d4..3861e8e 100644 --- a/usr/share/ublue-os/just/custom.just +++ b/usr/share/ublue-os/just/custom.just @@ -18,5 +18,7 @@ setup-gext: gext install 1319 # arcmenu gext install 3628 + # burn-my-windows + gext install 4679 # Include some of your custom scripts here! \ No newline at end of file From 75c9158523d02f3a23646e6e6b51fc9cf6139a14 Mon Sep 17 00:00:00 2001 From: ER Date: Sun, 9 Jul 2023 17:25:56 +0300 Subject: [PATCH 19/44] fix: gext install --- scripts/post/gext.sh | 4 ---- usr/share/ublue-os/just/custom.just | 1 + 2 files changed, 1 insertion(+), 4 deletions(-) delete mode 100644 scripts/post/gext.sh diff --git a/scripts/post/gext.sh b/scripts/post/gext.sh deleted file mode 100644 index 976bf44..0000000 --- a/scripts/post/gext.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env bash -set -oue pipefail -# https://github.com/essembeh/gnome-extensions-cli -pip3 install --upgrade gnome-extensions-cli \ No newline at end of file diff --git a/usr/share/ublue-os/just/custom.just b/usr/share/ublue-os/just/custom.just index 3861e8e..650dc6b 100644 --- a/usr/share/ublue-os/just/custom.just +++ b/usr/share/ublue-os/just/custom.just @@ -12,6 +12,7 @@ setup-flatpaks: # https://github.com/essembeh/gnome-extensions-cli setup-gext: + pip install --upgrade gnome-extensions-cli # vitals gext install 1460 # gsconnect From 33330d4486e27040d022e3ed9985c118c9c18df7 Mon Sep 17 00:00:00 2001 From: ER Date: Sun, 9 Jul 2023 17:48:27 +0300 Subject: [PATCH 20/44] fix: add user themes --- usr/share/ublue-os/just/custom.just | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr/share/ublue-os/just/custom.just b/usr/share/ublue-os/just/custom.just index 650dc6b..b7e906f 100644 --- a/usr/share/ublue-os/just/custom.just +++ b/usr/share/ublue-os/just/custom.just @@ -21,5 +21,7 @@ setup-gext: gext install 3628 # burn-my-windows gext install 4679 + # user themes + gext install 19 # Include some of your custom scripts here! \ No newline at end of file From 91b5eb50c11a5f12a4ca0a7f444c2f6cad226793 Mon Sep 17 00:00:00 2001 From: ER Date: Sun, 9 Jul 2023 18:25:39 +0300 Subject: [PATCH 21/44] feat: space bar gext --- usr/share/ublue-os/just/custom.just | 2 ++ 1 file changed, 2 insertions(+) diff --git a/usr/share/ublue-os/just/custom.just b/usr/share/ublue-os/just/custom.just index b7e906f..f7ffac3 100644 --- a/usr/share/ublue-os/just/custom.just +++ b/usr/share/ublue-os/just/custom.just @@ -23,5 +23,7 @@ setup-gext: gext install 4679 # user themes gext install 19 + # space bar + gext install 5090 # Include some of your custom scripts here! \ No newline at end of file From 4a1d8652114a8205d1bee550a613a858972a494a Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 2 Aug 2023 13:14:44 +0000 Subject: [PATCH 22/44] chore(live): release 1.0.0 (#1) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- CHANGELOG.md | 147 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 147 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 943a71c..e0c0ca2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,152 @@ # Changelog +## 1.0.0 (2023-08-02) + + +### ⚠ BREAKING CHANGES + +* optimize container layers and reduce image size +* only deploy the branch named "live", to simplify development +* remove legacy PWA setup command from custom.just +* move justfile to standardized, non-conflicting new location +* add new recipe flag which allows you to completely disable yafti +* enhanced autostart.desktop to use new script, and always find icon +* move all autostart-related files to standardized location +* move firstboot reference to new yafti.yml location ([#72](https://github.com/EinoHR/linuXYZ/issues/72)) +* move yafti.yml to standardized location +* move justfile to standardized location +* move recipe.yml to standardized location +* change base-container to base-image ([#49](https://github.com/EinoHR/linuXYZ/issues/49)) + +### Features + +* add a just setup command for setting up nix ([#48](https://github.com/EinoHR/linuXYZ/issues/48)) ([1d208f6](https://github.com/EinoHR/linuXYZ/commit/1d208f6eaec5000daab9e4bce69e5547a916df89)) +* add back usr folder ([9f47c1e](https://github.com/EinoHR/linuXYZ/commit/9f47c1eddfc00779de2fc4c07bb6816bda9adf76)) +* Add code-of-conduct ([#39](https://github.com/EinoHR/linuXYZ/issues/39)) ([aab8078](https://github.com/EinoHR/linuXYZ/commit/aab8078cfdc7d2354e057a0ca4771d3a53d2df4c)) +* add conventional commit linting and release notes generator ([b7820b4](https://github.com/EinoHR/linuXYZ/commit/b7820b4ba312ca939d0dc977ed9f6a08d135324b)) +* add cosign.key to gitignore ([#51](https://github.com/EinoHR/linuXYZ/issues/51)) ([5f4ac04](https://github.com/EinoHR/linuXYZ/commit/5f4ac049a7f60bb55e40da809e29ac1dd9f65fc9)) +* add extra repos field to recipe ([2dd79cf](https://github.com/EinoHR/linuXYZ/commit/2dd79cf454cea5ceb0519da2e7b3db264c8ebc1a)) +* add extra repos field to recipe ([#52](https://github.com/EinoHR/linuXYZ/issues/52)) ([c537104](https://github.com/EinoHR/linuXYZ/commit/c537104ba2695a3c843ba7e67e7a118665f50c9a)) +* add fedora 38 build ([#45](https://github.com/EinoHR/linuXYZ/issues/45)) ([69fd4d7](https://github.com/EinoHR/linuXYZ/commit/69fd4d7a57c5ce39331e47e8dedeb2a2f643190f)) +* add function for reading individual YAML strings ([33ab88f](https://github.com/EinoHR/linuXYZ/commit/33ab88f7940b6e360d3e8d7f4a1b0b393547dd92)) +* add how to review a PR ([#76](https://github.com/EinoHR/linuXYZ/issues/76)) ([ae2e25b](https://github.com/EinoHR/linuXYZ/commit/ae2e25b92f5ebebed2fcaad53ecfab651a639d12)) +* add new recipe flag which allows you to completely disable yafti ([32c06b0](https://github.com/EinoHR/linuXYZ/commit/32c06b0867b0e4f66c3d1dfa303530682c16a52f)) +* add per-recipe shell script support ([#38](https://github.com/EinoHR/linuXYZ/issues/38)) ([37143b0](https://github.com/EinoHR/linuXYZ/commit/37143b0e23582f8754808b77aee4b594bb877ba1)) +* add starship and tailscale repos ([85a81fb](https://github.com/EinoHR/linuXYZ/commit/85a81fb50b6326a02c80c2bf4cabcc1d2f5b4c4c)) +* add yafti.yml from bluefin ([f9a1561](https://github.com/EinoHR/linuXYZ/commit/f9a1561f2c8a718890f4d932db8ce625342610e2)) +* automatic repo version selection via YAML configuration ([baa8c47](https://github.com/EinoHR/linuXYZ/commit/baa8c47ffa97ae25077d205432bec0c549b27319)) +* backup file managers ([1ad6c1a](https://github.com/EinoHR/linuXYZ/commit/1ad6c1adeb4cd8688205bfe641daba9b5f9365a4)) +* change description for more information ([33ddd2b](https://github.com/EinoHR/linuXYZ/commit/33ddd2bbac6eebbf4716af0465808f2e2fe56ebc)) +* declare base image and fedora ver in recipe ([fe16187](https://github.com/EinoHR/linuXYZ/commit/fe16187a92400865b4f96e82ce4d6781478bdfe6)) +* declare image description in recipe.yml ([c9c011d](https://github.com/EinoHR/linuXYZ/commit/c9c011d842a9ef9ec5d3976a0fd167b22ca0f0ed)) +* declare image name in recipe.yml ([2b40d4b](https://github.com/EinoHR/linuXYZ/commit/2b40d4b4367c669f1e557194db7bc14ac40f8b53)) +* ease customization by reading flatpaks and rpms to install from a recipe.yml. ([#79](https://github.com/EinoHR/linuXYZ/issues/79)) ([a5e90a5](https://github.com/EinoHR/linuXYZ/commit/a5e90a588f58a938405bf513d1032955be34028e)) +* enable manually running build ([2521741](https://github.com/EinoHR/linuXYZ/commit/2521741049e25b13c3865225be26c3d63aa84a21)) +* gha for building / publishing on pr ([#87](https://github.com/EinoHR/linuXYZ/issues/87)) ([1726d18](https://github.com/EinoHR/linuXYZ/commit/1726d182ee95ce5eb13f47212799a68b63c5aefc)) +* implement a very flexible runner for "pre" and "post" scripts ([55ff636](https://github.com/EinoHR/linuXYZ/commit/55ff6363be7a783a5949ede05575d2936a4c6e29)) +* implement effortless RPM removal via YAML configuration ([bf19fa5](https://github.com/EinoHR/linuXYZ/commit/bf19fa5eca5b6440f4cfe83aa33c2c2e5797d33e)) +* include flowchart graphic which explains new launcher hierarchy ([2f85593](https://github.com/EinoHR/linuXYZ/commit/2f85593176abfe9eafdd59780d7909e386af4c15)) +* install repos first, so that they're available for scripting ([d09dd76](https://github.com/EinoHR/linuXYZ/commit/d09dd7624355076616735f82e066f364c0d02470)) +* Install VanillaOS' first-setup ([#55](https://github.com/EinoHR/linuXYZ/issues/55)) ([43ddf0a](https://github.com/EinoHR/linuXYZ/commit/43ddf0a123911f9dedc3a76dcfc314a7cb37e871)) +* integrate bling repo ([#105](https://github.com/EinoHR/linuXYZ/issues/105)) ([da1b3f9](https://github.com/EinoHR/linuXYZ/commit/da1b3f9ca2cf276f277b9357a4ceaadfa7c3937e)) +* leave a warning for people to move to new repo ([#99](https://github.com/EinoHR/linuXYZ/issues/99)) ([ffcb397](https://github.com/EinoHR/linuXYZ/commit/ffcb3973bd540d679ab033ed94de6336b903e7dd)) +* new "autostart" binary, for easy startup customization ([8a5fd31](https://github.com/EinoHR/linuXYZ/commit/8a5fd31f8877ff425dd360ab2cd8a63e67ddd95a)) +* nix uninstaller for ublue-os systems ([#93](https://github.com/EinoHR/linuXYZ/issues/93)) ([a01549d](https://github.com/EinoHR/linuXYZ/commit/a01549d081f199c25d923751db4e88718c371612)) +* only deploy the branch named "live", to simplify development ([da17603](https://github.com/EinoHR/linuXYZ/commit/da17603567bd7206a844d932c1cac34329d05817)) +* refactor build.sh to use the new yafti launcher ([63a5e35](https://github.com/EinoHR/linuXYZ/commit/63a5e3583b1f3fdd4224e5f7cf9844c7a2b3f0da)) +* sanity check Flathub's existence on all systems and all users ([aa157c2](https://github.com/EinoHR/linuXYZ/commit/aa157c2514f8725e7535501fc4a02f95544a5850)) +* space bar gext ([91b5eb5](https://github.com/EinoHR/linuXYZ/commit/91b5eb50c11a5f12a4ca0a7f444c2f6cad226793)) +* split flatpak update units into user and system ([#72](https://github.com/EinoHR/linuXYZ/issues/72)) ([99c15be](https://github.com/EinoHR/linuXYZ/commit/99c15be6f012cb590891c5ef16b2613dc538d144)) +* streamlined YAML configuration for RPM-related settings ([4ca33a3](https://github.com/EinoHR/linuXYZ/commit/4ca33a3fe37afeb14a5e764813f623be7c2af042)) +* swap out custom build for RPM of vanilla-first-setup ([#59](https://github.com/EinoHR/linuXYZ/issues/59)) ([6927892](https://github.com/EinoHR/linuXYZ/commit/6927892581dadf8f31419a0d9b070bb7268513ba)) +* switch to separate build script ([68122c8](https://github.com/EinoHR/linuXYZ/commit/68122c87cacbadc47bd85403c2d1c5b5b49eab3f)) +* switch to yafti for first boot ([0b669f5](https://github.com/EinoHR/linuXYZ/commit/0b669f5bb502c5e334474c54c95fbb7fed184b36)) +* tag PR builds independently from matrix.version, latest, and stable ([b022183](https://github.com/EinoHR/linuXYZ/commit/b02218386235e6d40a11a48b5b1171e9acf8d1eb)) +* ultimate laziness achieved with a powerful new script runner ([5cacb2f](https://github.com/EinoHR/linuXYZ/commit/5cacb2fcd86aa499aba4188ef6357e7e008373bc)) +* update artifacthub readme url ([6cc44ff](https://github.com/EinoHR/linuXYZ/commit/6cc44ff4a9462727260733d9c973aae5a3f90c46)) +* use a recipe matrix ([1bfabe6](https://github.com/EinoHR/linuXYZ/commit/1bfabe674e92dd5bf7fc12956941857de4eacd0a)) +* use Fedora 38 ([#64](https://github.com/EinoHR/linuXYZ/issues/64)) ([60ddd67](https://github.com/EinoHR/linuXYZ/commit/60ddd67713b1fd843377276dbefb1afd54e23cc0)) +* yafti package group for recipe.yml ([0cf6b13](https://github.com/EinoHR/linuXYZ/commit/0cf6b13b6c44135848ae9a400b2fa3aa5aed657d)) + + +### Bug Fixes + +* $IMAGE_NAME -> ${{ env.IMAGE_NAME }} ([678ab12](https://github.com/EinoHR/linuXYZ/commit/678ab12c5ac41751775ca6898d09e2d09ea2d8b3)) +* add a warning that we change the flatpak configuration ([#80](https://github.com/EinoHR/linuXYZ/issues/80)) ([9a349e2](https://github.com/EinoHR/linuXYZ/commit/9a349e2625791b90c11f640938060344ec3e4bd5)) +* add flags to ensure that build aborts if there are errors ([4b9fe0b](https://github.com/EinoHR/linuXYZ/commit/4b9fe0b05bd138cebd825e67cb6c5a062181d6d8)) +* add libadwaita ([#45](https://github.com/EinoHR/linuXYZ/issues/45)) ([ec91345](https://github.com/EinoHR/linuXYZ/commit/ec91345bc71b373b3fa5aff4ad3df0eefec45fa4)) +* add pip for yafti, remove zenity (unneeded) ([9e827fe](https://github.com/EinoHR/linuXYZ/commit/9e827fe6be1495221cecc83746d266a78c55ba96)) +* add recipe build arg ([#23](https://github.com/EinoHR/linuXYZ/issues/23)) ([a27e3cf](https://github.com/EinoHR/linuXYZ/commit/a27e3cfa13fbf76e145a6fcd4bb469d42daf5995)) +* add shebang ([97ee716](https://github.com/EinoHR/linuXYZ/commit/97ee7169f4a287520b516bc377b90046b717daaf)) +* add the missing GNOME Core apps to "yafti" template ([7c3ae59](https://github.com/EinoHR/linuXYZ/commit/7c3ae599e521fdab197dd8710f3b38b057d3f007)) +* add user themes ([33330d4](https://github.com/EinoHR/linuXYZ/commit/33330d4486e27040d022e3ed9985c118c9c18df7)) +* Add vte dependency for first-setup ([#56](https://github.com/EinoHR/linuXYZ/issues/56)) ([f8917a3](https://github.com/EinoHR/linuXYZ/commit/f8917a3258196f85b8e3805f5ebcb1c9c0db06a7)) +* add zenity to not break if th FROM is changed ([9b3578b](https://github.com/EinoHR/linuXYZ/commit/9b3578b2175d4ad2427736ff7a7e3bc962ea35f0)) +* allow forks to push to registry with label ([#86](https://github.com/EinoHR/linuXYZ/issues/86)) ([14b1b7c](https://github.com/EinoHR/linuXYZ/commit/14b1b7cb044ec616817aa30075609469dcb9986b)) +* artifact upload/extract ([#88](https://github.com/EinoHR/linuXYZ/issues/88)) ([6590066](https://github.com/EinoHR/linuXYZ/commit/6590066ebcf72d6c4a56730dd682088db17d7df0)) +* automatically determine current fedora version during build ([946f3d8](https://github.com/EinoHR/linuXYZ/commit/946f3d82eec8bfb12a187c00b31aa5ac512fa0d7)) +* change img to startingpoint in verification ([21eafaa](https://github.com/EinoHR/linuXYZ/commit/21eafaa3c09c888f8b90a0345855a5024a24dacb)) +* chore: manual merge action updates from main ([#41](https://github.com/EinoHR/linuXYZ/issues/41)) ([a9c15ac](https://github.com/EinoHR/linuXYZ/commit/a9c15ac30655689f15e83e2534335f2b49a4622b)) +* corrected readme ([9d831ac](https://github.com/EinoHR/linuXYZ/commit/9d831ac736a658ae9949e17363abacfb37618f2b)) +* declare image name in one place ([73de53c](https://github.com/EinoHR/linuXYZ/commit/73de53cd39fbc4a5c84e27d9df7215f91d689ab4)) +* don't copy usr as it's empty ([8b389d5](https://github.com/EinoHR/linuXYZ/commit/8b389d5f049c6e9c74c9a742edf798d52beaab28)) +* Don't generate an image when README.md is updated ([#36](https://github.com/EinoHR/linuXYZ/issues/36)) ([8c170cf](https://github.com/EinoHR/linuXYZ/commit/8c170cfe89dd306eec0940f4dc50ed245c94bc2b)) +* don't put repos in /usr/etc/ ([db55ef3](https://github.com/EinoHR/linuXYZ/commit/db55ef3b9dd5d324670bbf0f947fe90a95066004)) +* enhanced autostart.desktop to use new script, and always find icon ([ec4d01c](https://github.com/EinoHR/linuXYZ/commit/ec4d01caa8dfeeb152e474a40d7485903be98edd)) +* extremely robust handling for YAML data fetching ([07cbe2c](https://github.com/EinoHR/linuXYZ/commit/07cbe2cc08908ffef4a4543f2e50f0c3a80ed559)) +* faster installation of custom RPMs ([5f072b8](https://github.com/EinoHR/linuXYZ/commit/5f072b8b671ccb68b8e15aff62abebda4ac1115a)) +* friendlier experience in the "yafti" first boot template ([c7deb7d](https://github.com/EinoHR/linuXYZ/commit/c7deb7d6fe3aa4256d7a79123ffc250a24165263)) +* further improve portability of login-profile.sh ([4318180](https://github.com/EinoHR/linuXYZ/commit/4318180a7c134fc06c83bac550c90c50678550d8)) +* gext install ([75c9158](https://github.com/EinoHR/linuXYZ/commit/75c9158523d02f3a23646e6e6b51fc9cf6139a14)) +* images built aren't versioned properly [#86](https://github.com/EinoHR/linuXYZ/issues/86) ([fe13ef1](https://github.com/EinoHR/linuXYZ/commit/fe13ef1236dfd05ce8cbdbb55c4691486b68588e)) +* improve "yq" arguments in justfile ([abbb283](https://github.com/EinoHR/linuXYZ/commit/abbb283dbe69d1e126a8bf41141c517cdda0d488)) +* loop over lines, functional var substitution ([773fc23](https://github.com/EinoHR/linuXYZ/commit/773fc23804d7f6d5c044d46c28564a62d709f171)) +* move all autostart-related files to standardized location ([34f6189](https://github.com/EinoHR/linuXYZ/commit/34f6189d26043b0efb4242d186cfc211a0a16c14)) +* move firstboot reference to new yafti.yml location ([#72](https://github.com/EinoHR/linuXYZ/issues/72)) ([7004136](https://github.com/EinoHR/linuXYZ/commit/700413653ee904c20a5ba2eb365dcfda33c77fec)) +* move justfile to standardized location ([07642c2](https://github.com/EinoHR/linuXYZ/commit/07642c2f43167d13b51ef3b29fa0679908fa8d93)) +* move justfile to standardized, non-conflicting new location ([cec7397](https://github.com/EinoHR/linuXYZ/commit/cec73978cf2ff49b0aad5278485e8854f5738519)) +* move recipe.yml to standardized location ([077e724](https://github.com/EinoHR/linuXYZ/commit/077e7243f264840cb71b801335cc9b728ee73813)) +* move yafti.yml to standardized location ([8ee9967](https://github.com/EinoHR/linuXYZ/commit/8ee996722f698d585651b252d60ef57d59fc1627)) +* moving recipe back to a directory available on the host ([#47](https://github.com/EinoHR/linuXYZ/issues/47)) ([95ff830](https://github.com/EinoHR/linuXYZ/commit/95ff830b49649fd3d76f54e7cce1727ace6ac6c6)) +* only create yafti grp when flatpaks defined ([#46](https://github.com/EinoHR/linuXYZ/issues/46)) ([b3f7f07](https://github.com/EinoHR/linuXYZ/commit/b3f7f07d6ceca0489d699c6d2dfa4d995588c5c1)) +* only generate date tag for main branch ([94aa5bb](https://github.com/EinoHR/linuXYZ/commit/94aa5bb8df2aac0985d4c9422b19b0c03a3f25b0)) +* optimize container layers and reduce image size ([e8b5be6](https://github.com/EinoHR/linuXYZ/commit/e8b5be6e83099043a4aa51460154940af3ee7ce2)) +* pkgs not found: g-s-e-burn-my-windows ([b2c10a3](https://github.com/EinoHR/linuXYZ/commit/b2c10a357b170d6b40a8d56d13d85466a2970579)) +* pre-generate empty "pre" and "post" script directories ([f0946f7](https://github.com/EinoHR/linuXYZ/commit/f0946f74b9c93c46a57186d7df6d9310c1fb508b)) +* prevent /etc/ merge issues ([#43](https://github.com/EinoHR/linuXYZ/issues/43)) ([085d26a](https://github.com/EinoHR/linuXYZ/commit/085d26aa1acd7252c1c54fbd18661fed1a69d4e1)) +* PRs that change only .md or .txt files can't be merged ([3fff8bc](https://github.com/EinoHR/linuXYZ/commit/3fff8bc61c490a267b6586eea28153aa834075da)) +* re-tag image ([#92](https://github.com/EinoHR/linuXYZ/issues/92)) ([a831ce0](https://github.com/EinoHR/linuXYZ/commit/a831ce00df84d94e2bdb48013f650bcbb5b39568)) +* remove -y flag from yq; not in go version ([5a98ef6](https://github.com/EinoHR/linuXYZ/commit/5a98ef653293d5d3a9b4f0920d3625291a93601a)) +* remove 38 ([#89](https://github.com/EinoHR/linuXYZ/issues/89)) ([8a6f343](https://github.com/EinoHR/linuXYZ/commit/8a6f3433ad45b0f9f3da974a691001c02f498fb1)) +* remove 38 builds and fix logo metadata ([#62](https://github.com/EinoHR/linuXYZ/issues/62)) ([521f0ad](https://github.com/EinoHR/linuXYZ/commit/521f0adcda598a1bf494d969df375f0c0a03a10c)) +* remove duplicate flatpaks from recipe.yml ([4afc5b1](https://github.com/EinoHR/linuXYZ/commit/4afc5b1b4482ec6eb5e1841cbb57d3d9e3d98f5c)) +* remove extremely verbose "x" flag ([20e0a06](https://github.com/EinoHR/linuXYZ/commit/20e0a06588e9b0e4edb3522f4d9602d2e681f4af)) +* remove if statements ([#96](https://github.com/EinoHR/linuXYZ/issues/96)) ([0c7bc17](https://github.com/EinoHR/linuXYZ/commit/0c7bc17666ae038a0504d24a0e683f724c734527)) +* remove legacy PWA setup command from custom.just ([ecb6fde](https://github.com/EinoHR/linuXYZ/commit/ecb6fdebb17240de5a80c8cf9e54d99623f0dab6)) +* remove old pr workflow sections ([#98](https://github.com/EinoHR/linuXYZ/issues/98)) ([4a21580](https://github.com/EinoHR/linuXYZ/commit/4a21580f4e4d40692449bae61a75a555e8569be1)) +* remove RPMs after installing RPMs, to guarantee cleanup ([3920ba9](https://github.com/EinoHR/linuXYZ/commit/3920ba9ab53fd75e5b54fdecdd330e0a80fcc0bb)) +* remove unneeded escape ([616c59c](https://github.com/EinoHR/linuXYZ/commit/616c59c90bebd1d4dda24d5c28fa35adb067b13a)) +* rename package back to `base` ([#97](https://github.com/EinoHR/linuXYZ/issues/97)) ([785b8f0](https://github.com/EinoHR/linuXYZ/commit/785b8f0d8adb8513bbe94b8918bfc0033ee0ca45)) +* restore download artifact step, support multi-line tags ([#90](https://github.com/EinoHR/linuXYZ/issues/90)) ([c40bddf](https://github.com/EinoHR/linuXYZ/commit/c40bddfdf39a61545700ecb8123a02abd24a4f8f)) +* retain variables ([091e939](https://github.com/EinoHR/linuXYZ/commit/091e9396f2929bee6a3cf1606439377f75f13a92)) +* revert previous commit ([5947af4](https://github.com/EinoHR/linuXYZ/commit/5947af45da9ea324ab8c52e09142c916791d88e2)) +* semicolon before "done" keyword in shell ([ae9994e](https://github.com/EinoHR/linuXYZ/commit/ae9994e397a62fae627e5fe7dc1379444598e07e)) +* switch profile.d script to more robust technique ([c4b6b47](https://github.com/EinoHR/linuXYZ/commit/c4b6b4760606c9f70c30a88c9b20474e5698cc95)) +* switch to nvidia ([aaddfe6](https://github.com/EinoHR/linuXYZ/commit/aaddfe60d705651c0239f4965a98ef6fd50f25cb)) +* thoroughly remove fedora Flatpaks, and install unfiltered Flathub ([475a3c9](https://github.com/EinoHR/linuXYZ/commit/475a3c91cdfced27b73ad80a6d5e1ec19617d932)) +* typo in /usr ([bd5db68](https://github.com/EinoHR/linuXYZ/commit/bd5db68387150ee04afc348bfdfd42afdc4db167)) +* typo in workflow_dispatch ([fbd14f5](https://github.com/EinoHR/linuXYZ/commit/fbd14f502f6c2ceaeb02f6b7ddab246b7a507171)) +* update cosign action ([#94](https://github.com/EinoHR/linuXYZ/issues/94)) ([0aff9ba](https://github.com/EinoHR/linuXYZ/commit/0aff9bac374c3494f57a360fd4426afe705bfee9)) +* update cosign installer version ([#32](https://github.com/EinoHR/linuXYZ/issues/32)) ([91d4c38](https://github.com/EinoHR/linuXYZ/commit/91d4c3877ca61595f4e1f6a5cfa5dbf4dcc0e596)) +* use proper shebang line ([f24c407](https://github.com/EinoHR/linuXYZ/commit/f24c4072fdb09f117f8e2b58baf017883725b7a0)) +* use RECIPE arg ([6d77885](https://github.com/EinoHR/linuXYZ/commit/6d778859c82924e920198c69c2e27bbabdf3ea3e)) +* use yq in setup-flatpaks ([66d2265](https://github.com/EinoHR/linuXYZ/commit/66d22650f02cb4c551675614168b44eb89cb8345)) + + +### Styles + +* change base-container to base-image ([#49](https://github.com/EinoHR/linuXYZ/issues/49)) ([1df862a](https://github.com/EinoHR/linuXYZ/commit/1df862aae8472f765828043d0ae1bea2953b61a0)) + ## [1.1.0](https://github.com/ublue-os/base/compare/v1.0.0...v1.1.0) (2023-03-03) From 24f0da74d361a37948a378b3d05536fca90243c2 Mon Sep 17 00:00:00 2001 From: xynydev Date: Mon, 25 Sep 2023 18:35:21 +0300 Subject: [PATCH 23/44] feat: gib me back my changes --- .../usr/share/ublue-os/just/60-custom.just | 19 ++++++++++ .../files/usr/share/ublue-os/just/custom.just | 3 -- config/recipe.yml | 35 ++++++++++++++++--- 3 files changed, 50 insertions(+), 7 deletions(-) create mode 100644 config/files/usr/share/ublue-os/just/60-custom.just delete mode 100644 config/files/usr/share/ublue-os/just/custom.just diff --git a/config/files/usr/share/ublue-os/just/60-custom.just b/config/files/usr/share/ublue-os/just/60-custom.just new file mode 100644 index 0000000..5f83cf6 --- /dev/null +++ b/config/files/usr/share/ublue-os/just/60-custom.just @@ -0,0 +1,19 @@ +!include /usr/share/ublue-os/just/100-bling.just + +# Include some of your custom scripts here! + +# https://github.com/essembeh/gnome-extensions-cli +setup-gext: + pip install --upgrade gnome-extensions-cli + # vitals + gext install 1460 + # gsconnect + gext install 1319 + # arcmenu + gext install 3628 + # burn-my-windows + gext install 4679 + # user themes + gext install 19 + # space bar + gext install 5090 \ No newline at end of file diff --git a/config/files/usr/share/ublue-os/just/custom.just b/config/files/usr/share/ublue-os/just/custom.just deleted file mode 100644 index 023304a..0000000 --- a/config/files/usr/share/ublue-os/just/custom.just +++ /dev/null @@ -1,3 +0,0 @@ -!include /usr/share/ublue-os/just/bling.just - -# Include some of your custom scripts here! diff --git a/config/recipe.yml b/config/recipe.yml index 3dd0e51..2e235bd 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -1,10 +1,10 @@ # image will be published to ghcr.io// -name: startingpoint +name: linuxyz # description will be included in the image's metadata -description: A starting point for further customization of uBlue images. Make your own! https://ublue.it/making-your-own/ +description: My personal uBlue image. Make your own! https://ublue.it/making-your-own/ # the base image to build on top of (FROM) and the version tag to use -base-image: ghcr.io/ublue-os/silverblue-main +base-image: ghcr.io/ublue-os/silverblue-nvidia image-version: 38 # latest is also supported if you want new updates ASAP # module configuration, executed in order @@ -22,10 +22,37 @@ modules: - type: rpm-ostree repos: - # - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-%OS_VERSION%/atim-starship-fedora-%OS_VERSION%.repo + - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-%FEDORA_VERSION%/atim-starship-fedora-%FEDORA_VERSION%.repo + - https://pkgs.tailscale.com/stable/fedora/tailscale.repo install: # - micro # - starship + - python + - rsync + - syncthing + - kitty + - starship + - zsh + - fish + - rEFInd + - qemu + - libvirt + - virt-manager + - tailscale + + - pcmanfm + - thunar + - nemo + + - gnome-shell-extension-pop-shell + - xprop + - gnome-shell-extension-blur-my-shell + + # - bismuth + + - ulauncher + # - fzf + # - btop remove: - firefox # default firefox removed in favor of flatpak - firefox-langpacks # langpacks needs to also be removed to prevent dependency problems From e704d8169c987b4d0b26482cd178e19b7e30dcca Mon Sep 17 00:00:00 2001 From: xynydev Date: Mon, 25 Sep 2023 18:40:41 +0300 Subject: [PATCH 24/44] fix: %OS_VERSION% --- config/recipe.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/recipe.yml b/config/recipe.yml index 2e235bd..9bbd9ca 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -22,7 +22,7 @@ modules: - type: rpm-ostree repos: - - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-%FEDORA_VERSION%/atim-starship-fedora-%FEDORA_VERSION%.repo + - https://copr.fedorainfracloud.org/coprs/atim/starship/repo/fedora-%OS_VERSION%/atim-starship-fedora-%OS_VERSION%.repo - https://pkgs.tailscale.com/stable/fedora/tailscale.repo install: # - micro From 42ebe2762616b95e1bd68d4e40feb76f7d9e01cf Mon Sep 17 00:00:00 2001 From: xynydev Date: Wed, 27 Sep 2023 17:07:19 +0300 Subject: [PATCH 25/44] feat: virt-install --- config/recipe.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/recipe.yml b/config/recipe.yml index 9bbd9ca..cd06e3f 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -38,6 +38,7 @@ modules: - qemu - libvirt - virt-manager + - virt-install - tailscale - pcmanfm From 79e3c3f76565beef635580cdd5be16a6a0df1d82 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sun, 1 Oct 2023 15:57:42 +0300 Subject: [PATCH 26/44] chore: do some testing with the fonts module --- Containerfile | 2 +- config/recipe.yml | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 084869a..98ee177 100644 --- a/Containerfile +++ b/Containerfile @@ -34,7 +34,7 @@ COPY config /tmp/config/ # Copy modules # The default modules are inside ublue-os/bling -COPY --from=ghcr.io/ublue-os/bling:latest /modules /tmp/modules/ +COPY --from=ghcr.io/xynydev/bling:latest /modules /tmp/modules/ # Custom modules overwrite defaults COPY modules /tmp/modules/ diff --git a/config/recipe.yml b/config/recipe.yml index cd06e3f..8353706 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -80,3 +80,19 @@ modules: scripts: # this sets up the proper policy & signing files for signed images to work - signing.sh + + - type: fonts + fonts: + nerd-fonts: + - FiraCode # don't add "Nerd Font" suffix. + - Hack + - SourceCodePro + - Terminus + - JetBrainsMono + - NerdFontsSymbolsOnly + google-fonts: + - Roboto + - Open Sans + - Work Sans + - Outfit + - Space Grotesk \ No newline at end of file From 0f499b698a8bfc6410017ed2070412fc28bb5293 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sun, 1 Oct 2023 16:16:45 +0300 Subject: [PATCH 27/44] chore: switch back to official bling --- Containerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Containerfile b/Containerfile index 98ee177..084869a 100644 --- a/Containerfile +++ b/Containerfile @@ -34,7 +34,7 @@ COPY config /tmp/config/ # Copy modules # The default modules are inside ublue-os/bling -COPY --from=ghcr.io/xynydev/bling:latest /modules /tmp/modules/ +COPY --from=ghcr.io/ublue-os/bling:latest /modules /tmp/modules/ # Custom modules overwrite defaults COPY modules /tmp/modules/ From f1dc9f1de1538421651370f2f677a728fec529d3 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sun, 1 Oct 2023 16:17:06 +0300 Subject: [PATCH 28/44] feat: add SpaceMono --- config/recipe.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/config/recipe.yml b/config/recipe.yml index 8353706..02c49d4 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -90,6 +90,7 @@ modules: - Terminus - JetBrainsMono - NerdFontsSymbolsOnly + - SpaceMono google-fonts: - Roboto - Open Sans From 91c18c686dd7ff7d9983064a516d80447016f947 Mon Sep 17 00:00:00 2001 From: xynydev Date: Tue, 17 Oct 2023 13:01:57 +0300 Subject: [PATCH 29/44] feat: switch to forge for tiling --- config/recipe.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/config/recipe.yml b/config/recipe.yml index 02c49d4..adcba55 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -45,9 +45,10 @@ modules: - thunar - nemo - - gnome-shell-extension-pop-shell - - xprop + # - gnome-shell-extension-pop-shell + # - xprop - gnome-shell-extension-blur-my-shell + - gnome-shell-extension-forge # - bismuth From fd36ac05b20bca964398d069cfe745dae3097d83 Mon Sep 17 00:00:00 2001 From: xynydev Date: Thu, 19 Oct 2023 12:22:47 +0300 Subject: [PATCH 30/44] fix: remove forge for now --- config/recipe.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/recipe.yml b/config/recipe.yml index adcba55..3f5d1c3 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -48,7 +48,7 @@ modules: # - gnome-shell-extension-pop-shell # - xprop - gnome-shell-extension-blur-my-shell - - gnome-shell-extension-forge + # - gnome-shell-extension-forge # - bismuth From 83af59c14174fc7e7766e5d22e120db3ab0e57c5 Mon Sep 17 00:00:00 2001 From: xynydev Date: Thu, 19 Oct 2023 12:23:23 +0300 Subject: [PATCH 31/44] feat: add forge to gext setup --- config/files/usr/share/ublue-os/just/60-custom.just | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/files/usr/share/ublue-os/just/60-custom.just b/config/files/usr/share/ublue-os/just/60-custom.just index 5f83cf6..4acfa6a 100644 --- a/config/files/usr/share/ublue-os/just/60-custom.just +++ b/config/files/usr/share/ublue-os/just/60-custom.just @@ -16,4 +16,6 @@ setup-gext: # user themes gext install 19 # space bar - gext install 5090 \ No newline at end of file + gext install 5090 + # forge + gext install 4481 \ No newline at end of file From cb4cda29da78f94b1abe4e77c32316fc9c4d9070 Mon Sep 17 00:00:00 2001 From: xynydev Date: Thu, 19 Oct 2023 12:53:32 +0300 Subject: [PATCH 32/44] feat: rounded window corners --- config/files/usr/share/ublue-os/just/60-custom.just | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/config/files/usr/share/ublue-os/just/60-custom.just b/config/files/usr/share/ublue-os/just/60-custom.just index 4acfa6a..b553808 100644 --- a/config/files/usr/share/ublue-os/just/60-custom.just +++ b/config/files/usr/share/ublue-os/just/60-custom.just @@ -18,4 +18,6 @@ setup-gext: # space bar gext install 5090 # forge - gext install 4481 \ No newline at end of file + gext install 4481 + # rounded window corners + gext install 5237 \ No newline at end of file From 5f982a4a2b7a543aee2ce12ba84f1186ebd80112 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sat, 28 Oct 2023 12:45:19 +0300 Subject: [PATCH 33/44] feat: mpris-scrobbler --- config/recipe.yml | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/config/recipe.yml b/config/recipe.yml index 3f5d1c3..d8d7a94 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -45,6 +45,8 @@ modules: - thunar - nemo + - mpris-scrobbler + # - gnome-shell-extension-pop-shell # - xprop - gnome-shell-extension-blur-my-shell @@ -52,13 +54,18 @@ modules: # - bismuth - - ulauncher + # - ulauncher # - fzf # - btop remove: - firefox # default firefox removed in favor of flatpak - firefox-langpacks # langpacks needs to also be removed to prevent dependency problems + - type: systemd + user: + enabled: + - mpris-scrobbler.service + - type: bling # configure what to pull in from ublue-os/bling install: - fonts # selection of common good free fonts @@ -97,4 +104,5 @@ modules: - Open Sans - Work Sans - Outfit - - Space Grotesk \ No newline at end of file + - Space Grotesk + From a84248055542b934b0c893193a4ee6b10b5041a1 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sat, 28 Oct 2023 15:49:47 +0300 Subject: [PATCH 34/44] feat: switch to rescrobbled from mpris-scrobbler --- config/recipe.yml | 8 +------- config/scripts/rescrobbled.sh | 13 +++++++++++++ 2 files changed, 14 insertions(+), 7 deletions(-) create mode 100644 config/scripts/rescrobbled.sh diff --git a/config/recipe.yml b/config/recipe.yml index d8d7a94..c193d84 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -45,8 +45,6 @@ modules: - thunar - nemo - - mpris-scrobbler - # - gnome-shell-extension-pop-shell # - xprop - gnome-shell-extension-blur-my-shell @@ -61,11 +59,6 @@ modules: - firefox # default firefox removed in favor of flatpak - firefox-langpacks # langpacks needs to also be removed to prevent dependency problems - - type: systemd - user: - enabled: - - mpris-scrobbler.service - - type: bling # configure what to pull in from ublue-os/bling install: - fonts # selection of common good free fonts @@ -87,6 +80,7 @@ modules: - type: script scripts: # this sets up the proper policy & signing files for signed images to work + - rescrobbled.sh - signing.sh - type: fonts diff --git a/config/scripts/rescrobbled.sh b/config/scripts/rescrobbled.sh new file mode 100644 index 0000000..c67965e --- /dev/null +++ b/config/scripts/rescrobbled.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +set -oue pipefail + +echo "Downloading latest rescrobbled binary" +curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/InputUsername/rescrobbled/releases/latest \ + | jq .assets[0].browser_download_url \ + | xargs wget -o /usr/bin/rescrobbled + +echo "Downloading rescrobbled systemd unit" +wget https://raw.githubusercontent.com/InputUsername/rescrobbled/master/rescrobbled.service -o /usr/lib/systemd/user/rescrobbled.service + +echo "Enabling rescrobbled systemd unit" +systemctl enable --global -f rescrobbled.service \ No newline at end of file From 3db0bf0f0a32fdc0e0bf7db4dfa8c72d89193015 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sat, 28 Oct 2023 17:26:33 +0300 Subject: [PATCH 35/44] fix: fetch rescrobbled service correctly --- config/scripts/rescrobbled.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/scripts/rescrobbled.sh b/config/scripts/rescrobbled.sh index c67965e..b9773a1 100644 --- a/config/scripts/rescrobbled.sh +++ b/config/scripts/rescrobbled.sh @@ -7,7 +7,7 @@ curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/In | xargs wget -o /usr/bin/rescrobbled echo "Downloading rescrobbled systemd unit" -wget https://raw.githubusercontent.com/InputUsername/rescrobbled/master/rescrobbled.service -o /usr/lib/systemd/user/rescrobbled.service +curl https://raw.githubusercontent.com/InputUsername/rescrobbled/master/rescrobbled.service > Downloads/rescrobbled.service echo "Enabling rescrobbled systemd unit" systemctl enable --global -f rescrobbled.service \ No newline at end of file From 00325afb510c9c18b7d280d671c93a405140a866 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sat, 28 Oct 2023 17:33:25 +0300 Subject: [PATCH 36/44] chore: chmod binary, dl service to correct dir --- config/scripts/rescrobbled.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/scripts/rescrobbled.sh b/config/scripts/rescrobbled.sh index b9773a1..d775a11 100644 --- a/config/scripts/rescrobbled.sh +++ b/config/scripts/rescrobbled.sh @@ -5,9 +5,10 @@ echo "Downloading latest rescrobbled binary" curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/InputUsername/rescrobbled/releases/latest \ | jq .assets[0].browser_download_url \ | xargs wget -o /usr/bin/rescrobbled +chmod +x /usr/bin/rescrobbled echo "Downloading rescrobbled systemd unit" -curl https://raw.githubusercontent.com/InputUsername/rescrobbled/master/rescrobbled.service > Downloads/rescrobbled.service +curl https://raw.githubusercontent.com/InputUsername/rescrobbled/master/rescrobbled.service > /usr/lib/systemd/user/rescrobbled.service echo "Enabling rescrobbled systemd unit" systemctl enable --global -f rescrobbled.service \ No newline at end of file From b6f654d3d04f60f0d861369b314d3fdf6e146b69 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sat, 28 Oct 2023 17:53:01 +0300 Subject: [PATCH 37/44] fix: correct execstart --- config/scripts/rescrobbled.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/config/scripts/rescrobbled.sh b/config/scripts/rescrobbled.sh index d775a11..ed1c5c9 100644 --- a/config/scripts/rescrobbled.sh +++ b/config/scripts/rescrobbled.sh @@ -8,7 +8,8 @@ curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/In chmod +x /usr/bin/rescrobbled echo "Downloading rescrobbled systemd unit" -curl https://raw.githubusercontent.com/InputUsername/rescrobbled/master/rescrobbled.service > /usr/lib/systemd/user/rescrobbled.service +curl https://raw.githubusercontent.com/InputUsername/rescrobbled/master/rescrobbled.service > /tmp/rescrobbled.service +sed 's/ExecStart=.*/ExecStart=\/usr\/bin\/rescrobbled/' /tmp/rescrobbled.service > /usr/lib/systemd/user/rescrobbled.service echo "Enabling rescrobbled systemd unit" systemctl enable --global -f rescrobbled.service \ No newline at end of file From ec68d5fea84751463691e63f8b96e4762f9fb308 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sat, 28 Oct 2023 17:53:33 +0300 Subject: [PATCH 38/44] fix: wget->curl --- config/scripts/rescrobbled.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/scripts/rescrobbled.sh b/config/scripts/rescrobbled.sh index ed1c5c9..bcf5a34 100644 --- a/config/scripts/rescrobbled.sh +++ b/config/scripts/rescrobbled.sh @@ -4,7 +4,7 @@ set -oue pipefail echo "Downloading latest rescrobbled binary" curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/InputUsername/rescrobbled/releases/latest \ | jq .assets[0].browser_download_url \ - | xargs wget -o /usr/bin/rescrobbled + | xargs curl > /usr/bin/rescrobbled chmod +x /usr/bin/rescrobbled echo "Downloading rescrobbled systemd unit" From 3a81c1c972440f6c0436f346f9c3a00d55630209 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sat, 28 Oct 2023 17:59:02 +0300 Subject: [PATCH 39/44] fix: wget with big o --- config/scripts/rescrobbled.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/scripts/rescrobbled.sh b/config/scripts/rescrobbled.sh index bcf5a34..a96e9aa 100644 --- a/config/scripts/rescrobbled.sh +++ b/config/scripts/rescrobbled.sh @@ -4,7 +4,7 @@ set -oue pipefail echo "Downloading latest rescrobbled binary" curl -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/InputUsername/rescrobbled/releases/latest \ | jq .assets[0].browser_download_url \ - | xargs curl > /usr/bin/rescrobbled + | xargs wget -O /usr/bin/rescrobbled chmod +x /usr/bin/rescrobbled echo "Downloading rescrobbled systemd unit" From 7941db3c65e7dfe1bb846a4ccfa626d1bdd25469 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sun, 29 Oct 2023 18:16:11 +0200 Subject: [PATCH 40/44] feat: add hack to automount all network shares --- .../files/usr/etc/systemd/system/mount-on-boot.service | 10 ++++++++++ config/recipe.yml | 5 +++++ 2 files changed, 15 insertions(+) create mode 100644 config/files/usr/etc/systemd/system/mount-on-boot.service diff --git a/config/files/usr/etc/systemd/system/mount-on-boot.service b/config/files/usr/etc/systemd/system/mount-on-boot.service new file mode 100644 index 0000000..d9c14e7 --- /dev/null +++ b/config/files/usr/etc/systemd/system/mount-on-boot.service @@ -0,0 +1,10 @@ +[Unit] +Description=Hack to mount all network shares automagically. +After=network-online.target +Wants=network-online.target + +[Service] +ExecStart=mount -a + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/config/recipe.yml b/config/recipe.yml index c193d84..e16d279 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -83,6 +83,11 @@ modules: - rescrobbled.sh - signing.sh + - type: systemd + system: + enabled: + - mount-on-boot.service + - type: fonts fonts: nerd-fonts: From 44c61ab2ae73d665532501c166e6905c82bddd3d Mon Sep 17 00:00:00 2001 From: xynydev Date: Sun, 29 Oct 2023 19:05:20 +0200 Subject: [PATCH 41/44] chore: /usr/etc/systemd/ -> /usr/lib/systemd/ --- .../files/usr/{etc => lib}/systemd/system/mount-on-boot.service | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename config/files/usr/{etc => lib}/systemd/system/mount-on-boot.service (100%) diff --git a/config/files/usr/etc/systemd/system/mount-on-boot.service b/config/files/usr/lib/systemd/system/mount-on-boot.service similarity index 100% rename from config/files/usr/etc/systemd/system/mount-on-boot.service rename to config/files/usr/lib/systemd/system/mount-on-boot.service From 743b4c89e231006067e2eba478401f75a266ff1b Mon Sep 17 00:00:00 2001 From: xynydev Date: Wed, 22 Nov 2023 14:17:12 +0200 Subject: [PATCH 42/44] feat: use latest --- config/recipe.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/recipe.yml b/config/recipe.yml index e16d279..a056930 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -5,7 +5,7 @@ description: My personal uBlue image. Make your own! https://ublue.it/making-you # the base image to build on top of (FROM) and the version tag to use base-image: ghcr.io/ublue-os/silverblue-nvidia -image-version: 38 # latest is also supported if you want new updates ASAP +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 From 8a81f9b9bd7921a28e52a134c85d5b344a516cb9 Mon Sep 17 00:00:00 2001 From: xynydev Date: Sat, 25 Nov 2023 14:11:52 +0200 Subject: [PATCH 43/44] feat: workspace shortcuts just --- config/files/usr/share/ublue-os/just/60-custom.just | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/config/files/usr/share/ublue-os/just/60-custom.just b/config/files/usr/share/ublue-os/just/60-custom.just index b553808..b22be3b 100644 --- a/config/files/usr/share/ublue-os/just/60-custom.just +++ b/config/files/usr/share/ublue-os/just/60-custom.just @@ -20,4 +20,12 @@ setup-gext: # forge gext install 4481 # rounded window corners - gext install 5237 \ No newline at end of file + gext install 5237 + +workspace-shortcuts: + #!/usr/bin/env bash + for i in {1..9}; do + gsettings set org.gnome.shell.keybindings switch-to-application-$i '[]' + gsettings set org.gnome.desktop.wm.keybindings switch-to-workspace-$i "['$i']" + gsettings set org.gnome.desktop.wm.keybindings move-to-workspace-$i "['$i']" + done \ No newline at end of file From e83bacd4b55f833e9f25f3447273f6a9cc22fdb3 Mon Sep 17 00:00:00 2001 From: xyny <60004820+xynydev@users.noreply.github.com> Date: Sun, 17 Dec 2023 13:10:41 +0000 Subject: [PATCH 44/44] chore: sync (#3) * fix: accommodate new justfile organization * fix: remove image-info.json from base image if it exists (#162) * fix: remove image-info.json from base image if it exists This just makes it so if the user forgets to run the signing script and somehow installs `ublue-update`, `ublue-update` won't try to rebase them to the base image they chose * docs: clearer comment for image-info remove line --------- Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com> * chore(ci): Maximize build space (#165) * docs: module working directory, style guides * docs: how to refer to modules in module READMEs * docs: chore: remove ":" from Example configuration this change should be propagated to bling * docs: grammar recommendations * docs: correct title casing in style guide * docs: yaml not yml, directions qualifier * fix: ublue-update failure when signing image * chore: rm deprecated fonts bling from recipe * fix: specify image name in policy.json (#176) There was talk on the discord about not being able to pull in images with podman because the signing policy included *every* image inside of the user's ghcr account. Which means that images not signed with the same key won't be able to be pulled down * chore: update bling list (#181) * chore: update bling list * Review comments * docs (README): run 'rpm-ostree rebase' without sudo (#183) * build(deps): bump ASzc/change-string-case-action from 5 to 6 (#178) Bumps [ASzc/change-string-case-action](https://github.com/aszc/change-string-case-action) from 5 to 6. - [Release notes](https://github.com/aszc/change-string-case-action/releases) - [Commits](https://github.com/aszc/change-string-case-action/compare/v5...v6) --- updated-dependencies: - dependency-name: ASzc/change-string-case-action dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Bump to Fedora 39 (#186) * Bump release-iso workflow to Fedora 39 * Pin isogenerator version It is recommended in order to avoid some unexpected changes to the maintainer. * Update other recipe & containerfile to reflect Fedora 39 change * chore(ci): Build at 16:30 UTC (#187) Nvidia images are now being built at 15:30 UTC. Startingpoint images should be built one hour after that. * build(deps): bump mikefarah/yq from 4.35.1 to 4.40.1 (#189) Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.35.1 to 4.40.1. - [Release notes](https://github.com/mikefarah/yq/releases) - [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt) - [Commits](https://github.com/mikefarah/yq/compare/v4.35.1...v4.40.1) --- updated-dependencies: - dependency-name: mikefarah/yq dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump sigstore/cosign-installer from 3.1.2 to 3.2.0 (#188) Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.1.2 to 3.2.0. - [Release notes](https://github.com/sigstore/cosign-installer/releases) - [Commits](https://github.com/sigstore/cosign-installer/compare/v3.1.2...v3.2.0) --- updated-dependencies: - dependency-name: sigstore/cosign-installer dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * build(deps): bump mikefarah/yq from 4.40.1 to 4.40.2 (#192) Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.40.1 to 4.40.2. - [Release notes](https://github.com/mikefarah/yq/releases) - [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt) - [Commits](https://github.com/mikefarah/yq/compare/v4.40.1...v4.40.2) --- updated-dependencies: - dependency-name: mikefarah/yq dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: delete all previous ISOs when re-releasing (#185) * fix: use -R flag to select repo on iso-deleting `gh` commands * feat: add just syntax checker (#194) * feat: add just syntax checker * fix: create empty file to pass just syntax check * fix: use relative path to pass just syntax check * fix: justfiles cannot be empty to pass the syntax check * fix: format justfiles * docs: 100-bling.just explain purpose --------- Co-authored-by: xyny <60004820+xynydev@users.noreply.github.com> * fix: typo (#199) * build(deps): bump mikefarah/yq from 4.40.2 to 4.40.3 (#200) Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.40.2 to 4.40.3. - [Release notes](https://github.com/mikefarah/yq/releases) - [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt) - [Commits](https://github.com/mikefarah/yq/compare/v4.40.2...v4.40.3) --- updated-dependencies: - dependency-name: mikefarah/yq dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix: release-iso.yml to not fail if no images are returned (#202) Builds started failing once #195 was merged. This fixed the release-iso workflow for me. * build(deps): bump mikefarah/yq from 4.40.3 to 4.40.4 (#201) Bumps [mikefarah/yq](https://github.com/mikefarah/yq) from 4.40.3 to 4.40.4. - [Release notes](https://github.com/mikefarah/yq/releases) - [Changelog](https://github.com/mikefarah/yq/blob/master/release_notes.txt) - [Commits](https://github.com/mikefarah/yq/compare/v4.40.3...v4.40.4) --- updated-dependencies: - dependency-name: mikefarah/yq dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * fix: do not format just files in CI (#205) * feat: Check that cosign.pub matches private key (#193) This avoids images which can't be updated due to `invalid signature` errors because cosign.pub doesn't match the private key actually used for signing. The error is caught early in the build process as there's no point creating an image if cosign.pub is wrong. Co-authored-by: mjs --------- Signed-off-by: dependabot[bot] Co-authored-by: Kyle Gospodnetich Co-authored-by: gerblesh <101901964+gerblesh@users.noreply.github.com> Co-authored-by: plata Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: fiftydinar <65243233+fiftydinar@users.noreply.github.com> Co-authored-by: Lordus Kordus <136916485+lorduskordus@users.noreply.github.com> Co-authored-by: RJ Trujillo Co-authored-by: ArtikusHG <24320212+ArtikusHG@users.noreply.github.com> Co-authored-by: qoijjj <129108030+qoijjj@users.noreply.github.com> Co-authored-by: David Personette Co-authored-by: Menno Finlay-Smits Co-authored-by: mjs --- .github/workflows/build.yml | 44 +++++++++++++++---- .github/workflows/release-iso.yml | 7 +-- Containerfile | 2 +- build.sh | 11 ++++- .../usr/share/ublue-os/just/100-bling.just | 2 + .../usr/share/ublue-os/just/60-custom.just | 2 +- config/recipe.yml | 8 +++- config/scripts/signing.sh | 4 +- modules/README.md | 23 +++++++++- 9 files changed, 83 insertions(+), 20 deletions(-) create mode 100644 config/files/usr/share/ublue-os/just/100-bling.just diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6c1060a..ec476cb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -1,5 +1,5 @@ -# This workflow builds every branch of the repository daily at 20:22 UTC, one hour after ublue-os/nvidia builds. -# The images are also built after pushuing changes or pull requests. +# This workflow builds every branch of the repository daily at 16:30 UTC, one hour after ublue-os/nvidia builds. +# The images are also built after pushing changes or pull requests. # The builds can also be triggered manually in the Actions tab thanks to workflow dispatch. # Only the branch called `live` is published. @@ -7,7 +7,7 @@ name: build-ublue on: # https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows schedule: - - cron: "20 22 * * *" + - cron: "30 16 * * *" push: branches: - live @@ -43,12 +43,41 @@ jobs: # !!! steps: + - name: Maximize build space + uses: AdityaGarg8/remove-unwanted-software@v1 + with: + remove-dotnet: 'true' + remove-android: 'true' + remove-haskell: 'true' + # Checkout push-to-registry action GitHub repository - name: Checkout Push to Registry action uses: actions/checkout@v4 + # Confirm that cosign.pub matches SIGNING_SECRET + - uses: sigstore/cosign-installer@v3.2.0 + if: github.event_name != 'pull_request' && github.ref == 'refs/heads/live' + + - name: Check SIGNING_SECRET matches cosign.pub + if: github.event_name != 'pull_request' && github.ref == 'refs/heads/live' + env: + COSIGN_EXPERIMENTAL: false + COSIGN_PASSWORD: "" + COSIGN_PRIVATE_KEY: ${{ secrets.SIGNING_SECRET }} + shell: bash + run: | + echo "Checking for difference between public key from SIGNING_SECRET and cosign.pub" + delta=$(diff -u <(cosign public-key --key env://COSIGN_PRIVATE_KEY) cosign.pub) + if [ -z "$delta" ]; then + echo "cosign.pub matches SIGNING_SECRET" + else + echo "cosign.pub does not match SIGNING_SECRET" + echo "$delta" + exit 1 + fi + - name: Add yq (for reading recipe.yml) - uses: mikefarah/yq@v4.35.1 + uses: mikefarah/yq@v4.40.4 - name: Gather image data from recipe run: | @@ -119,13 +148,13 @@ jobs: # https://github.com/macbre/push-to-ghcr/issues/12 - name: Lowercase Registry id: registry_case - uses: ASzc/change-string-case-action@v5 + uses: ASzc/change-string-case-action@v6 with: string: ${{ env.IMAGE_REGISTRY }} - name: Lowercase Image id: image_case - uses: ASzc/change-string-case-action@v5 + uses: ASzc/change-string-case-action@v6 with: string: ${{ env.IMAGE_NAME }} @@ -173,9 +202,6 @@ jobs: password: ${{ secrets.GITHUB_TOKEN }} # Sign container - - uses: sigstore/cosign-installer@v3.1.2 - if: github.event_name != 'pull_request' && github.ref == 'refs/heads/live' - - name: Sign container image if: github.event_name != 'pull_request' && github.ref == 'refs/heads/live' run: | diff --git a/.github/workflows/release-iso.yml b/.github/workflows/release-iso.yml index 719e8b3..90afd21 100644 --- a/.github/workflows/release-iso.yml +++ b/.github/workflows/release-iso.yml @@ -13,17 +13,17 @@ jobs: permissions: contents: write container: - image: fedora:38 + image: fedora:39 options: --privileged steps: - uses: actions/checkout@v4 - name: Generate ISO - uses: ublue-os/isogenerator@main + uses: ublue-os/isogenerator@v2.2.0 id: isogenerator with: image-name: ${{ github.event.repository.name }} installer-repo: releases - installer-major-version: 38 + installer-major-version: 39 boot-menu-path: boot_menu.yml - name: install github CLI run: | @@ -35,6 +35,7 @@ jobs: GITHUB_TOKEN: ${{ github.token }} run: | if gh release list -R ${{ github.repository_owner }}/${{ github.event.repository.name }} | grep "auto-iso"; then + gh release view auto-iso -R ${{ github.repository_owner }}/${{ github.event.repository.name }} --json assets -q .assets[].name | xargs --no-run-if-empty -L 1 gh release delete-asset auto-iso -R ${{ github.repository_owner }}/${{ github.event.repository.name }} gh release upload auto-iso ${{ steps.isogenerator.outputs.iso-path }} -R ${{ github.repository_owner }}/${{ github.event.repository.name }} --clobber else gh release create auto-iso ${{ steps.isogenerator.outputs.iso-path }} -t ISO -n "This is an automatically generated ISO release." -R ${{ github.repository_owner }}/${{ github.event.repository.name }} diff --git a/Containerfile b/Containerfile index 084869a..735aa5d 100644 --- a/Containerfile +++ b/Containerfile @@ -9,7 +9,7 @@ # does nothing if the image is built in the cloud. # !! Warning: changing these might not do anything for you. Read comment above. -ARG IMAGE_MAJOR_VERSION=38 +ARG IMAGE_MAJOR_VERSION=39 ARG BASE_IMAGE_URL=ghcr.io/ublue-os/silverblue-main FROM ${BASE_IMAGE_URL}:${IMAGE_MAJOR_VERSION} diff --git a/build.sh b/build.sh index 2ee040d..f93a5b3 100644 --- a/build.sh +++ b/build.sh @@ -23,10 +23,11 @@ run_module() { MODULE="$1" TYPE=$(echo "$MODULE" | yq '.type') if [[ "$TYPE" != "null" ]]; then + cd "$CONFIG_DIRECTORY" # If type is found, that means that the module config # has been declared inline, and thus is safe to pass to the module echo "=== Launching module of type: $TYPE ===" - bash "$MODULE_DIRECTORY/$TYPE/$TYPE.sh" "$MODULE" + bash "$MODULE_DIRECTORY/$TYPE/$TYPE.sh" "$MODULE" else # If the type is not found, that means that the module config # is in a separate file, and has to be read from it @@ -62,4 +63,12 @@ OS_VERSION="$(grep -Po '(?<=VERSION_ID=)\d+' /usr/lib/os-release)" # Welcome. echo "Building $IMAGE_NAME from $BASE_IMAGE:$OS_VERSION." +# Remove old image-info.json from main image +# (this file is added back by signing.sh, but shouldn't exist +# with wrong details in an unsigned image) +IMAGE_INFO="/usr/share/ublue-os/image-info.json" +if [ -f "$IMAGE_INFO" ]; then + rm -v "$IMAGE_INFO" +fi + run_modules "$RECIPE_FILE" diff --git a/config/files/usr/share/ublue-os/just/100-bling.just b/config/files/usr/share/ublue-os/just/100-bling.just new file mode 100644 index 0000000..9e3a89b --- /dev/null +++ b/config/files/usr/share/ublue-os/just/100-bling.just @@ -0,0 +1,2 @@ +# this file is a placeholder, +# making changes here is not supported diff --git a/config/files/usr/share/ublue-os/just/60-custom.just b/config/files/usr/share/ublue-os/just/60-custom.just index b22be3b..3501f2b 100644 --- a/config/files/usr/share/ublue-os/just/60-custom.just +++ b/config/files/usr/share/ublue-os/just/60-custom.just @@ -1,4 +1,4 @@ -!include /usr/share/ublue-os/just/100-bling.just +!include 100-bling.just # Include some of your custom scripts here! diff --git a/config/recipe.yml b/config/recipe.yml index a056930..5ab789a 100644 --- a/config/recipe.yml +++ b/config/recipe.yml @@ -61,14 +61,18 @@ modules: - type: bling # configure what to pull in from ublue-os/bling install: - - fonts # selection of common good free fonts - - justfiles # add "!include /usr/share/ublue-os/just/bling.just" + - justfiles # add "!include /usr/share/ublue-os/just/100-bling.just" # in your custom.just (added by default) or local justfile - nix-installer # shell shortcuts for determinate system's nix installers - ublue-os-wallpapers # - ublue-update # https://github.com/ublue-os/ublue-update + # - 1password # install 1Password (stable) and `op` CLI tool # - dconf-update-service # a service unit that updates the dconf db on boot # - devpod # https://devpod.sh/ as an rpm + # - gnome-vrr # enables gnome-vrr for your image + # - container-tools # installs container-related tools onto /usr/bin: kind, kubectx, docker-compose and kubens + # - laptop # installs TLP and configures your system for laptop usage + # - flatpaksync # allows synchronization of user-installed flatpaks, see separate documentation section - type: yafti # if included, yafti and it's dependencies (pip & libadwaita) diff --git a/config/scripts/signing.sh b/config/scripts/signing.sh index 8affdd9..16b0ea8 100644 --- a/config/scripts/signing.sh +++ b/config/scripts/signing.sh @@ -11,7 +11,7 @@ cp /usr/share/ublue-os/cosign.pub /usr/etc/pki/containers/"$IMAGE_NAME".pub FILE=/usr/etc/containers/policy.json yq -i -o=j '.transports.docker |= - {"'"$IMAGE_REGISTRY"'": [ + {"'"$IMAGE_REGISTRY"'/'"$IMAGE_NAME"'": [ { "type": "sigstoreSigned", "keyPath": "/usr/etc/pki/containers/'"$IMAGE_NAME"'.pub", @@ -24,7 +24,7 @@ yq -i -o=j '.transports.docker |= + .' "$FILE" IMAGE_REF="ostree-image-signed:docker://$IMAGE_REGISTRY/$IMAGE_NAME" -printf '{\n"image-ref": "'"$IMAGE_REF"'",\n"image-default-tag": "latest"\n}' > /usr/share/ublue-os/image-info.json +printf '{\n"image-ref": "'"$IMAGE_REF"'",\n"image-tag": "latest"\n}' > /usr/share/ublue-os/image-info.json cp /usr/etc/containers/registries.d/ublue-os.yaml /usr/etc/containers/registries.d/"$IMAGE_NAME".yaml sed -i "s ghcr.io/ublue-os $IMAGE_REGISTRY g" /usr/etc/containers/registries.d/"$IMAGE_NAME".yaml diff --git a/modules/README.md b/modules/README.md index fc9113a..9aac889 100644 --- a/modules/README.md +++ b/modules/README.md @@ -8,6 +8,8 @@ Modules get only the configuration options given to them in the recipe.yml, not Additionally, each module has access to four environment variables, `CONFIG_DIRECTORY` pointing to the Startingpoint directory in `/usr/share/ublue-os/`, `IMAGE_NAME` being the name of the image as declared in the recipe, `BASE_IMAGE` being the URL of the container image used as the base (FROM) in the image, and `OS_VERSION` being the `VERSION_ID` from `/usr/lib/os-release`. +When running modules, the working directory is the `CONFIG_DIRECTORY`. + A helper bash function called `get_yaml_array` is exported from the main build script. ```bash # "$1" is the first cli argument, being the module configuration. @@ -22,4 +24,23 @@ All bash-based modules should start with the following lines to ensure the image ```bash #!/usr/bin/env bash set -oue pipefail -``` \ No newline at end of file +``` + +## Style directions for official modules + +These are general directions for writing official modules and their documentation to follow to keep a consistent style. Not all of these are to be mindlessly followed, especially the ones about grammar and writing style. It's good to keep these in mind if you intend to contribute back upstream, though, so that your module doesn't feel out of place. + +### Bash + +- Start with `#!/usr/bin/env bash` and `set -oue pipefail` +- Don't print "===", this is only for encapsulating the output of _different_ modules in `build.sh` +- Print something on each step and on errors for easier debugging +- Use CAPITALIZED names for variables that are read from the configuration + +### README + +- Title should be "`type` Module for Startingpoint", where the name/type of the module is a noun that shows the module's purpose +- There should be a subtitle "Example configuration", under which there should be a loosely documented yaml block showcasing each of the module's configuration options + - For a YAML block, specify the language as "yaml", not "yml" (MkDocs only supports "yaml") +- At the start of each paragraph, refer to the module using its name or with "the module", not "it" or "the script" +- Use passive grammar when talking about the user, ie. "should be used", "can be configured", preferring references to what the module does, ie. "This module downloads the answer to the question of life, the universe and everything..."