All Projects → sodaliterocks → sodalite

sodaliterocks / sodalite

Licence: MIT license
🪨 A Pantheon experience for rpm-ostree

Programming Languages

shell
77523 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to sodalite

Termux Os
All in One Termux Os..!! (New)
Stars: ✭ 150 (+61.29%)
Mutual labels:  fedora, os
Mbp Fedora
Stars: ✭ 129 (+38.71%)
Mutual labels:  fedora, os
Archcraft
// Source : ISO
Stars: ✭ 437 (+369.89%)
Mutual labels:  fedora, os
onboarding
Onboarding app for new users
Stars: ✭ 47 (-49.46%)
Mutual labels:  pantheon, elementary
contractor
A desktop-wide extension service used by elementary OS
Stars: ✭ 26 (-72.04%)
Mutual labels:  pantheon
Prism-OS
An operating system created in c#, Made possible by the cosmos community!
Stars: ✭ 45 (-51.61%)
Mutual labels:  os
besu-pro-testnet
Blockchain Pro Test-Net, running on Hyperledger Besu
Stars: ✭ 45 (-51.61%)
Mutual labels:  pantheon
toggle term
A simple script to transform your boring terminal into A DROP DOWN boring terminal
Stars: ✭ 19 (-79.57%)
Mutual labels:  elementary
celos
CelOS is a simple, easy-to-use, flatpak centric Linux distribution for everyone based on Ubuntu 20.04.
Stars: ✭ 18 (-80.65%)
Mutual labels:  os
fedora-loves-python-staffs
Fedora Loves Python 3D Printable Staffs
Stars: ✭ 12 (-87.1%)
Mutual labels:  fedora
TigerOS
[MOVED TO GITLAB] Please visit new location: https://gitlab.com/RITlug/TigerOS
Stars: ✭ 34 (-63.44%)
Mutual labels:  fedora
MooInfo
Visual implementation of OSHI, to view information about the system and hardware.
Stars: ✭ 83 (-10.75%)
Mutual labels:  os
DuckOS
Such OS; Very Duck!
Stars: ✭ 16 (-82.8%)
Mutual labels:  os
vagrant-templates
Vagrantfiles for self-contained development/test environments.
Stars: ✭ 28 (-69.89%)
Mutual labels:  fedora
metalnetes
Create and manage multiple Kubernetes clusters using KVM on a bare metal Fedora 29 server. Includes helm + rook-ceph + nginx ingress + the stock analysis engine (jupyter + redis cluster + minio + automated cron jobs for data collection) - works on Kubernetes version v1.16.0 - 1.16.3 was not working
Stars: ✭ 37 (-60.22%)
Mutual labels:  fedora
pranaOS
A unix operating system written from scratch in c that gives support for arm, x86
Stars: ✭ 138 (+48.39%)
Mutual labels:  os
VideoOS
开源视频小程序 http://videojj.com/videoos-open/
Stars: ✭ 38 (-59.14%)
Mutual labels:  os
bleeding-rez
Rez - Reproducible software environments for Windows, Linux and MacOS
Stars: ✭ 57 (-38.71%)
Mutual labels:  os
Coherent
Coherent OS
Stars: ✭ 20 (-78.49%)
Mutual labels:  os
SnowFlake
Technology is free, SnowFlakeOS
Stars: ✭ 38 (-59.14%)
Mutual labels:  os

Sodalite

Screenshot of Sodalite

Quickstart

You better know what you're doing, sparky. To get going:

  1. Install an OSTree version of Fedora, such as Fedora Silverblue, or any other rpm-ostree-based distro.
  2. Open a terminal and issue these commands:
    • sudo ostree remote add --if-not-exists sodalite https://ostree.sodalite.rocks --no-gpg-verify
    • sudo ostree pull sodalite:sodalite/stable/x86_64/base
    • sudo rpm-ostree rebase sodalite:sodalite/stable/x86_64/base
  3. Stick the kettle on and make yourself a cuppa. It'll take a while.
  4. Reboot when prompted. Sit back in awe as the desktop loads up.
    • Updates will occur automatically if you update everything from Software (which runs in the background by default and sends desktops notifications).
    • As they are installed via Flatpak, various GNOME apps will still be lingering. Remove these with sudo sodalite-hacks flatpak --uninstall-gnome-apps.

Confused? Head down to Getting.

Background

Like most of us, I've been distro hopping since I was eating crayons, but as with anything in life there comes a point you need to settle down. I eventually found love for the fantastic elementaryOS: a beautifully crafted distro, packed with a few lovely apps and mated to the in-house Pantheon desktop. With very little customization, its not the experience for the most die-hard Linux fan, but I grew to love the workflow and UX patterns I found myself forced into.

Like every OS though, things begin to break down after years of abuse to its foundation. A tweak to something in /usr here, and a hack in /etc there: it piles up and I forget what I've done, leading to a grubby OS I'm going to need to eventually reinstall. G r e a t. Fedora had been something I'd been using on-and-off for the past year — installing Pantheon in place of GNOME, of course — leading me to eventually stumble across Fedora Silverblue and rpm-ostree. Hm, a usable immutable OS, you say? Sounds glorious! And with that I give up a weekend to attempt to mate an old friend and a new idea, spending hours searching through documentation and peering at repositories, and soon stable platform with a charming desktop is born. Seems only right to share with the world.

So hello world, this is Sodalite: Pantheon and OSTree.

As a sidenote, a similar configuration exists in the workstation-ostree-config repository on Pagure (specifically in ./fedora-pantheon.yaml) but that is a barebones vanilla install. Sodalite was actually partially inspired by this and builds upon it, providing a more finished product with the trademark elementary flourish.

Status

