Commit graph

96 commits

Author SHA1 Message Date
multi
fd6ce088ba feat(fun/owothia): add configurable join channels.
owothia is hardcoded to join ##tvl, which is a remnant of when TVL was on
freenode, and on hackint the IRC channel is single-hash #tvl instead. Instead
of hardcoding another channel name, let's make this configurable, so we don't
need to recompile owothia for every different channel we want her in.

It's now possible to set IRC_CHANNELS in owothia's environment to '["#foo",
"#bar"]' to make her join both #foo and #bar automatically.

Additionally IRC_IDENT can now be set to configure owothia's ident,
which is required for ZNC compatibility.

Change-Id: I0fc0856f4ea35f59255b76ae0e594325f18ef993
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3130
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-05-22 15:10:17 +00:00
Vincent Ambo
259cbfd0b2 chore(owothia): move to //fun/owothia
Owothia graduates, or something.

Mostly I don't want infrastructure to depend on stuff in //users.

Does anyone know where owothia is running anyways?

Change-Id: I198c7ac935736c7aee3ba4fbda1453b82aa10283
Reviewed-on: https://cl.tvl.fyi/c/depot/+/3103
Tested-by: BuildkiteCI
Reviewed-by: grfn <grfn@gws.fyi>
2021-05-11 21:34:51 +00:00
Vincent Ambo
473604f567 refactor: Move nixpkgs attribute to third_party.nixpkgs
Please read b/108 to make sense of this.

This gets rid of the explicit list of exposed packages from nixpkgs,
and instead makes the entire package set available at
`third_party.nixpkgs`.

To accommodate this, a LOT of things have to be very slightly shuffled
around. Some of this was done in already submitted CLs, but this
change is unfortunately still quite noisy.

Pay extra attention to:

* overlay-like functionality that was partially moved to actual
  overlays (partially as in, the minimum required to get a green
  build)

* modified uses of the package set path, esp. in NixOS systems

Special notes:

* xanthous has been disabled in CI because of issues with the Haskell
  overlay
* //third_party/nix has been disabled because of other unclear
  dependency issues

Both of these will be tackled in a followup CL.

Change-Id: I2f9c60a4d275fdb5209264be0addfd7e06c53118
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2910
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
2021-04-10 21:18:55 +00:00
Vincent Ambo
f2443911cc refactor(fun): Consistent use of depot.third_party vs. pkgs
In preparation for the solution of b/108, we need to consistently use
`depot.third_party` for packages that are only packed in the TVL depot
and `pkgs` for things that come from nixpkgs.

This commit cleans up a huge chunk of these uses in //fun

Change-Id: I45a7b392a9749fa7859ff5100dcea415bda807c3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2914
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-04-10 12:04:30 +00:00
Luke Granger-Brown
23d8e89f03 chore(clbot): reformat messages
Instead of putting the subject in quotes, we instead reorder the message
to be of the format:

CL/2768 applied by lukegb - chore(clbot): reformat messages - https://cl.tvl.fyi/2768

Change-Id: I77d19525c399396a91797f423bdfc92069d47f9f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2768
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2021-04-02 20:05:02 +00:00
Vincent Ambo
b508605084 fix(clbot): Avoid pinging users for their own user folder CLs
Instead of only "nopinging" the username in the templated message,
replace all instances of the CL owner's name with one that does
not (tries to not) highlight them.

This way, CLs sent to another user's folder will still highlight them.

Change-Id: I9a3d8563ab32befc1a1b1412851026343c170dd3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2688
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2021-03-28 01:21:42 +00:00
Vincent Ambo
b59f712535 fix(gemma): Fix build by backporting Elm 0.18
Backports an old version of the Elm language (before the release where
they made everyone rewrite their programs), from the same old nixpkgs
commit as was previously used in overrides (see CL/2646).

