├── .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 |

Mac DevOps setup

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 | --------------------------------------------------------------------------------