Commit graph

20618 commits

Author SHA1 Message Date
William Carroll
9d331f3077 Begin working on Habit Screens project
Created a small MVP for digitizing my weekly habits. Much more to come.

Lots of things happening:

- Copied the boilerplate to get started
- Added a brief project-level README
- Outlined my ambitions in design.md

See README and design.md for more context on this project.
2020-10-10 17:04:24 +01:00
William Carroll
02ce74eada Add elm-format-on-save-mode to elm-mode-hook
Instead of calling this manually.
2020-10-10 17:03:08 +01:00
Griffin Smith
ca4d698cb0 feat(gs/mugwump): Add prometheus+grafana
Add config for prometheus+grafana to mugwump, served at metrics.gws.fyi
with an Acme SSL cert.

Change-Id: Icc22b5079a24edbc4469233e938f926d92f63eb3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2024
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-05 14:48:58 +00:00
Griffin Smith
bc8bac74d7 feat(gs/system): Install dnsutils
Change-Id: I577b42abe76c7be3434e7ca4f34bcf84a4a6e6bc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2023
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-05 14:48:58 +00:00
Griffin Smith
3a4b4568bb feat(gs/home): Install gh
Change-Id: I13d918565b9a46b3e5e11936e5b7787e9ecce719
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2022
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-05 14:48:58 +00:00
Griffin Smith
ccce934454 feat(gs/home): Alias ec=emacsclient
Change-Id: Ia6633731dbd26c842830f548f909a37a129a7477
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2021
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-05 14:48:58 +00:00
Griffin Smith
6a65d73731 feat(gs/home): Add ssh host alias for home
Change-Id: Ie3a6ce172eccba3040210c581313981cdd79e2eb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2020
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-05 14:48:58 +00:00
Cynthia Revström
df6a1d47d2 chore(tvl-slapd): use ARGON2 for cynthia
Change-Id: I81efffe384644cc2d2a625fc96ef5264dedd76ea
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2019
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-10-05 13:00:59 +00:00
William Carroll
fbd5e7fb18 Remove evil dependency from window-manager.el
When `keybindings` requires `window-manager`, the `evil-want-integration`
warning emerges. If I remove the `evil` dependency from `window-manager`, it
resolves the issue.
2020-10-04 18:27:38 +01:00
Vincent Ambo
7a62272d20 feat(tazjin/camden): Install flatcam tooling
This was previously set up manually in a nix-shell.

Invocation works like this:

  screen fswebcam --title 'tazflat' --font 'JetBrains Mono' \
                  --timestamp "%Y-%m-%d %H·%M+01" -l 60 -r 1280x720 \
                  -d /dev/video0 --jpeg 95 /var/www/blobs/flat.jpg \
                  --exec 'cp /var/www/blobs/flat.jpg /var/www/blobs/flat/at_$(date +%s).jpg'

Change-Id: I5ecf8fdf67240faf885fd12f428e368e2bc64dc8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2018
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-10-04 16:06:25 +00:00
Vincent Ambo
2670f84f5f fix(tazjin/camden): Backport 19.09 ACME module
The new one is causing breakage for me, but I have no time to debug
this, so I'm backporting the old one.

AFAICT the simp_le included in this channel should be new enough to
have ACMEv2 compat, we'll see if it works.

Change-Id: Ib8b869a5af8a0418a66017a0cf3b9336df5f2d05
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2017
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-10-04 15:51:59 +00:00
William Carroll
3ba4112849 Enable spell-checking during magit commit
This is another (overdue) change about which I'm quite excited. Add
spell-checking to my Git commit buffers. :)
2020-10-04 16:25:15 +01:00
William Carroll
48d9a70253 Extend "l" -> "L" KBD remapping for magit-{log,revision}-mode-map
Thankfully `general` made this change super easy and maintainable to support.
2020-10-04 16:23:25 +01:00
William Carroll
f3ee628a4c Support display-arrangement macro
I was tired of using `arandr` to manually configure my monitor positions, so I
encoded the settings in Elisp in the `display.el` module.

TL;DR:
- Drop support for `position` kwarg in `display-register` macro
- Support `coords` kwarg in `display-register`.
- `defconst` the `xrandr` arguments and command in `display-register`.
- Define `display-arrangement` macro that consumes the `xrandr` arguments that
  `display-register` defines to create an interactive function,
  `display-arrange-<NAME>`, which -- when invoked -- runs one xrandr command to
  configure a display "arrangement".
2020-10-04 16:20:16 +01:00
William Carroll
4187e888c8 Disable company-mode during git commits
Why didn't I configure this earlier? For years, my workflow involved checking a
buffer's major mode and then extending that major-mode's hook. Confusingly (to
me), the `major-mode` for `COMMIT_EDITMSG` is `text-mode`, and I didn't want to
disable `company-mode` for *all* `text-mode` buffers, which is what the
following would have done:

```elisp
(add-hook 'text-mode-hook (lambda () (company-mode -1))
```

