You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+24-18Lines changed: 24 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,19 +2,21 @@
2
2
3
3
Setup and configuration for my terminal based developer workflow (MacOS/Ubuntu):
4
4
5
-
- Zsh for a shell
6
-
- Nix for package management of shell programs
7
-
- uv for Python
8
-
- Neovim for text editing
9
-
- Stow for dotfiles management
5
+
-**Zsh** for a shell
6
+
-**Homebrew** for shell tools
7
+
-**mise** for programming language runtimes (except Python)
8
+
-**uv** for Python runtime and virtual environments
9
+
-**Neovim** for text editing
10
+
-**Stow** for dotfiles symlinking
10
11
11
-
This repo should be cloned into `$HOME` and set as `$XDG_CONFIG_HOME`.
12
+
This repo should be cloned into `$HOME` and set as `$XDG_CONFIG_HOME`. Many tools rely on setting this for the config stored in this repo to work. For other config that requires files in `$HOME` (such as `$HOME/.bashrc`) Stow is used to symlimk files.
12
13
13
14
You can setup your machine using commands in `Makefile`. Commonly setting up a machine involves:
14
15
15
-
- Installing packages with Nix or Homebrew
16
+
- Installing packages with Homebrew
16
17
- Setting up symlinks with Stow
17
18
- Setting up tmux & Zsh
19
+
- Installing language runtimes with mise
18
20
19
21
## Use
20
22
@@ -30,20 +32,24 @@ This will also setup dependencies with Nix.
30
32
31
33
### macOS
32
34
33
-
Setup an macOS machine:
35
+
Setup a macOS machine:
34
36
35
37
```shell-session
36
38
$ make setup-macos
37
39
```
38
40
39
-
This will also setup dependencies with Nix.
41
+
This will:
42
+
- Install Homebrew if not already installed
43
+
- Install all packages from the Brewfile
44
+
- Setup dotfiles with Stow
45
+
- Configure tmux, Zsh, and fzf
40
46
41
47
### Python
42
48
43
49
Install `uv` and setup a global Python installation in a virtual environment:
44
50
45
51
```bash
46
-
$ make python
52
+
$ make setup-python
47
53
```
48
54
49
55
## Components
@@ -70,21 +76,21 @@ You can run the setup without bootstrapping Stow with:
70
76
$ make dotfiles OS=macos -o setup-stow
71
77
```
72
78
73
-
### Nix
79
+
### Homebrew
74
80
75
-
Install packages with Nix from a Nix Flake - I use Nix for things like direnv and Neovim:
81
+
Install packages with Homebrew from the Brewfile:
76
82
77
83
```shell-session
78
-
$ make nix-pkgs
84
+
$ make brew-pkgs
79
85
```
80
86
81
-
This will setup dependencies with Nix from `./nix/flake.nix`.
87
+
This will:
88
+
- Install Homebrew if not already installed
89
+
- Install all packages defined in `./brew/Brewfile`
82
90
83
-
It will also install Nix itself. Nix doesn't like to be installed multiple times - you can avoid this step with:
91
+
### mise
84
92
85
-
```shell-session
86
-
$ make nix-pkgs -o setup-nix
87
-
```
93
+
mise is used for managing programming language runtime versions (Python, Node.js, Go, etc.). It's automatically installed via the Brewfile and activated in Zsh via an `eval`.
0 commit comments