-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathBrewfile
159 lines (135 loc) · 4.19 KB
/
Brewfile
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
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
# @crescentrose's currently used apps and utilities.
tap "hashicorp/tap"
tap "homebrew/autoupdate"
tap "homebrew/bundle"
tap "homebrew/cask-fonts"
tap "homebrew/services"
tap "rsteube/homebrew-tap"
tap "daveshanley/vacuum"
# Pass the desired features to the `HOMEBREW_FEATURES` environment variable
features = ::ENV.fetch("HOMEBREW_FEATURES", "basic,dev,desktop,mac,cloud").split(",").map(&:to_sym)
# 💻 Basic {{{
if features.include? :basic
# World's greatest terminal emulator.
cask "kitty"
# Unix shell (command interpreter)
brew "zsh"
# Modern shell for the GitHub era
brew "nushell"
# GNU File, Shell and Text utilities
brew "coreutils"
# Free monospaced font with programming ligatures
cask "font-fira-code-nerd-font"
# Developer targeted fonts with a high number of glyphs
cask "font-fantasque-sans-mono-nerd-font"
# Symbols Nerd Font (Symbols Only)
cask "font-symbols-only-nerd-font"
# A cat(1) clone with wings.
brew "bat"
# 🌸 A command-line fuzzy finder
brew "fzf"
# Improved top (interactive process viewer)
brew "htop"
# Search tool like grep and The Silver Searcher
brew "ripgrep"
# Lightweight and flexible command-line JSON processor
brew "jq"
# Git large file support
brew "git-lfs"
# Cross-shell prompt for astonauts
brew "starship"
# Multi-shell multi-command argument completer
brew "rsteube/tap/carapace"
# Render markdown on the CLI
brew "glow"
# nvim
brew "nvim"
end
# }}}
# 💎 Development - Languages, Databases, Tools {{{
if features.include? :dev
# Command-line interface for SQLite
brew "sqlite"
# Interpreted, interactive, object-oriented programming language
brew "python"
# Polyglot runtime manager (asdf rust clone)
brew "mise"
# Utility that creates projects from templates
brew "cookiecutter"
# GitHub command-line tool
brew "gh"
# Framework for managing multi-language pre-commit hooks
brew "pre-commit"
# Tools for the WireGuard secure network tunnel
brew "wireguard-tools"
# Parser generator tool and incremental parsing library
brew "treesitter"
# CLI for Node.js style checker and lint tool for Markdown files
brew "markdownlint-cli"
# Linter for prose
brew "proselint"
# Static checker for GitHub Actions workflow files
brew "actionlint"
# Modern CSS linter
brew "stylelint"
# Vulnerability scanner for container images, file systems, and Git repos
brew "trivy"
# The worlds fastest and most scalable OpenAPI linter
brew "vacuum"
end
# }}}
# 🐭 Desktop Apps {{{
if features.include? :desktop
# Password manager that keeps all passwords secure behind one password
cask "1password"
# Music player focusing on visuals
cask "plexamp"
# Knowledge base that works on top of a local folder of plain text Markdown files
cask "obsidian"
# Control your tools with a few keystrokes
cask "raycast"
# Assign keys, and then decorate and label them
cask "elgato-stream-deck"
# Open-source code editor
cask "visual-studio-code"
end
# }}}
# 🍎 Mac App Store apps {{{
if features.include? :mac
# Simple CLI interface for the Mac App Store
brew "mas"
# Fill and save your passwords
mas "1Password for Safari", id: 1569813296
# Adblock and privacy
mas "AdGuard for Safari", id: 1440147259
# Hide menubar items
mas "Hidden Bar", id: 1452453066
end
# }}}
# ☁ Cloud development {{{
if features.include? :cloud
# Pack, ship and run any application as a lightweight container
brew "docker"
# Isolated development environments using Docker
brew "docker-compose"
# Toolkit for embedding hypervisor capabilities in your application. Required
# for minikube.
brew "hyperkit"
# Run a Kubernetes cluster locally.
brew "minikube"
# OpenShift command-line interface tools
brew "openshift-cli"
# Terraform enables you to safely and predictably create, change, and improve
# infrastructure
brew "hashicorp/tap/terraform"
# Manage Secrets & Protect Sensitive Data
brew "hashicorp/tap/vault"
# The Kubernetes Package Manager
brew "helm"
# Set of tools to manage resources and applications hosted on Google Cloud
cask "google-cloud-sdk"
# Kubernetes CLI To Manage Your Clusters In Style!
brew "k9s"
end
# }}}
# vim: fdm=marker fdl=0 ft=ruby