aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 64b5b68c84c783cdcabb01649b18bf582d542f1a (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
# Rubén's Configuration Files.

This repository contains my unix configuration files, used on macOS, and
a few linux flavors.

You can check which configurations it provides by checking `config` and `home`.

## Prerequisites

The scripts here have support for `brew`, `dnf`, `pacman`, or `apt`.

It assumes you have an SSH key that can pull from git.

### macOS

Install brew by following the instructions in [brew.sh](https://brew.sh/).
It might also be a good idea to install the xcode command line tools with `xcode-select --install`

## Usage

1. Clone this repository to `~/.dotfiles`
2. Run `./install` from the root of this project.

By default, the script will attempt to provision software marked as essential
before installing. You can skip this behavior by using the --skip-provisioning
flag.

## Provisioning

These dotfiles include some provisioning scripts for `brew`, `dnf`, `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 nvim 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`)

## Private Files

There are some potentially sensitive files included. They're encrypted with age.
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 `passage` store.