customized to my needs

This commit is contained in:
2022-02-09 22:34:18 +01:00
parent d186c26915
commit 529e916ec8
6 changed files with 38 additions and 192 deletions

View File

@@ -16,12 +16,7 @@
- name: 'add custom homebrew repos'
community.general.homebrew_tap:
name: [
adoptopenjdk/openjdk,
fishtown-analytics/dbt,
heroku/brew,
homebrew/cask-versions,
thoughtbot/formulae,
weaveworks/tap,
]
- name: Install core packages via brew casks
@@ -29,143 +24,43 @@
name: "{{ item }}"
ignore_errors: yes
with_items:
- 1password
- android-sdk
- android-studio
- datagrip
- docker
- dropbox
- figma
- google-chrome
- google-cloud-sdk
- iterm2
- kindle
- ngrok
- slack
- sublime-text
- telegram
- visual-studio-code
- vlc
- zoom
- tuple
- discord
- moom
- signal
- spotify
- whatsapp
- alfred
- kitty
- name: "Install homebrew packages"
community.general.homebrew:
name: [
'autoconf',
'automake',
'aws-iam-authenticator',
'awscli',
'bfg',
'coreutils',
'curl',
'dbt@0.18.0',
'direnv',
'dnsmasq',
'fzf',
'gnu-time',
'gpg',
'heroku',
'htop',
'imagemagick@6',
'kubectx',
'kubernetes-cli',
'kubernetes-helm',
'libtool',
'libxslt',
'libyaml',
'mas',
'openssl' ,
'pkg-config',
'postgresql',
'rcm',
'readline',
'redis',
'sqlite3',
'tmux',
'unixodbc',
'unzip',
'vim',
'watchman',
'xz',
'nvim',
'mas',
'bat',
'fish',
'neovim',
'gh',
'yarn',
'zlib',
'zsh',
]
state: present
update_homebrew: yes
- name: "Install from Mac app store"
shell: mas install {{ item }}
with_items:
- 497799835 # xcode
- name: Get the path to ZSH
become: false
local_action: command which zsh
register: zsh_path
- name: "Ensure homebrew zsh is in allowed shells"
lineinfile:
path: /etc/shells
line: "{{ zsh_path.stdout }}"
become: true
- name: Install Oh My ZSH
shell: sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
args:
creates: "/Users/{{ lookup('env', 'USER') }}/.oh-my-zsh"
- name: Set ZSH as the default shell
shell: chsh -s $(which zsh) {{ lookup('env', 'USER') }}
become: true
- name: "Create a default ZSH configuration"
template:
src: templates/.zshrc.j2
dest: /Users/{{ lookup('env', 'USER') }}/.zshrc
owner: "{{ lookup('env', 'USER') }}"
force: yes
- name: Create a default VSCode configuration
template:
src: templates/vscode-settings.json.j2
dest: /Users/{{ lookup('env', 'USER') }}/Library/Application Support/Code/User/settings.json
owner: "{{ lookup('env', 'USER') }}"
force: yes
- name: Create a default VSCode keuybinding configuration
template:
src: templates/vscode-keybindings.json.j2
dest: /Users/{{ lookup('env', 'USER') }}/Library/Application Support/Code/User/keybindings.json
owner: "{{ lookup('env', 'USER') }}"
force: yes
# Add something which ensures path is set here
- name: Install VSCode extensions
shell: code --install-extension {{ item }}
with_items:
- apollographql.vscode-apollo
- bradlc.vscode-tailwindcss
- castwide.solargraph
- clinyong.vscode-css-modules
- eamodio.gitlens
- jakebecker.elixir-ls
- kaiwood.endwise
- karunamurti.haml
- ms-vscode-remote.vscode-remote-extensionpack
- ms-vscode.vscode-typescript-tslint-plugin
- msjsdiag.debugger-for-chrome
- rebornix.ruby
- richie5um2.vscode-sort-json
- Tyriar.sort-lines
- vscodevim.vim
- wholroyd.jinja
- wingrunr21.vscode-ruby
- xabikos.javascriptsnippets
- streetsidesoftware.code-spell-checker
- fabiospampinato.vscode-todo-plus
- git:
repo: https://github.com/asdf-vm/asdf.git
dest: "/Users/{{ lookup('env', 'USER') }}/.asdf"
@@ -183,61 +78,36 @@
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
asdf plugin-add {{ item }} || exit 0
with_items:
- ruby
- elixir
- nodejs
- python
- erlang
- rust
- name: "Install Default Python"
shell: |
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
asdf install python 3.10.0
asdf global python 3.10.0
asdf install python 3.10.1
asdf global python 3.10.1
pip3 install ansible
asdf reshim python
- name: "Install Default Ruby"
- name: "Install default Rust"
shell: |
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
asdf install ruby 3.0.2
asdf global ruby 3.0.2
gem install bundler
gem install cocoapods
gem install rubocop
gem install solargraph
asdf install rust 1.58.1
asdf global rust 1.58.1
asdf reshim rust
- name: "Install default node"
shell: |
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
bash /Users/{{ lookup('env', 'USER') }}/.asdf/plugins/nodejs/bin/import-release-team-keyring
asdf install nodejs 16.4.2
asdf global nodejs 16.4.2
- name: "Install default erlang"
shell: |
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
asdf install erlang 24.0.2
asdf global erlang 24.0.2
- name: "Install default elixir"
shell: |
source /Users/{{ lookup('env', 'USER') }}/.asdf/asdf.sh
asdf install elixir 1.12.3-otp-24
asdf global elixir 1.12.3-otp-24
mix local.hex --force
asdf install nodejs 17.4.0
asdf global nodejs 17.4.0
- name: Install yarn packages
shell: yarn global add {{ item }}
with_items:
- react-native-cli
- create-react-app
- apollo
- generator-generator
- yo
- name: re-generate bins now we've installed some yarn packages
shell: asdf reshim nodejs

15
manual_tasks.md Normal file
View File

@@ -0,0 +1,15 @@
## Manual
- [ ] Remap Caps Lock to Escape
- [ ] change scroll direction
- [ ] turn off touch bar (fn key)
- [ ] Twisted Wave
- [ ] Smart Countdown Timer
- [ ] Close.io
- [ ] set fish or bash as the main terminal (not zsh)
# Config
- dotfiles
- gitignore
- kittyconfig (name?)
- fishconfig (name?)
- a way to link them to the right spot

View File

@@ -3,4 +3,4 @@ collections:
- name: https://github.com/ansible-collections/community.general.git
type: git
version: main
- name: geerlingguy.mac
- name: geerlingguy.mac

View File

@@ -1,36 +0,0 @@
- name: "Install homebrew packages"
community.general.homebrew:
name: [ dnsmasq ]
state: present
update_homebrew: true
- name: "Get config directory"
shell:
cmd: echo "$(brew --prefix)/etc/"
register: config_directory
- name: Create config directory
file:
path: "{{ config_directory.stdout | trim }}"
state: directory
- name: Create config
template:
src: dnsmasq.conf.j2
dest: "{{ config_directory.stdout | trim }}/dnsmasq.conf"
- name: Create resolvers directory
file:
path: /etc/resolver/
state: directory
become: true
- name: Create resolver
template:
src: local-resolver.j2
dest: /etc/resolver/localhost
become: true
- name: Notes
debug:
msg: "Remember must be started with sudo, e.g. sudo brew services start dnsmasq"

View File

@@ -1,2 +0,0 @@
address=/.localhost/127.0.0.1
port=53

View File

@@ -1 +0,0 @@
nameserver 127.0.0.1