Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ This playbook installs and configures most of the software I use on my Mac for w
pyenv init > ~/.zshrc
pyenv install 3
pyenv global 3
pip3 install ansible

</details>

Expand Down
152 changes: 152 additions & 0 deletions defaults.work.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
---
# Dotfiles configuration
dotfiles_dest: "{{ ansible_facts.env.HOME }}/.dotfiles"

# Symlinks to create
symlinks:
# ZSH
- { src: "zsh/zshrc", dest: "$HOME/.zshrc" }
- { src: "zsh/starship.toml", dest: "$HOME/.config/starship/starship.toml" }
# SSH
- { src: "ssh/config", dest: "$HOME/.ssh/config" }
# WezTerm
- { src: "wezterm/wezterm.lua", dest: "$HOME/.config/wezterm/wezterm.lua" }
# Zed editor
- { src: "zed/keymap.json", dest: "$HOME/.config/zed/keymap.json" }
- { src: "zed/settings.json", dest: "$HOME/.config/zed/settings.json" }

# HomeBrew
homebrew_tap_repos:
- warrensbox/tap

all_brew_packages:
# Basic dependencies and libraries
- openssl
- readline
- sqlite3
- xz
- zlib
- tcl-tk@8
- libb2
- zstd

# Shell customization & utilities
- fastfetch
- starship
- zsh-autosuggestions
- zsh-history-substring-search
- zsh-syntax-highlighting

# Utilities
- awscli
- argocd
- gh
- htop
- jq
- yq
- sops
- watch
- wget

# Kubernetes tools
- kubernetes-cli
- kubectx
- helm
- helm-ls
- minikube

# Programming tools
- go
- gopls
- golangci-lint
- nvm
- php
- pyenv
- pyenv-virtualenv
- ruff

# IaaC tools
- tfswitch
- terragrunt

all_brew_cask_packages:
# System utilities
- betterdisplay
- rectangle

# Communication
- slack
- zoom

# Development tools
- docker-desktop
- gitbutler
- postman
- wezterm
- zed

# Fonts
- font-jetbrains-mono
- font-jetbrains-mono-nerd-font
- font-roboto-flex

# Other
- 1password
- 1password-cli

# Mac App Store (MAS) configuration
mas_uninstall_apps:
- { id: "682658836", name: "GarageBand" }
- { id: "408981434", name: "iMovie" }

# Dock configuration
# Items to add to dock
dock_add:
- name: "Safari"
path: "/System/Cryptexes/App/System/Applications/Safari.app"

- name: "Spark Desktop"
path: "/Applications/Spark\ Desktop.app"

- name: "Calendar"
path: "/System/Applications/Calendar.app"

- name: "Notes"
path: "/System/Applications/Notes.app"

- name: "Slack"
path: "/Applications/Slack.app"

- name: "WezTerm"
path: "/Applications/WezTerm.app"

- name: "Zed"
path: "/Applications/Zed.app"

- name: "GitButler"
path: "/Applications/GitButler.app"

- name: "System Settings"
path: "/System/Applications/System\ Settings.app"

- name: "1Password"
path: "/Applications/1Password.app"

# Items to remove from dock
dock_remove:
- Launchpad
- Messages
- Mail
- Maps
- Photos
- FaceTime
- Contacts
- Reminders
- Freeform
- TV
- Music
- Pages
- Numbers
- Keynote
- "App Store"
- "iPhone Mirroring"
17 changes: 1 addition & 16 deletions defaults.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
# Dotfiles configuration
dotfiles_dest: "{{ ansible_env.HOME }}/.dotfiles"
dotfiles_dest: "{{ ansible_facts.env.HOME }}/.dotfiles"

# Symlinks to create
symlinks:
Expand Down Expand Up @@ -142,63 +142,48 @@ mas_uninstall_apps:
dock_add:
- name: "Safari"
path: "/System/Cryptexes/App/System/Applications/Safari.app"
pos: 1

- name: "Spark Desktop"
path: "/Applications/Spark\ Desktop.app"
pos: 2

- name: "Calendar"
path: "/System/Applications/Calendar.app"
pos: 3

