Commit graph

70 commits

Author SHA1 Message Date
Griffin Smith
f13e88ab07 feat(gs/home): Add script to rebuild mugwump
Eventually this should be generalized, but for now this is good enough +
nice to have

Change-Id: Icca815b651cfb6f8f0cd2d6a1f64e56c63d2fef5
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2057
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-23 15:23:52 +00:00
Griffin Smith
df77855beb feat(gs/system): Setup for yubikey
Install some packages and enable the necessary services + udev stuff to
make yubikeys usable

Change-Id: I8aee8a8b06895880c8195f02fb57b1216a5fdffc
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2049
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-13 03:35:02 +00:00
Griffin Smith
963088aff6 feat(gs/system): Install htop on all systems
In this case mostly so I can have it on mugwump

Change-Id: Ifa24caf607b30c1d034f4a9e7044ece88fcee38e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2048
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-13 03:35:02 +00:00
Griffin Smith
703407b2d4 feat(gs/chupacabra): Use mugwump as a binary cache
Since buildkite is running on there, it'll be nice to be able to
download things. Obviously if this laptop ever becomes a laptop again
this'll have to go away (or just become the external domain)

Change-Id: I5fc49c061dbf79f8d523244bcf822e8d96fa6d42
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2047
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-13 03:35:02 +00:00
Griffin Smith
3d610828a3 feat(gs/chupacabra): Include desktop module
I accidentally dropped this when reconfiguring things around to get
mugwump working, and when I rebuilt my x session turned off!

Change-Id: I252c90b6f4d796fef1f8183739fcc8dbfdd0fbf4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2046
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-13 03:35:02 +00:00
Griffin Smith
c83b7e7da3 fix(gs/mugwump): Make nginx scraper play well with SSL
Having SSL on all the vhosts in nginx breaks the prometheus scraper with
the default config, since because it's targeting a different domain the
cert validation fails. It's pointing at localhost, so it's fine to just
have it not validate.

Change-Id: I1cbddc73335d4fa060115c253d69e27059a3113f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2045
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-13 03:35:02 +00:00
Griffin Smith
8cb7118f7d feat(gs/mugwump): Add some buildkite agents
Add a couple of buildkite agents, based off of the config we're using
for whitby (thanks!) for building my own projects that are closed
source.

Change-Id: I2c73538595002fdf4116f534dc9a5806f17e0558
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2044
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-13 03:35:02 +00:00
Griffin Smith
28df5a585b feat(gs/mugwump): wigglydonke.rs
Kids Love Wiggly Donkers!

Change-Id: I1d37ecc88dd81d91e05fb597155bb91b93f1bccb
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2041
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-12 18:50:58 +00:00
Griffin Smith
db66e1d010 feat(gs/mugwump): Enable prometheus-fail2ban-exporter
Change-Id: I200f206b609675632ad6103c84cc37b629ef9708
Reviewed-on: https://cl.tvl.fyi/c/depot/+/2025
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-10-12 18:50:58 +00: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
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
Griffin Smith
6f2094c146 feat(gs): Bind a push-to-talk key
Bind a key, which I've located at the top-left of my right keyboard, to
a momentary push-to-talk by muting and unmuting my pulseaudio source
using xbindkeys. I had been putting this off for a while because i3
doesn't support binding different commands to keyup than to keydown
events, but the xbindkeys support appears to have solved that reasonably
well, plus it's got Scheme in it so that's cool.

If there's demand for it I'll gladly expose this as a reusable,
configurable home-manager module outside my users dir in the depot.

Change-Id: Ie591c93037dbdac364d5d8a718d99edb70780789
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1975
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-12 19:20:43 +00:00
Griffin Smith
1c98437079 feat(gs/home): Add chupacabra home-manager to CI targets
Also move fcitx to system, since it's a nixos thing not a home-manager
thing.

Change-Id: I3e047494a478520e939d48fc72cc91a2d797bf74
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1969
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-09 16:09:43 +00:00
glittershark
90451fdc0e revert(gs/home): "Install clj-kondo and babashka"
This reverts commit 6489f08099.

Reason for revert: build of graalvm fails :'(

Change-Id: I0fcd173988ab900c837d0040117c3120e29469a1
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1942
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-09-09 16:06:49 +00:00
Griffin Smith
6489f08099 feat(gs/home): Install clj-kondo and babashka
These depend on graalvm which is gonna be a big ol build

Change-Id: I3b67e22677390921e408b9fea12191718b27cd7f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1967
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-09-09 14:47:37 +00:00
Griffin Smith
41b2653e32 feat(gs/system): Install fcitx+cloudpinyin
汉语时间!

Change-Id: Ic52c2d393ee55c1d251416a66c15f4b6d6722bfa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1966
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-09-09 14:47:37 +00:00
Griffin Smith
b2eb4c81f7 feat(gs/zshrc): Change cursor shape based on mode
Use a block cursor in normal mode, and a beam cursor in insert mode.

