db80c2d368
Decreased text width for the /about pages should increase readability considerably as jumping back to the beginning is hard for longer lines. The result is still not perfect as the font size for the /about pages is rather small and many lines thus get broken somewhat awkwardly. We could probably migitate that using a larger font size. The implementation choice of adding a tvl-extra.css which we inject into cgit.css in preBuild is for simplicity: We don't need to worry about routing an extra CSS file and loading it from the right location via extra cgit head entries and serving it at the correct location using either nginx or thttpd. A drawback of this is however that iteration is slowed down by cgit's compilation time. Additionally, this should be the basis for implementing a bubblegum themed cgit for Profpatsch. Change-Id: I18060f735167acd623cef7a17c83408978461249 Reviewed-on: https://cl.tvl.fyi/c/depot/+/2756 Tested-by: BuildkiteCI Reviewed-by: tazjin <mail@tazj.in> |
||
---|---|---|
bin | ||
docs | ||
fun | ||
lisp | ||
net | ||
nix | ||
ops | ||
third_party | ||
tools | ||
tvix | ||
users | ||
web | ||
.envrc | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.hgignore | ||
.mailmap | ||
.rgignore | ||
.rustfmt.toml | ||
buf.yaml | ||
default.nix | ||
LICENSE | ||
OWNERS | ||
README.md | ||
RULES |
depot
This repository is the monorepo for the community around The Virus Lounge, containing our personal tools and infrastructure. Everything in here is built using Nix.
A large portion of the software here is very self-referential, meaning that it exists to sustain the operation of the repository. This is the case because we partially see this as an experiment in tooling for monorepos.
If you've ended up here and have no idea who I am, feel free to follow me on Twitter.
Highlights
Services
-
Source code is available primarily through Sourcegraph on cs.tvl.fyi, where it is searchable and even semantically indexed. A lower-tech view of the repository is also available via cgit on code.tvl.fyi.
The repository can be cloned using
git
fromhttps://cl.tvl.fyi/depot
. -
All code in the depot, with the exception of code that is checked in to individual
//users
folders, needs to be reviewed. We use Gerrit on cl.tvl.fyi for this. -
Issues are tracked via our own issue tracker on b.tvl.fyi. Its source code lives at
//web/panettone/
. -
Smaller todo-list entries which do not warrant a separate issue are listed at todo.tvl.fyi.
-
We use Buildkite for CI. Recent builds are listed on tvl.fyi/builds and pipelines are configured dynamically via
//ops/pipelines
.
All services that we host are deployed on NixOS machines that we manage. Their
configuration is tracked in //ops/nixos
.
Nix
//third_party/nix
contains Tvix, our fork of the Nix package manager//nix/readTree
contains the Nix code which automatically registers projects in our Nix attribute hierarchy based on their in-tree location//nix/yants
contains Yet Another Nix Type System, which we use for a variety of things throughout the repository//nix/buildGo
implements a Nix library that can build Go software in the style of Bazel'srules_go
. Go programs in this repository are built using this library.//nix/buildLisp
implements a Nix library that can build Common Lisp software. Currently only SBCL is supported. Lisp programs in this repository are built using this library.
We have a variety of other tools and libraries in the //nix
folder which may
be of interest.
Packages / Libraries
//net/alcoholic_jwt
contains an easy-to-use JWT-validation library for Rust//net/crimp
contains a high-level HTTP client using cURL for Rust//tools/emacs-pkgs
contains various useful Emacs libraries, for example:dottime.el
provides dottime in the Emacs modelinenix-util.el
provides editing utilities for Nix filesterm-switcher.el
is an ivy-function for switching between vterm bufferstvl.el
provides helper functions for interacting with the TVL monorepo
//lisp/klatre
provides a grab-bag utility library for Common Lisp
User packages
Contributors to the repository have user directories under
//users
, which can be used for
personal or experimental code that does not require review.
Some examples:
//users/tazjin/homepage
&&//users/tazjin/blog
: A Nix-based static site generator which generates the web page and Atom feed for tazj.in//users/tazjin/finito
: A persistent finite-state machine library for Rust.//users/glittershark/xanthous
: A (WIP) TUI RPG, written in Haskell.//users/tazjin/emacs
: tazjin's Emacs & EXWM configuration
Licensing
Unless otherwise stated in a subdirectory, all code is licensed under the MIT license. See LICENSE for details.
Contributing
If you'd like to contribute to any of the tools in here, please check out the contribution guidelines and our code of conduct.