about summary refs log tree commit diff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md151
1 files changed, 85 insertions, 66 deletions
diff --git a/README.md b/README.md
index 9d4564c8aa19..82daa7a74645 100644
--- a/README.md
+++ b/README.md
@@ -1,66 +1,85 @@
-[![Build Status](https://dev.azure.com/git/git/_apis/build/status/git.git)](https://dev.azure.com/git/git/_build/latest?definitionId=11)
-
-Git - fast, scalable, distributed revision control system
-=========================================================
-
-Git is a fast, scalable, distributed revision control system with an
-unusually rich command set that provides both high-level operations
-and full access to internals.
-
-Git is an Open Source project covered by the GNU General Public
-License version 2 (some parts of it are under different licenses,
-compatible with the GPLv2). It was originally written by Linus
-Torvalds with help of a group of hackers around the net.
-
-Please read the file [INSTALL][] for installation instructions.
-
-Many Git online resources are accessible from <https://git-scm.com/>
-including full documentation and Git related tools.
-
-See [Documentation/gittutorial.txt][] to get started, then see
-[Documentation/giteveryday.txt][] for a useful minimum set of commands, and
-`Documentation/git-<commandname>.txt` for documentation of each command.
-If git has been correctly installed, then the tutorial can also be
-read with `man gittutorial` or `git help tutorial`, and the
-documentation of each command with `man git-<commandname>` or `git help
-<commandname>`.
-
-CVS users may also want to read [Documentation/gitcvs-migration.txt][]
-(`man gitcvs-migration` or `git help cvs-migration` if git is
-installed).
-
-The user discussion and development of Git take place on the Git
-mailing list -- everyone is welcome to post bug reports, feature
-requests, comments and patches to git@vger.kernel.org (read
-[Documentation/SubmittingPatches][] for instructions on patch submission).
-To subscribe to the list, send an email with just "subscribe git" in
-the body to majordomo@vger.kernel.org. The mailing list archives are
-available at <https://lore.kernel.org/git/>,
-<http://marc.info/?l=git> and other archival sites.
-
-Issues which are security relevant should be disclosed privately to
-the Git Security mailing list <git-security@googlegroups.com>.
-
-The maintainer frequently sends the "What's cooking" reports that
-list the current status of various development topics to the mailing
-list.  The discussion following them give a good reference for
-project status, development direction and remaining tasks.
-
-The name "git" was given by Linus Torvalds when he wrote the very
-first version. He described the tool as "the stupid content tracker"
-and the name as (depending on your mood):
-
- - random three-letter combination that is pronounceable, and not
-   actually used by any common UNIX command.  The fact that it is a
-   mispronunciation of "get" may or may not be relevant.
- - stupid. contemptible and despicable. simple. Take your pick from the
-   dictionary of slang.
- - "global information tracker": you're in a good mood, and it actually
-   works for you. Angels sing, and a light suddenly fills the room.
- - "goddamn idiotic truckload of sh*t": when it breaks
-
-[INSTALL]: INSTALL
-[Documentation/gittutorial.txt]: Documentation/gittutorial.txt
-[Documentation/giteveryday.txt]: Documentation/giteveryday.txt
-[Documentation/gitcvs-migration.txt]: Documentation/gitcvs-migration.txt
-[Documentation/SubmittingPatches]: Documentation/SubmittingPatches
+depot
+=====
+
+[![builds.sr.ht status](https://builds.sr.ht/~tazjin/depot/master.svg)](https://builds.sr.ht/~tazjin/depot/master?)
+
+This repository is the [monorepo][] for my personal tools and infrastructure.
+Everything in here is built using [Nix][] with an automatic attribute-set layout
+that mirrors the filesystem layout of the repository (this might feel familiar
+to users of Bazel).
+
+This repository used to be hosted on GitHub, but for a variety of reasons I have
+decided to take over the management of personal infrastructure - of which this
+repository is a core component.
+
+If you've ended up here and have no idea who I am, feel free to follow me [on
+Twitter][].
+
+# Highlights
+
+## Tools
+
+* `tools/emacs` contains my personal Emacs configuration (packages & config)
+* `fun/aoc2019` contains solutions for a handful of Advent of Code 2019
+  challenges, before I ran out of interest
+* `tools/blog_cli` contains my tool for writing new blog posts and storing them
+  in the DNS zone
+* `tools/cheddar` contains a source code and Markdown rendering tool
+  that is integrated with my cgit instance to render files in various
+  views
+* `ops/kms_pass.nix` is a tiny tool that emulates the user-interface of `pass`,
+  but actually uses Google Cloud KMS for secret decryption
+* `ops/kontemplate` contains my Kubernetes resource templating tool (with which
+  the services in this repository are deployed!)
+* `ops/besadii` contains a tool that runs as the git
+  `post-receive`-hook on my git server to trigger builds on sourcehut.
+
+## Packages / Libraries
+
+* `nix/buildGo` implements a Nix library that can build Go software in the style
+  of Bazel's `rules_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.
+* `tools/emacs-pkgs` contains various Emacs libraries that my Emacs setup uses,
+  for example:
+  * `dottime.el` provides [dottime][] in the Emacs modeline
+  * `nix-util.el` provides editing utilities for Nix files
+  * `term-switcher.el` is an ivy-function for switching between vterm buffers
+* `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
+
+## Services
+
+Services in this repository are deployed on a Google Kubernetes Engine cluster
+using [Nixery]().
+
+* `web/blog` and `web/homepage` contain my blog and website setup
+  (serving at [tazj.in][])
+* `web/cgit-taz` contains a slightly patched version of `cgit` that serves my
+  git web interface at [git.tazj.in][]
+* `ops/journaldriver` contains a small Rust daemon that can forward logs from
+  journald to Stackdriver Logging
+
+## Miscellaneous
+
+Presentations I've given in the past are in the `presentations` folder, these
+cover a variety of topics and some of them have links to recordings.
+
+There's a few fun things in the `fun/` folder, often with context given in the
+README. Check out my [list of the best tools][best-tools] for example.
+
+# Contributing
+
+If you'd like to contribute to any of the tools in here, please check out the
+[contribution guidelines](/tree/docs/CONTRIBUTING.md).
+
+[monorepo]: https://en.wikipedia.org/wiki/Monorepo
+[Nix]: https://nixos.org/nix
+[on Twitter]: https://twitter.com/tazjin
+[Nixery]: https://github.com/google/nixery
+[tazj.in]: https://tazj.in
+[git.tazj.in]: https://git.tazj.in
+[best-tools]: /about/fun/best-tools/README.md
+[dottime]: https://dotti.me