I just added a configuration for programming in Hy. This is the first step for
moving more of my Emacs configuration into guix home. Instead of adding the
autoload for ‘oni-hy’ in the ‘oni-core’ package, I've added it directly to my
Guix configuration. In the future I'll want to change this so that each package
gets its own configuration and also extends my Emacs configuration so that it
automatically adds these autoloads when I add a package.
I had to copy in and redefine the ‘stumpwm::maximize-window’ function from the
‘swm-gaps’ package because for some reason ‘(frame-width ...)’ returns a ratio
on my machine (is it because high-dpi, or ultra-wide? I don't know) and not an
integer, which screws up the ‘(setf (xlib:drawable-width ...) ...)’ call.
When I was relying on my external package channel I ended up with a conflict
being unable to upgrade a personal package because an issue with a Guix package
was preventing me from upgrading Guix itself.
These packages were installed in my default profile using ‘guix package -i’.
Since I'm using Guix home the setup of my default profile is a bit odd at the
moment, so since these seem to be here to stay for the moment I figured I should
install them in my home profile.
Use this option to specify that anything containing “(Meeting) | Microsoft
Teams” (which should be in the title of MS Teams when in a meeting) should have
100% opacity, and also that anything containing “freerdp” should have 100%
opacity.
For Teams I really only need it to be opaque once a meeting starts, I don't care
the rest of the time.
For XFreeRDP I've tried matching on ‘class_g’, ‘name’, nothing seems to work.
Using ‘opacity-rule’ finally seems to have an effect.
The rules both use ‘*’ to match anywhere in the name, and ‘?’ to specify that
the match should be case-insensitive.
The previous version of the configuration was complaining that my ‘config’
section was not a valid value for the ‘package’ section. I didn't quite
understand why it would complain about that, so I decided to use my now improved
Guix Home knowledge (compared to when I copied the previous version) to just
rewrite the service in a way that matches my other services.
This also includes an attempt at installing a custom SCSH that defines some
search paths. But unfortunately it didn't work, so the SCSH ends up being the
usual one and the ‘mpd-random-albums’ package doesn't actually work.
The main MPD configuration does work, though.
This also includes the instruction to install tmsu which I want to try out
again.
- Sort all use-module directives
- Remove ‘gcc-toolchain’ from the installed packages because it appears that the
regular emacs-next (not from a git checkout) works fine without it.
- Add ‘emacs-org-roam’ and ‘emacs-vterm’ packages because they both come with C
modules and installing them on-the-fly in Emacs wasn't working properly.
- Add ‘fakeroot’ package because it appears to be needed now that I'm using
guix-home if I want to build packages for Archlinux. This still happens when I
need to install some proprietary program from the AUR.
- Add an Emacs configuration service. For now this just ensures that the
‘emacs-next’ package is installed and creates a shepherd service that starts
Emacs when I log in.
- Change the default run dialog from ‘rofi -show run’ to ‘rofi -show drun’ to
run .desktop files. This offers more control over what does and doesn't show
up in the list and allows me to put only stuff in there that actually works in
a graphical environment.