- name: "Notes"
path: "/System/Applications/Notes.app"
pos: 4

- name: "Things"
path: "/Applications/Things3.app"
pos: 5

- name: "Spotify"
path: "/Applications/Spotify.app"
pos: 6

- name: "Slack"
path: "/Applications/Slack.app"
pos: 7

- name: "Telegram"
path: "/Applications/Telegram.app"
pos: 8

- name: "Pixelmator Pro"
path: "/Applications/Pixelmator\ Pro.app"
pos: 9

- name: "DaVinci Resolve"
path: "/Applications/DaVinci\ Resolve.app"
pos: 10

- name: "WezTerm"
path: "/Applications/WezTerm.app"
pos: 11

- name: "Zed"
path: "/Applications/Zed.app"
pos: 12

- name: "GitButler"
path: "/Applications/GitButler.app"
pos: 13

- name: "System Settings"
path: "/System/Applications/System\ Settings.app"
pos: 14

- name: "1Password"
path: "/Applications/1Password.app"
pos: 15

# Items to remove from dock
dock_remove:
Expand Down
57 changes: 29 additions & 28 deletions dotfiles/zed/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,21 @@
"agent": {
"default_model": {
"provider": "copilot_chat",
"model": "claude-opus-4.5"
"model": "claude-opus-4.5",
},
"inline_assistant_model": {
"provider": "copilot_chat",
"model": "claude-haiku-4.5"
"model": "claude-haiku-4.5",
},

"enable_feedback": false,
"profiles": {}
"profiles": {},
},
"features": {
"edit_prediction_provider": "copilot"
"edit_prediction_provider": "copilot",
},
"edit_predictions": {
"mode": "eager"
"mode": "eager",
},

// ################################################################
Expand All @@ -39,7 +39,7 @@
"theme": {
"mode": "system",
"light": "Catppuccin Latte",
"dark": "Catppuccin Macchiato"
"dark": "Catppuccin Macchiato",
},
"icon_theme": "Catppuccin Latte",

Expand All @@ -59,11 +59,11 @@

"minimap": {
"show": "auto",
"current_line_highlight": "all"
"current_line_highlight": "all",
},

"scrollbar": {
"show": "auto"
"show": "auto",
},

// Terminal settings
Expand All @@ -76,63 +76,63 @@
"font_family": "JetBrainsMono Nerd Font",
"font_fallbacks": ["JetBrains Mono", ".ZedMono"],
"font_features": { "calt": true },
"line_height": { "custom": 1.45 }
"line_height": { "custom": 1.45 },
},

// Project panel
"project_panel": {
"dock": "left",
"entry_spacing": "standard",
"indent_size": 15
"indent_size": 15,
},

"git": {
"blame": { "show_avatar": true }
"blame": { "show_avatar": true },
},
// Git panel
"git_panel": {
"dock": "right"
"dock": "right",
},

"theme_overrides": {
"Catppuccin Macchiato": {
"status_bar.background": "#3a1254"
}
"status_bar.background": "#3a1254",
},
},

// ################################################################
// Language-specific
// ################################################################
"extend_comment_on_newline": false,
"file_types": {
"Shell Script": ["*.zsh-theme"]
"Shell Script": ["*.zsh-theme"],
},
"languages": {
"Python": {
"language_servers": ["basedpyright", "ruff"],
"format_on_save": "on",
"formatter": [
{
"code_action": "source.organizeImports.ruff"
"code_action": "source.organizeImports.ruff",
},
{
"language_server": {
"name": "ruff"
}
}
]
}
"name": "ruff",
},
},
],
},
},

"lsp": {
"ruff": {
"initialization_options": {
"settings": {
"lineLength": 110,
"lint": { "extendSelect": ["I"] }
}
}
}
"lint": { "extendSelect": ["I"] },
},
},
},
},

// ################################################################
Expand All @@ -150,14 +150,15 @@
"ini": true,
"lua": true,
"make": true,
"php": true,
"proto": true,
"terraform": true,
"toml": true
"toml": true,
},

// Send only crash reports
"telemetry": {
"diagnostics": true,
"metrics": false
}
"metrics": false,
},
}
Loading