Change-Id: I0ae4cc611aa40269b290651ab982c1db93518d8a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2649
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-03-24 00:54:43 +00:00
Vincent Ambo
63e1706096 chore(amsterdump): Remove project
This has looong outlived its purpose.

Change-Id: I66cff438dd05f0113b4a9a9bf9023d0f72238c9f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2651
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2021-03-24 00:20:52 +00:00
Vincent Ambo
aaaadbbcdc chore: Remove //overrides from depot
This mechanism wasn't actually used for anything other than a minor
external compatibility thing for buildGo.nix, which can also be solved
with a function parameter.

This breaks //fun/gemma because it means that the elmPackages used to
build it are no longer reachable from depot. We'll sort this out later.

Change-Id: I1bf2240435e869cdc4e99bdd1a138fdd2e76f96e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2646
Tested-by: BuildkiteCI
Reviewed-by: sterni <sternenseemann@systemli.org>
2021-03-23 23:55:49 +00:00
Vincent Ambo
6c08bcc84d chore(tazjin/aoc2019): Move out of //fun
Change-Id: I9d065b672f4245b81444737dd900c8864447bc4d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2211
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-12-01 12:55:59 +00:00
Ben Cartwright-Cox
d4fc093383 fix(tvl-ebooks): Update code to bring up to date with reality
Fixes include:

1) users can now opt out of being mkov'd, instead their messages
will be ascii blocked out.

2) highlights are avoided, by learning names from the main tvl
channel and adding a dot after the first char, for example:

> 21:31:35 <•eta-eb> m.ulti: bas1l we quickly connect controller is mostly agreed

3) highlight avoidance is now stored in redis, to avoid restarts
from destroying the map and causing a bunch of highlights
upon restart

Change-Id: I1055992aab3a06aa1f4ba937fc3ef45f2f78cedc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2054
Tested-by: BuildkiteCI
Reviewed-by: cynthia <cynthia@tvl.fyi>
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: ben <tvl@benjojo.co.uk>
2020-10-20 22:26:23 +00: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
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
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
Vincent Ambo
d53f5edbfc chore(paroxysm): Reduce quote upload timeout to 2 hours
I think 24 hours is more generous than we'd like these to be.

Change-Id: Ie56822f98942ab74048d908ab821a404dc841e4a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2003
Reviewed-by: tazjin <mail@tazj.in>
Reviewed-by: eta <eta@theta.eu.org>
Tested-by: BuildkiteCI
2020-09-27 21:02:47 +00:00
eta
9e118c6d69 feat(paroxysm): upload queries for all quotes to eta's pastebin
- Currently, asking for all your quotes either stalls the bot, or
  doesn't result in you getting all your quotes, or both. This aims
  to resolve this oversight by shoving them all in a pastebin.
- This uses the lovely `crimp` library by tazjin, which is really
  good at just doing HTTP stuff with minimal fuss. Amazing!
  (although we should probably actually use the depot version)
- Everything is hard coded for now, but we probably don't care.
- Stuff expires after 24 hours, for privacy reasons?
- We also had to add a function to format entries without colours,
  and took the opportunity to clean up the format!() a bit.

Change-Id: I6e75968c7da48a51fff327355b8fa2c025d0db75
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1872
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-08-28 23:57:51 +00:00
Vincent Ambo
2bf806b21a chore(tazjin/dt): Move project into user folder
... missed this when going multi-user.

Change-Id: If2c9f24555f82e944e3cebb45b2a13801cc1f35e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1844
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-26 23:49:32 +00:00
edef
94387dbc25 chore: simplify buildGo expressions
This removes redundant `map (p: p.gopkg)` expressions.

