# briefcase [![Build status](https://badge.buildkite.com/7fd2d34344d1768a00019e0cff2dfd736cd7fee2489f31ce52.svg)](https://buildkite.com/wpcarros-infrastructure/briefcase) Welcome to my monorepo: briefcase. Herein you will find a variety of libraries, packages, and documents. Some of this work in finished and other work is incomplete or just a sketch for a future project. Where applicable, I try to include `README.md` files in some of the subdirectories to help orient both myself and any onlookers. ## Languages To give you a general idea of the source code inside of this monorepo, here is the latest output from `tokei --hidden --sort code .`: ```text ------------------------------------------------------------------------------- Language Files Lines Code Comments Blanks ------------------------------------------------------------------------------- CSS 9 67324 50733 218 16373 Emacs Lisp 111 25326 15790 6337 3199 Python 99 7432 5414 623 1395 JSON 18 2235 2235 0 0 Markdown 34 1771 1771 0 0 TypeScript 25 1665 1317 115 233 Nix 65 1302 1115 82 105 Go 17 1256 926 173 157 Vim Script 2 766 470 87 209 HTML 17 496 459 11 26 Org 8 420 411 8 1 Haskell 4 319 217 57 45 Plain Text 5 145 145 0 0 JavaScript 13 105 99 0 6 Fish 1 87 54 23 10 Lisp 3 83 43 23 17 Elixir 1 50 39 5 6 Sass 1 51 38 2 11 TOML 2 37 32 0 5 Shell 2 34 15 9 10 Java 2 11 11 0 0 Makefile 2 14 9 3 2 C 1 6 5 0 1 BASH 2 10 4 2 4 YAML 1 5 4 0 1 Rust 1 5 3 1 1 ------------------------------------------------------------------------------- Total 446 110955 81359 7779 21817 ------------------------------------------------------------------------------- ``` 67,321 of the 67,324 lines of CSS comes from `//website`, which includes the template I use for my blog. Because I use TailwindCSS for my personal projects, most of the styling is embedded in the class atribute of HTML and JSX tags. ## Sign posts Below I have outlined a few projects that you might find interesting. I am using `//` to indicate the root of my monorepo, the directory in which this `README.md` resides. - `//boilerplate`: scaffolding for projects. Boilerplate's goal is to reduce the startup costs of a project. - `//configs`: my dotfiles (e.g. `config.fish`, `init.vim`). Eventually Nix `home-manager` should replace this. - `//emacs`: Emacs is both my preferred text editor and my window manager; with tens of thousands of lines of Emacs Lisp, you can safely assume that this directory hosts a lot of libraries and packages. - `//monzo_ynab`: `systemd` timer unit that imports my Monzo (i.e. a U.K.-based online bank) transactions into the personal finance tool YNAB (i.e. youneedabudget.com). - `//nixos`: my declarative configuration for my NixOS machines. If you are unfamiliar with Nix, I recommend reading about the NixOS project. - `//tools`: some scripts and projects that simplify my life. - `//website`: everything required to build my website, wpcarro.dev. ## Notes to self Here are a few reminders when setting up a new machine: - Use Nix `home-manager` to configure the new machine. - Ensure `~/.password-store` exists. - Run `export_gpg` from a computer with my gpg credentials. Run `import_gpg` from the new machine. - Ensure the new machine can access my Github.