Change-Id: I1cf5eebeaadf41cd006b324de62eb7f6804e149a
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1965
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-09-09 14:25:38 +00:00
Griffin Smith
6c5020afaf feat(gs/home): Install multimc
Change-Id: Ib0fcf1fd51749d3878e66b350ecb8e81daa47aab
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1962
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-09-08 00:27:53 +00:00
Griffin Smith
e2530ceec0 feat(gs/home): Alias lwo = lorri watch --once
Change-Id: Ied475c3b704cf54e41767c47465dd94247c7b953
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1935
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-09-06 21:17:13 +00:00
Griffin Smith
912268ed5e feat(gs/system): Add nixbuild.net as remote builder
Change-Id: I3b071cc91af5ee896e88c10d6594333ff4eddf77
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1922
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-09-01 01:07:11 +00:00
Vincent Ambo
fcb014e43d chore(glittershark/system): Include chupacabraSystem in CI builds
Change-Id: Ic8a63f76a0b19f6b1f9ab836d1418849cce06aa0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1895
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-31 23:14:11 +00:00
Vincent Ambo
61d2d2d503 feat(ops/pipelines): Dynamically generate CI pipeline from targets
Create the pipeline by outputting a file that contains nix-build
invocations for each target's *derivation path*.

Each invocation has a generated Nix expression passed to it with `-E`
which fetches the correct target from the tree while correctly
handling targets with strange characters (such as in Go-packages).

This makes it possible to run target-level granular pipelines. We're
getting somewhere!

Change-Id: Ia6946e389dafd1d4926130bb8891446d6e17133b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1855
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-08-31 23:14:11 +00:00
Griffin Smith
d8701f7e21 feat(gs/home): Alias grom = git rebase origin/master
Change-Id: I8dfc3efc393dd5a3a3ad20cfb84969a8d8805f87
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1865
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-08-28 21:24:36 +00:00
Griffin Smith
a7cd92770d revert(glittershark): "Temporarily skip grfn's subtree"
This reverts commit 475d41f698. I'd like
my derivations back, please.

Changes necessary to get this working:

- Don't depend on `nixpkgs` being in the NIX_PATH for my website - it's
  not necessary anyway since emacs 27 is mainline now
- .skip-subtrees on things that shouldn't be evaluated anyway
- Get rid of system/pkgs, and move the one thing in there that *wasn't*
  already in third_party (alsi) to third_party
- Drop notifymuch for now - it's not working, and I'll probably get it
  landed in nixpkgs before I manage to get it working
- Add __readTree = true to my systems so they get built.
- explicitly disable ci for xanthous, which is failing to build and had
  been omitted previously

Change-Id: I20f5e81d6eb7ffe040091a08d75d0cb15304f707
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1864
Tested-by: BuildkiteCI
Reviewed-by: tazjin <mail@tazj.in>
2020-08-28 21:24:36 +00:00
Vincent Ambo
6f5659c88b chore(3p): Bump nixos-unstable channel
This bumps the channel to a commit that includes fixes for an nginx
issue we have been seeing:

https://github.com/NixOS/nixpkgs/pull/95264

Includes the following compatibility fixes:

- tests disabled in third_party.bufbuild: These were enabled
  unexpectedly by the update, but don't run in the sandbox because
  they want to download things from github

Change-Id: I98a3b5de57f62f1fd3a37701fa1896eddeedff85
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1759
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
Reviewed-by: tazjin <mail@tazj.in>
2020-08-17 09:54:18 +00:00
Vincent Ambo
711a20620d feat(glittershark/kernel): Use linuxPackages_latest
Welcome to the future, baby!

Change-Id: I23124d27df1f7597dbd2b28afd5882e62085665e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1763
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-08-17 09:54:18 +00:00
Vincent Ambo
d29bb5cbf8 refactor(glittershark/chupacabra): Move boot config into a block
This is kind of difficult to read otherwise because the boot
configuration is scattered throughout the file.

Change-Id: I8977b1bd2b9162c898c96aa249c40749b3d46180
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1762
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-17 09:54:18 +00:00
Griffin Smith
aef3607bd3 fix(gs/system): Fix deprecated nixos option
Change-Id: Ida25ae018bcd48adf27b0a5b8d524980c66dc3fa
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1747
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-14 02:56:15 +00:00
Griffin Smith
717939bc12 feat(chupacabra): Enable X auto-login
I have an encrypted drive, so this extra layer of security is pointless

Change-Id: Ifa523ee5ea545b5ee17536d34f60d7235e47f25c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1741
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-13 22:34:55 +00:00
Vincent Ambo
d42c3dd72f chore(3p): Bump nixpkgs channels
Bumps both nixos-unstable and nixos-20.03 to today's versions, as per
status.nixos.org

Contains minor fixes to things that broke because of the update:

* tazjin/frog: hardware.u2f is a deprecated setting
* glittershark/system: modSha256 in Go modules is now vendorSha256
* glittershark/owothia: removed version constraint on relude

