Commit graph

10395 commits

Author SHA1 Message Date
Griffin Smith
406a66bed1 feat(gerrit-cli): Add gerrit CLI script
Add a script to run gerrit commands on the depot host, which reads the
gerrit username from the TVL_USERNAME env var or $(whoami) by default.

At some point this may want to solve the configuration problem in a more
general fashion, but for now this seems relatively obvious.

Change-Id: Ied91c1d26daf4770aef74b2e755d1760c486bb7b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/396
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-16 01:54:39 +00:00
Vincent Ambo
929bb840a6 feat(tazjin/camden): Regularly back up Gerrit to GCS
This configures a timer that will push hourly, incremental backups of
Gerrit's state (including repositories) to GCS.

The GCS bucket tvl-fyi-backups is an Archive-class bucket in the
tazjins-infrastructure project.

Change-Id: I3bb5b084d8dd929bc4c3e51ddfb524b78d9445cb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/397
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-16 01:19:07 +00:00
Griffin Smith
ef390b26ee feat(gws.fyi): add current source of gws.fyi
This will soon be replaced with a pile of org, but for now- HTML!

Change-Id: I54c15d5734fd3662ea4916553e0cd1b32cc0681f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/395
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-16 00:47:18 +00:00
Griffin Smith
61e03e2d99 fix(g/xanthous): Make xanthous readTree-compatible
readTree passes in some extra args that we can generally just ignore

Change-Id: I2607421da086cfef0502695bcf5658f6d4dbb44d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/394
Reviewed-by: glittershark <grfn@gws.fyi>
2020-06-16 00:27:10 +00:00
Vincent Ambo
4fe4e3d9a2 Add 'users/glittershark/emacs.d/' from commit '69ee53bffaf145eb86dd39a6cdc0ae4d9d3de45c'
git-subtree-dir: users/glittershark/emacs.d
git-subtree-mainline: 2edb963b97
git-subtree-split: 69ee53bffa
2020-06-16 01:06:03 +01:00
Vincent Ambo
2edb963b97 Add 'users/glittershark/xanthous/' from commit '53b56744f4335c038724a1bcffc27a7eb8cf6a6d'
git-subtree-dir: users/glittershark/xanthous
git-subtree-mainline: 91f53f02d8
git-subtree-split: 53b56744f4
2020-06-16 01:05:44 +01:00
Vincent Ambo
91f53f02d8 Add 'users/glittershark/keyboard/' from commit 'eb211c2701ad6437bbe5c846823b17acb1dcb1c7'
git-subtree-dir: users/glittershark/keyboard
git-subtree-mainline: 04d3fb675b
git-subtree-split: eb211c2701
2020-06-16 01:04:11 +01:00
Vincent Ambo
04d3fb675b Add 'users/glittershark/org-clubhouse/' from commit '8838454236cd448afa2c752c4a6dc6f4bb7a3bf4'
git-subtree-dir: users/glittershark/org-clubhouse
git-subtree-mainline: 81564185e9
git-subtree-split: 8838454236
2020-06-16 01:03:24 +01:00
Vincent Ambo
81564185e9 Add 'users/glittershark/system/' from commit '3b174300ae60f63f50427cde3bfd680fd3043c3a'
git-subtree-dir: users/glittershark/system
git-subtree-mainline: 85d82a9dc2
git-subtree-split: 3b174300ae
2020-06-16 01:02:24 +01:00
Griffin Smith
85d82a9dc2 chore(users/glittershark): init glittershark home dir
Change-Id: I2d9d344be8c448c9cd1ef8555cf7123054e8b567
Reviewed-on: https://cl.tvl.fyi/c/depot/+/392
Reviewed-by: tazjin <mail@tazj.in>
2020-06-15 23:32:59 +00:00
Cynthia Revström
c7f2acf773 feat(users/cynthia): Add cynthia's directory
Meow: 3
Change-Id: I7e898528c110e6cf2ec254f08d265dac8ed85e1b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/393
Reviewed-by: tazjin <mail@tazj.in>
2020-06-15 23:32:46 +00:00
Vincent Ambo
76c20f6bf7 fix(ops/nixos/tvl-slapd): Sort users & fix glittershark's DN
Change-Id: I33feedacfadaae53da000aff7d42fa06d2189f52
Reviewed-on: https://cl.tvl.fyi/c/depot/+/391
Reviewed-by: tazjin <mail@tazj.in>
2020-06-15 23:18:57 +00:00
Griffin Smith
849afbaeef chore(ops/nixos/tvl-slapd): add glittershark
Change-Id: I2e537079b88a3857964c6b7c66cd9221ca580958
Reviewed-on: https://cl.tvl.fyi/c/depot/+/390
Reviewed-by: tazjin <mail@tazj.in>
2020-06-15 23:17:06 +00:00
Vincent Ambo
29bab159ab feat(depot-build): Add a tool to build at arbitrary tree locations
Assuming you're in `/depot/fun/clbot`, you can do this:

    tazjin@frog /d/f/clbot (master)> depot-build
    Building //fun/clbot
    /nix/store/i1zc6g58wa4819kyhaqi12zsh3hr31ph-clbot

