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.md177
1 files changed, 84 insertions, 93 deletions
diff --git a/README.md b/README.md
index 9776fc8b6af8..02215ff7a8d4 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,52 @@ other items.
 
 Configuration is everything.
 
+# Installation
 
-# Setting up new computer
+## wpgtk and gvcci
+
+```bash
+$ apti python-pip3
+$ gclone deviantfero/wpgtk
+$ cd ..
+$ gclone FabriceCastel/gvcci
+```
+
+- TODO: Ensure edits to `i3.base` work as expected.
+- TODO: Integrate Emacs themes into wpgtk.
+- TODO: Integrate Vim themes into wpgtk.
+- TODO: add these to the install script
+
+```bash
+$ ln -s ~/Dropbox/.password-store ~/.password-store
+$ ln -s ~/Dropbox/bin ~/bin
+$ import_gpg $DOTFILES/configs/shared/gpg/.gnupg/exported
+```
+
+1. Clipmenu
+
+Clipmenu is a service to store a history of copied strings.
+
+Install it as:
+```bash
+$ cd ~/programming && g clone cdown/clipmenu
+```
+
+- TODO: Include `~/.config/systemd/user` in `configs/shared`.
+- TODO: Obviate installation.
+
+Ensure that it runs on startup:
+```bash
+$ cd ~/programming/clipmenu
+$ cp clipmenu clipmenud clipdel ~/bin # You may not need to do this step.
+$ vim init/clipmenud.service
+# Change the ExecStart line to point to ~/bin/clipmenud
+$ cp init/clipmenud.service ~/.config/systemd/user/clipmenud.service
+$ systemctl --user start clipmenud
+$ systemctl --user enable clipmenud # This step may be optional.
+$ reboot
+$ systemctl --user status clipmenud # Verify installation worked.
+```
 
 1. Install Dropbox
 
@@ -20,7 +64,7 @@ $ pgrep dropbox     # 2/3 verify installation
 $ dropbox.py status # 3/3 verify installation
 ```
 
-1. Authorize computer to access dotfiles
+1. Authorize computer to access GitHub
 
 ```bash
 $ ssh-keygen -t rsa -b 4096 -C 'wpcarro@gmail.com'
@@ -28,46 +72,19 @@ $ eval $(ssh-agent -s)
 $ ssh-add ~/.ssh/id_rsa
 $ xclip -sel clip <~/.ssh/id_rsa.pub
 $ browse github.com # paste ssh public key in settings
-$ mkdir ~/programming
-$ git clone git@github.com:wpcarro/dotfiles ~/Dropbox/dotfiles
 ```
 
-1. Install Antigen, Vundle, nix-env for package management
+1. Install Antigen, Vundle, nix-env
 
 ```bash
-$ # antigen
-$ curl -L git.io/antigen >~/antigen.zsh
-$ # vundle
-$ g clone VundleVim/Vundle.vim ~/.config/nvim/bundle/Vundle.vim
-$ # nix-env
-$ curl https://nixos.org/nix/install | sh
+$ ln -s ~/Dropbox/antigen.zsh ~/antigen.zsh
+$ ln -s ~/Dropbox/Vundle.vim ~/.config/nvim/bundle/Vundle.vim
+$ cat ~/Dropbox/install_nix.sh | sh
 $ for p in $(cat nix-env.txt); do
 >   nix-env -i "$p"
 > done
 ```
 
-1. Install shared executables
-
-Some files should be kept out of this repository. Things that come to mind
-include secrets (e.g. `monzo_creds.json.gpg`) and binaries.
-
-Secrets should be kept out of this repository in case. It might be okay to
-include them herein since they should be encrypted. But just to add an
-additional layer of security, I avoid adding them.
-
-Executables are kept out of version control since they can be quite large. For
-example, my `/usr/bin` is `8.9G` at the time of this writing. Also it can be
-noisy to see diffs of binaries after upgrading programs.
-
-While sharing binaries across systems feels brittle, everything should function
-as long as the machines across which the binaries are shared run Linux and have
-i386 architectures.
-
-```bash
-$ ln -s ~/Dropbox/bin ~/bin
-```
-
-
 1. Install i3
 
 ```bash
