Currently, modular repositories are disabled by default in Fedora Silverblue {30,31}.
These repositories contain important software like sway and ripgrep to name a few.
Is there any reason on why they are disabled? Have in mind that there is no
clear way of managing repositories with rpm-ostree and users have to edit a file that is located, for some reason, in /etc/yum.repos.d/.
I have succesfully enabled it in /etc/yum.repos.d/fedora-modular.repo and /etc/yum.repos.d/fedora-updates-modular.repo by changing enabled=0enabled=1 under [fedora-modular].
It works but i would also like to know if it is disabled for a good reason.
Edit: The modular repos can be enabled from Gnome Softwareâs âSoftware Repositoriesâ menu now.
I use ripgrep, exa, fd and bat instead of their counterparts on a regular basis. Maybe I could use toolbox run to execute them from inside the toolbox tho.
I did a small benchmark for fd and the toolbox run version was around 10 times slower, this negates one of the mayor benefits of fd, I suppose the history is similar forrg.
Thatâs discouraging. Iâm using an Ansible role for the cli tools I use. It downloads static builds of rg, pandoc, exa, fff and a few others, and places symlinks in ~/.local/bin. This works quite well, but I have to sign up for notifications on new releases on github and add version numbers manually as vars in the playbook. Iâd prefer if I didnât have to do this, but running a command like rg needs to be fast. I have nvim run rg (through the ctrlsf plugin) on a big codebase frequently. Itâs either the ansible role or layering.
Oh! I didnât know about the github_release module, that looks very handy. I will definitely steal part of your tasks. Thanks for sharing!
I see no real room for improvements, btw. Except style and formatting (I prefer line breaks and indentation instead of equal signs for the file tasks and creates/removes as args on separate lines, for instance), but thatâs a matter of taste. Oh, and do you need the âremovesâ bit? What does it accomplish that creates doesnât already take care of?
To be honest I donât know, but I imagine that one could replace mv with cp, and ansible doesnât have any way to know that a file is no longer there.
Looking at the task one more time⌠will it actually overwrite the executable with a new version? I donât see how that happens exactly, maybe I donât know what the github_release module really does. Also, it will download the release with unarchive every time itâs run, wonât it? Iâve been using a task where Iâm downloading to a new versioned directory in ~/.local/src (but could be anywhere) and symlinking the executable to ~/.local/bin. This will of course get bloated with old versions over time, but thereâs little room for errors, at least. Iâm looking into creating a pruning task, but not sure how I would do that based on version numbers. Maybe a post-task stat and then delete based on not containing current tag, but it will need some work.
This job just download the latest release (even if it is already installed, that is room for improvement) and installs the binary in ~/.local/bin, deleting the archive and all residual files.