Change-Id: Ib3e9612b1b06ed547b90e4f8b0ffe5ed7fe0a5c4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1642
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-06 00:15:33 +00:00
Griffin Smith
56cba6e032 feat(gs/home): Bump alacritty version
Bump to alacritty 0.5.0 (which is happening by fetching YANNPP (Yet
Another Nixpkgs Pin) because overriding versions of rust packages is not
very well supported) and update the relevant home-manager version and
pin to get it installed and configured with vi-mode.

Change-Id: I4fd96bd0c0611ce76500c33bf0b2c680ee7f44c3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1583
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-08-02 20:12:09 +00:00
Griffin Smith
ba0c785b25 feat(gs/system): Install steam
Change-Id: Id61bf6bed41773e398cb6173c33f378937785d94
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1354
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-23 15:24:06 +00:00
Griffin Smith
ef64479c9d feat(gs/system): Install obs v4l2loopback
Change-Id: I62db4951969a0978e929f91d62382b1560d1f89c
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1348
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-22 16:31:40 +00:00
Griffin Smith
1b42504a12 feat(gs/shell): Add "nix build local" alias
For when I'm building stuff I don't want to build on whitby.

Change-Id: Ic377fe0d68436a81ee479ff4aa029a51e0a5babf
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1215
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-16 21:03:13 +00:00
Griffin Smith
3bf0e2bddc feat(gs/home): Install hyperfine
Change-Id: Ia29e6c2c73d222496b7315d5a640e055fe908c25
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1178
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-15 18:06:54 +00:00
Griffin Smith
1fd34a82cb feat(gs/home): Add config for email notifications
This uses the notifymuch package pulled from
https://github.com/NixOS/nixpkgs/pull/92797 right now, but eventually I
would like to pull from a vendored version since there are some changes
I would like to make to how the notifications are rendered and it looks
like upstream is unmaintained.

Change-Id: I3d1d355a09171a33677f095aa068f2499d50b37b
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1177
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-15 18:06:54 +00:00
Griffin Smith
104bf18461 fix(gs/i3): remove implicit dependency on picom+peek
This was done originally to make the snippet shareable, but is nice
regardless.

Change-Id: Ie51302a020cbb262b1e802e94786ebb8a9f843c8
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1170
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-14 19:42:24 +00:00
Griffin Smith
cbbb7a37d5 feat(gs/i3): Add volume to i3status
Change-Id: I1d3081653b0e69bce88673a4d4edf16cb483f681
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1169
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-14 19:42:24 +00:00
Griffin Smith
0485515a06 feat(gs/system): configure whitby as a remote builder
big cores wow

Change-Id: I0fa14834365202f1c9a8ff69243f129c8acfe13d
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1168
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-14 19:42:24 +00:00
Griffin Smith
2abccc22ac chore(gs/system): reformat tvl.nix
Change-Id: Icc2f953450956a01b32872e6575976e49f1be0b4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1167
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-14 19:38:01 +00:00
Griffin Smith
7986b93a35 feat(gs/home): Install C++ development tools
Change-Id: I959e257e4c2f7c640bedfe5f8385f33ff02215d4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/1136
Reviewed-by: glittershark <grfn@gws.fyi>
Tested-by: BuildkiteCI
2020-07-13 23:53:00 +00:00
Griffin Smith
cc12188d31 feat(gs/home): Integrate home-manager with depot
Essentially the same as for nixos, so I can get whitby to compile stuff
for me. Eventually I'll generalize this so things aren't as hardcoded to
my particular setup, but for now I'm the only one in the depot who's
using home-manager so this should be fine.

Change-Id: I1cb0344f5a11eea68bddc98976999c0928dfa84e
Reviewed-on: https://cl.tvl.fyi/c/depot/+/937
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-07-13 23:41:23 +00:00
Griffin Smith
37ec60c706 feat(gs/i3): Add dottime to status bar
woooo dottime

Change-Id: I41ea0ca70c38e16d716a172c2d2b4d3f983f6e5f
Reviewed-on: https://cl.tvl.fyi/c/depot/+/954
Tested-by: BuildkiteCI
Reviewed-by: glittershark <grfn@gws.fyi>
2020-07-08 15:59:53 +00:00
Griffin Smith
a73714a93c feat(ops/nixos): Add generic rebuild-system script
This adds a first crack at one idea for a generic, non-user-specific
rebuild-system script to ops.nixos.rebuild-system. The idea here is that
we enumerate all the nixos systems stored in the monorepo (similarly to
what we do for ci-builds right now) then search through them by hostname
to find the one matching the hostname of the current system, which is an
attempt at a more generic version of tazjin's rebuilder script which
does the same thing but with an explicit case block.

As a caveat, it feels like there's a slight possibility that this way of
finding systems is going to get slow to evaluate - on my system it feels
fine but if it grows out of hand it's probably feasible to just bake
this into the built script as a dynamically generated case statement.

Change-Id: I2e4c5401913b6f4d936ab48ba2f95f96e0e78eb4
Reviewed-on: https://cl.tvl.fyi/c/depot/+/894
Tested-by: BuildkiteCI
Reviewed-by: lukegb <lukegb@tvl.fyi>
2020-07-06 15:16:36 +00:00