@@ -76,18 +93,39 @@ $ sudo apt-get install i3
 
 1. Install dotfiles
 
-TODO: include steps 2-4 in the `make install` command.
+- TODO: include steps 2-4 in the `make install` command.
+
+Missing the following dependencies:
+
+- `stow`
+- `neovim`
+- `bat`
+- `exa`
+- `fasd`
+- `opam`
+- `ghcup`
+- `ripgrep`
+- `fzf`
+- `fd`
+- `hub`
+- `pass`
 
 ```bash
 $ cd ~/Dropbox/dotfiles
 $ DOTFILES="$(pwd)" make install
 ```
 
+1. Install Node dependencies
 
-# TODOS
+For now, this deserves its own section since it isn't automated.
 
-- support dependencies like terminal themes
+```zsh
+gclone tj/n       # clone repo
+sudo make install # build from source
+n stable          # install the stable version of node
+```
 
+- TODO: support dependencies like terminal themes
 
 # SSHFS
 
@@ -122,16 +160,16 @@ manually SSH into that machine.
 
 # GnuPG
 
-Entering a new system?
+To install GPG run the following:
 
 ```bash
-$ ./configs/shared/gpg/.gnupg/import.sh path/to/directory
+$ import_gpg
 ```
 
-Leaving an old system? TODO: create a job that runs this periodically.
+TODO: create a job that runs this periodically.
 
 ```bash
-$ ./configs/shared/gpg/.gnupg/export.sh [directory]
+$ export_gpg
 ```
 
 ## Reference
@@ -141,66 +179,19 @@ $ ./configs/shared/gpg/.gnupg/export.sh [directory]
     - ssb: secret sub-key
     - sub: public sub-key
 
-## GnuPG + Git
-
-  1. Register newly created `[S]` signing subkey as `signingkey`
-  1. Enforce commit-signing
-  1. Opt into `gpg2` usage
-
-```bash
-$ git config --global user.signingkey <SIGNING_KEY>
-$ git config --global commit.gpgsign true
-$ git config --global gpg.program gpg2
-```
-
-## GnuPG + GPG-Agent
-
-Setup `gpg-agent` to use password caching by adding the following entries to
-`~/.gnupg/gpg-agent.conf` (already done in this repository):
-
-```
-default-cache-ttl 300 max-cache-ttl 3600
-```
-
-
-## True Color and Italics
 
-At the time of this writing, Suckless's `st` terminal provides True Color and
-italics support. It's also important to test that this support remains when
-inside of Vim or inside of a Tmux session or both.
+## Terminals and Fonts
 
-### TrueColor
-
-To test for your terminal's True Color support, run:
+Any terminal or font I choose should pass the following checks:
 
 ```bash
 $ test_true_color
-```
-
-Enable TrueColor in your `init.vim` (already done in this repository):
-
-```viml
-set termguicolors
-```
-
-### Italics
-
-To test if your terminal supports italics and other text treatments, run:
-
-```bash
+$ test_16_colors
 $ test_text_formatting
+$ test_unicode
+$ test_emojis
 ```
 
 ### Ligatures
 
-At the time of this writing, Suckless's `st` does not appear to support
-ligatures.
-
-
-## Miscellaneous notes
-* Executables are shared at `~/Dropbox/bin` and not kept within this repository
-  to avoid the bloat.
-* Map `<CAPS_LOCK>` key to `<ESC>`
-* Increase key-repeat rate
-* Decrease key-repeat-delay
-* Increase mouse speed
+If using a font with ligature (e.g. Hasklig) assert that your terminal also support ligatures.