It is automatically added to the $PATH using direnv, too.

Change-Id: Ia3341704e6317c2b8de40a3fa1be3b680d21a42d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/388
Reviewed-by: eta <eta@theta.eu.org>
2020-06-15 19:08:53 +00:00
Vincent Ambo
c26ee5a448 feat(fun/uggc): Install desktop handler in Nix derivation
This actually registers the desktop entry, so xdg-open etc. start
working:

tazjin@frog /depot> xdg-open 'uggcf://gjvggre.pbz/alnabgrpu/fgnghf/1272363652679524352'
Opening in existing browser session.

Change-Id: Ia754cb87470fce2f8d3340d1147f3f01b9914858
Reviewed-on: https://cl.tvl.fyi/c/depot/+/387
Reviewed-by: riking <rikingcoding@gmail.com>
2020-06-15 18:39:05 +00:00
Kane York
2237a51d10 feat(fun/uggc): create a rot13 url handler
Example usage:
$ /nix/store/9kgpv4n62vhxs971jkvwvvl3msm4wpm8-uggc/bin/uggc 'uggcf://gjvggre.pbz/alnabgrpu/fgnghf/1272363652679524352'

Change-Id: I8fd5f77416116ce1a6ab7f96d3f2c726ef663677
Reviewed-on: https://cl.tvl.fyi/c/depot/+/386
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: eta <eta@theta.eu.org>
2020-06-15 18:19:22 +00:00
Vincent Ambo
9885b70b7a feat(cheddar): Override syntax highlighting for 'rules.pl' to Prolog
Adds a mechanism for per-filename overrides of the chosen language
syntax and configures it for Gerrit's submit rule file.

This also switches the syntax set used to the one from
//third_party/bat_syntaxes, which contains custom additions such as
Prolog support.

Change-Id: I2023dbad5b326305ef2ef0ecf34ef66a3f7575ab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/349
Reviewed-by: riking <rikingcoding@gmail.com>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-15 16:52:27 +00:00
Vincent Ambo
0b95b8632d feat(3p/bat_syntaxes): Add a derivation to extend bat syntaxes
This derivation can add arbitrary new Sublime syntaxes to bat's syntax
file, which is used by cheddar.

Included is a Prolog syntax. It is kind of mediocre, but better than
nothing.

Change-Id: I6ceecbc86a5dfba5886cd27bd5114721845446a7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/348
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-15 16:52:23 +00:00
Vincent Ambo
81b6bde074 fix(nix/buildGo): Fix import of buildGo in example file
Change-Id: I56b4d19f24c5d8ec45254b7b05c9e49002d2ef85
Reviewed-on: https://cl.tvl.fyi/c/depot/+/382
Reviewed-by: edef <edef@edef.eu>
2020-06-15 16:50:54 +00:00
Vincent Ambo
df2b0ecdca chore: Unfuck NIX_PATH in the .envrc
`nixpkgs` shouldn't be set to the depot root, it is almost never
useful and breaks some tooling expectations.

