Commit graph

1026 commits

Author SHA1 Message Date
45e2fa2727 Add definition for ‘XDG_DATA_DIRS’
Archlinux doesn't specify a value for this and relies on applications knowing
the default. Guix adds values to this list, meaning that because there is no
value initially it overrides the defaults completely. One thing that always goes
wrong when this happens is that Firefox installed through ‘pacman’ won't be able
to find some schemas it needs to show the upload file dialog and crashes when I
try.
2022-04-20 22:48:29 -07:00
fd82bcabcd Have rofi extend xbindkeys for keys to bind 2022-04-20 22:23:27 -07:00
33ef2ba4f1 Make the syncthing service run syncthing, add syncthing-gtk service
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.
2022-04-20 21:19:40 -07:00
a0034e7659 Use forkexec instead of system constructor for picom
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.
2022-04-20 17:24:05 -07:00
211bfcb544 Use forkexec, not system, constructor for syncthing
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.
2022-04-20 17:17:57 -07:00
1f0cfee5a7 Call the ‘first-binding’ function for xbindkeys
All of the top-level key bindings have been put into this one function, so I
need to call it to actually enable the keybindings.
2022-04-20 16:45:04 -07:00
5056a6051b Add syncthing configuration 2022-04-20 16:44:52 -07:00
798b19788e Use xbindkeys ‘-fg’ instead of ‘--file-guile’
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.
2022-04-20 16:39:43 -07:00
2489c0fc26 Add keybindings of xbindkeys 2022-04-20 01:23:26 -07:00
edba4af64d Switch to the first tag before deleting the default tag
Without this, even with a target, the command will complain that the current tag
can't be merged.
2022-04-19 01:16:11 -07:00
067c524ffe Don't run CMST from herbstluftwm 2022-04-19 01:14:32 -07:00
c52f5ee6c9 Add cmst and kdeconnect configurations 2022-04-19 01:14:14 -07:00
f4e0ee160e Change aspect ratio of my dev layout
This makes the terminal 80 columns wide.
2022-04-18 23:37:16 -07:00
b7d84184bf Add fonts required by my config 2022-04-18 23:36:56 -07:00
ecb63a646f Add basic polybar configuration 2022-04-16 00:24:34 -07:00
13991b6c3d Fix log file for xbindkeys 2022-04-16 00:23:33 -07:00
22691e33f9 Fix some rules for Herbstluft 2022-04-15 23:44:00 -07:00
8c51baf726 Merge the default tag into the first defined tag if any were defined 2022-04-15 23:39:06 -07:00
a1a6300851 Make sure zsh is installed for the herbstluftwm configuration 2022-04-15 23:38:18 -07:00
b157ecf8ff Centralize definition of ‘mixed-executable-file’ 2022-04-15 22:13:33 -07:00
af4c5b3ffd Add configuration for herbstluftwm 2022-04-15 00:48:15 -07:00
9363fb88cf Add herbstluftwm configuration with xsession extension
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.
2022-04-14 01:39:25 -07:00
00f51af69d Use shepherd to start xmodmap rather than on first startup 2022-04-12 21:33:15 -07:00
13baec4666 Ensure packages are installed for the zsh plugins 2022-04-11 23:44:19 -07:00
98284e0af3 Make zsh plugins their own services 2022-04-11 23:15:51 -07:00
15b1898664 Add xbindkeys configuration 2022-04-06 23:44:55 -07:00
fde6941d93 Automatically start xmodmap when I first log in 2022-04-06 21:13:44 -07:00
8d5eb70a19 Add configuration for picom 2022-04-05 21:47:45 -07:00
67c4a901a3 Add xsession configuration 2022-04-05 01:30:08 -07:00
7f5381687d Install xmodmap when the xmodmap service is used 2022-04-05 00:59:59 -07:00
19043b82ae Install kitty when the kitty service is used 2022-04-05 00:54:09 -07:00
b11545014e Configure zsh 2022-04-04 01:11:13 -07:00
e0f1dd5d07 Add a kitty home service with configuration 2022-04-03 01:32:27 -07:00
d28afb72db Support symbols with special characters in configuration group keys 2022-04-02 01:35:20 -07:00
670d4c73ca Update Rofi configuration
Make it prettier
2022-04-02 01:34:55 -07:00
8713e5c421 Add Xmodmap config 2022-04-02 00:29:25 -07:00
235403c236 Replace fish with zsh
There are some issues with loading things from fish, ZSH is easier to work with
in Guix.
2022-04-02 00:28:10 -07:00
dc4a7e2071 Add glibc-locales so locales can be loaded from Guix 2022-04-02 00:27:11 -07:00
bbab14ede6 Add rofi config for data 2022-03-30 12:26:45 -07:00
7310c3c99b Add ‘guix-home’ configuration for data 2022-03-30 02:42:09 -07:00
d844fb93f7 Add Guix manifest file 2022-03-03 01:25:38 -08:00
5bcc4de582 [polybar] Several fixes for ‘inbox-size’
- Make the header more robust. If we need to add more argumetns to the scsh
  command-line this will let us do that more easily in the future without having
  to change the header again.

- Don't ‘display’ the result of the call to ‘run’ because that should always be
  ‘0’, unless something went wrong. Regardless, it doesn't belong in the output
  of this program.

- Use ‘rx’ in Emacs to build the regular expression. This is easier to read,
  especially considering how many times a single ‘\’ has to be escaped (once for
  the string in scsh, and once more for the string in Emacs).
2022-03-03 01:20:50 -08:00
88b6ba1760 Update scsh file headers for shell scripts
Other file headers come with caveats:

- ‘#!/usr/bin/scsh -s’ :: Now that scsh is installed through Guix, this is not
  where this file lives.

- ‘#!/usr/bin/env -S scsh -s’ :: This doesn't work when we need to specify move
  arguments on the command line and need to use the meta-argument.
  ‘env -S scsh \’ doesn't work.
2022-03-03 01:17:04 -08:00
2a845b3720 [emacs] Re-indent shepherd service file 2022-03-03 01:15:59 -08:00
5f6ecb37e4 [dunst] Add shepherd service definition for running dunst 2022-03-03 01:15:45 -08:00
413f5c3f6a Add work, herbstluftwm, and mpd modules 2022-03-03 01:12:05 -08:00
c454bde37c [mpd] Lispify the MPD query
Write a small DSL for converting a simple lisp expression to an MPD query
format. This turns, for example:

    (and (= artist "Katatonia") (= album "Last Fair Deal Gone Down"))

Into:

    ((artist == "Katatonia") AND (album == "Last Fair Deal Gone Down"))

The expressions inside ‘query’ are quasi-quoted, so that variable substitution
is possible.
2022-03-03 01:08:16 -08:00
79df03a72a [mpd] Add option to randomize albums by specific artist 2022-03-02 22:04:01 -08:00
1b3dad4212 Add script to connect to remote desktop 2022-03-01 21:43:31 -08:00
c0deec6a74 [shepherd] Ignore generated init.scm 2022-03-01 21:21:30 -08:00