diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 151 |
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 |