Change-Id: I32e46a8f514eb31d1aa81f0af32cf871d1572a96
Reviewed-on: https://cl.tvl.fyi/c/depot/+/381
Reviewed-by: edef <edef@edef.eu>
2020-06-15 16:50:44 +00:00
Luke Granger-Brown
9099497185 chore(clbot): Refactor backoff utility into a separate package.
It'll be reused by the IRC side of things too.

Change-Id: I3d84f3fd5fca6a6d948f331143b14f096d10675d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/342
Reviewed-by: tazjin <mail@tazj.in>
2020-06-15 16:48:58 +00:00
Luke Granger-Brown
5acd03817a chore(clbot): Add signal handler to make clbot shutdown cleanly on SIGINT.
Change-Id: I3c6eeeb99f9d81cdbcb10880c9075ac94c4f5d19
Reviewed-on: https://cl.tvl.fyi/c/depot/+/341
Reviewed-by: tazjin <mail@tazj.in>
2020-06-15 16:48:58 +00:00
Griffin Smith
69ee53bffa projectile+grid integration 2020-06-15 11:56:45 -04:00
Griffin Smith
fa149d1164 sync gcal events -> org-mode file 2020-06-15 11:56:12 -04:00
Griffin Smith
3b174300ae kubectl get events sorted by timestamp 2020-06-15 11:54:17 -04:00
Griffin Smith
453c2d5e31 install iftop on linux 2020-06-15 11:54:14 -04:00
Griffin Smith
f59e705eca break out an agda.nix 2020-06-15 11:54:14 -04:00
Griffin Smith
3c61742a37 Install pg-dump-upsert 2020-06-15 11:53:39 -04:00
Tatu Lahtela
8838454236 Add function to add a single headline from my tasks
Add function to create single story element from a prompted list of active stories.
2020-06-15 09:11:50 -04:00
Vincent Ambo
a577fd83d6 chore(monorepo-gerrit): Remove 'owners-autoassign' plugin
This plugin just blindly assigns everyone and, as q3k has already
pointed out, just isn't particularly useful.

We might want to roll our own, for example:

19: 40:41 <+Remosi> I want the virtual owner thing, we could call it
 Gerrit Workgroup Synthesizer Queuing, or gwsq for short.
Change-Id: Ib12a921ae4047ac6a734035dd0900c8964fb12d8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/350
Reviewed-by: riking <rikingcoding@gmail.com>
2020-06-15 00:38:48 +00:00
Vincent Ambo
c7659b4f45 feat(bin): Add git-bug to dispatch script
Change-Id: Ic60aec36502b5c70256cb688e101d35f15c90183
Reviewed-on: https://cl.tvl.fyi/c/depot/+/346
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 22:28:00 +00:00
Vincent Ambo
69fe278315 feat(3p/git-bug): Add git-bug derivation at unstable-20200614
This builds git-bug, a distributed issue tracker that uses git as its
data store.

It also installs its man pages and shell completions. It is
recommended that users add git-bug to their system closure for these
extras to work, as they will not be picked up by the dispatch script.

Change-Id: I1595368e61b0bae8a9497abd023085cb90a521a6
Reviewed-on: https://cl.tvl.fyi/c/depot/+/345
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 22:27:54 +00:00
Vincent Ambo
9757e93b23 chore(users/tazjin): Add avatar for tvlbot
This is needed for running a git-bug web UI on camden.

The important thing is that this gives us a stable URL to the image.

