├── .gitignore
├── Install.sh
├── LICENSE
├── README.md
├── Todo.md
├── ansible.cfg
├── default.config.yml
├── inventory
├── mac-devops-setup.png
├── requirements.yml
├── roles
├── setup_dotfiles
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ │ └── main.yml
├── setup_homebrew
│ ├── defaults
│ │ └── main.yml
│ ├── handlers
│ │ └── main.yml
│ └── tasks
│ │ ├── main.yml
│ │ └── osx-commandline.yml
├── setup_macos
│ ├── files
│ │ └── osx-script.sh
│ └── tasks
│ │ └── main.yml
├── setup_mas
│ ├── defaults
│ │ └── main.yml
│ └── tasks
│ │ └── main.yml
└── setup_terminal
│ ├── defaults
│ └── main.yml
│ ├── files
│ ├── Inconsolata for Powerline.otf
│ ├── Solarized Dark - Patched.itermcolors
│ ├── Solarized Dark xterm-256color.terminal
│ ├── Solarized Dark.itermcolors
│ ├── Solarized Dark.itermcolors.1
│ ├── agnoster.json
│ ├── com.googlecode.iterm2.plist
│ └── powerlevel10k.json
│ └── tasks
│ └── main.yml
└── setup-my-mac.yml
/.gitignore:
--------------------------------------------------------------------------------
1 | *.vagrant
2 | .DS_Store
3 | *.retry
4 |
--------------------------------------------------------------------------------
/Install.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | printf "# Step 1 : Installing Xcode Command Line Tools"
4 | xcode-select --install
5 |
6 | echo "# Step 2 : Installing Homebrew"
7 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
8 | brew doctor
9 |
10 | echo "# Step 3 : Installing Python3"
11 | brew install python
12 | echo 'export PATH="/usr/local/opt/python/libexec/bin:$PATH"' >> ~/.zshrc
13 | export PATH="/usr/local/opt/python/libexec/bin:$PATH"
14 |
15 | # Install PIP
16 | # curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
17 | # sudo python get-pip.py
18 |
19 | echo "# Step 4 : Installing Ansible"
20 | sudo pip install ansible
21 |
22 | echo "# Step 5 : Installing Git"
23 | brew install git
24 |
25 | echo "# Step 6 : Installing Ansible dependency collections"
26 | ansible-galaxy install -r requirements.yml
27 |
28 | while true; do
29 | read -p "Would you like execute the playbook now? (y/n) " yn
30 | case $yn in
31 | [Yy]* ) break;;
32 | [Nn]* ) printf "\n Execute this command when you are ready:\n ansible-playbook setup-my-mac.yml -i inventory -K \n" ; exit;;
33 | * ) echo "Please answer yes or no.";;
34 | esac
35 | done
36 |
37 | echo "# Running ansible setup"
38 | ansible-playbook setup-my-mac.yml -i inventory -K
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2022 Demis Rizzotto
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |

