Appendix: Example package sets
The following are package-sets that can be useful starting places.
Example: installing homebrew via curl
---
name: homebrew
platform: macos
description: macOS homebrew package manager
actions:
scripts:
install: "curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh | bash"
Example: setting macOS experience defaults
---
name: macos defaults
platform: macos
actions:
scripts:
install: >-
defaults write com.apple.dashboard devmode YES &&
defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES &&
defaults write com.apple.Dock showhidden -bool YES
Example: a long list of packages
name: fonts
description: all those missing fonts!
actions:
packages:
- name: homebrew/cask-fonts/font-fira-code
platform: macos
kind: application
- name: homebrew/cask-fonts/font-fira-code-nerd-font
platform: macos
kind: application
- name: font-meslo-lg
platform: macos
kind: application
- name: font-meslo-lg-nerd-font
platform: macos
kind: application
- name: font-linux-libertine
platform: macos
kind: application
- name: fonts-powerline
platform: linux
Example: linking files and run-after
---
name: zsh
description: the Z shell
actions:
packages:
- name: zsh
- name: zsh-completions
- name: zsh-navigation-tools
platform: macos
link-files:
dot-zlogin: "{{home}}/.zlogin"
dot-zshenv: "{{home}}/.zshenv"
dot-zshrc: "{{home}}/.zshrc"
run-after: "{{package_set_path}}/run-after"
Example: custom variables
---
name: gpg
description: Gnu Privacy Guard
env-vars:
gpg_home: "{{home}}/.gnupg"
actions:
packages:
- name: gpg
- name: pinentry-gnome3
platform: linux
- name: pinentry-mac
platform: macos
link-files:
gpg.conf: "{{gpg_home}}/gpg.conf"
"gpg-agent-{{platform_os}}.conf": "{{gpg_home}}/gpg-agent.conf"
run-after: gpg --list-keys