Change-Id: If0e069c3d11376a1fb17411e52bb14a8481edb7d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/347
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 22:23:04 +00:00
Vincent Ambo
5f9f6a404f chore(users/tazjin): Move my avatar to my folder
Change-Id: If05860cd975f20c6d8fec301cabcc80d49d0dcda
Reviewed-on: https://cl.tvl.fyi/c/depot/+/344
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 21:32:02 +00:00
Luke Granger-Brown
62f42300b8 feat(gerrit): Add CL titles to title tags if accessing a CL or patchset.
Fine, puck, you win.

Change-Id: I47fe8ea6662132f5c337e1e73281dbeca19a414c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/321
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 20:26:05 +00:00
Vincent Ambo
a4b3f9af93 fix(3p/gerrit): Fix Gerrit derivation name and module configuration
Without these changes, the NixOS module isn't able to use the new
Gerrit derivation.

These changes are already deployed as I needed to make them to get
Gerrit back up.

Change-Id: Iad3aa6158789a014134fddccd40b508b81486100
Reviewed-on: https://cl.tvl.fyi/c/depot/+/301
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 18:50:16 +00:00
Luke Granger-Brown
158d20c128 chore(hgignore): ignore .git for hg
Change-Id: I2f50d99a81db1edbfd64f384e37bd0da3e2ac0e0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/260
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 18:23:13 +00:00
Vincent Ambo
34e30bf7a6 chore(3p/gerrit_plugins): Update plugins for Gerrit 3.2
Change-Id: I0b1a2871768a8369dac7a3e2b06a38c07741e945
Reviewed-on: https://cl.tvl.fyi/c/depot/+/281
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 17:31:24 +00:00
Luke Granger-Brown
89b3ab939b feat(gerrit): Syntax highlight rules.pl as Prolog.
This adds support for overriding the detected languages based on the
filename - we assume here that rules.pl will always map to a Prolog
file.

I could've overridden the entire default language to Prolog, since it's
unlikely that we'll have any Perl here, but given the relative
popularity of the two languages I opted to just override the file we
know we'll have (because it's used by Gerrit itself).

https://usercontent.irccloud-cdn.com/file/yhZZx1nd/highlighted_prolog.png

Change-Id: I26a7e6dab191e0b80a027b026f884020a1f07178
Reviewed-on: https://cl.tvl.fyi/c/depot/+/254
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 17:24:49 +00:00
Luke Granger-Brown
5ae0e44d1b feat(gerrit): Syntax highlight .nix files.
highlight.js supports syntax highlighting .nix files, but the Gerrit
diff components doesn't map the .nix mimetype onto the nix language.

.nix appears to already be taken by another mimetype that isn't
Nix-related, but we just map that onto nix anyway.

https://usercontent.irccloud-cdn.com/file/AVhoPvrb/highlighted.png

Change-Id: I842b29c78355e5bec580e711e25d693284ab6f59
Reviewed-on: https://cl.tvl.fyi/c/depot/+/253
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: q3k <q3k@q3k.org>
2020-06-14 17:24:49 +00:00
Luke Granger-Brown
c05803ff14 feat(clbot): Create Gerrit watcher and basic clbot binary.
gerrit.Watcher is a class which watches the Gerrit stream-events SSH
connection and produces events.

There's a basic CLBot binary as well, to demonstrate driving it to
produce messages on the logging output. It doesn't really do anything
else.

Change-Id: I274fe0a77c8329f79456425405e2fbdc3ca2edf0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/245
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 17:16:32 +00:00
Vincent Ambo
f6c7c85d94 chore(users/tazjin): Remove offlineimaprc
I use lieer these days.

Change-Id: I76ec4654c9d18abbbb28e51d53fca549afde056d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/258
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 16:59:19 +00:00
Luke Granger-Brown
a73ca3f43d feat(gerrit): Create Gerrit derivation.
This uses the actual Bazel build, using a variety of tricks and hacks to
make it actually work.

Bazel really wants to download linux binaries from the internet and run
them. In lieu of trying to fix the build system to not do this, we
instead put bazel inside an FHS environment, which allows the binaries
to find their dependencies.

