-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathansible.yml
138 lines (127 loc) · 4.35 KB
/
ansible.yml
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
- hosts: localhost
tasks:
- name: install homebrew packages
tags: [brew]
homebrew:
name:
- awscli # aws cli
- bash # my shell
- cloc # count lines of code
- colima # container runtime
- direnv # auto-env variables per directory
- docker # container runtime
- docker-compose # container orchestration
- ejoffe/tap/spr # stacked PRs
- entr # file watching
- fasd # quick directory navigation
- ffmpeg # video conversion
- flyctl # the new heroku
- fzf # fuzzy finding
- gh # github cli
- gifski # video to high quality gif converter
- git-absorb # helps with good commit histories
- git-lfs # git large file storage
- gnu-units # unit math
- go # go programming language
- graphviz # visualize graphs
- hugo # static site generator
- imagemagick # image editing
- libmagic # used by flamescope
- maven # also installs java
- mutagen-io/mutagen/mutagen # fast remote file sync
- node # node.js
- nodenv # pin node version for project
- noti # cli notifications
- pandoc # document converter
- protobuf # questionable encoding format
- ripgrep # fast grep
- saulpw/vd/visidata # tabular data explorer
- stow # dotfile manager
- withgraphite/tap/graphite # stacked PRs
- name: install homebrew casks
tags: [brew]
homebrew_cask:
name:
- 1password/tap/1password-cli # 1password op command
- name: install go packages
tags: [goinstall]
command: go install "{{ item }}"
with_items:
- github.com/boyter/scc/v3@latest # count lines of code
- github.com/felixge/cl@latest # git clone helper
- github.com/go-delve/delve/cmd/dlv@latest # debugger
- github.com/goreleaser/goreleaser@latest # release go apps
- github.com/maruel/panicparse/v2@latest # analyze go stack traces
- github.com/spf13/cobra-cli@latest # cli scaffold generator
- github.com/x-motemen/gore/cmd/gore@latest # repl
- golang.org/x/perf/cmd/benchstat@latest # benchmark analysis
- golang.org/x/review/git-codereview@latest # for contributing to go
- golang.org/x/tools/cmd/go-contrib-init@latest # for contributing to go
- gotest.tools/gotestsum@latest # pretty test output
- name: install npm packages
tags: [npm]
npm:
state: latest
global: true
name: "{{ item }}"
loop:
- yarn
- name: install pip packages
tags: [pip]
pip:
state: latest
name:
- boto3
- sphinx
- sphinx-rtd-theme
- sphinx-autobuild
- sphinxemoji
- name: install rust
tags: [rust]
shell: curl https://sh.rustup.rs -sSf | sh -s -- -y
- name: install cargo packages
tags: [cargo]
community.general.cargo:
name:
- samply # macos profiler
- name: get bash path
tags: [shell]
command: which bash
register: bash_path
- name: register shell
tags: [shell]
become: true
lineinfile:
path: /etc/shells
line: "{{ bash_path.stdout }}"
- name: change default shell
tags: [shell]
become: true
command: chsh -s "{{ bash_path.stdout }}"
# see https://smallsharpsoftwaretools.com/tutorials/use-colima-to-run-docker-containers-on-macos/
- name: setup docker compose
tags: [docker]
shell: "mkdir -p ~/.docker/cli-plugins && ln -sfn $(brew --prefix)/opt/docker-compose/bin/docker-compose ~/.docker/cli-plugins/docker-compose"
- name: enable touch id in terminal
tags: [touchid]
become: true
lineinfile:
path: /etc/pam.d/sudo
line: auth sufficient pam_tid.so
insertafter: '^#'
firstmatch: true
- name: hide icons from desktop
tags: [macos]
shell: "defaults write com.apple.finder CreateDesktop false && killall Finder"
# see https://twitter.com/thorstenball/status/1609969938415894529
- name: set keyboard repeat rate
tags: [macos]
shell: |
defaults write -g InitialKeyRepeat -int 12
defaults write -g KeyRepeat -int 2
defaults write -g ApplePressAndHoldEnabled -bool false
- name: faster dock animations
tags: [macos]
shell: |
defaults write com.apple.dock autohide-delay -int 0
defaults write com.apple.dock autohide-time-modifier -float 0.4