Change-Id: If25d603c27d63ae011f396caf5d26cdfdb8c28d5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1625
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-08-04 07:43:25 +00:00
Vincent Ambo
de27b3c1ff style(paroxysm): Apply rustfmt
Change-Id: I959b6a1008f1b0ef632c0194adc0f680e7c27d62
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1561
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-02 21:57:35 +00:00
Vincent Ambo
688d4c6be3 refactor(paroxysm): Move lazy_static regex definitions to the top
Change-Id: If04cc7ee72230f6b5163d33ef683bcb90bd9bc26
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1554
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-02 02:16:24 +00:00
Vincent Ambo
f9840fe2d0 chore(paroxysm): Bump minimum versions of some dependencies
Most of these had already been updated due to how dep constraints are
solved, but it can't hurt to make it explicit.

Change-Id: I1928f5e43a360505e9205f98d007674f6eaf9830
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1553
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-02 02:16:24 +00:00
Vincent Ambo
88f69da3ce chore(paroxysm): Remove no-op minor version constraints
... these don't do anything anyways.

Change-Id: Id0b21443eda10361bfb384e876bbbf8fa2e97e15
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1551
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-02 02:16:24 +00:00
Vincent Ambo
e663ca4128 refactor(paroxysm): Use derive macros from serde crate
serde_derive is deprecated, the macros have moved behind a
feature-gate in serde itself.

Change-Id: Ib42e7463a81006e23a4fe8a0e48f494610dc8e4c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1550
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-02 02:16:24 +00:00
Vincent Ambo
194c498d53 refactor(paroxysm): Explicitly macro imports, no more 'extern crate'
Removes all but one occurence of `extern crate`, to conform with Rust
2018.

The last one is necessary because Diesel is a giant jungle of
complicated macros re-exported from private crates, and the current
version makes it hard to import those directly instead.

Change-Id: Id14165a456d5c3ce6f7a4e0222c611640113eb11
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1549
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-02 02:16:24 +00:00
Vincent Ambo
660a02947f chore(paroxysm): Bump Cargo dependencies within constraint
This is just a `cargo update` call.

Change-Id: I3b780cd76d97bf69b793a4c573eb3b9c1d59f88b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1548
Tested-by: BuildkiteCI
Reviewed-by: kanepyork <rikingcoding@gmail.com>
2020-08-02 02:16:24 +00:00
Vincent Ambo
e2c72e91ed chore(tazjin): Move wallpapers into my user folder
Change-Id: I30901967ff0d65ae4a12a5b74c3baec9a6406971
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1511
Reviewed-by: tazjin <mail@tazj.in>
Tested-by: BuildkiteCI
2020-08-01 14:13:14 +00:00
Vincent Ambo
82ba28f197 chore: Move //fun/tvldb -> //fun/paroxysm
Say ~my~ its name!

Change-Id: I7890318aef984af0f6bc011de32282f16e01cbb3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1483
Tested-by: BuildkiteCI
Reviewed-by: eta <eta@theta.eu.org>
2020-07-27 23:54:00 +00:00
eta
d3ad338726 fix(tvldb): unbreak quote grabbing
Change-Id: Ib03561bbcc154aeee50a592332a2763ff784bb1d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1165
Tested-by: BuildkiteCI
Reviewed-by: eta <eta@theta.eu.org>
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-14 17:59:00 +00:00
eta
7e0b2cd3f3 feat(tvldb): parse CTCP ACTIONs properly, allow use of aliases in ??! syntax
Change-Id: I3cc0e88a94ea0edc470ff9e0da203f1193d40f9f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1128
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-13 17:00:14 +00:00
eta
6fd3371e94 feat(tvldb): prohibit infinite recursion
Change-Id: I63b54e937f4c4fdb823f2e2e91a5a5d8af071a42
Reviewed-on: https://cl.tvl.fyi/c/depot/+/855
Tested-by: BuildkiteCI
Reviewed-by: eta <eta@theta.eu.org>
Reviewed-by: isomer <isomer@tvl.fyi>
Reviewed-by: BuildkiteCI
2020-07-02 21:46:09 +00:00
isomer
2b4abca80f fix(clbot): s/submitted/applied/
By vote of the IRC channel.

