aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 3735424790c74ee9a3011248ed79172f63f44da0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# Dotfiles

To set up run `./install`

It provides configuration for:

* nvim
* tmux
* zsh
* git
* ripgrep
* tmuxp
* kitty
* karabiner
* weechat
* nethack
* terminfo italics support
* yabai & skhdc
* asdf

## Prerequisites

The scripts here have support for `brew`, `pacman`, or `apt`.
Install brew with: `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"`

It might also be a good idea to install the xcode command line tools with `xcode-select --install`

## Provisioning

These dotfiles include some provisioning scripts for `brew`, `pacman`, and `apt`.

To set up run `./provision <recipe>` where `<recipe>` is one of:

* `essential`
* `nice`
* `cask_essential` (only `brew`)
* `cask_nice` (only `brew`)

To see what each recipe installs, check the files under `provisioning/`

## Local zshrc

For local modifications to the zshrc create `~/.zshrc.local`.

## Local vim overrides

For local modifications to your neovim init create `~/.config/nvim/lua/init_local.lua`  

## Environment modification

In order to specify the environment in the prompt, create a function
called `env_info_provider` and echo your environment details (eg.
`dev`, `staging`, `production`)

## LSP & Neovim

For the LSP to work, some external dependencies might be needed. As some of 
these depend on what version asdf has loaded, or specific projects, they're
not included by default.

See [the nvim-lspconfig docs][lsp] for more info.
[lsp]: https://github.com/neovim/nvim-lspconfig/blob/master/doc/server_configurations.md

## Private Files

There are some potentially sensitive files included. They're PGP encrypted. If
you need them you can run `./sensitive`. To update them if they change,
run `./sensitive update` instead.

For passwords, make sure you have setup the `pass` store.