From 642ea8196ff86bcb488d98e505397b6cc72c7c60 Mon Sep 17 00:00:00 2001 From: Oliver Davies Date: Tue, 24 May 2016 18:38:11 +0100 Subject: [PATCH] Add osx role --- playbook.yml | 1 + roles/osx/handlers/main.yml | 16 ++++++++++++++++ roles/osx/tasks/dock.yml | 27 +++++++++++++++++++++++++++ roles/osx/tasks/finder.yml | 23 +++++++++++++++++++++++ roles/osx/tasks/keyboard.yml | 7 +++++++ roles/osx/tasks/main.yml | 6 ++++++ roles/osx/tasks/screen-capture.yml | 7 +++++++ roles/osx/tasks/screensaver.yml | 14 ++++++++++++++ roles/osx/tasks/universal-access.yml | 7 +++++++ 9 files changed, 108 insertions(+) create mode 100644 roles/osx/handlers/main.yml create mode 100644 roles/osx/tasks/dock.yml create mode 100644 roles/osx/tasks/finder.yml create mode 100644 roles/osx/tasks/keyboard.yml create mode 100644 roles/osx/tasks/main.yml create mode 100644 roles/osx/tasks/screen-capture.yml create mode 100644 roles/osx/tasks/screensaver.yml create mode 100644 roles/osx/tasks/universal-access.yml diff --git a/playbook.yml b/playbook.yml index fca62b7..79e5e3b 100644 --- a/playbook.yml +++ b/playbook.yml @@ -12,3 +12,4 @@ - { role: geerlingguy.homebrew, tags: ['brew'] } - { role: dotstrap.fish, tags: ['fish'] } - { role: sublime, tags: ['sublime'] } + - { role: osx, tags: ['osx'] } diff --git a/roles/osx/handlers/main.yml b/roles/osx/handlers/main.yml new file mode 100644 index 0000000..8d0b6f7 --- /dev/null +++ b/roles/osx/handlers/main.yml @@ -0,0 +1,16 @@ +--- +- name: killall Dock + command: killall Dock + ignore_errors: yes + +- name: killall Finder + command: killall Finder + ignore_errors: yes + +- name: killall SystemUIServer + command: killall SystemUIServer + ignore_errors: yes + +- name: killall cfprefsd + command: killall cfprefsd + ignore_errors: yes diff --git a/roles/osx/tasks/dock.yml b/roles/osx/tasks/dock.yml new file mode 100644 index 0000000..7747b3c --- /dev/null +++ b/roles/osx/tasks/dock.yml @@ -0,0 +1,27 @@ +--- +- name: Set the icon size of Dock items. + osx_defaults: + domain: com.apple.dock + key: tilesize + type: float + value: 25 + notify: + - killall Dock + +- name: Automatically hide and show the Dock. + osx_defaults: + domain: com.apple.dock + key: autohide + type: bool + value: true + notify: + - killall Dock + +- name: Remove the autohide delay. + osx_defaults: + domain: com.apple.dock + key: autohide-delay + type: float + value: 0 + notify: + - killall Dock diff --git a/roles/osx/tasks/finder.yml b/roles/osx/tasks/finder.yml new file mode 100644 index 0000000..356f2a2 --- /dev/null +++ b/roles/osx/tasks/finder.yml @@ -0,0 +1,23 @@ +--- +- name: Hide items on the Desktop. + osx_defaults: + domain: com.apple.finder + key: CreateDesktop + type: bool + value: false + notify: + - killall Finder + +- name: 'When performing a search, search the current folder by default.' + command: defaults write com.apple.finder FXDefaultSearchScope -string "SCcf" + notify: + - killall Finder + +- name: Disable the warning when changing a file extension. + osx_defaults: + domain: com.apple.finder + key: FXEnableExtensionChangeWarning + type: bool + value: false + notify: + - killall Finder diff --git a/roles/osx/tasks/keyboard.yml b/roles/osx/tasks/keyboard.yml new file mode 100644 index 0000000..9622d09 --- /dev/null +++ b/roles/osx/tasks/keyboard.yml @@ -0,0 +1,7 @@ +--- +- name: Enable full keyboard access. + osx_defaults: + domain: NSGlobalDomain + key: AppleKeyboardUIMode + type: int + value: 2 diff --git a/roles/osx/tasks/main.yml b/roles/osx/tasks/main.yml new file mode 100644 index 0000000..df54fe1 --- /dev/null +++ b/roles/osx/tasks/main.yml @@ -0,0 +1,6 @@ +--- +- include: dock.yml +- include: finder.yml +- include: keyboard.yml +- include: screensaver.yml +- include: universal-access.yml diff --git a/roles/osx/tasks/screen-capture.yml b/roles/osx/tasks/screen-capture.yml new file mode 100644 index 0000000..b938507 --- /dev/null +++ b/roles/osx/tasks/screen-capture.yml @@ -0,0 +1,7 @@ +--- +- name: Change the location for screenshots. + osx_defaults: + domain: com.apple.screencapture + key: location + type: string + value: "~/Pictures/Screenshots" diff --git a/roles/osx/tasks/screensaver.yml b/roles/osx/tasks/screensaver.yml new file mode 100644 index 0000000..7938b65 --- /dev/null +++ b/roles/osx/tasks/screensaver.yml @@ -0,0 +1,14 @@ +--- +- name: Require a password when exiting the screen saver. + osx_defaults: + domain: com.apple.screensaver + key: askForPassword + type: integer + value: 1 + +- name: Set the delay time for asking for the password. + osx_defaults: + domain: com.apple.screensaver + key: askForPasswordDelay + type: float + value: 0 diff --git a/roles/osx/tasks/universal-access.yml b/roles/osx/tasks/universal-access.yml new file mode 100644 index 0000000..009d455 --- /dev/null +++ b/roles/osx/tasks/universal-access.yml @@ -0,0 +1,7 @@ +--- +- name: Require a password when exiting the screen saver. + osx_defaults: + domain: com.apple.universalaccess + key: reduceTransparency + type: bool + value: true