We also have to patch a few things:

* We use build --nobuild instead of fetch, so we only fetch the
  dependencies we actually need for the build and not, say, Windows
  binaries.
* We don't remove rules_cc, because we need it as an external
  dependency, not bundled.
* We do some manual fixes on the cache before packing, because we need
  to remove some in-tree sources (so they don't cause the hash to break,
  since the hashes differ each time they're generated), and also remove
  some extraneous files.
* We explicitly turn off the repository and disk caches, because the
  .bazelrc at the root of the Gerrit tree turns them on, with paths
  pointing into the user's home directory.
* detzip is used instead of the zip binary for packing bower_components
  into an archive. detzip doesn't create entries for directories, and
  also doesn't store most metadata (timestamps, etc.), and uses store
  (i.e. uncompressed) compression only. It also sorts the file tree
  before writing them into the file.

Change-Id: I572c43f7175067ecb1b85cdf40dda13a52de1439
Reviewed-on: https://cl.tvl.fyi/c/depot/+/252
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 16:35:55 +00:00
Vincent Ambo
02adb10a96 feat: Configure OWNERS file for the depot root
This owners file creates a default approval policy for the entire
tree.

This is just an initial version and we haven't actually decided what
this should look like, but crucially this change means that we can
allow everyone to +2 changes in the repository which allows everyone
to reign freely within their user directories.

Change-Id: I2a14092765ad484d329f5542ac052da59eb104c7
Reviewed-on: https://cl.tvl.fyi/c/depot/+/259
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 15:41:55 +00:00
Luke Granger-Brown
af167ff8d4 feat(gerrit): Create detzip, a small helper utility for packing zips determinstically.
detzip will be used in a patch for the Gerrit bower repository helper, which allows
us to get consistent hashes for the output of fetching the dependencies for the
Bazel build.

Change-Id: I6c87b19815b9d747064108aecbb57ed875d2623b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/251
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 15:34:07 +00:00
Perry Lorier
f3d9d5ef49 chore(isomer): Add Isomer's homedir.
Change-Id: Ic04f1a44b1cab0d5d6d2dfa52c577c718b404a9b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/256
Reviewed-by: isomer <isomer@tvl.fyi>
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 15:15:15 +00:00
Cynthia Revström
8dda9e56d7 feat(tvl-slapd): add cynthia to slapd
Change-Id: Ifb55ebd234d15fbaa6ef2e71f97ba7b8203ffcd9
Reviewed-on: https://cl.tvl.fyi/c/depot/+/255
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 13:37:26 +00:00
Vincent Ambo
566ac0c85f feat(tazjin/dotfiles): Update msmtprc for lieer configuration
Change-Id: I4e2fa960b904dc558904e3df94669513c4163312
Reviewed-on: https://cl.tvl.fyi/c/depot/+/247
Reviewed-by: tazjin <mail@tazj.in>
2020-06-14 04:30:19 +00:00
Vincent Ambo
636372991a chore(users/tazjin): Add OWNERS file
I own this, okay?

Documentation for this file syntax is at https://gerrit.googlesource.com/plugins/owners/+/refs/heads/stable-3.1/owners-autoassign/src/main/resources/Documentation/config.md

Change-Id: If4e6430bdb2d27f31727b5169ce8b82c08ec8de2
Reviewed-on: https://cl.tvl.fyi/c/depot/+/246
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-14 02:15:30 +00:00
Vincent Ambo
268729083e refactor(ops/nixos): Move my NixOS configurations to //users/tazjin
NixOS modules move one level up because it's unlikely that //ops/nixos
will contain actual systems at this point (they're user-specific).

This is the first users folder, so it is also added to the root
readTree invocation for the repository.

Change-Id: I546c701145fa204b7ba7518a8a56a783588629e0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/244
Reviewed-by: tazjin <mail@tazj.in>
2020-06-13 23:52:35 +00:00