2022-01 Status Update
on 2022-02-25 in status-update
| guixrus | sourcehut | website |
I was working on my website throughout the month. It used to be written in Org Mode which was compiled to html and gmi using ox-html and ox-gemini respectively.
I enjoy educating. I wish to publish educational content on my website in future. I knew that my Org Mode setup will have problems when I will want to add rich media on my website. I looked for static site generators that better suited my needs. I decided to go with hugo.
I invested several days into learning hugo, and configuring it for my website. I replaced my org mode setup with it, once I got comfortable with it. To replace existing style setup, I started using Vanilla CSS, a minimal CSS baseline stylesheet. But I wanted to use grids and pre-made CSS components, so I replaced vanilla-css with bulma. One thing yet to be completed in my website’s cosmetics department is a dark theme. But the Dark Reader extension works fine for me, so we’ll see when can I get myself to do it.
I’ve been hosting my personal website on sourcehut pages. It lacked support for custom 404.html page. I implemented it and sent the patch upstream. Since it was my first contribution with go code, I expected requests for improvement. The feature is GraphQL only, by design. I updated the build job of my website accordingly. I intend to add 1 support of said feature to hut soon.
Guix was failing from around the beginning of the month. After days of investigation, I found out that guix pull was going out of memory while building newer guix image in sourcehut builder. I submitted a patch that fixed it.
There was no comprehensive way of getting metadata out of a guix channel. I developed Doug to address this issue. This guile module will help guix channel maintainers in serializing their channel metadata to further use in a completely different context. For example in a website.
If you’d like to use it, here is how you can do it.
Last year, I found out about a guix channel called Guix R Us which is maintained by whereiseveryone community. I liked the idea and started contributing to it this month. I submitted patches that automated the website generation using Doug and improved the contributor experience:
- [PATCH guixrus] docs: Suggest .gitconfig for contributions
- [PATCH website] Automate the deployment using builds.sr.ht
- [PATCH website] Add .gitconfig with recommended git flags
- [PATCH guixrus v2] ci: Add .build.yml with lint and publish tasks
- [PATCH website] docs: Add sourcehut build status badge
- [PATCH wiki] Document how to use todo.sr.ht
- [PATCH guixrus] ci: Lint guixrus packages only
Currently, the build job lints all guix packages, including the ones from official guix channel. I submitted a patch to lint only the guixrus packages. Which was later reverted due to problems with it, where guix was considering the utility guile script I wrote to be a part of the guixrus channel. I indent to submit another patch which fixes this.
Non GNU ¶
As I shared in my previous post, last year I wanted to explore and use Alpine Linux. In the beginning of the month I also decided to explore everything not GNU; thinking “in for a penny, in for a pound”. Here are the software I replaced around this month (I may be forgetting some):
- Login Manager: gdm -> greetd + gtkgreet
- Seat Manager: elogind -> seatd
- Display Server: X11 -> wayland
- Window Manager: exwm -> sway
- Editor: emacs -> neovim
- Email Client: emacs + notmuch -> aerc + notmuch
- IRC Client: ERC -> weechat
- RSS Reader: elfeed -> newsboat
- Terminal: vterm buffers -> alacritty + tmux
Last month was all about the transition. I hope to continue becoming good with this new setup as I get more used to it in upcoming months. Since I don’t have much experience with writing, especially in English, my writing may be crude, which I will improve upon. Suggestions are welcome! Peace.
I welcome your feedback or constructive criticism to ~email@example.com. You can also visit the public archive.