regolith-desktop
regolith-desktop copied to clipboard
Regolith on Fedora
How could I use the Regolith desktop session on Fedora? It that possible at this point in time?
Hi and thanks for your interest in Regolith! I don't have packages for Fedora, so I'm not aware of a way of installing Regolith there. If someone is interested in writing and maintaining the RPM-based packages from the Debian ones, I don't think it would be a lot of work, however. I'll add help-wanted and maybe someone can make this happen. :)
Would definitly be interested in a fedora version too !
writing and maintaining the RPM-based packages from the Debian ones
Which packages are not available in fedora's repos ? I guess just a few in this case
Another solution would be to use snap/flatpack packages instead of rpms
Here is a list of packages for a given release of Regolith: https://launchpad.net/~kgilmer/+archive/ubuntu/regolith-stable?field.series_filter=bionic
These packages are just Regolith configuration and so wouldn't have upstream sources: regolith-desktop, regolith-assets, regolith-styles. So ideally, if everything else where available as vanilla packages for Fedora, creating these 3 additional packages would be all that's required.
I'm in the process of migrating configuration out of the UI packages into their own packages vi XResources. Once this migration is complete, supporting more distros will be much easier as the number of custom packages should reduce down to those 3, from 19 there currently are.
#61 needs to be complete before starting on this.
As with https://github.com/regolith-linux/regolith-desktop/issues/32 we should be able to build some RPM packages fairly easily once we streamline package builds. Most modern build tools allows you to build for Debian based systems as well as Fedora.
Any progress? This looks like a nicely polished desktop.
Fyi @johnmmcgee you should check out Manjaro i3 community edition (https://manjaro.org/download/community/i3/)
It has a similar approach/spirit than Regolith and runs on Arch linux (Manjaro)
Fyi @johnmmcgee you should check out Manjaro i3 community edition (https://manjaro.org/download/community/i3/)
It has a similar approach/spirit than Regolith and runs on Arch linux (Manjaro)
Iam not interested in arch or manjaro, but that looks pretty cool. Hopefully this makes its way into COPR soon.
edit: looks like someone made a start: https://copr.fedorainfracloud.org/coprs/borispf/regolith/packages/
might it be an issue of money -- i would be willing to donate to make the regolith spin of i3 more distro agnostic
How is this coming along? I was looking to find if someone has already gotten it working with Fedora but didn't find much.
Hi David, yes it's pretty quiet but we're working on generalizing the package structure of Regolith to make it easier to port. This work will go into Regolith 2.0. The package layout and inner workings of Regolith will change quite a bit from what we have now. Once that's done I expect we could try out a Fedora port by generating RPMs from the Debian packages and see how it goes. A blocker now is the relatively large number of dependencies required for the simplest possible configuration.
If anyone is interested in learning more about changes we plan for 2.0, design docs will go in the wiki of the regolith-system repo. For example: https://github.com/regolith-linux/regolith-system/wiki/i3-Config-Partials
FYI, there is an i3 Fedora spin in the works Perhaps both groups should collaborate.
https://fedoraproject.org/wiki/Changes/Fedora_i3_Spin
Thanks @edgester , great idea! I sent a message introducing myself.
It looks like the design goals of the Fedora i3 spin are pretty different from Regolith, and they're choosing to ship it with a very stock configuration (which makes sense since they ship all DEs pretty much stock).
I don't think it'll be feasible for the Regolith project to merge with the Fedora i3 spin given these differences.
@aadilayub Bummer, thanks for checking, though!
Hey, any update on this front?
Hi @neevparikh , we're finishing up the Regolith 1.6 release now. Once that's done we'll be on to 2.0 proper which allows the breaking changes necessary to support other distros such as Fedora. I don't expect anything short term and ideally we could find someone w/ some RPM packaging experience to help out.
I'm willing to learn RPM packaging hahaha. I'm stuck on fedora for hardware support, but I really would like to run Regolith (gnome + i3 has been a dream for a while)
Additionally, I'm willing to dive into the 2.0 release as well
I can help with rpm packing as well. I have some experiences writing spec files.
That's great to hear! Well, things are not completely settled and the docs are still a work in progress, however I have the build automation setup now. This repo houses a generic package model for Regolith 2.0. There are some github workflows that currently build Debian repositories for Debian and Ubuntu OSs using the native debian build tools. Assuming that a Regolith on Fedora could be implemented in such a way that there is 1 RPM package for each DEB, then all that's needed is a github action similar to this one that can:
- build source and binary packages from code hosted in git repositories
- generate a static package repository that can be hosted via a custom URL over HTTPS (
https://regolith-linux.github.io/package-repo/<fedora something something>)
The build system works like this:
- the general purpose package model (described above) is merged with any distro or release specific changes contained here as JSON documents. For example, if Fedora requires specific patches, additional packages, or to not ship a given package, these changes can all be expressed as JSON snippets that apply to the general package model. It may work out that no changes are required.
- A manifest is generated for all packages by determinig the git hash on the branch for each package. The manifest is kept in git (example) and by checking for git changes we can know if a build is required or no changes have been made. This logic lives here.
- If a build is required, the distro specific steps are executed. Once executed the git repository will have new local files which are committed and then hosted by github pages. So, no special infrastructure is needed for package repositories other than what we get for free from github.
If I were to start out on a Fedora build, I'd:
- fork the
package-reporepo - copy https://github.com/kgilmer/ingest-debian-reprepro-action to another repo and create a simple "hello world" action/step that does something like just print out the name of the package or something
- copy and adapt an existing workflow to call the new action created in step 2.
- run a build, verify that the new sample action works and everything else works as expected
- implement the distro-specific work in the new action
- once it's ready, create a PR to add the workflow to
package-repo
I'm happy to fill in details, answer questions, or fix any mistakes here. How can I help?
I'll give this a shot this week.
I can help too if needed. I have some knowledge on building RPM packages.
I'm happy to help if someone gets stuck. If more guidance is needed I could spend some more time on documentation. Just LMK what is needed and I'll do my best to support this project :smile:
Haven't had a chance to do this. I'm hoping I will this weekend I will.
Would a end goal be to have a regolith-linux fedora edition?
@kgilmer will the setup.sh need to be updated as well?
Hi @mithusingh32 , sorry for the delay.
Would a end goal be to have a regolith-linux fedora edition?
Yes! I'm guessing it would be possible to host the RedHat equivelent of a Debian repository either as part of package-repo or somewhere else if needed for some platform specific reason.
will the setup.sh need to be updated as well?
I'm not entirely sure which setup.sh you are referring to. In the case of this one this is an extension mechanism available to you if you need to run something custom, yes. Please LMK if you meant something else.
Super interested in this as well!
Has anyone tried just using alien to convert the .deb to an .rpm and then installing it?
I don't assume it would work, but it's maybe worth a shot?
- https://src.fedoraproject.org/rpms/alien
- https://wiki.debian.org/Alien
$ alien --to-rpm /path/to/file.deb
Alien is a program that converts between the rpm, dpkg, stampede slp, and Slackware tgz file formats. If you want to use a package from another distribution than the one you have installed on your system, you can use alien to convert it to your preferred package format and install it.
fpm can also do this as well (.deb to .rpm), and is a good tool if you want to package the same tool in multiple distribution formats (.deb, .rpm, pacman, etc)
- https://github.com/jordansissel/fpm
$ fpm -s deb -t rpm file.deb
Again, not certain this would work OOTB though.
Maybe a long-term strategy could be an fpm pipeline from original sources in Github Actions?
Any progress on this?