Thankfully I recently invested some time into learning more about Emacs's
offline help system, `Info-mode`, so -- putting that knowledge to work -- I ran
`info-apropos` and searched "magit commit". After ~5 minutes of reading I knew
the recommended way of configuring this was to modify `git-commit-setup-hook`.

How validating!
2020-10-04 14:57:23 +01:00
William Carroll
6df182d45e Move KBDs from window-manager.el to keybindings.el
Assuming (hoping) that this doesn't break anything.
2020-10-04 13:57:01 +01:00
William Carroll
6eac1de187 Debug Emacs initialization
Since "Briefcase" doesn't exist, `window-manager--switch` fails and so does
`exwm-init-hook`. It'd be nice to catch these errors earlier...
2020-10-04 13:54:57 +01:00
William Carroll
562c82f3f2 Bind "g SPC" to #'Info-scroll-up
I'm using the "g <char>" pattern that evil-collection uses, which I think is
okay.
2020-10-03 18:15:32 +01:00
William Carroll
4cd552de28 Alter doom-acario-dark's font for comments
Thanks to my newly acquired `Info-mode` navigation skills, I quickly learned how
to alter fonts in Emacs!
2020-10-03 18:14:34 +01:00
William Carroll
a8704bb54d Define KBDs for ibuffer
I'd like to start using ibuffer more, so I'm making it a more hospitable place
by defining useful KBDs.
2020-10-03 14:51:04 +01:00
William Carroll
990b6278a8 Define KBDs for Info-mode
I took the Info-mode tutorial (finally) and I found some things from
evil-collection that I liked, other things that I didn't like.
2020-10-03 14:50:38 +01:00
William Carroll
4c809ebf59 Set ibuffer's default sort to major-mode
I find this a more intuitive default.
2020-10-03 14:50:10 +01:00
William Carroll
b4b929a55b Define window-manager-swap-workspaces
This is a wrapper around the existing `exwm-workspace-swap` except it's aware of
my `window-manager-workspace` struct.
2020-10-03 14:49:33 +01:00
William Carroll
869bcf3fc8 Define fn for outputting the current workspace's label
This is a useful helper fn, and hopefully something I'll support in my mode line
soon.
2020-10-03 14:49:02 +01:00
William Carroll
8137eed738 Rename workspaces
Prefer "Web Browsing" and "Coding".
2020-10-03 14:48:46 +01:00
William Carroll
174d676c93 Ensure "RET" follows links in Info-mode
Shouldn't this be handled by evil-collection?
2020-10-03 11:01:00 +01:00
William Carroll
0f160a8029 Ignore comments in output for grocery export
TL;DR:
- Ignore lines starting with "#"
- Tidy up the code
2020-10-03 11:00:11 +01:00
William Carroll
3b525e6d63 Mark a few movies as watched
- Spirited Away
- Modern Times
2020-10-03 11:00:05 +01:00
William Carroll
a7aef84408 Update my grocery list for Bermondsey London
I haven't updated this list since I was living in Dargow, Germany over the
summer. Now that I've settled down, and I'm situated in the London Bridge area,
I'm updating the list.
2020-10-03 11:00:05 +01:00
William Carroll
fb5952857e Prefer doom-acario-dark theme
I recently looked at the updated Doom themes, and the screenshot for this one
looked appealing. I'm going to give it a try.
2020-10-02 11:30:02 +01:00
Griffin Smith
3fc1143a04 feat(gs/system): Init mugwump
Init the config for mugwump, a NUC that I bought from ncl and which I'm
going to use as a simple home server and ssh bastion box. Since this is
the first time I've set up a server using my nixos config, this also
moves a bunch of desktop (xserver, audio, etc.) related config out of
modules/common.nix and into a new modules/desktop.nix.

Coming soon: nixos-rebuild switch --target, but in the depot!

Change-Id: I67bd5ba6e3c26f80f77058af186fd41cc245d5d2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2016
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-09-30 03:49:15 +00:00
Griffin Smith
734d07b864 feat(gs/home): install pv
Change-Id: I5681cc844f73dc087e0fb060caf6cacd91ffb50c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2015
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-09-30 03:49:15 +00:00
Griffin Smith
1770396bf5 feat(gs/system): Add ISO config
Add configuration for a live install iso based on the depot's nixpkgs
pin and with a couple of networking-based options tweaked a bit.

Change-Id: I208bd0f7815fe54fc805e8995a8288d7a0d36f84
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2014
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-09-29 21:59:34 +00:00
William Carroll
204c0beb83 Create a workspace for logs
Now that I have a vertical monitor, I'd like to use it for terminals and logs.
2020-09-29 13:54:41 +01:00
William Carroll
ce61987959 Extend named-workspace struct to include display information
I want to couple my EXWM workspaces with monitors. E.g. - I'd like my "Chatter"
workspace to prefer my `4k-vertical`. This change supports that.

I also did a small amount of formatting, which I don't think belongs in a
separate commit.
2020-09-29 11:21:09 +01:00
William Carroll
1a5b2ab3b0 Add step to my finances playbook
This is a helpful reminder to ensure that the exchange rate is always
fresh. Ideally I could use Google Sheets formulae to take a snapshot of the
GBP:USD exchange rate *at a point in time*, but I haven't set that up yet. Maybe
it'd look something like:

