https://github.com/alexfullmoon/shapeshifter
A custom Bluefin-DX image
https://github.com/alexfullmoon/shapeshifter
atomic bluebuild bluebuild-image custom-image image-based immutable linux linux-custom-image oci oci-image operating-system
Last synced: 11 months ago
JSON representation
A custom Bluefin-DX image
- Host: GitHub
- URL: https://github.com/alexfullmoon/shapeshifter
- Owner: AlexFullmoon
- License: apache-2.0
- Created: 2025-05-04T18:12:14.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-05-04T19:55:14.000Z (11 months ago)
- Last Synced: 2025-05-07T21:49:41.517Z (11 months ago)
- Topics: atomic, bluebuild, bluebuild-image, custom-image, image-based, immutable, linux, linux-custom-image, oci, oci-image, operating-system
- Homepage:
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: .github/CODEOWNERS
Awesome Lists containing this project
README
# Shapeshifter - custom Bluefin-DX image [](https://github.com/alexfullmoon/shapeshifter/actions/workflows/build.yml)
Using `bluefin-dx:stable`, customized for personal use.
## TODO/Changes
- [x] Gnome tweaks (RPM)
- No longer available in Flathub - outdated.
Refine is missing some features (advanced keyboard layout stuff, mainly)
Apparently it's re-added in Bluefin? Put this is on hold?
- [x] Solaar (RPM)
- Also its udev rules
- [x] Bitwarden (RPM)
- Biometric auth still not working.
- [x] Alacritty (RPM)
- [x] Sublime Text (RPM)
- [x] Sublime Merge (RPM)
- [x] Dolphin (flatpak)
- RPM would be better, but would pull a *lot* of KDE dependencies...
- [x] LibreOffice (flatpak)
- [x] GearLever (flatpak)
- [x] Betterbird instead of Thunderbird (flatpak)
- [x] Obsidian (flatpak)
- [x] Steam (flatpak is fine, I guess?)
- [x] Discord (flatpak)
- [x] Gnome Extensions
- Clipboard indicator, Solaar extension, Syncthing, Thinkpad stuff, Just Perfection
- [x] Remove some extra bloat
- Input Leap
- InputRemapper (it conflicts with Solaar anyway)
- Refine
- [ ] Add libfuse for continuing support of AppImage (whenever they drop it from Bluefin)
- [ ] Check if anything else needs optfix
- [ ] Seafile, Zotero? Annoying to keep them as binaries.
- [ ] Implement chezmoi module: clean up and publish dotfiles repo
- [ ] Copy some /etc configs?
- [ ] Make build tag actually say `stable` instead of `latest`
## Current issues
Part of Bitwarden postinstall script is running `chcon system_u:object_r:usr_t:s0 /usr/share/polkit-1/actions/com.bitwarden.Bitwarden.policy`. It can't be run during build (fails with "Operation not permitted") and can't be run in system (fails with "Read-only file system")
---
See the [BlueBuild docs](https://blue-build.org/how-to/setup/) for quick setup instructions for setting up your own repository based on this template.
After setup, it is recommended you update this README to describe your custom image.
## Installation
> [!WARNING]
> [This is an experimental feature](https://www.fedoraproject.org/wiki/Changes/OstreeNativeContainerStable), try at your own discretion.
To rebase an existing atomic Fedora installation to the latest build:
- First rebase to the unsigned image, to get the proper signing keys and policies installed:
```
rpm-ostree rebase ostree-unverified-registry:ghcr.io/alexfullmoon/shapeshifter:latest
```
- Reboot to complete the rebase:
```
systemctl reboot
```
- Then rebase to the signed image, like so:
```
rpm-ostree rebase ostree-image-signed:docker://ghcr.io/alexfullmoon/shapeshifter:latest
```
- Reboot again to complete the installation
```
systemctl reboot
```
The `latest` tag will automatically point to the latest build. That build will still always use the Fedora version specified in `recipe.yml`, so you won't get accidentally updated to the next major version.
## ISO
If build on Fedora Atomic, you can generate an offline ISO with the instructions available [here](https://blue-build.org/learn/universal-blue/#fresh-install-from-an-iso). These ISOs cannot unfortunately be distributed on GitHub for free due to large sizes, so for public projects something else has to be used for hosting.
## Verification
These images are signed with [Sigstore](https://www.sigstore.dev/)'s [cosign](https://github.com/sigstore/cosign). You can verify the signature by downloading the `cosign.pub` file from this repo and running the following command:
```bash
cosign verify --key cosign.pub ghcr.io/alexfullmoon/shapeshifter
```