Skip to content
Open
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
49 changes: 19 additions & 30 deletions playbook.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,39 +4,28 @@
connection: local

vars:
use_dotfiles: true
is_darwin: "{{ ansible_os_family|lower == 'darwin' }}"

roles:
- role: desktop
tags: [desktop]
- role: emacs
tags: [emacs, editors, development]
- role: fonts
tags: [fonts]
- role: golang
tags: [go, golang, development]
- role: multimedia
tags: [multimedia]
- role: node
tags: [node, nodejs, development]
- role: python
tags: [python, development]
- role: system-utils
tags: [system]
- role: editors
tags: [editors, development]
- role: development
tags: [development]
- role: misc
tags: [misc, macos]
- role: user-utils
tags: [user-utils, development]
- role: visual-studio-code
tags: [visual-studio-code, vscode, editors, development]
- role: zsh
tags: [zsh, shell]
- role: go-dev
tags: [go, golang, development]
- role: node-dev
tags: [node, development]
- role: python-dev
tags: [python, development]
- role: shell-utils
tags: [shell, shell-utils, development]
- role: desktop
tags: [desktop, macos]
- role: version-control
tags: [vcs]
- role: file
tags: [file, development]
- role: entertainment
tags: [entertainment, macos]
- role: web
tags: [web, macos]
- role: productivity
tags: [productivity, macos]
- role: hardware
tags: [hardware, drivers, macos]

87 changes: 15 additions & 72 deletions roles/desktop/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -1,75 +1,18 @@
---
- name: Set macOS dock settings
community.general.osx_defaults:
domain: com.apple.dock
key: "{{ item.key }}"
type: "{{ item.type }}"
value: "{{ item.value }}"
- name: Ensure desktop utility casks installed
community.general.homebrew_cask:
name:
# app launcher
- alfred
# terminal emulator
- alacritty
state: present
loop:
- key: orientation
type: string
value: left
- key: autohide
type: int
value: 1
- key: largesize
type: float
value: 42
- key: magnification
type: int
value: 1
- key: tilesize
type: float
value: 32
register: dock_updated
when: ansible_os_family|lower == 'darwin'
tags:
- dock
when: is_darwin

- name: Kill macOS dock
command: killall Dock
become: yes
when: dock_updated is defined and dock_updated.changed

- name: Set macOS Interface Dark Mode
community.general.osx_defaults:
domain: NSGlobalDomain
key: AppleInterfaceStyle
type: string
value: Dark
when: ansible_os_family|lower == 'darwin'
tags:
- dark

- name: Show all extensions in finder
community.general.osx_defaults:
domain: NSGlobalDomain
key: AppleShowAllExtensions
type: bool
value: yes
register: finder_ext_update
when: ansible_os_family|lower == 'darwin'
tags:
- dark

- name: Ensure finder grouping properties set
command: "plutil -replace {{ item.key }} -{{ item.type }} '{{ item.value }}' ~/Library/Preferences/com.apple.finder.plist"
loop:
- key: "DesktopViewSettings.GroupBy"
type: "string"
value: "Kind"
- key: "FXPreferredGroupBy"
type: "string"
value: "Kind"
- key: "DesktopViewSettings.IconViewSettings.arrangeBy"
type: "string"
value: "dateAdded"
register: finder_update
when: ansible_os_family|lower == 'darwin'
tags:
- finder

- name: Kill macOS finder
command: killall Finder
when: (finder_ext_update is defined and finder_ext_update.changed) or (finder_update is defined and finder_update is succeeded)
- name: Ensure productivity casks installed
community.general.homebrew_cask:
name:
- todoist
- fantastical
state: present
when: is_darwin
8 changes: 0 additions & 8 deletions roles/development/tasks/main.yml

This file was deleted.

13 changes: 0 additions & 13 deletions roles/dotfiles/tasks/main.yml

This file was deleted.

3 changes: 0 additions & 3 deletions roles/dotfiles/vars/main.yml

This file was deleted.

41 changes: 0 additions & 41 deletions roles/editors/tasks/main.yml

This file was deleted.

18 changes: 18 additions & 0 deletions roles/emacs/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
---
- name: Add d12frosted/emacs-plus homebrew tap
community.general.homebrew_tap:
name: d12frosted/emacs-plus
state: present
when: is_darwin

- name: Install emacs
community.general.homebrew:
name: emacs-plus@30
state: present
when: is_darwin

- name: Setup emacs startup daemon
community.general.homebrew_services:
name: d12frosted/emacs-plus/emacs-plus@30
state: present
when: is_darwin
17 changes: 0 additions & 17 deletions roles/entertainment/tasks/main.yml

This file was deleted.

14 changes: 0 additions & 14 deletions roles/file/tasks/main.yml

This file was deleted.

8 changes: 8 additions & 0 deletions roles/fonts/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
- name: Install editor fonts
community.general.homebrew_cask:
name:
- font-source-code-pro
- font-fira-mono-nerd-font
state: present
when: ansible_os_family|lower == 'darwin'
40 changes: 0 additions & 40 deletions roles/go-dev/tasks/main.yml

This file was deleted.

14 changes: 14 additions & 0 deletions roles/golang/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
- name: Ensure go installed
ansible.builtin.package:
name: golang # matches name in debian as well as homebrew
state: present

- name: Install global development go packages
shell: 'go install {{ item }}'
with_items:
- github.com/cweill/gotests/gotests@latest
- github.com/go-delve/delve/cmd/dlv@latest
- golang.org/x/tools/cmd/godoc@latest
- golang.org/x/tools/cmd/goimports@latest
- golang.org/x/tools/cmd/gorename@latest
10 changes: 0 additions & 10 deletions roles/hardware/tasks/main.yml

This file was deleted.

10 changes: 0 additions & 10 deletions roles/misc/tasks/main.yml

This file was deleted.

15 changes: 15 additions & 0 deletions roles/multimedia/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
---
- name: Install multimedia homebrew cask applications
community.general.homebrew_cask:
name:
- spotify
- vlc
state: present
when: is_darwin

- name: Install multimedia homebrew packages
community.general.homebrew:
name:
- yt-dlp
state: present
when: is_darwin
8 changes: 0 additions & 8 deletions roles/node-dev/defaults/main.yml

This file was deleted.

Loading