- 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.
This is a temporary fix. I've switched from using ‘@theme’ to ‘@import’ because
the former discards the default theme, and apparently my theme makes some
assumptions about the state of things and requires the default theme to work.
The proper fix would be to fix my theme instead.
This change also fixes a bunch of typos and fixes the use of references within
the theme. References aren't strictly necessary, but my current theme relies on
them and they are technically a valid part of the configuration.
These configurations were set up wrong, putting the configuration files in
‘config/*’ instead of ‘.config/*’. The
‘home-xdg-configuration-files-service-type’ takes care of putting them in the
right directory.
I didn't know about this service before, it doesn't show up when I ‘guix home
search home’
The ‘syncthing-gtk’ program doesn't seem to start the syncthing daemon
automatically. In fact trying to start ‘syncthing-gtk’ through shepherd doesn't
seem to want to work at the moment, complaining that it can't close a bunch of
file descriptors.
The example was using a system constructor with a kill destructor, but I don't
think those two work together. I prefer having the application run in the
foreground and using the shepherd way of forking so I have more control.
I thought that ‘syncthing-gtk’ was a program that would fork (given the fact
that it has a ‘--quit’ command), but it turns out that it doesn't. Using the
system constructor means that shepherd will block until ‘syncthing-gtk’ is
closed.
Even though the output of the ‘--help’ command promises that ‘--file-guile’ is
the same as ‘-fg’ it appears that specifying ‘--file-guile’ doesn't work. It
just pops up the help message.
The herbstluftwm configuration isn't complete yet, it's only the package so far,
but it does extend the xsession service to include a line in xsession to execute
the window manager in a bit of a hacky way.
This also adds a ‘mixed-executable-file’ function which is the same as the
‘mixed-text-file’ except that it also sets the executable bit for the computed
file.