aboutsummaryrefslogtreecommitdiffstats
path: root/_mbsetupuser/Brewfile.org
blob: f2cf741a14c3ad2870ddf947852543a8c30f669c (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
71
72
73
74
75
76
77
78
79
80
81
82
83
#+title: Brewfile
#+PROPERTY: header-args:ruby  :tangle Brewfile

This file defines all the software that needs to be installed on the system.

First off, of course, needs to be Emacs. This is done through a cask, which is what all graphical applications are installed as.

Although the default Emacs cask doesn't work well with macos, so I've had to install emacs-plus instead, which needs a separate tap first.

#+begin_src ruby
  tap "d12frosted/emacs-plus"
  cask "emacs-plus-app"
#+end_src

Then comes Glide, the browser that's configurable and extensible through TypeScript. It lets me configure things that Firefox generally doesn't, but it's still based on Firefox, so I don't have to use Chrome.

#+begin_src ruby
  cask "glide-browser"
#+end_src

Third is the terminal that I use, Wezterm, which can be configured through Lua.

#+begin_src ruby
  cask "wezterm"
#+end_src

Then I need some things for configuration and development purposes:

- git :: Version control system that I use.
- stow :: Mainly used with this repository, "installs" configuration files by making and maintaining symbolic links.
- make :: The bundled version with macos is really old and doesn't support some of the features that I use.
- tailscale :: Mesh VPN that lets me connect to my self-hosted services like music streaming.
- hammerspoon :: Automation framework like AutoHotKey for Windows. But different.
- fennel :: Fennel is a lisp -> lua compiler, it allows me to write lua config (like Wezterm and Hammerspoon) in lisp.


#+begin_src ruby
  brew "git"
  brew "stow"
  brew "make"
  cask "tailscale-app"
  cask "hammerspoon"
  brew "fennel"
#+end_src

And there are some development projects that I need to be able to install.

- docker :: This runs all of my development projects.
- docker-compose :: This is used to organize the different docker containers.
- colima :: This is apparently needed to run the docker daemon if you don't want to run Docker Desktop. I can't run Docker Desktop because you have to pay quite a bit of money for that.
- postgres@16 :: We use PostgreSQL here and I need the client to be able to connect to the containers in docker.
- php :: It's what we use.

#+begin_src ruby
  brew "docker"
  brew "docker-compose"
  brew "colima"
  brew "postgresql"
  brew "php"
#+end_src

For postgresql we also need to have a shell script to add the tools to the path.

#+begin_src shell :tangle .config/zsh/conf.d/postgresql.sh :mkdirp t
  export PATH="/opt/homebrew/opt/postgresql@16/bin:$PATH"
#+end_src

Fonts too!

- fantasque-sans-mono :: This is my main coding font. I've been attached to this font for years, I can't let it go. It has the nicest parentheses that I've found so far.
- dosis :: This is a variable-width font that I'm trying out for any text that isn't code. I haven't found anything that I like as much as Fantasque Sans Mono for code yet.

#+begin_src ruby
  cask "font-fantasque-sans-mono"
  cask "font-dosis"
#+end_src

I also created my own tap:

#+begin_src ruby
  tap "ryuslash/scsh", "https://git.sr.ht/~ryuslash/homebrew-scsh", trusted: true
  brew "scsh"
#+end_src