This project is still very much early days and there is plenty of things that are broken, mostly due to missing upstream elementary/Pantheon packages on Fedora — Pantheon is mostly distro-agnostic but still some way from being complete.

However, there's plenty of stuff that does work rendering Sodalite entirely usable for day-to-day activites: it was even used to type up this README and build releases. Unless in this Missing Apps list, every app included in elementaryOS comes with Sodalite and works 100% (probably)! That includes, Music, Photos, Videos, Calendar, Files, Terminal, Code, Camera, along with several other in-box utilities. AppCenter's Flatpak repository is also pre-installed giving you access to the ever-grown "curated" apps for elementaryOS.

Missing Apps

  • AppCenter
    Although this builds on Fedora it refuses to work properly in rpm-ostree-based distros due to the nature of everything. Without proper support for OSTree, and a lack of PackageKit in the host, errors are thrown and nothing really loads in. GNOME Software instead serves as a replacement, along with the AppCenter Flatpak repository being pre-installed.
  • Web
    As Fedora uses Firefox as the default browser, Web (Epiphany) is not installed by default. You can rectify this by running sodalite-hacks flatpak --install-epiphany.

Other Issues

  • Various System Settings (Switchboard) items are not included or do not work right.
  • Some apps lack rounded corners due to upstream theming issues.
  • Many Flatpak apps will be duplicated in the Dock: see issue #64 on elementary/dock. Although this is one of many issues across elementary, this was worth bringing up. Nothing broke on your end!
  • Not enough people are using this masterpiece.

Getting

Ready? It's easy. Ish. Hold out your hand and I'll guide you.

An OSTree repository has already been setup for Sodalite, so you don't even need to build it yourself (hurrah!)

  1. If you haven't already, install an OSTree version of Fedora, such as Fedora Silverblue, or any other rpm-ostree-based distro.
    • If you've never used Fedora Silverblue before, read the docs. Get to know the OS, (try to) break it, reinstall it, repeat.
    • Custom partitioning is unsupported but does work from experience. The installer is flaky however, and will often stumble on basic problems and giving you very little guidance on what went wrong. For example, fedora still being present in the EFI partition if leftover from a previous install — just delete the directory!
    • If you're feeling adventurous, install Fedora IoT instead — it's OSTree too, plus the ISO is over half the size.
  2. Open a terminal and issue the following commands with superuser privileges (as root, or with sudo):
    1. ostree remote add --if-not-exists sodalite https://ostree.sodalite.rocks --no-gpg-verify
      This adds the remote OSTree repository.
      • --no-gpg-verify is important as there is no GPG verification.
      • Previous versions of this document use the remote https://ostree.zio.sh/repo (named zio). This endpoint is still up (in fact, https://ostree.sodalite.rocks just redirects to it) and can be used instead. If you're still using it there is no need to change it: everything will still work.
    2. ostree pull sodalite:sodalite/stable/x86_64/base
      This pulls the OSTree image for Sodalite, and is split up into four parts (similar to that of Fedora Silverblue). These parts can be substituted for other values:
      1. sodalite: The name of the image.
      2. stable: The version of the image. Possible values:
        • stable: Rolling-release version based on the current stable release of Fedora Linux (currently 36).
        • f35: Long-term version based on Fedora Linux 35. Reaches end-of-life on 7th December 2022 (2022-12-07), to which you should rebase to a newer version.
        • f36: Long-term version based on Fedora Linux 36. Reaches end-of-life on 24th May 2023 (2023-05-24), to which you should rebase to a newer version.
        • next: Rolling-release version based on the next upcoming version of Fedora Linux (currently 37).
      3. x86_64: The architecture of the image. Possible values:
        • x86_64: For 64-bit CPUs (x86_64, amd64, or — please stop saying this — x64).
        • x86: What year is it!?
      4. base: The variant of the image. Possible values (not all are available for every version):
        • base: Everything you'll need to get going (hopefully). Other variants are built on-top of this.
        • pantheon-nightly: Includes nightly versions of elementary/Pantheon packages. See elementary-nightly for more details.
    3. rpm-ostree rebase sodalite:sodalite/stable/x86_64/base
      This rebases the OS onto Sodalite's image. Remember to substitute any values from before into this one!
  3. Reboot when prompted with systemctl reboot.
  4. Once logged in, defaults should apply and everything should be as it should.

Post-install

Updating

Performing a system update can be done by either:

  • Running rpm-ostree upgrade at a terminal.
  • Opening Software, navigating to Updates and pressing Update All.
    • As Software runs in the background and periodically checks for updates, you may also receive a notification of a new update; clicking on this opens the appropriate page.
    • An update for the OS may take a while to appear in Software (which will appear as "Operating System Updates"), so the above method is preferred.

Reboot after either method has finished. You can verify the version installed by opening System Settings and navigating to System ➔ Operating System: the version proceeds the word "Sodalite".

If something breaks, you can rollback by calling rpm-ostree rollback at a terminal. Remember to also create a new issue if appropriate!

GNOME apps

Unless removed beforehand, you'll have a tonne of GNOME apps still installed from Flatpak. As Flatpak apps are part of the "user" part of the OS they cannot be programatically removed during the rebase. These apps work fine in Pantheon, and will use the default Adwaita theme, but look extremely out-of-place.

Run sodalite-hacks flatpak --uninstall-gnome-apps to remove them all.

Web / Epiphany

As Firefox is Fedora's default browser, we have chose to respect that decision and leave it be. However, Pantheon's preferred browser of choice is a patched version of Epiphany distributed via the AppCenter Flatpak repository.

Run sodalite-hacks flatpak --install-epiphany to install.

Removal

(todo — OSTree has several ways and its dependant on your install!)

Building

(todo)

Contributing

See CONTRIBUTING.md.

Acknowledgements

License

See LICENSE. It's MIT, alright, like every awesome pile of code.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].