Change-Id: I5ea965d45a7d73b0bdcae817d16eaa17e47adcbc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/861
Reviewed-by: isomer <isomer@tvl.fyi>
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: lukegb <lukegb@tvl.fyi>
Reviewed-by: BuildkiteCI
Tested-by: BuildkiteCI
2020-07-02 18:55:30 +00:00
Vincent Ambo
78bfb66a95 style(tvldb): Add blank lines between items
This makes the code slightly more readable. For users that use editors
without semantic navigation, this also makes it easier to jump around
between items in the files.

I looked into whether a rustfmt setting exists for this, but
unfortunately the answer is currently no.

Change-Id: I37b19fa6ab038c71b924c45dbc12b298e660e8cf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/827
Reviewed-by: BuildkiteCI
Reviewed-by: eta <eta@theta.eu.org>
Tested-by: BuildkiteCI
2020-07-01 17:32:42 +00:00
Luke Granger-Brown
f2980dfc16 feat(clbot): allow specifying branch and repo to look at on command line
Change-Id: Ib2e37275d770a1e98a526481018514a564a4f73b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/569
Reviewed-by: tazjin <mail@tazj.in>
2020-06-24 01:46:29 +00:00
Luke Granger-Brown
6a77bbbf84 fix(clbot): actually display people's usernames properly
Change-Id: Idcbb6ffbb3127520141596cea7883cd137a1ea56
Reviewed-on: https://cl.tvl.fyi/c/depot/+/441
Reviewed-by: eta <eta@theta.eu.org>
Reviewed-by: riking <rikingcoding@gmail.com>
2020-06-16 18:42:40 +00:00
eta
c3abbb5e2d feat(tvldb): Import the tvldb/paroxysm source, add a Nix derivation
- This imports the tvldb (actually a thing called 'paroxysm') code
  from https://git.theta.eu.org/eta/paroxysm into the monorepo.
- Additionally, I did a nix thing, yay! \o/
  (well, with tazjin's help)
- 3p/default.nix needed modifying to whitelist pgsql.

Change-Id: Icdf13ca221650dde376f632bd2dd8a087af451bf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/389
Reviewed-by: tazjin <mail@tazj.in>
2020-06-16 13:30:44 +00:00
eta
4c22cf3169 feat(clbot): insert Unicode ZWS to avoid pinging users
Change-Id: I732bf6daa01f5b2099c4f4cbdd21a2ceedc79cb1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/385
Reviewed-by: q3k <q3k@q3k.org>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-06-16 13:29:14 +00:00
Luke Granger-Brown
b6ae678335 feat(clbot): Add IRC support to the IRC bot.
Change-Id: I183488824882750c46e7216b98ab48e1d8f48096
Reviewed-on: https://cl.tvl.fyi/c/depot/+/343
Reviewed-by: eta <eta@theta.eu.org>
Reviewed-by: tazjin <mail@tazj.in>
2020-06-16 12:10:56 +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
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
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
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
8be09a4c40 chore(fun/idual): Switch wakeup light to random colours 2020-06-10 00:12:54 +00:00
Vincent Ambo
f459332f32 chore: Update from Clang 9 to Clang 10 for all projects 2020-05-22 18:29:47 +01:00
Vincent Ambo
6bd649d312 chore(fun/dt): Use vendored copy of Abseil 2020-05-20 02:40:41 +01:00
Vincent Ambo
5f10238c62 feat(fun/idual): Change alarm light from 'morning' to 'sun'
The latter is much brighter and warmer, this is probably better.
2020-05-14 14:30:52 +01:00
Vincent Ambo
e2fb4bc4de chore(fun/dt): Adjust weights 2020-05-11 03:31:19 +01:00
Vincent Ambo
9628daf413 feat(fun/dt): Support arbitrary word counts 2020-05-11 02:39:46 +01:00
Vincent Ambo
e33627f960 feat(fun/dt): Implement useful utility 2020-05-08 18:55:00 +01:00