```pseudocode
=GOOGLEFINANCE("GBP:USD", "September 1, 2020")
```

I'll have to look into this.
2020-09-29 10:15:03 +01:00
William Carroll
fc0c795c4e Debug failed Emacs initialization
My newly minted macro for defining monitors introduced two bugs:
1. Laptop defined its position in terms of 4k-horizontal and 4k-horizontal
   defined its position in terms of laptop, I introduced a circular dependency.
2. The identifier, `laptop-monitor`, which `window-manager.el` depends on, is
   now defined as `laptop`.

A friendly reminder to myself to always test new Emacs builds to make sure that
everything can initialize properly. This is something that my CI should be
automating, but ever since I moved flats, I lost my CI and need to restore it.

This is another reminder to drop into a TTY when Emacs fails to initialize, run
`nix-env --rollback`, then attempt to restart X. But this time, debugging this
entirely from a TTY wasn't so disappointing.
2020-09-29 10:10:24 +01:00
Jonas Höglund
b2870615f7 feat(whitby): add firefly user
Change-Id: Ib785577c173795d5cc6ccd7a3ee7e6a568439a0d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2013
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-09-28 13:42:08 +00:00
Jonas Höglund
c2363261cd feat(users/firefly): initialize with key for as
Change-Id: I7da98cd442d4dcd9fdecb8b5030f8681a2f03cd5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2012
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-09-28 13:41:40 +00:00
William Carroll
e41ca803c6 Support display-4k-vertical in exwm-randr-workspace-monitor-plist
EXWM needs to know about my newly defined monitor.
2020-09-28 13:43:24 +01:00
William Carroll
831dba20bf Define display-4k-vertical
I recently acquired a new monitor, which I'm orienting vertically for logs,
chats, etc. As such I needed to add more functions, KBDs to wrangle the
setup. To DRY up my code, I define a macro, `display-register`, as a DSL for
supporting new monitors. This:
- defines two functions for enabling and disabling the displays
- defines a constant, `display-<name>`

It's basically just a wrapper around `xrandr`, and that's good enough for now.
2020-09-28 13:41:24 +01:00
Ben Cartwright-Cox
b812ed40e2 fix(tvl-ebooks): Fix bug where Cynthia was not correctly supressed
Change-Id: Ic94d69e5e9dbe33a29dc00a3f0d9e848952dd1a0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2011
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-09-27 23:48:48 +00:00
Jonas Höglund
3a5e908111 feat(tvl-slapd): add firefly
Change-Id: I28b71a429f2093e2ff3d7148cfaa2425f322dfea
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2010
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-09-27 23:38:48 +00:00
Vincent Ambo
f342da1c11 chore(tvl-ebooks): Add Nix derivation
Welcome to CI!

Change-Id: I8fae7b06c9867c60380cc237861ea29817045117
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2009
Tested-by: BuildkiteCI
Reviewed-by: ben <tvl@benjojo.co.uk>
2020-09-27 23:34:31 +00:00
Cynthia Revström
8e31495b9d feat(whitby): add cynthia owo
Change-Id: Id9e06ce8645ec2dbe1167d2b0b023159d3e91487
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2008
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-09-27 23:27:23 +00:00
Ben Cartwright-Cox
a8508373ee feat(ebooks): Add tvl-ebooks code
Change-Id: If519e789a91fbf427373daa383c6ae00ba5e0b6c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2007
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-09-27 23:26:17 +00:00
Cynthia Revström
cf878224ab feat(cynthia): add SSH CA
I am a Catgirl Authority OwO :3

Change-Id: Id1f2579fe20e3081ad895738211e78285de8d2f3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2006
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: cynthia <cynthia@tvl.fyi>
Tested-by: BuildkiteCI
2020-09-27 23:14:12 +00:00
William Carroll
34ec3104f7 Debug dottime in modeline
My modeline was displaying the local time (not UTC time) and appending the UTC
timezone offset, which was confusing me.

When it was `00:03` in London, my modeline would read `00:03+01`. One way of
interpreting this is that it's `00:03` in London and the `+01` is a reminder
that I'm one hour ahead of UTC. However, I was reading it as though it was
`00:03` UTC and thus `01:03` in London.

I had to set `display-time-string-forms` instead of `display-time-string` to
pass the `t` argument to the `ZONE` parameter to indicate that I'd prefer to use
UTC time and not local time when expanding the variables.
2020-09-28 00:02:40 +01:00
Vincent Ambo
f3b7989d79 docs(REVIEWS): Add a note about where to clone anonymously
Change-Id: Ib56deb65c169f538bce3e3ef3223a3fb636e9c6e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2004
Tested-by: BuildkiteCI
Reviewed-by: ben <tvl@benjojo.co.uk>
2020-09-27 22:58:09 +00:00
Ben Cartwright-Cox
e3d0585fcd feat(tvl-slapd): add ben to slapd
Change-Id: Iadec1d04b086f878c408a8867778f6bd75254dfc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2005
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-09-27 22:56:09 +00:00