2 |
3 | # 💻 DevOps Mac OS automated setup
4 |
5 | This Ansible playbook installs and sets up most of the software and utilities for my DevOps environment.
6 |
7 | ## 🚥 Installation
8 |
9 | First of all clone or download this repository on your mac.
10 |
11 | After that, you need to do some things to install prerequisites.
12 | You can simply run the [install.sh](install.sh) script which includes all commands for the installation prerequisites.
13 |
14 | _Note: If some Homebrew commands fail, you might need to agree to XCode's license or fix some other Brew issue. Run brew doctor to see if this is the case._
15 |
16 | I clone my **dotfiles** repo (`.zshrc`, `.aliases`, `.gitignore_global`, etc.) to enable some options and set up aliases, etc.
17 |
18 | Of course, you can use yours by changing the `dotfiles_repo` variable in `default.config.yml` file.
19 |
20 | ## 🚀 Usage
21 |
22 | Edit `default.config.yml` to customize the list of software to install
23 | and just run the following command at the root of this project and enter your account password when prompted.
24 |
25 | ```sh
26 | ansible-playbook setup-my-mac.yml -i inventory -K
27 | ```
28 |
29 | ## ✨What does this playbook do?
30 |
31 | The complete list of software that the playbook is going to install is in `default.config.yml` , but in summary, here is what the playbook does.
32 |
33 | - Install homebrew and cask and install applications, utilities and QuickLook plugins.
34 | (e.g. Docker, Terraform, Kubectl, slack, 1password, postman,...)
35 | - Clone [dotfile](https://github.com/DemisR/dotfiles.git) from the Github repository.
36 | - Install mas (Mac App Store command line interface)
37 | - Configure terminal
38 | - Install [iTerm2](https://iterm2.com/) and [powerlevel10k](https://github.com/romkatv/powerlevel10k)
39 | - Install Zsh and configure options with [oh-my-zsh](https://ohmyz.sh/)
40 | - Configure Mac OS
41 | - Show icons for hard drives, servers, and removable media on the desktop
42 | - Avoid creating `.DS_Store` files on network volumes
43 | - Finder: show status bar
44 | - Save screenshots in PNG format
45 | - Save screenshots to the Desktop/Screenshots folder
46 |
47 | ## Testing the Playbook
48 |
49 | Currently, this project is not continuously tested on all versions and architectures of MacOS.
50 | You can test it using MacOS VMs like:
51 |
52 | - [UTM](https://mac.getutm.app)
53 | - [Tart](https://github.com/cirruslabs/tart) (built for CI integrations)
54 |
55 | ## Similar projects and inspirations
56 |
57 | - https://blog.vandenbrand.org/2016/01/04/how-to-automate-your-mac-os-x-setup-with-ansible/
58 | - http://www.nickhammond.com/automating-development-environment-ansible/
59 | - https://github.com/simplycycling/ansible-mac-dev-setup/blob/master/main.yml
60 | - https://github.com/mas-cli/mas
61 | - https://github.com/geerlingguy/mac-dev-playbook
62 | - https://github.com/osxc
63 | - https://github.com/MWGriffin/ansible-playbooks/blob/master/sourcetree/sourcetree.yaml
64 | - https://github.com/sindresorhus/quick-look-plugins
65 |
--------------------------------------------------------------------------------
/Todo.md:
--------------------------------------------------------------------------------
1 | # Todo when I stage new mac
2 | [ ] Copy my documents
3 | [ ] Configure Email Accounts
4 | [ ] Sync my Postman collection
5 | [ ] Add IntelliJ license and setup environment
6 | [ ] Add Dropbox account and Owncloud account
7 | [ ] Add Calendars accounts
8 | [ ] Configure Slack
9 | [ ] Install Office for mac
10 | [ ] Copy my ssh key
11 | [ ] Add Wifi key
12 | [ ] Configure VPNs
13 | [ ] Clone GIt repositories
14 | [ ] Setup database Portico config
15 |
16 | ## Optionals app
17 | [ ] visualvm + config (Java JMX)
18 | [ ] ActiveMQ tools
19 | [ ] HAwtio
20 | [ ] SerialTools
21 | [ ] Camunda modeler
22 | [ ] Bear note
23 | [ ] Dbeaver
24 |
25 |
--------------------------------------------------------------------------------
/ansible.cfg:
--------------------------------------------------------------------------------
1 | [defaults]
2 | roles_path = ./roles:/etc/ansible/roles
3 |
--------------------------------------------------------------------------------
/default.config.yml:
--------------------------------------------------------------------------------
1 | ---
2 | configure_terminal: yes
3 | configure_osx: yes
4 | configure_dotfiles: yes
5 |
6 | dotfiles_repo: https://github.com/DemisR/dotfiles.git
7 | dotfiles_repo_accept_hostkey: yes
8 | dotfiles_repo_local_destination: ~/dotfiles
9 | dotfiles_files:
10 | - .aliases
11 | - .zshrc
12 | - .gitconfig
13 | - .gitignore_global
14 | - .vimrc
15 | - .vim
16 | - .osx
17 | - .functions
18 |
19 | homebrew_installed_packages:
20 | # Dev
21 | # *** Java ***
22 | - jenv # Manage your Java environment
23 | - maven # Java-based project management
24 | # *** GO lang ***
25 | - go
26 | # *** Python ***
27 | - python
28 | - python3
29 | - poetry # Python package management tool
30 | # *** Javascript ***
31 | - volta # Manage multiple Node.js versions (replace nvm)
32 | - node # Node JS
33 | # Shell Utilities
34 | - mas # Mac App Store command-line interface
35 | - git
36 | - httpie # User-friendly cURL replacement (command-line HTTP client)
37 | - jq # Lightweight and flexible command-line JSON processor
38 | - sqlite # Command-line interface for SQLite
39 | - coreutils # GNU File, Shell, and Text utilities
40 | - tree # Display directories as trees
41 | - csshx # Cluster ssh tool for Terminal.app
42 | - fzf # Command-line fuzzy finder written in Go
43 | - whatmask # Network settings helper
44 | - wget # Internet file retriever
45 | - nmap # Port scanning utility
46 | - ssh-copy-id # Add a public key to a remote machine's authorized_keys file
47 | - openssl # OpenSSL GIO module for glib
48 | - pandoc # Swiss-army knife of markup format conversion
49 | - telnet # User interface to the TELNET protocol
50 | - sshuttle # Proxy server that works as a poor man's VPN
51 | - tldr # Simplified and community-driven man pages
52 | - tmux # Terminal multiplexer
53 | - bat # Clone of cat(1) with syntax highlighting and Git integration
54 | - awscli # AWS CLI
55 | - ripgrep # Search tool like grep but much faster
56 | - helm
57 | - minikube # Run a Kubernetes cluster locally
58 | - terraform
59 | - terraform-docs
60 | - terraformer
61 |
62 | homebrew_taps:
63 | - homebrew/core
64 | - hashicorp/tap
65 | - homebrew/cask-versions
66 |
67 | homebrew_cask_appdir: /Applications
68 | homebrew_cask_apps:
69 | - kite
70 | - slack # Team communication and collaboration software
71 | - obsidian # Knowledge base that works on top of a local folder of plain text Markdown files
72 | - coconutbattery # Tool to show live information about the batteries in various devices
73 | - monitorcontrol # Tool to control external monitor brightness & volume
74 | - raindropio # All-in-one bookmark manager
75 | # Browsers
76 | - brave-browser
77 | # Utilities
78 | - vlc # VLC media player
79 | - kap # Open-source screen recorder built with web technology
80 | - spotify
81 | - cyberduck # browser FTP, SFTP, s3,...
82 | - the-unarchiver # Unpacks archive files
83 | - shottr # Screenshot measurement and annotation tool
84 | # DevOps tools
85 | - docker
86 | #- vagrant # Not working on Mac M series
87 | #- virtualbox # Not working on Mac M series
88 | - hashicorp/tap/terraform
89 | - lens # Kubernetes IDE
90 | # Dev environment
91 | - phantomjs
92 | - temurin8 # Java JDK from the Eclipse Foundation (Adoptium)
93 | - temurin11 # Java JDK from the Eclipse Foundation (Adoptium)
94 | - postman # Collaboration platform for API development
95 | - insomnia # postman alternative
96 | - visual-studio-code
97 | - open-in-code # Finder toolbar app to open current folder in Visual Studio Code
98 | # Databases
99 | - postico # GUI client for PostgreSQL databases
100 | - tableplus # friendly GUI tool for relational databases
101 | # Quick look plugins
102 | - qlcolorcode # Quick Look plug-in that renders source code with syntax highlighting
103 | - qlstephen # A QuickLook plugin that lets you view plain text files without a file extension
104 | - qlmarkdown # QuickLook generator for Markdown files
105 | - quicklook-json # QuickLook plugin for JSON files
106 | - quicklook-csv # QuickLook plugin for CSV files
107 | - go2shell # Opens a terminal window to the current directory in Finder
108 | # CLI
109 | - romkatv/powerlevel10k/powerlevel10k
110 |
111 | # See `geerlingguy.mas` role documentation for usage instructions.
112 | mas_installed_app_ids:
113 | - 937984704 # Amphetamine
114 | - 425955336 # Skitch
115 | - 472226235 # LanScan
116 | - 973213640 # MSG Viewer for Outlook
117 | - 409201541 # Pages
118 | - 409183694 # Keynote
119 | - 409203825 # Numbers
120 | - 1295203466 # Microsoft Remote Desktop
121 | - 513610341 # com.peacockmedia.integrity
122 | - 1333542190 # 1password
123 |
124 |
--------------------------------------------------------------------------------
/inventory:
--------------------------------------------------------------------------------
1 | [localhost]
2 | 127.0.0.1
3 |
--------------------------------------------------------------------------------
/mac-devops-setup.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DemisR/mac-devops-setup/9813315c8ce0aeb920d6c82b96a9c9771d8bcd71/mac-devops-setup.png
--------------------------------------------------------------------------------
/requirements.yml:
--------------------------------------------------------------------------------
1 | collections:
2 | - name: community.general
3 |
--------------------------------------------------------------------------------
/roles/setup_dotfiles/defaults/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | dotfiles_repo: "https://github.com/DemisR/dotfiles.git"
3 | dotfiles_repo_accept_hostkey: no
4 | dotfiles_repo_local_destination: "~/Documents/dotfiles"
5 |
6 | dotfiles_home: "~"
7 | dotfiles_files:
8 | - .aliases
9 | - .zshrc
10 | - .gitconfig
11 | - .gitignore_global
12 | - .vimrc
13 | - .vim
14 | - .osx
15 | - .functions
16 |
--------------------------------------------------------------------------------
/roles/setup_dotfiles/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Ensure dotfiles repository is cloned locally.
3 | git:
4 | repo: "{{ dotfiles_repo }}"
5 | dest: "{{ dotfiles_repo_local_destination }}"
6 | accept_hostkey: "{{ dotfiles_repo_accept_hostkey }}"
7 | become: no
8 |
9 | - name: Ensure all configured dotfiles are links.
10 | shell: "ls -F {{ dotfiles_home }}/{{ item }}"
11 | register: existing_dotfile_info
12 | failed_when: false
13 | check_mode: no
14 | changed_when: false
15 | with_items: "{{ dotfiles_files }}"
16 |
17 | - name: Remove existing dotfiles file if a replacement is being linked.
18 | file:
19 | path: "{{ dotfiles_home }}/{{ dotfiles_files[item.0] }}"
20 | state: absent
21 | when: "'@' not in item.1.stdout"
22 | with_indexed_items: "{{ existing_dotfile_info.results }}"
23 |
24 | - name: Link dotfiles into home folder.
25 | file:
26 | src: "{{ dotfiles_repo_local_destination }}/{{ item }}"
27 | dest: "{{ dotfiles_home }}/{{ item }}"
28 | state: link
29 | become: no
30 | with_items: "{{ dotfiles_files }}"
31 |
--------------------------------------------------------------------------------
/roles/setup_homebrew/defaults/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | homebrew_repo: https://github.com/Homebrew/brew
3 |
4 | homebrew_prefix: /usr/local
5 | homebrew_install_path: "{{ homebrew_prefix }}/Homebrew"
6 | homebrew_brew_bin_path: /usr/local/bin
7 |
8 | homebrew_installed_packages: []
9 |
10 | homebrew_upgrade_all_packages: no
11 |
12 | homebrew_taps:
13 | - homebrew/core
14 |
15 | homebrew_cask_apps: []
16 |
17 | homebrew_cask_appdir: /Applications
18 |
19 | homebrew_use_brewfile: true
20 | homebrew_brewfile_dir: '~'
21 |
--------------------------------------------------------------------------------
/roles/setup_homebrew/handlers/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # handlers file for ansible-osx-command-line-tools
3 |
4 | - name: Cleanup
5 | file:
6 | path: /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
7 | state: absent
8 |
--------------------------------------------------------------------------------
/roles/setup_homebrew/tasks/main.yml:
--------------------------------------------------------------------------------
1 |
2 | # Tap.
3 | - name: Ensure configured taps are tapped.
4 | homebrew_tap:
5 | tap: '{{ item.name | default(item) }}'
6 | url: '{{ item.url | default(omit) }}'
7 | state: present
8 | loop: "{{ homebrew_taps }}"
9 |
10 | # Brew.
11 | - name: Ensure configured homebrew packages are installed ( This step will take a while depending on number of brews to install )
12 | homebrew:
13 | name: "{{ item.name | default(item) }}"
14 | install_options: "{{ item.install_options | default(omit) }}"
15 | state: present
16 | loop: "{{ homebrew_installed_packages }}"
17 |
18 | - name: Upgrade all homebrew packages (if configured).
19 | homebrew:
20 | update_homebrew: yes
21 | upgrade_all: yes
22 | when: homebrew_upgrade_all_packages
23 |
24 | # Cask.
25 | - name: Install configured cask applications.
26 | homebrew_cask:
27 | name: "{{ item.name | default(item) }}"
28 | state: present
29 | install_options: "{{ item.install_options | default('appdir=' + homebrew_cask_appdir) }}"
30 | loop: "{{ homebrew_cask_apps }}"
31 |
32 | - name: Check for Brewfile.
33 | stat:
34 | path: "{{ homebrew_brewfile_dir }}/Brewfile"
35 | register: homebrew_brewfile
36 |
37 | - name: Install from Brewfile.
38 | command: "brew bundle"
39 | args:
40 | chdir: "{{ homebrew_brewfile_dir }}"
41 | when: homebrew_brewfile.stat.exists and homebrew_use_brewfile
42 |
--------------------------------------------------------------------------------
/roles/setup_homebrew/tasks/osx-commandline.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # tasks file for ansible-osx-command-line-tools
3 | - name: Am I running on Mac OS X?
4 | fail:
5 | msg: Target host is not running Mac OS X
6 | when: ansible_distribution != 'MacOSX'
7 |
8 | - name: Check that command line tools are installed
9 | command: /usr/bin/xcode-select -print-path
10 | register: xcode_select_res
11 | ignore_errors: true
12 | changed_when: false
13 |
14 | - name: Check if the path to the git executable exists
15 | stat:
16 | path: /usr/bin/git
17 | register: git_stat
18 |
19 | - name: Prepare to install Command Line Tools
20 | file:
21 | path: /tmp/.com.apple.dt.CommandLineTools.installondemand.in-progress
22 | state: touch
23 | when: xcode_select_res.stdout|length == 0 or not git_stat.stat.exists
24 |
25 | - name: Check for Command Line Tools in Software Update list
26 | shell: softwareupdate -l | grep -B 1 -E 'Command Line Tools' | awk -F'*' '/^ +\*/ {print $2}' | sed 's/^ *//' | head -n1
27 | register: su_list
28 | when: xcode_select_res.stdout|length == 0 or not git_stat.stat.exists
29 | changed_when: false
30 | failed_when: su_list.rc != 0 or su_list.stdout|length == 0
31 |
32 | - name: Install Command Line Tools
33 | command: softwareupdate -i '{{ su_list.stdout }}'
34 | when: xcode_select_res.stdout|length == 0 or not git_stat.stat.exists
35 | notify:
36 | - Cleanup
37 |
--------------------------------------------------------------------------------
/roles/setup_macos/files/osx-script.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | # Mac OS X configuration
4 | #
5 | # This configuration applies to the latest version of Mac OS X (currently
6 | # 10.10.1), and sets up preferences and configurations for all the built-in
7 | # services and apps. Third-party app config should be done elsewhere.
8 | #
9 | # Options:
10 | # --no-restart: Don't restart any apps or services after running the script.
11 | #
12 | # @see: http://secrets.blacktree.com/?showapp=com.apple.finder
13 | #
14 | # @author Jeff Geerling, 2014
15 |
16 | # Warn that some commands will not be run if the script is not run as root.
17 | if [[ $EUID -ne 0 ]]; then
18 | RUN_AS_ROOT=false
19 | printf "Certain commands will not be run without sudo privileges. To run as root, run the same command prepended with 'sudo', for example: $ sudo $0\n\n" | fold -s -w 80
20 | else
21 | RUN_AS_ROOT=true
22 | # Update existing `sudo` timestamp until `.osx` has finished
23 | while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
24 | fi
25 |
26 | ###############################################################################
27 | # General UI/UX #
28 | ###############################################################################
29 | # Reveal IP address, hostname, OS version, etc. when clicking the clock
30 | # in the login window
31 | if [[ "$RUN_AS_ROOT" = true ]]; then
32 | sudo defaults write /Library/Preferences/com.apple.loginwindow AdminHostInfo HostName
33 | fi
34 |
35 | # Disable Notification Center
36 | # launchctl unload -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist 2> /dev/null
37 | # To re-enable, run:
38 | # launchctl load -w /System/Library/LaunchAgents/com.apple.notificationcenterui.plist && open /System/Library/CoreServices/NotificationCenter.app/
39 |
40 |
41 | ###############################################################################
42 | # Trackpad, mouse, keyboard, Bluetooth accessories, and input #
43 | ###############################################################################
44 |
45 | ###############################################################################
46 | # Screen #
47 | ###############################################################################
48 |
49 | # Save screenshots to the desktop
50 | mkdir "${HOME}/Desktop/Screenshots"
51 | defaults write com.apple.screencapture location -string "${HOME}/Desktop/Screenshots"
52 |
53 | # Save screenshots in PNG format (other options: BMP, GIF, JPG, PDF, TIFF)
54 | defaults write com.apple.screencapture type -string "png"
55 |
56 | # Disable shadow in screenshots
57 | #defaults write com.apple.screencapture disable-shadow -bool true
58 |
59 | # Enable subpixel font rendering on non-Apple LCDs
60 | # defaults write NSGlobalDomain AppleFontSmoothing -int 2
61 |
62 | # Enable HiDPI display modes (requires restart)
63 | # if [[ "$RUN_AS_ROOT" = true ]]; then
64 | # sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool true
65 | # fi
66 |
67 | ###############################################################################
68 | # Finder #
69 | ###############################################################################
70 |
71 | # Show icons for hard drives, servers, and removable media on the desktop
72 | defaults write com.apple.finder ShowExternalHardDrivesOnDesktop -bool true
73 | #defaults write com.apple.finder ShowHardDrivesOnDesktop -bool true
74 | defaults write com.apple.finder ShowMountedServersOnDesktop -bool true
75 | defaults write com.apple.finder ShowRemovableMediaOnDesktop -bool true
76 |
77 | # Finder: show hidden files by default
78 | # defaults write com.apple.finder AppleShowAllFiles -bool true
79 |
80 | # Finder: show all filename extensions
81 | #defaults write NSGlobalDomain AppleShowAllExtensions -bool true
82 |
83 | # Finder: show status bar
84 | defaults write com.apple.finder ShowStatusBar -bool true
85 |
86 | # Finder: show path bar
87 | # defaults write com.apple.finder ShowPathbar -bool true
88 |
89 | # Finder: allow text selection in Quick Look
90 | #defaults write com.apple.finder QLEnableTextSelection -bool true
91 |
92 | # Display full POSIX path as Finder window title
93 | #defaults write com.apple.finder _FXShowPosixPathInTitle -bool true
94 |
95 | # When performing a search, search the current folder by default
96 | #defaults write com.apple.finder FXDefaultSearchScope -string "SCcf"
97 |
98 | # Disable the warning when changing a file extension
99 | #defaults write com.apple.finder FXEnableExtensionChangeWarning -bool false
100 |
101 | # Enable spring loading for directories
102 | #defaults write NSGlobalDomain com.apple.springing.enabled -bool true
103 |
104 | # Remove the spring loading delay for directories
105 | #defaults write NSGlobalDomain com.apple.springing.delay -float 0.1
106 |
107 | # Avoid creating .DS_Store files on network volumes
108 | defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool true
109 |
110 | # Automatically open a new Finder window when a volume is mounted
111 | #defaults write com.apple.frameworks.diskimages auto-open-ro-root -bool true
112 | #defaults write com.apple.frameworks.diskimages auto-open-rw-root -bool true
113 | #defaults write com.apple.finder OpenWindowForNewRemovableDisk -bool true
114 |
115 | # Enable snap-to-grid for icons on the desktop and in other icon views
116 | #/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist
117 | #/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist
118 | #/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:arrangeBy grid" ~/Library/Preferences/com.apple.finder.plist
119 |
120 | # Set the size of icons on the desktop and in other icon views
121 | #/usr/libexec/PlistBuddy -c "Set :DesktopViewSettings:IconViewSettings:iconSize 64" ~/Library/Preferences/com.apple.finder.plist
122 | #/usr/libexec/PlistBuddy -c "Set :FK_StandardViewSettings:IconViewSettings:iconSize 64" ~/Library/Preferences/com.apple.finder.plist
123 | #/usr/libexec/PlistBuddy -c "Set :StandardViewSettings:IconViewSettings:iconSize 64" ~/Library/Preferences/com.apple.finder.plist
124 |
125 | # Use column view in all Finder windows by default
126 | # Four-letter codes for the other view modes: `icnv`, `Nlsv`, `clmv`, `Flwv`
127 | #defaults write com.apple.finder FXPreferredViewStyle -string "clmv"
128 |
129 | # Disable the warning before emptying the Trash
130 | # defaults write com.apple.finder WarnOnEmptyTrash -bool false
131 |
132 | # Empty Trash securely by default
133 | # defaults write com.apple.finder EmptyTrashSecurely -bool true
134 |
135 | # Show the ~/Library folder
136 | #chflags nohidden ~/Library
137 |
138 | # Remove Dropbox’s green checkmark icons in Finder
139 | # file=/Applications/Dropbox.app/Contents/Resources/emblem-dropbox-uptodate.icns
140 | # [ -e "${file}" ] && mv -f "${file}" "${file}.bak"
141 |
142 | # Expand the following File Info panes:
143 | # “General”, “Open with”, and “Sharing & Permissions”
144 | #defaults write com.apple.finder FXInfoPanesExpanded -dict \
145 | # General -bool true \
146 | # OpenWith -bool true \
147 | # Preview -bool false \
148 | # Privileges -bool true
149 |
150 | ###############################################################################
151 | # Dock, Dashboard, and hot corners #
152 | ###############################################################################
153 |
154 | # Set the icon size of Dock items
155 | # defaults write com.apple.dock tilesize -int 30
156 |
157 | # Enable spring loading for all Dock items
158 | # defaults write com.apple.dock enable-spring-load-actions-on-all-items -bool true
159 |
160 | # Don’t animate opening applications from the Dock
161 | # defaults write com.apple.dock launchanim -bool false
162 |
163 | # Speed up Mission Control animations
164 | # defaults write com.apple.dock expose-animation-duration -float 0.15
165 |
166 | # Don’t group windows by application in Mission Control
167 | # (i.e. switch to old Exposé behavior)
168 | # defaults write com.apple.dock expose-group-by-app -bool false
169 |
170 | # Remove the auto-hiding Dock delay
171 | # defaults write com.apple.dock autohide-delay -float 0
172 | # Remove the animation when hiding/showing the Dock
173 | # defaults write com.apple.dock autohide-time-modifier -float 0
174 |
175 | # Automatically hide and show the Dock
176 | # defaults write com.apple.dock autohide -bool true
177 |
178 | # Make Dock icons of hidden applications translucent
179 | # defaults write com.apple.dock showhidden -bool true
180 |
181 | # Enable the 'reduce transparency' option on Yosemite. Save GPU cycles.
182 | # defaults write com.apple.universalaccess reduceTransparency -bool true
183 |
184 |
185 | # Hot corners
186 | # Possible values:
187 | # 0: no-op
188 | # 2: Mission Control
189 | # 3: Show application windows
190 | # 4: Desktop
191 | # 5: Start screen saver
192 | # 6: Disable screen saver
193 | # 7: Dashboard
194 | # 10: Put display to sleep
195 | # 11: Launchpad
196 | # 12: Notification Center
197 | # Bottom right screen corner → Mission Control
198 | #defaults write com.apple.dock wvous-br-corner -int 2
199 | #defaults write com.apple.dock wvous-br-modifier -int 0
200 | # Top right screen corner → Put display to sleep
201 | #defaults write com.apple.dock wvous-tr-corner -int 10
202 | #defaults write com.apple.dock wvous-tr-modifier -int 0
203 | # Bottom left screen corner → Desktop
204 | #defaults write com.apple.dock wvous-bl-corner -int 4
205 | #defaults write com.apple.dock wvous-bl-modifier -int 0
206 |
207 | ###############################################################################
208 | # Safari & WebKit #
209 | ###############################################################################
210 |
211 | # Set Safari’s home page to `about:blank` for faster loading
212 | #defaults write com.apple.Safari HomePage -string "about:blank"
213 |
214 | # Prevent Safari from opening ‘safe’ files automatically after downloading
215 | #defaults write com.apple.Safari AutoOpenSafeDownloads -bool false
216 |
217 | # Disable Safari’s thumbnail cache for History and Top Sites
218 | #defaults write com.apple.Safari DebugSnapshotsUpdatePolicy -int 2
219 |
220 | # Enable Safari’s debug menu
221 | #defaults write com.apple.Safari IncludeInternalDebugMenu -bool true
222 |
223 | # Enable the Develop menu and the Web Inspector in Safari
224 | #defaults write com.apple.Safari IncludeDevelopMenu -bool true
225 | #defaults write com.apple.Safari WebKitDeveloperExtrasEnabledPreferenceKey -bool true
226 | #defaults write com.apple.Safari com.apple.Safari.ContentPageGroupIdentifier.WebKit2DeveloperExtrasEnabled -bool true
227 |
228 | # Add a context menu item for showing the Web Inspector in web views
229 | #defaults write NSGlobalDomain WebKitDeveloperExtras -bool true
230 |
231 | ###############################################################################
232 | # Mail #
233 | ###############################################################################
234 |
235 | # Disable send and reply animations in Mail.app
236 | #defaults write com.apple.mail DisableReplyAnimations -bool true
237 | #defaults write com.apple.mail DisableSendAnimations -bool true
238 |
239 | # Copy email addresses as `foo@example.com` instead of `Foo Bar ` in Mail.app
240 | defaults write com.apple.mail AddressesIncludeNameOnPasteboard -bool false
241 |
242 | # Add the keyboard shortcut ⌘ + Enter to send an email in Mail.app
243 | # defaults write com.apple.mail NSUserKeyEquivalents -dict-add "Send" -string "@\\U21a9"
244 |
245 | # Display emails in threaded mode
246 | defaults write com.apple.mail DraftsViewerAttributes -dict-add "DisplayInThreadedMode" -string "yes"
247 | # defaults write com.apple.mail DraftsViewerAttributes -dict-add "SortedDescending" -string "yes"
248 | # defaults write com.apple.mail DraftsViewerAttributes -dict-add "SortOrder" -string "received-date"
249 |
250 | # Disable inline attachments (just show the icons)
251 | # defaults write com.apple.mail DisableInlineAttachmentViewing -bool true
252 |
253 | # Disable spell checking
254 | # defaults write com.apple.mail SpellCheckingBehavior -string "NoSpellCheckingEnabled"
255 |
256 | ###############################################################################
257 | # Spotlight #
258 | ###############################################################################
259 |
260 | #if [[ "$RUN_AS_ROOT" = true ]]; then
261 | # Disable Spotlight indexing for any volume that gets mounted and has not yet
262 | # been indexed before.
263 | # Use `sudo mdutil -i off "/Volumes/foo"` to stop indexing any volume.
264 | # sudo defaults write /.Spotlight-V100/VolumeConfiguration Exclusions -array "/Volumes"
265 |
266 | # Restart spotlight
267 | # killall mds > /dev/null 2>&1
268 | #fi
269 |
270 | ###############################################################################
271 | # Terminal #
272 | ###############################################################################
273 |
274 | # Only use UTF-8 in Terminal.app
275 | #defaults write com.apple.terminal StringEncodings -array 4
276 |
277 | ###############################################################################
278 | # Activity Monitor #
279 | ###############################################################################
280 |
281 | # Show the main window when launching Activity Monitor
282 | #defaults write com.apple.ActivityMonitor OpenMainWindow -bool true
283 |
284 | # Visualize CPU usage in the Activity Monitor Dock icon
285 | #defaults write com.apple.ActivityMonitor IconType -int 5
286 |
287 | # Show all processes in Activity Monitor
288 | #defaults write com.apple.ActivityMonitor ShowCategory -int 0
289 |
290 | ###############################################################################
291 | # Messages #
292 | ###############################################################################
293 |
294 | # Disable automatic emoji substitution (i.e. use plain text smileys)
295 | # defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "automaticEmojiSubstitutionEnablediMessage" -bool false
296 |
297 | # Disable smart quotes as it’s annoying for messages that contain code
298 | #defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "automaticQuoteSubstitutionEnabled" -bool false
299 |
300 | # Disable continuous spell checking
301 | #defaults write com.apple.messageshelper.MessageController SOInputLineSettings -dict-add "continuousSpellCheckingEnabled" -bool false
302 |
303 | ###############################################################################
304 | # Google Chrome #
305 | ###############################################################################
306 |
307 | # Disable sensitive and senseless swipe-based navigation
308 | #defaults write com.google.Chrome AppleEnableSwipeNavigateWithScrolls -bool false
309 |
310 | # Use the system print dialog
311 | #defaults write com.google.Chrome DisablePrintPreview -bool true
312 |
313 | ###############################################################################
314 | # Kill/restart affected applications #
315 | ###############################################################################
316 |
317 | # Restart affected applications if `--no-restart` flag is not present.
318 | if [[ ! ($* == *--no-restart*) ]]; then
319 | for app in "cfprefsd" "Dock" "Finder" "Mail" "SystemUIServer" "Terminal"; do
320 | killall "${app}" > /dev/null 2>&1
321 | done
322 | fi
323 |
324 | printf "Please log out and log back in to make all settings take effect.\n"
325 |
--------------------------------------------------------------------------------
/roles/setup_macos/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | # TODO: Use sudo once .osx can be run via root with no user interaction.
3 | - name: Run .osx dotfiles.
4 | script: ../files/osx-script.sh --no-restart
5 | changed_when: false
6 |
--------------------------------------------------------------------------------
/roles/setup_mas/defaults/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | mas_email: ""
3 | mas_password: ""
4 |
5 | mas_installed_app_ids:
6 | - 425424353 # The Unarchiver (4.2.2)
7 | - 1362171212 # Caffeinated (1.18)
8 |
9 | mas_upgrade_all_apps: no
10 |
--------------------------------------------------------------------------------
/roles/setup_mas/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Ensure MAS is installed.
3 | homebrew:
4 | name: mas
5 | state: present
6 |
7 | - name: Get MAS account status
8 | shell: 'mas account'
9 | register: mas_account_result
10 | failed_when: mas_account_result.rc > 1
11 | changed_when: false
12 |
13 | - name: Sign in to MAS when email and password are provided.
14 | shell: 'mas signin "{{ mas_email }}" "{{ mas_password }}"'
15 | register: mas_signin_result
16 | when: mas_account_result.rc == 1 and mas_email != '' and mas_password != ''
17 |
18 | - name: List installed MAS apps.
19 | command: mas list
20 | register: mas_list
21 | check_mode: no
22 | changed_when: false
23 |
24 | - name: Ensure configured MAS apps are installed.
25 | command: mas install "{{ item }}"
26 | with_items: "{{ mas_installed_app_ids }}"
27 | when: "item|string not in mas_list.stdout"
28 |
29 | - name: Upgrade all apps (if configured).
30 | command: mas upgrade
31 | when: mas_upgrade_all_apps
32 |
--------------------------------------------------------------------------------
/roles/setup_terminal/defaults/main.yml:
--------------------------------------------------------------------------------
1 | homebrew_cask_appdir: /Applications
2 | # Change default shell to zsh
3 | default_shell_zsh: yes
4 | # Install oh my zsh
5 | install_oh_my_zsh: yes
6 |
--------------------------------------------------------------------------------
/roles/setup_terminal/files/Inconsolata for Powerline.otf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DemisR/mac-devops-setup/9813315c8ce0aeb920d6c82b96a9c9771d8bcd71/roles/setup_terminal/files/Inconsolata for Powerline.otf
--------------------------------------------------------------------------------
/roles/setup_terminal/files/Solarized Dark - Patched.itermcolors:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Ansi 0 Color
6 |
7 | Blue Component
8 | 0.19370138645172119
9 | Green Component
10 | 0.15575926005840302
11 | Red Component
12 | 0.0
13 |
14 | Ansi 1 Color
15 |
16 | Blue Component
17 | 0.14145714044570923
18 | Green Component
19 | 0.10840655118227005
20 | Red Component
21 | 0.81926977634429932
22 |
23 | Ansi 10 Color
24 |
25 | Blue Component
26 | 0.38298487663269043
27 | Green Component
28 | 0.35665956139564514
29 | Red Component
30 | 0.27671992778778076
31 |
32 | Ansi 11 Color
33 |
34 | Blue Component
35 | 0.43850564956665039
36 | Green Component
37 | 0.40717673301696777
38 | Red Component
39 | 0.32436618208885193
40 |
41 | Ansi 12 Color
42 |
43 | Blue Component
44 | 0.51685798168182373
45 | Green Component
46 | 0.50962930917739868
47 | Red Component
48 | 0.44058024883270264
49 |
50 | Ansi 13 Color
51 |
52 | Blue Component
53 | 0.72908437252044678
54 | Green Component
55 | 0.33896297216415405
56 | Red Component
57 | 0.34798634052276611
58 |
59 | Ansi 14 Color
60 |
61 | Blue Component
62 | 0.56363654136657715
63 | Green Component
64 | 0.56485837697982788
65 | Red Component
66 | 0.50599193572998047
67 |
68 | Ansi 15 Color
69 |
70 | Blue Component
71 | 0.86405980587005615
72 | Green Component
73 | 0.95794391632080078
74 | Red Component
75 | 0.98943418264389038
76 |
77 | Ansi 2 Color
78 |
79 | Blue Component
80 | 0.020208755508065224
81 | Green Component
82 | 0.54115492105484009
83 | Red Component
84 | 0.44977453351020813
85 |
86 | Ansi 3 Color
87 |
88 | Blue Component
89 | 0.023484811186790466
90 | Green Component
91 | 0.46751424670219421
92 | Red Component
93 | 0.64746475219726562
94 |
95 | Ansi 4 Color
96 |
97 | Blue Component
98 | 0.78231418132781982
99 | Green Component
100 | 0.46265947818756104
101 | Red Component
102 | 0.12754884362220764
103 |
104 | Ansi 5 Color
105 |
106 | Blue Component
107 | 0.43516635894775391
108 | Green Component
109 | 0.10802463442087173
110 | Red Component
111 | 0.77738940715789795
112 |
113 | Ansi 6 Color
114 |
115 | Blue Component
116 | 0.52502274513244629
117 | Green Component
118 | 0.57082360982894897
119 | Red Component
120 | 0.14679534733295441
121 |
122 | Ansi 7 Color
123 |
124 | Blue Component
125 | 0.79781103134155273
126 | Green Component
127 | 0.89001238346099854
128 | Red Component
129 | 0.91611063480377197
130 |
131 | Ansi 8 Color
132 |
133 | Blue Component
134 | 0.38298487663269043
135 | Green Component
136 | 0.35665956139564514
137 | Red Component
138 | 0.27671992778778076
139 |
140 | Ansi 9 Color
141 |
142 | Blue Component
143 | 0.073530435562133789
144 | Green Component
145 | 0.21325300633907318
146 | Red Component
147 | 0.74176257848739624
148 |
149 | Background Color
150 |
151 | Blue Component
152 | 0.15170273184776306
153 | Green Component
154 | 0.11783610284328461
155 | Red Component
156 | 0.0
157 |
158 | Bold Color
159 |
160 | Blue Component
161 | 0.56363654136657715
162 | Green Component
163 | 0.56485837697982788
164 | Red Component
165 | 0.50599193572998047
166 |
167 | Cursor Color
168 |
169 | Blue Component
170 | 0.51685798168182373
171 | Green Component
172 | 0.50962930917739868
173 | Red Component
174 | 0.44058024883270264
175 |
176 | Cursor Text Color
177 |
178 | Blue Component
179 | 0.19370138645172119
180 | Green Component
181 | 0.15575926005840302
182 | Red Component
183 | 0.0
184 |
185 | Foreground Color
186 |
187 | Blue Component
188 | 0.51685798168182373
189 | Green Component
190 | 0.50962930917739868
191 | Red Component
192 | 0.44058024883270264
193 |
194 | Selected Text Color
195 |
196 | Blue Component
197 | 0.56363654136657715
198 | Green Component
199 | 0.56485837697982788
200 | Red Component
201 | 0.50599193572998047
202 |
203 | Selection Color
204 |
205 | Blue Component
206 | 0.19370138645172119
207 | Green Component
208 | 0.15575926005840302
209 | Red Component
210 | 0.0
211 |
212 |
213 |
214 |
--------------------------------------------------------------------------------
/roles/setup_terminal/files/Solarized Dark xterm-256color.terminal:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BackgroundColor
6 |
7 | YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
8 | AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECgw
9 | LjAxNTkyNDQwNTMxIDAuMTI2NTIwOTE2OCAwLjE1OTY5NjAxMjcAEAGAAtIQERITWiRj
10 | bGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVjdF8QD05TS2V5ZWRBcmNo
11 | aXZlctEXGFRyb290gAEIERojLTI3O0FITltijY+RlqGqsrW+0NPYAAAAAAAAAQEAAAAA
12 | AAAAGQAAAAAAAAAAAAAAAAAAANo=
13 |
14 | BlinkText
15 |
16 | CursorColor
17 |
18 | YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
19 | AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcw
20 | LjQ0MDU4MDI0ODggMC41MDk2MjkzMDkyIDAuNTE2ODU3OTgxNwAQAYAC0hAREhNaJGNs
21 | YXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hp
22 | dmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAA
23 | AAAZAAAAAAAAAAAAAAAAAAAA2Q==
24 |
25 | Font
26 |
27 | YnBsaXN0MDDUAQIDBAUGGBlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
28 | AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QVk5TU2l6ZVhOU2ZGbGFnc1ZOU05hbWVWJGNs
29 | YXNzI0AqAAAAAAAAEBCAAoADXU1lbmxvLVJlZ3VsYXLSExQVFlokY2xhc3NuYW1lWCRj
30 | bGFzc2VzVk5TRm9udKIVF1hOU09iamVjdF8QD05TS2V5ZWRBcmNoaXZlctEaG1Ryb290
31 | gAEIERojLTI3PEJLUltiaXJ0dniGi5afpqmyxMfMAAAAAAAAAQEAAAAAAAAAHAAAAAAA
32 | AAAAAAAAAAAAAM4=
33 |
34 | FontAntialias
35 |
36 | FontHeightSpacing
37 | 1.1000000000000001
38 | FontWidthSpacing
39 | 1
40 | ProfileCurrentVersion
41 | 2.02
42 | SelectionColor
43 |
44 | YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
45 | AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECgw
46 | LjAzOTM4MDczNjY1IDAuMTYwMTE2NDYzOSAwLjE5ODMzMjc1NjgAEAGAAtIQERITWiRj
47 | bGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVjdF8QD05TS2V5ZWRBcmNo
48 | aXZlctEXGFRyb290gAEIERojLTI3O0FITltijY+RlqGqsrW+0NPYAAAAAAAAAQEAAAAA
49 | AAAAGQAAAAAAAAAAAAAAAAAAANo=
50 |
51 | ShowWindowSettingsNameInTitle
52 |
53 | TerminalType
54 | xterm-256color
55 | TextBoldColor
56 |
57 | YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
58 | AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECYw
59 | LjUwNTk5MTkzNTcgMC41NjQ4NTgzNzcgMC41NjM2MzY1NDE0ABABgALSEBESE1okY2xh
60 | c3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiEhRYTlNPYmplY3RfEA9OU0tleWVkQXJjaGl2
61 | ZXLRFxhUcm9vdIABCBEaIy0yNztBSE5bYouNj5SfqLCzvM7R1gAAAAAAAAEBAAAAAAAA
62 | ABkAAAAAAAAAAAAAAAAAAADY
63 |
64 | TextColor
65 |
66 | YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
67 | AAGGoKMHCA9VJG51bGzTCQoLDA0OVU5TUkdCXE5TQ29sb3JTcGFjZVYkY2xhc3NPECcw
68 | LjQ0MDU4MDI0ODggMC41MDk2MjkzMDkyIDAuNTE2ODU3OTgxNwAQAYAC0hAREhNaJGNs
69 | YXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXllZEFyY2hp
70 | dmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhOW2KMjpCVoKmxtL3P0tcAAAAAAAABAQAAAAAA
71 | AAAZAAAAAAAAAAAAAAAAAAAA2Q==
72 |
73 | UseBrightBold
74 |
75 | blackColour
76 |
77 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
78 | ZmZmg7JNIT2DkvUjPoO+F0s+AYY=
79 |
80 | blueColour
81 |
82 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
83 | ZmZmgyqcAj6DtOHsPoO+RUg/AYY=
84 |
85 | brightBlackColour
86 |
87 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
88 | ZmZmg+ZzgjyDs44BPoNahyM+AYY=
89 |
90 | brightBlueColour
91 |
92 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
93 | ZmZmg7yT4T6DEXcCP4POUAQ/AYY=
94 |
95 | brightCyanColour
96 |
97 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
98 | ZmZmg7CIAT+Dj5oQP4N8ShA/AYY=
99 |
100 | brightGreenColour
101 |
102 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
103 | ZmZmgzyujT6DFZy2PoOYFsQ+AYY=
104 |
105 | brightMagentaColour
106 |
107 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
108 | ZmZmgxMjsj6D+uazPoNkyTc/AYY=
109 |
110 | brightRedColour
111 |
112 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
113 | ZmZmgyfkPT+D/15aPoMgl5Y9AYY=
114 |
115 | brightWhiteColour
116 |
117 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
118 | ZmZmg49LfT+D0Dt1P4MGM10/AYY=
119 |
120 | brightYellowColour
121 |
122 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
123 | ZmZmg1MTpj6DeHnQPoPQg+A+AYY=
124 |
125 | cyanColour
126 |
127 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
128 | ZmZmg4VRFj6DfyESP4PkZwY/AYY=
129 |
130 | greenColour
131 |
132 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
133 | ZmZmg9lI5j6DIYkKP4PVjKU8AYY=
134 |
135 | magentaColour
136 |
137 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
138 | ZmZmg/4CRz+DBTzdPYMgzt4+AYY=
139 |
140 | name
141 | Solarized Dark xterm-256color
142 | redColour
143 |
144 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
145 | ZmZmg6i7UT+DUATePYMl2hA+AYY=
146 |
147 | type
148 | Window Settings
149 | whiteColour
150 |
151 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
152 | ZmZmgzqGaj+D2tdjP4NYPUw/AYY=
153 |
154 | yellowColour
155 |
156 | BAtzdHJlYW10eXBlZIHoA4QBQISEhAdOU0NvbG9yAISECE5TT2JqZWN0AIWEAWMBhARm
157 | ZmZmg0DAJT+DB17vPoM4Y8A8AYY=
158 |
159 |
160 |
161 |
--------------------------------------------------------------------------------
/roles/setup_terminal/files/Solarized Dark.itermcolors:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Ansi 0 Color
6 |
7 | Blue Component
8 | 0.19370138645172119
9 | Green Component
10 | 0.15575926005840302
11 | Red Component
12 | 0.0
13 |
14 | Ansi 1 Color
15 |
16 | Blue Component
17 | 0.14145714044570923
18 | Green Component
19 | 0.10840655118227005
20 | Red Component
21 | 0.81926977634429932
22 |
23 | Ansi 10 Color
24 |
25 | Blue Component
26 | 0.38298487663269043
27 | Green Component
28 | 0.35665956139564514
29 | Red Component
30 | 0.27671992778778076
31 |
32 | Ansi 11 Color
33 |
34 | Blue Component
35 | 0.43850564956665039
36 | Green Component
37 | 0.40717673301696777
38 | Red Component
39 | 0.32436618208885193
40 |
41 | Ansi 12 Color
42 |
43 | Blue Component
44 | 0.51685798168182373
45 | Green Component
46 | 0.50962930917739868
47 | Red Component
48 | 0.44058024883270264
49 |
50 | Ansi 13 Color
51 |
52 | Blue Component
53 | 0.72908437252044678
54 | Green Component
55 | 0.33896297216415405
56 | Red Component
57 | 0.34798634052276611
58 |
59 | Ansi 14 Color
60 |
61 | Blue Component
62 | 0.56363654136657715
63 | Green Component
64 | 0.56485837697982788
65 | Red Component
66 | 0.50599193572998047
67 |
68 | Ansi 15 Color
69 |
70 | Blue Component
71 | 0.86405980587005615
72 | Green Component
73 | 0.95794391632080078
74 | Red Component
75 | 0.98943418264389038
76 |
77 | Ansi 2 Color
78 |
79 | Blue Component
80 | 0.020208755508065224
81 | Green Component
82 | 0.54115492105484009
83 | Red Component
84 | 0.44977453351020813
85 |
86 | Ansi 3 Color
87 |
88 | Blue Component
89 | 0.023484811186790466
90 | Green Component
91 | 0.46751424670219421
92 | Red Component
93 | 0.64746475219726562
94 |
95 | Ansi 4 Color
96 |
97 | Blue Component
98 | 0.78231418132781982
99 | Green Component
100 | 0.46265947818756104
101 | Red Component
102 | 0.12754884362220764
103 |
104 | Ansi 5 Color
105 |
106 | Blue Component
107 | 0.43516635894775391
108 | Green Component
109 | 0.10802463442087173
110 | Red Component
111 | 0.77738940715789795
112 |
113 | Ansi 6 Color
114 |
115 | Blue Component
116 | 0.52502274513244629
117 | Green Component
118 | 0.57082360982894897
119 | Red Component
120 | 0.14679534733295441
121 |
122 | Ansi 7 Color
123 |
124 | Blue Component
125 | 0.79781103134155273
126 | Green Component
127 | 0.89001238346099854
128 | Red Component
129 | 0.91611063480377197
130 |
131 | Ansi 8 Color
132 |
133 | Blue Component
134 | 0.15170273184776306
135 | Green Component
136 | 0.11783610284328461
137 | Red Component
138 | 0.0
139 |
140 | Ansi 9 Color
141 |
142 | Blue Component
143 | 0.073530435562133789
144 | Green Component
145 | 0.21325300633907318
146 | Red Component
147 | 0.74176257848739624
148 |
149 | Background Color
150 |
151 | Blue Component
152 | 0.15170273184776306
153 | Green Component
154 | 0.11783610284328461
155 | Red Component
156 | 0.0
157 |
158 | Bold Color
159 |
160 | Blue Component
161 | 0.56363654136657715
162 | Green Component
163 | 0.56485837697982788
164 | Red Component
165 | 0.50599193572998047
166 |
167 | Cursor Color
168 |
169 | Blue Component
170 | 0.51685798168182373
171 | Green Component
172 | 0.50962930917739868
173 | Red Component
174 | 0.44058024883270264
175 |
176 | Cursor Text Color
177 |
178 | Blue Component
179 | 0.19370138645172119
180 | Green Component
181 | 0.15575926005840302
182 | Red Component
183 | 0.0
184 |
185 | Foreground Color
186 |
187 | Blue Component
188 | 0.51685798168182373
189 | Green Component
190 | 0.50962930917739868
191 | Red Component
192 | 0.44058024883270264
193 |
194 | Selected Text Color
195 |
196 | Blue Component
197 | 0.56363654136657715
198 | Green Component
199 | 0.56485837697982788
200 | Red Component
201 | 0.50599193572998047
202 |
203 | Selection Color
204 |
205 | Blue Component
206 | 0.19370138645172119
207 | Green Component
208 | 0.15575926005840302
209 | Red Component
210 | 0.0
211 |
212 |
213 |
214 |
--------------------------------------------------------------------------------
/roles/setup_terminal/files/Solarized Dark.itermcolors.1:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | Ansi 0 Color
7 |
8 | Blue Component
9 | 0.19370138645172119
10 | Green Component
11 | 0.15575926005840302
12 | Red Component
13 | 0.0
14 |
15 | Ansi 1 Color
16 |
17 | Blue Component
18 | 0.14145714044570923
19 | Green Component
20 | 0.10840655118227005
21 | Red Component
22 | 0.81926977634429932
23 |
24 | Ansi 10 Color
25 |
26 | Blue Component
27 | 0.38298487663269043
28 | Green Component
29 | 0.35665956139564514
30 | Red Component
31 | 0.27671992778778076
32 |
33 | Ansi 11 Color
34 |
35 | Blue Component
36 | 0.43850564956665039
37 | Green Component
38 | 0.40717673301696777
39 | Red Component
40 | 0.32436618208885193
41 |
42 | Ansi 12 Color
43 |
44 | Blue Component
45 | 0.51685798168182373
46 | Green Component
47 | 0.50962930917739868
48 | Red Component
49 | 0.44058024883270264
50 |
51 | Ansi 13 Color
52 |
53 | Blue Component
54 | 0.72908437252044678
55 | Green Component
56 | 0.33896297216415405
57 | Red Component
58 | 0.34798634052276611
59 |
60 | Ansi 14 Color
61 |
62 | Blue Component
63 | 0.56363654136657715
64 | Green Component
65 | 0.56485837697982788
66 | Red Component
67 | 0.50599193572998047
68 |
69 | Ansi 15 Color
70 |
71 | Blue Component
72 | 0.86405980587005615
73 | Green Component
74 | 0.95794391632080078
75 | Red Component
76 | 0.98943418264389038
77 |
78 | Ansi 2 Color
79 |
80 | Blue Component
81 | 0.020208755508065224
82 | Green Component
83 | 0.54115492105484009
84 | Red Component
85 | 0.44977453351020813
86 |
87 | Ansi 3 Color
88 |
89 | Blue Component
90 | 0.023484811186790466
91 | Green Component
92 | 0.46751424670219421
93 | Red Component
94 | 0.64746475219726562
95 |
96 | Ansi 4 Color
97 |
98 | Blue Component
99 | 0.78231418132781982
100 | Green Component
101 | 0.46265947818756104
102 | Red Component
103 | 0.12754884362220764
104 |
105 | Ansi 5 Color
106 |
107 | Blue Component
108 | 0.43516635894775391
109 | Green Component
110 | 0.10802463442087173
111 | Red Component
112 | 0.77738940715789795
113 |
114 | Ansi 6 Color
115 |
116 | Blue Component
117 | 0.52502274513244629
118 | Green Component
119 | 0.57082360982894897
120 | Red Component
121 | 0.14679534733295441
122 |
123 | Ansi 7 Color
124 |
125 | Blue Component
126 | 0.79781103134155273
127 | Green Component
128 | 0.89001238346099854
129 | Red Component
130 | 0.91611063480377197
131 |
132 | Ansi 8 Color
133 |
134 | Blue Component
135 | 0.15170273184776306
136 | Green Component
137 | 0.11783610284328461
138 | Red Component
139 | 0.0
140 |
141 | Ansi 9 Color
142 |
143 | Blue Component
144 | 0.073530435562133789
145 | Green Component
146 | 0.21325300633907318
147 | Red Component
148 | 0.74176257848739624
149 |
150 | Background Color
151 |
152 | Blue Component
153 | 0.15170273184776306
154 | Green Component
155 | 0.11783610284328461
156 | Red Component
157 | 0.0
158 |
159 | Bold Color
160 |
161 | Blue Component
162 | 0.56363654136657715
163 | Green Component
164 | 0.56485837697982788
165 | Red Component
166 | 0.50599193572998047
167 |
168 | Cursor Color
169 |
170 | Blue Component
171 | 0.51685798168182373
172 | Green Component
173 | 0.50962930917739868
174 | Red Component
175 | 0.44058024883270264
176 |
177 | Cursor Text Color
178 |
179 | Blue Component
180 | 0.19370138645172119
181 | Green Component
182 | 0.15575926005840302
183 | Red Component
184 | 0.0
185 |
186 | Foreground Color
187 |
188 | Blue Component
189 | 0.51685798168182373
190 | Green Component
191 | 0.50962930917739868
192 | Red Component
193 | 0.44058024883270264
194 |
195 | Selected Text Color
196 |
197 | Blue Component
198 | 0.56363654136657715
199 | Green Component
200 | 0.56485837697982788
201 | Red Component
202 | 0.50599193572998047
203 |
204 | Selection Color
205 |
206 | Blue Component
207 | 0.19370138645172119
208 | Green Component
209 | 0.15575926005840302
210 | Red Component
211 | 0.0
212 |
213 |
214 |
215 |
--------------------------------------------------------------------------------
/roles/setup_terminal/files/agnoster.json:
--------------------------------------------------------------------------------
1 | {
2 | "Badge Text" : "",
3 | "Working Directory" : "\/Users\/deri",
4 | "Prompt Before Closing 2" : 0,
5 | "Selected Text Color" : {
6 | "Green Component" : 1,
7 | "Blue Component" : 1,
8 | "Red Component" : 0
9 | },
10 | "Rows" : 30,
11 | "Ansi 11 Color" : {
12 | "Green Component" : 0.4071767,
13 | "Blue Component" : 0.4385056,
14 | "Red Component" : 0.3243662
15 | },
16 | "Use Italic Font" : true,
17 | "Foreground Color" : {
18 | "Green Component" : 0.6352654,
19 | "Blue Component" : 0.647303,
20 | "Red Component" : 0.5522014
21 | },
22 | "Right Option Key Sends" : 0,
23 | "Character Encoding" : 4,
24 | "Selection Color" : {
25 | "Green Component" : 0.2470809,
26 | "Blue Component" : 0.2560436,
27 | "Red Component" : 0.1606341
28 | },
29 | "Triggers" : [
30 |
31 | ],
32 | "Blend" : 0.3,
33 | "Mouse Reporting" : true,
34 | "Ansi 4 Color" : {
35 | "Green Component" : 0.4626595,
36 | "Blue Component" : 0.7823142,
37 | "Red Component" : 0.1275488
38 | },
39 | "Non-ASCII Anti Aliased" : true,
40 | "Sync Title" : false,
41 | "Disable Window Resizing" : true,
42 | "Close Sessions On End" : true,
43 | "Jobs to Ignore" : [
44 | "rlogin",
45 | "ssh",
46 | "slogin",
47 | "telnet"
48 | ],
49 | "Scrollback With Status Bar" : false,
50 | "Scrollback Lines" : 0,
51 | "Scrollback in Alternate Screen" : true,
52 | "Hide After Opening" : false,
53 | "Flashing Bell" : false,
54 | "BM Growl" : true,
55 | "Ansi 3 Color" : {
56 | "Green Component" : 0.4675142,
57 | "Blue Component" : 0.02348481,
58 | "Red Component" : 0.6474648
59 | },
60 | "Shortcut" : "",
61 | "Background Image Location" : "",
62 | "Bold Color" : {
63 | "Green Component" : 0.6538538,
64 | "Blue Component" : 0.6538538,
65 | "Red Component" : 0.5840247
66 | },
67 | "Unlimited Scrollback" : true,
68 | "Custom Command" : "No",
69 | "Smart Selection Rules" : [
70 | {
71 | "notes" : "Word bounded by whitespace",
72 | "regex" : "\\S+",
73 | "precision" : "low"
74 | },
75 | {
76 | "notes" : "C++ namespace::identifier",
77 | "regex" : "([a-zA-Z0-9_]+::)+[a-zA-Z0-9_]+",
78 | "precision" : "normal"
79 | },
80 | {
81 | "notes" : "Paths",
82 | "regex" : "\\~?\/?([[:letter:][:number:]._-]+\/+)+[[:letter:][:number:]._-]+\/?",
83 | "precision" : "normal"
84 | },
85 | {
86 | "notes" : "Quoted string",
87 | "regex" : "@?\"(?:[^\"\\\\]|\\\\.)*\"",
88 | "precision" : "normal"
89 | },
90 | {
91 | "notes" : "Java\/Python include paths",
92 | "regex" : "([[:letter:][:number:]._]+\\.)+[[:letter:][:number:]._]+",
93 | "precision" : "normal"
94 | },
95 | {
96 | "notes" : "mailto URL",
97 | "regex" : "\\bmailto:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\\-]+\\.)*[a-zA-Z0-9\\-]+\\b",
98 | "precision" : "normal"
99 | },
100 | {
101 | "notes" : "Obj-C selector",
102 | "regex" : "@selector\\([^)]+\\)",
103 | "precision" : "high"
104 | },
105 | {
106 | "notes" : "email address",
107 | "regex" : "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}\\b",
108 | "precision" : "high"
109 | },
110 | {
111 | "notes" : "HTTP URL",
112 | "regex" : "https?:\/\/([a-z0-9A-Z]+(:[a-zA-Z0-9]+)?@)?[a-z0-9A-Z]+(\\.[a-z0-9A-Z]+)*((:[0-9]+)?)(\/[a-zA-Z0-9;\/\\.\\-_+%~?&@=#\\(\\)]*)?",
113 | "precision" : "very_high"
114 | },
115 | {
116 | "notes" : "SSH URL",
117 | "regex" : "\\bssh:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\\-]+\\.)*[a-zA-Z0-9\\-]+\\b",
118 | "precision" : "very_high"
119 | },
120 | {
121 | "notes" : "Telnet URL",
122 | "regex" : "\\btelnet:([a-z0-9A-Z_]+@)?([a-zA-Z0-9\\-]+\\.)*[a-zA-Z0-9\\-]+\\b",
123 | "precision" : "very_high"
124 | }
125 | ],
126 | "Keyboard Map" : {
127 | "0xf700-0x260000" : {
128 | "Text" : "[1;6A",
129 | "Action" : 10
130 | },
131 | "0x37-0x40000" : {
132 | "Text" : "0x1f",
133 | "Action" : 11
134 | },
135 | "0x32-0x40000" : {
136 | "Text" : "0x00",
137 | "Action" : 11
138 | },
139 | "0xf709-0x20000" : {
140 | "Text" : "[17;2~",
141 | "Action" : 10
142 | },
143 | "0xf70c-0x20000" : {
144 | "Text" : "[20;2~",
145 | "Action" : 10
146 | },
147 | "0xf729-0x20000" : {
148 | "Text" : "[1;2H",
149 | "Action" : 10
150 | },
151 | "0xf72b-0x40000" : {
152 | "Text" : "[1;5F",
153 | "Action" : 10
154 | },
155 | "0xf705-0x20000" : {
156 | "Text" : "[1;2Q",
157 | "Action" : 10
158 | },
159 | "0xf703-0x260000" : {
160 | "Text" : "[1;6C",
161 | "Action" : 10
162 | },
163 | "0xf700-0x220000" : {
164 | "Text" : "[1;2A",
165 | "Action" : 10
166 | },
167 | "0xf701-0x280000" : {
168 | "Text" : "0x1b 0x1b 0x5b 0x42",
169 | "Action" : 11
170 | },
171 | "0x38-0x40000" : {
172 | "Text" : "0x7f",
173 | "Action" : 11
174 | },
175 | "0x33-0x40000" : {
176 | "Text" : "0x1b",
177 | "Action" : 11
178 | },
179 | "0xf703-0x220000" : {
180 | "Text" : "[1;2C",
181 | "Action" : 10
182 | },
183 | "0xf701-0x240000" : {
184 | "Text" : "[1;5B",
185 | "Action" : 10
186 | },
187 | "0xf70d-0x20000" : {
188 | "Text" : "[21;2~",
189 | "Action" : 10
190 | },
191 | "0xf702-0x260000" : {
192 | "Text" : "[1;6D",
193 | "Action" : 10
194 | },
195 | "0xf729-0x40000" : {
196 | "Text" : "[1;5H",
197 | "Action" : 10
198 | },
199 | "0xf706-0x20000" : {
200 | "Text" : "[1;2R",
201 | "Action" : 10
202 | },
203 | "0x34-0x40000" : {
204 | "Text" : "0x1c",
205 | "Action" : 11
206 | },
207 | "0xf700-0x280000" : {
208 | "Text" : "0x1b 0x1b 0x5b 0x41",
209 | "Action" : 11
210 | },
211 | "0x2d-0x40000" : {
212 | "Text" : "0x1f",
213 | "Action" : 11
214 | },
215 | "0xf70e-0x20000" : {
216 | "Text" : "[23;2~",
217 | "Action" : 10
218 | },
219 | "0xf702-0x220000" : {
220 | "Text" : "[1;2D",
221 | "Action" : 10
222 | },
223 | "0xf703-0x280000" : {
224 | "Text" : "0x1b 0x1b 0x5b 0x43",
225 | "Action" : 11
226 | },
227 | "0xf700-0x240000" : {
228 | "Text" : "[1;5A",
229 | "Action" : 10
230 | },
231 | "0xf707-0x20000" : {
232 | "Text" : "[1;2S",
233 | "Action" : 10
234 | },
235 | "0xf70a-0x20000" : {
236 | "Text" : "[18;2~",
237 | "Action" : 10
238 | },
239 | "0x35-0x40000" : {
240 | "Text" : "0x1d",
241 | "Action" : 11
242 | },
243 | "0xf70f-0x20000" : {
244 | "Text" : "[24;2~",
245 | "Action" : 10
246 | },
247 | "0xf703-0x240000" : {
248 | "Text" : "[1;5C",
249 | "Action" : 10
250 | },
251 | "0xf701-0x260000" : {
252 | "Text" : "[1;6B",
253 | "Action" : 10
254 | },
255 | "0xf702-0x280000" : {
256 | "Text" : "0x1b 0x1b 0x5b 0x44",
257 | "Action" : 11
258 | },
259 | "0xf72b-0x20000" : {
260 | "Text" : "[1;2F",
261 | "Action" : 10
262 | },
263 | "0x36-0x40000" : {
264 | "Text" : "0x1e",
265 | "Action" : 11
266 | },
267 | "0xf708-0x20000" : {
268 | "Text" : "[15;2~",
269 | "Action" : 10
270 | },
271 | "0xf701-0x220000" : {
272 | "Text" : "[1;2B",
273 | "Action" : 10
274 | },
275 | "0xf70b-0x20000" : {
276 | "Text" : "[19;2~",
277 | "Action" : 10
278 | },
279 | "0xf702-0x240000" : {
280 | "Text" : "[1;5D",
281 | "Action" : 10
282 | },
283 | "0xf704-0x20000" : {
284 | "Text" : "[1;2P",
285 | "Action" : 10
286 | }
287 | },
288 | "Log Directory" : "",
289 | "Use Canonical Parser" : false,
290 | "Ansi 14 Color" : {
291 | "Green Component" : 0.5648584,
292 | "Blue Component" : 0.5636365,
293 | "Red Component" : 0.5059919
294 | },
295 | "Ansi 2 Color" : {
296 | "Green Component" : 0.5411549,
297 | "Blue Component" : 0.02020876,
298 | "Red Component" : 0.4497745
299 | },
300 | "Background Image Is Tiled" : false,
301 | "Send Code When Idle" : false,
302 | "ASCII Anti Aliased" : true,
303 | "Tags" : [
304 |
305 | ],
306 | "Ansi 9 Color" : {
307 | "Green Component" : 0.213253,
308 | "Blue Component" : 0.07353044,
309 | "Red Component" : 0.7417626
310 | },
311 | "Use Bold Font" : true,
312 | "Silence Bell" : false,
313 | "Ansi 12 Color" : {
314 | "Green Component" : 0.5096293,
315 | "Blue Component" : 0.516858,
316 | "Red Component" : 0.4405802
317 | },
318 | "Window Type" : 0,
319 | "Allow Title Reporting" : false,
320 | "Use Bright Bold" : true,
321 | "Cursor Text Color" : {
322 | "Green Component" : 0.1557593,
323 | "Blue Component" : 0.1937014,
324 | "Red Component" : 0
325 | },
326 | "Default Bookmark" : "No",
327 | "Cursor Color" : {
328 | "Green Component" : 0.5096293,
329 | "Blue Component" : 0.516858,
330 | "Red Component" : 0.4405802
331 | },
332 | "Disable Smcup Rmcup" : false,
333 | "Name" : "Default",
334 | "Blinking Cursor" : false,
335 | "Guid" : "CEA75741-A800-4693-8519-C9C685111B7F",
336 | "Ansi 1 Color" : {
337 | "Green Component" : 0.1084066,
338 | "Blue Component" : 0.1414571,
339 | "Red Component" : 0.8192698
340 | },
341 | "Idle Code" : 0,
342 | "Ansi 10 Color" : {
343 | "Green Component" : 0.3566596,
344 | "Blue Component" : 0.3829849,
345 | "Red Component" : 0.2767199
346 | },
347 | "Ansi 8 Color" : {
348 | "Green Component" : 0.1178361,
349 | "Blue Component" : 0.1517027,
350 | "Red Component" : 0
351 | },
352 | "Automatically Log" : false,
353 | "Smart Cursor Color" : true,
354 | "Semantic History" : {
355 | "editor" : "com.sublimetext.3",
356 | "action" : "best editor",
357 | "text" : ""
358 | },
359 | "Ambiguous Double Width" : false,
360 | "Blur Radius" : 2.153257,
361 | "Cursor Type" : 2,
362 | "Ansi 0 Color" : {
363 | "Green Component" : 0.1557593,
364 | "Blue Component" : 0.1937014,
365 | "Red Component" : 0
366 | },
367 | "Session Close Undo Timeout" : 90,
368 | "Blur" : false,
369 | "Normal Font" : "InconsolataForPowerline 12",
370 | "Vertical Spacing" : 1,
371 | "Disable Printing" : false,
372 | "Ansi 7 Color" : {
373 | "Green Component" : 0.8900124,
374 | "Blue Component" : 0.797811,
375 | "Red Component" : 0.9161106
376 | },
377 | "Command" : "",
378 | "Terminal Type" : "xterm-256color",
379 | "Horizontal Spacing" : 1,
380 | "Option Key Sends" : 0,
381 | "Blink Allowed" : false,
382 | "Minimum Contrast" : 0,
383 | "Ansi 15 Color" : {
384 | "Green Component" : 0.9579439,
385 | "Blue Component" : 0.8640598,
386 | "Red Component" : 0.9894342
387 | },
388 | "Ansi 6 Color" : {
389 | "Green Component" : 0.5708236,
390 | "Blue Component" : 0.5250227,
391 | "Red Component" : 0.1467953
392 | },
393 | "Transparency" : 0,
394 | "Initial Text" : "",
395 | "Background Color" : {
396 | "Green Component" : 0.1336074,
397 | "Blue Component" : 0.1719048,
398 | "Red Component" : 0
399 | },
400 | "Screen" : -1,
401 | "Non Ascii Font" : "InconsolataForPowerline 12",
402 | "Ansi 13 Color" : {
403 | "Green Component" : 0.338963,
404 | "Blue Component" : 0.7290844,
405 | "Red Component" : 0.3479863
406 | },
407 | "Columns" : 120,
408 | "Visual Bell" : true,
409 | "Custom Directory" : "No",
410 | "Ansi 5 Color" : {
411 | "Green Component" : 0.1080246,
412 | "Blue Component" : 0.4351664,
413 | "Red Component" : 0.7773894
414 | },
415 | "Set Local Environment Vars" : true
416 | }
417 |
--------------------------------------------------------------------------------
/roles/setup_terminal/files/com.googlecode.iterm2.plist:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/DemisR/mac-devops-setup/9813315c8ce0aeb920d6c82b96a9c9771d8bcd71/roles/setup_terminal/files/com.googlecode.iterm2.plist
--------------------------------------------------------------------------------
/roles/setup_terminal/files/powerlevel10k.json:
--------------------------------------------------------------------------------
1 | {
2 | "Ansi 4 Color" : {
3 | "Red Component" : 0.14901965856552124,
4 | "Color Space" : "sRGB",
5 | "Blue Component" : 0.82352942228317261,
6 | "Alpha Component" : 1,
7 | "Green Component" : 0.54509800672531128
8 | },
9 | "Tags" : [
10 |
11 | ],
12 | "Ansi 12 Color" : {
13 | "Red Component" : 0.51372557878494263,
14 | "Color Space" : "sRGB",
15 | "Blue Component" : 0.58823525905609131,
16 | "Alpha Component" : 1,
17 | "Green Component" : 0.58039218187332153
18 | },
19 | "Ansi 5 Color" : {
20 | "Red Component" : 0.82745105028152466,
21 | "Color Space" : "sRGB",
22 | "Blue Component" : 0.50980395078659058,
23 | "Alpha Component" : 1,
24 | "Green Component" : 0.21176466345787048
25 | },
26 | "Draw Powerline Glyphs" : true,
27 | "Bold Color" : {
28 | "Red Component" : 0.57647067308425903,
29 | "Color Space" : "sRGB",
30 | "Blue Component" : 0.63137257099151611,
31 | "Alpha Component" : 1,
32 | "Green Component" : 0.63137251138687134
33 | },
34 | "Guid" : "FE5B2CA3-3ECB-48A4-BA75-F40F1369BEE1",
35 | "Ansi 7 Color" : {
36 | "Red Component" : 0.93333345651626587,
37 | "Color Space" : "sRGB",
38 | "Blue Component" : 0.83529424667358398,
39 | "Alpha Component" : 1,
40 | "Green Component" : 0.90980392694473267
41 | },
42 | "Ansi 8 Color" : {
43 | "Red Component" : 0,
44 | "Color Space" : "sRGB",
45 | "Blue Component" : 0.20169290900230408,
46 | "Alpha Component" : 1,
47 | "Green Component" : 0.15713045001029968
48 | },
49 | "Rows" : 40,
50 | "Default Bookmark" : "No",
51 | "Ansi 9 Color" : {
52 | "Red Component" : 0.79607856273651123,
53 | "Color Space" : "sRGB",
54 | "Blue Component" : 0.086274512112140656,
55 | "Alpha Component" : 1,
56 | "Green Component" : 0.29411756992340088
57 | },
58 | "Horizontal Spacing" : 1,
59 | "Ansi 3 Color" : {
60 | "Red Component" : 0.70980429649353027,
61 | "Color Space" : "sRGB",
62 | "Blue Component" : 0.0038867415860295296,
63 | "Alpha Component" : 1,
64 | "Green Component" : 0.53726452589035034
65 | },
66 | "Cursor Guide Color" : {
67 | "Red Component" : 0.70213186740875244,
68 | "Color Space" : "sRGB",
69 | "Blue Component" : 1,
70 | "Alpha Component" : 0.25,
71 | "Green Component" : 0.9268307089805603
72 | },
73 | "Non-ASCII Anti Aliased" : true,
74 | "Use Bright Bold" : true,
75 | "Ansi 10 Color" : {
76 | "Red Component" : 0.34509804844856262,
77 | "Color Space" : "sRGB",
78 | "Blue Component" : 0.45882350206375122,
79 | "Alpha Component" : 1,
80 | "Green Component" : 0.43137252330780029
81 | },
82 | "Ambiguous Double Width" : false,
83 | "Jobs to Ignore" : [
84 | "rlogin",
85 | "ssh",
86 | "slogin",
87 | "telnet"
88 | ],
89 | "Show Status Bar" : false,
90 | "Ansi 15 Color" : {
91 | "Red Component" : 0.99215692281723022,
92 | "Color Space" : "sRGB",
93 | "Blue Component" : 0.89019614458084106,
94 | "Alpha Component" : 1,
95 | "Green Component" : 0.96470588445663452
96 | },
97 | "Foreground Color" : {
98 | "Red Component" : 0.51372557878494263,
99 | "Color Space" : "sRGB",
100 | "Blue Component" : 0.58823525905609131,
101 | "Alpha Component" : 1,
102 | "Green Component" : 0.58039218187332153
103 | },
104 | "Working Directory" : "\/Users\/deri",
105 | "Blinking Cursor" : false,
106 | "Disable Window Resizing" : true,
107 | "Sync Title" : true,
108 | "Prompt Before Closing 2" : false,
109 | "BM Growl" : true,
110 | "Mouse Reporting" : true,
111 | "Command" : "",
112 | "Description" : "Default",
113 | "Screen" : -1,
114 | "Selection Color" : {
115 | "Red Component" : 0,
116 | "Color Space" : "sRGB",
117 | "Blue Component" : 0.25490197539329529,
118 | "Alpha Component" : 1,
119 | "Green Component" : 0.20784313976764679
120 | },
121 | "Only The Default BG Color Uses Transparency" : true,
122 | "Columns" : 130,
123 | "Idle Code" : 0,
124 | "Hide After Opening" : false,
125 | "Ansi 13 Color" : {
126 | "Red Component" : 0.42395871877670288,
127 | "Color Space" : "sRGB",
128 | "Blue Component" : 0.77823466062545776,
129 | "Alpha Component" : 1,
130 | "Green Component" : 0.43224334716796875
131 | },
132 | "Custom Command" : "No",
133 | "ASCII Anti Aliased" : true,
134 | "Non Ascii Font" : "Monaco 12",
135 | "Vertical Spacing" : 1,
136 | "Use Bold Font" : true,
137 | "Option Key Sends" : 0,
138 | "Selected Text Color" : {
139 | "Red Component" : 0.57647067308425903,
140 | "Color Space" : "sRGB",
141 | "Blue Component" : 0.63137257099151611,
142 | "Alpha Component" : 1,
143 | "Green Component" : 0.63137251138687134
144 | },
145 | "Background Color" : {
146 | "Red Component" : 0,
147 | "Color Space" : "sRGB",
148 | "Blue Component" : 0.20169290900230408,
149 | "Alpha Component" : 1,
150 | "Green Component" : 0.15713045001029968
151 | },
152 | "Character Encoding" : 4,
153 | "Ansi 11 Color" : {
154 | "Red Component" : 0.3960784375667572,
155 | "Color Space" : "sRGB",
156 | "Blue Component" : 0.51372545957565308,
157 | "Alpha Component" : 1,
158 | "Green Component" : 0.48235297203063965
159 | },
160 | "Use Italic Font" : true,
161 | "Unlimited Scrollback" : true,
162 | "Keyboard Map" : {
163 | "0xf700-0x260000" : {
164 | "Action" : 10,
165 | "Text" : "[1;6A"
166 | },
167 | "0x37-0x40000" : {
168 | "Action" : 11,
169 | "Text" : "0x1f"
170 | },
171 | "0x32-0x40000" : {
172 | "Action" : 11,
173 | "Text" : "0x00"
174 | },
175 | "0xf709-0x20000" : {
176 | "Action" : 10,
177 | "Text" : "[17;2~"
178 | },
179 | "0xf70c-0x20000" : {
180 | "Action" : 10,
181 | "Text" : "[20;2~"
182 | },
183 | "0xf729-0x20000" : {
184 | "Action" : 10,
185 | "Text" : "[1;2H"
186 | },
187 | "0xf72b-0x40000" : {
188 | "Action" : 10,
189 | "Text" : "[1;5F"
190 | },
191 | "0xf705-0x20000" : {
192 | "Action" : 10,
193 | "Text" : "[1;2Q"
194 | },
195 | "0xf703-0x260000" : {
196 | "Action" : 10,
197 | "Text" : "[1;6C"
198 | },
199 | "0xf700-0x220000" : {
200 | "Action" : 10,
201 | "Text" : "[1;2A"
202 | },
203 | "0xf701-0x280000" : {
204 | "Action" : 11,
205 | "Text" : "0x1b 0x1b 0x5b 0x42"
206 | },
207 | "0x38-0x40000" : {
208 | "Action" : 11,
209 | "Text" : "0x7f"
210 | },
211 | "0x33-0x40000" : {
212 | "Action" : 11,
213 | "Text" : "0x1b"
214 | },
215 | "0xf703-0x220000" : {
216 | "Action" : 10,
217 | "Text" : "[1;2C"
218 | },
219 | "0xf701-0x240000" : {
220 | "Action" : 10,
221 | "Text" : "[1;5B"
222 | },
223 | "0xf70d-0x20000" : {
224 | "Action" : 10,
225 | "Text" : "[21;2~"
226 | },
227 | "0xf702-0x260000" : {
228 | "Action" : 10,
229 | "Text" : "[1;6D"
230 | },
231 | "0xf729-0x40000" : {
232 | "Action" : 10,
233 | "Text" : "[1;5H"
234 | },
235 | "0xf706-0x20000" : {
236 | "Action" : 10,
237 | "Text" : "[1;2R"
238 | },
239 | "0x34-0x40000" : {
240 | "Action" : 11,
241 | "Text" : "0x1c"
242 | },
243 | "0xf700-0x280000" : {
244 | "Action" : 11,
245 | "Text" : "0x1b 0x1b 0x5b 0x41"
246 | },
247 | "0x2d-0x40000" : {
248 | "Action" : 11,
249 | "Text" : "0x1f"
250 | },
251 | "0xf70e-0x20000" : {
252 | "Action" : 10,
253 | "Text" : "[23;2~"
254 | },
255 | "0xf702-0x220000" : {
256 | "Action" : 10,
257 | "Text" : "[1;2D"
258 | },
259 | "0xf703-0x280000" : {
260 | "Action" : 11,
261 | "Text" : "0x1b 0x1b 0x5b 0x43"
262 | },
263 | "0xf700-0x240000" : {
264 | "Action" : 10,
265 | "Text" : "[1;5A"
266 | },
267 | "0xf707-0x20000" : {
268 | "Action" : 10,
269 | "Text" : "[1;2S"
270 | },
271 | "0xf70a-0x20000" : {
272 | "Action" : 10,
273 | "Text" : "[18;2~"
274 | },
275 | "0x35-0x40000" : {
276 | "Action" : 11,
277 | "Text" : "0x1d"
278 | },
279 | "0xf70f-0x20000" : {
280 | "Action" : 10,
281 | "Text" : "[24;2~"
282 | },
283 | "0xf703-0x240000" : {
284 | "Action" : 10,
285 | "Text" : "[1;5C"
286 | },
287 | "0xf701-0x260000" : {
288 | "Action" : 10,
289 | "Text" : "[1;6B"
290 | },
291 | "0xf702-0x280000" : {
292 | "Action" : 11,
293 | "Text" : "0x1b 0x1b 0x5b 0x44"
294 | },
295 | "0xf72b-0x20000" : {
296 | "Action" : 10,
297 | "Text" : "[1;2F"
298 | },
299 | "0x36-0x40000" : {
300 | "Action" : 11,
301 | "Text" : "0x1e"
302 | },
303 | "0xf708-0x20000" : {
304 | "Action" : 10,
305 | "Text" : "[15;2~"
306 | },
307 | "0xf701-0x220000" : {
308 | "Action" : 10,
309 | "Text" : "[1;2B"
310 | },
311 | "0xf70b-0x20000" : {
312 | "Action" : 10,
313 | "Text" : "[19;2~"
314 | },
315 | "0xf702-0x240000" : {
316 | "Action" : 10,
317 | "Text" : "[1;5D"
318 | },
319 | "0xf704-0x20000" : {
320 | "Action" : 10,
321 | "Text" : "[1;2P"
322 | }
323 | },
324 | "Window Type" : 0,
325 | "Background Image Location" : "",
326 | "Blur" : false,
327 | "Badge Color" : {
328 | "Red Component" : 1,
329 | "Color Space" : "sRGB",
330 | "Blue Component" : 0,
331 | "Alpha Component" : 0.5,
332 | "Green Component" : 0.1491314172744751
333 | },
334 | "Scrollback Lines" : 0,
335 | "Send Code When Idle" : false,
336 | "Close Sessions On End" : true,
337 | "Terminal Type" : "xterm-256color",
338 | "Visual Bell" : true,
339 | "Flashing Bell" : false,
340 | "Status Bar Layout" : {
341 | "components" : [
342 | {
343 | "class" : "iTermStatusBarHostnameComponent",
344 | "configuration" : {
345 | "knobs" : {
346 | "path" : "hostname",
347 | "base: priority" : 5,
348 | "base: compression resistance" : 1,
349 | "shared text color" : {
350 | "Red Component" : 0.90000000000000002,
351 | "Color Space" : "sRGB",
352 | "Blue Component" : 0.63,
353 | "Alpha Component" : 1,
354 | "Green Component" : 0.63
355 | }
356 | },
357 | "layout advanced configuration dictionary value" : {
358 | "remove empty components" : false,
359 | "auto-rainbow style" : 0,
360 | "font" : ".AppleSystemUIFont 12",
361 | "algorithm" : 0
362 | }
363 | }
364 | },
365 | {
366 | "class" : "iTermStatusBarWorkingDirectoryComponent",
367 | "configuration" : {
368 | "knobs" : {
369 | "path" : "path",
370 | "base: priority" : 5,
371 | "base: compression resistance" : 1,
372 | "minwidth" : 0,
373 | "maxwidth" : 1.7976931348623157e+308
374 | },
375 | "layout advanced configuration dictionary value" : {
376 | "remove empty components" : false,
377 | "auto-rainbow style" : 0,
378 | "font" : ".AppleSystemUIFont 12",
379 | "algorithm" : 0
380 | }
381 | }
382 | }
383 | ],
384 | "advanced configuration" : {
385 | "remove empty components" : false,
386 | "auto-rainbow style" : 0,
387 | "font" : ".AppleSystemUIFont 12",
388 | "algorithm" : 0
389 | }
390 | },
391 | "Silence Bell" : true,
392 | "Ansi 14 Color" : {
393 | "Red Component" : 0.57647067308425903,
394 | "Color Space" : "sRGB",
395 | "Blue Component" : 0.63137257099151611,
396 | "Alpha Component" : 1,
397 | "Green Component" : 0.63137251138687134
398 | },
399 | "Background Image Is Tiled" : false,
400 | "ASCII Ligatures" : false,
401 | "Open Toolbelt" : false,
402 | "Minimum Contrast" : 0,
403 | "Cursor Text Color" : {
404 | "Red Component" : 0,
405 | "Color Space" : "sRGB",
406 | "Blue Component" : 0.25490197539329529,
407 | "Alpha Component" : 1,
408 | "Green Component" : 0.20784313976764679
409 | },
410 | "Name" : "Demis",
411 | "Cursor Color" : {
412 | "Red Component" : 0.51372557878494263,
413 | "Color Space" : "sRGB",
414 | "Blue Component" : 0.58823525905609131,
415 | "Alpha Component" : 1,
416 | "Green Component" : 0.58039218187332153
417 | },
418 | "Ansi 0 Color" : {
419 | "Red Component" : 0,
420 | "Color Space" : "sRGB",
421 | "Blue Component" : 0.25332435965538025,
422 | "Alpha Component" : 1,
423 | "Green Component" : 0.20616915822029114
424 | },
425 | "Ansi 1 Color" : {
426 | "Red Component" : 0.86274522542953491,
427 | "Color Space" : "sRGB",
428 | "Blue Component" : 0.18431371450424194,
429 | "Alpha Component" : 1,
430 | "Green Component" : 0.19607824087142944
431 | },
432 | "Ansi 2 Color" : {
433 | "Red Component" : 0.52156919240951538,
434 | "Color Space" : "sRGB",
435 | "Blue Component" : 0.0048197554424405098,
436 | "Alpha Component" : 1,
437 | "Green Component" : 0.60001039505004883
438 | },
439 | "Allow Paste Bracketing" : false,
440 | "Shortcut" : "",
441 | "Right Option Key Sends" : 0,
442 | "Use Non-ASCII Font" : false,
443 | "Ansi 6 Color" : {
444 | "Red Component" : 0.16470590233802795,
445 | "Color Space" : "sRGB",
446 | "Blue Component" : 0.59607839584350586,
447 | "Alpha Component" : 1,
448 | "Green Component" : 0.63137257099151611
449 | },
450 | "Normal Font" : "MesloLGS-NF-Regular 12",
451 | "Transparency" : 0,
452 | "Custom Directory" : "No",
453 | "Link Color" : {
454 | "Red Component" : 0,
455 | "Color Space" : "sRGB",
456 | "Blue Component" : 0.73423302173614502,
457 | "Alpha Component" : 1,
458 | "Green Component" : 0.35916060209274292
459 | }
460 | }
--------------------------------------------------------------------------------
/roles/setup_terminal/tasks/main.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - name: Check if iterm2 is installed
3 | homebrew_cask:
4 | name: "iterm2"
5 | state: present
6 | install_options: "appdir={{ homebrew_cask_appdir }}"
7 |
8 | - name: Get current Solarized package
9 | get_url:
10 | url: "http://ethanschoonover.com/solarized/files/solarized.zip"
11 | dest: "~/Downloads/"
12 |
13 | # - name: Installing zsh package
14 | # homebrew:
15 | # name: "{{ item }}"
16 | # state: present
17 | # with_items:
18 | # - zsh
19 |
20 | ##========================================================================================
21 | ## ##
22 | ## Agnoster ##
23 | ## ##
24 | ##========================================================================================
25 |
26 |
27 | - name: Cloning fonts
28 | git:
29 | repo: "https://github.com/powerline/fonts"
30 | dest: "~/.config/powerlinefonts"
31 | accept_hostkey: yes
32 | register: fontCloned
33 | become: no
34 |
35 | - name: Install Fonts
36 | shell: ~/.config/powerlinefonts/install.sh
37 | args:
38 | chdir: '~/.config/powerlinefonts'
39 | when: fontCloned
40 | become: no
41 |
42 | - name: iTerm custom settings file
43 | osx_defaults:
44 | domain: com.googlecode.iterm2
45 | key: PrefsCustomFolder
46 | type: string
47 | value: "{{ ansible_env.PWD }}/roles/setup_terminal/files"
48 |
49 | ##========================================================================================
50 | ## ##
51 | ## oh-my-zsh ##
52 | ## ##
53 | ##========================================================================================
54 |
55 |
56 | - name: Installing oh-my-zsh
57 | git:
58 | repo: https://github.com/robbyrussell/oh-my-zsh.git
59 | dest: "~/.oh-my-zsh"
60 | update: yes
61 | when: install_oh_my_zsh
62 |
63 | ##========================================================================================
64 | ## ##
65 | ## powerlevel10k ##
66 | ## ##
67 | ##========================================================================================
68 |
69 | - name: Install powerlevel10k
70 | homebrew:
71 | name: "romkatv/powerlevel10k/powerlevel10k"
72 | state: present
73 |
74 | - name: Enable powerlevel10k
75 | lineinfile:
76 | path: "~/.zshrc"
77 | line: "source $(brew --prefix)/opt/powerlevel10k/powerlevel10k.zsh-theme"
--------------------------------------------------------------------------------
/setup-my-mac.yml:
--------------------------------------------------------------------------------
1 | ---
2 | - hosts: all
3 | connection: local
4 | vars_files:
5 | - default.config.yml
6 | vars_prompt:
7 | - name: "mas_email"
8 | prompt: "Enter your AppleID Email:"
9 | - name: "mas_password"
10 | prompt: "Enter your AppleID Password:"
11 | private: yes
12 | roles:
13 | - role: setup_homebrew
14 | - role: setup_dotfiles
15 | when: configure_dotfiles
16 | - role: setup_mas
17 | when: mas_installed_app_ids
18 | - role: setup_terminal
19 | when: configure_terminal
20 | - role: setup_macos
21 | when: configure_osx
22 |
--------------------------------------------------------------------------------