My personal channel where I build packages and service I use for GNU/Guix.
Channel declaration:
(channel
(name 'gunit)
(url "https://codeberg.org/Gigia/gunit.git")
(branch "channel")
(make-channel-introduction
"efaf0735519c85579b04baa0fb07d727aa55b128"
(openpgp-fingerprint
"AE6F 7F0F 6E0D AFB9 6E84 8994 C3A7 E8D7 2261 8435")))
These are packages that even if upstreamed at some point, I'll upkeep for personal use.
- Browsers
- Microsoft Edge
- I mean. Some companies require it for work.
- Vivaldi
- Chromium based highly customizable browser based out of Sweden.
- Floorp
- A Gecko based (Firefox) highly customizable browser based out of Japan. Best described as the Gecko/Firefox version of Vivaldi.
- Microsoft Edge
- Game Launchers
- Bolt Launcher
- Runs the Runescape Client in an FHS container, so the container relies on bolt to be the parent process. Mostly not an issue, but you can't close Bolt.
- Millennium
- A mixin to Steam that provides extensibility such as plugins, themes, and general behavior.
- Bolt Launcher
- Editors
- Code server
- In addition to code server I have a custom package that extends this and adds custom fonts. Not sure on how to elegantly make it modular, but it both allows you to simply install it and provides easy direction for adding your own fonts. Code server is a bit more nuanced than VS Code as it runs through your browser as far as fonts go.
- IntelliJ IDEA
- The most feature complete IDE for writing Java.
- Code server
- AI
- Ollama
- A CLI tool that handles loading models and such for frontend tools. Best describable as Docker for LLMs. Tools like Continue for VSCode support it.
- Ultimate Vocal Remover
- A tool to remove the vocals (or instrumentals) from a song using AI models (NVIDIA only sadly)
- Ollama
- Reverse Engineering
- Ghidra
- Between this and IDA Pro, this is really the only open-source option that fits into the Guix ecosystem. Runs in an FHS container as Ghidra expects to find system libraries in their FHS locations. Uses the prebuilt binary as Ghidra is written in Java and uses Gradle as the build tool. Since Gradle is exceptionally difficult to package for on Guix it is more reasonable to do it this way. Not ideal, but the alternative would take an unreasonable amount of time.
- Ghidra
- Cloud platform
- Azure CLI
- Runs in an FHS container and just unwraps there. Azure CLI is happy to touch K8 configs and so it makes more sense to isolate it anyway.
- Azure CLI
- Video/Recording
- OBS Droidcam
- Plugin for using your phone as a microphone and camera for OBS.
- OBS Droidcam
- Firmware or files required for functionality
- Studio One 6
- T2 Firmware (for Macs)
These are quite opinionated on where those local files live, so feel free to change those too.
These are more experimental ones thrown together either for specific behavior or to update without waiting on upstream.
- Non-functional/Not added
- PIA (Private Internet Access)
- This one is actually a bit challenging due to how VPN software interacts with the operating system's networking. Would likely need to be a system service and system package.
- Nextcloud client on QT6
- Many QT6 packages simply aren't updated and I didn't feel like updating them at the time
- Discord
- This one isn't particularly hard. I think the Linux client is an inferior experience to using the browser though.
- PIA (Private Internet Access)
- Code server
- Ollama
- toys
- An extension command that can be used like
guix toys -q "package-name"orguix toys -t channel -q "nonguix". It is just a lookup and parser for the website itself, but still handy to avoid having to leave editor or terminal to see if a package exists.
- An extension command that can be used like
These are a neat feature not documented in the Guix Manual that I could find. They work through the basis of creating a module with the path in your channel like in this one root/modules/guix/scripts/extension-command-script.scm
Credits to Look for such a clear repo layout.