Slide 1

Slide 1 text

։ൃ؀ڥߏஙͷࣗಈԽ @k0kubun

Slide 2

Slide 2 text

ࣗݾ঺հ

Slide 3

Slide 3 text

։ൃ؀ڥߏஙͷࣗಈԽ

Slide 4

Slide 4 text

ڈ೥ͷࢲͷ։ൃ؀ڥ • ࣗ୐ͷMacbook Air

Slide 5

Slide 5 text

ڈ೥ͷࢲͷ։ൃ؀ڥ • ࣗ୐ͷMacbook Air • ࣗ୐ͷiMac

Slide 6

Slide 6 text

ڈ೥ͷࢲͷ։ൃ؀ڥ • ࣗ୐ͷMacbook Air • ࣗ୐ͷiMac • ݚڀࣨͷMacbook Pro

Slide 7

Slide 7 text

ڈ೥ͷࢲͷ։ൃ؀ڥ • ࣗ୐ͷMacbook Air • ࣗ୐ͷiMac • ݚڀࣨͷMacbook Pro • όΠτઌͷMacbook Pro

Slide 8

Slide 8 text

YosemiteϦϦʔε • ແݶ Yak shavingͷ͸͡·Γ

Slide 9

Slide 9 text

YosemiteϦϦʔε • 4୆YosemiteΞοϓάϨʔυ͸໘౗ • શ෦ΫϦʔϯΠϯετʔϧ͢Ε͹Α͘Ͷʁ • ίϚϯυҰൃͰsetup͍ͨ͠

Slide 10

Slide 10 text

ଞͷਓͷίϚϯυҰൃsetup • holman/dotfiles ˒3212 • ͦ΋ͦ΋σϑΥϧτͩͱgitͳ͍ $ git clone https://github.com/holman/ dotfiles.git ~/.dotfiles && cd ~/.dotfiles && script/bootstrap

Slide 11

Slide 11 text

ଞͷਓͷίϚϯυҰൃsetup • mathyasbynens/dotfiles ˒12335 • ֮͑ΒΕΔΘ͚ͳ͍ • ίϐϖͷͨΊʹϒϥ΢β։͘ͷ͕໘౗ $ cd; curl -#L https://github.com/mathiasbynens/ dotfiles/tarball/master | tar -xzv --strip- components 1 -- exclude={README.md,bootstrap.sh,LICENSE-MIT.txt}

Slide 12

Slide 12 text

k0kubun/rebuild Development environment bootstrap automation toolkit for OSX https://github.com/k0kubun/rebuild

Slide 13

Slide 13 text

k0kubun/rebuild

Slide 14

Slide 14 text

k0kubun/rebuild • rebuild k0kubun/dotfiles ͢Δ͚ͩ • gitͷશࣗಈΠϯετʔϧ • GUIૢ࡞ͷͨΊͷΞΫηγϏϦςΟऔಘ • AppleScriptͰGUIૢ࡞ • dotfiles಺ͷinstall.shΛ૸ΒͤΔ

Slide 15

Slide 15 text

install.shͲ͏͢Δ͔ • ࣮ࡍʹࢼͨ͠Ҋͨͪ • ryotarai/itamae • r7kamura/serverkit • γΣϧεΫϦϓτखॻ͖

Slide 16

Slide 16 text

itamae • Macͩͱ͏·͘ಈ͔ͳ͔ͬͨͷͰ௚ͨ͠ • itamae-plugin-resource-cask ͱ͔࡞ͬͨ • ͜ΕΛ͍͍ͪͪ࡞Δͷ͕໘౗

Slide 17

Slide 17 text

serverkit • Mac؀ڥߏஙͷϓϥάΠϯ͕ॆ࣮ͯ͠Δ • ͦΕҎ֎ͷ͜ͱ΍Δͱ͖ • ͕Μ͹ͬͯࣗ෼ͰϓϥάΠϯ࡞Δ • YAMLʹγΣϧεΫϦϓτॻ͘

Slide 18

Slide 18 text

೚ҙͷεΫϦϓτΛ࣮ߦ͢Δྫ execute "gem install rebuild" do not_if "gem list | grep -q rebuild" end - type: command script: gem install rebuild check_script: "gem list | grep -q rebulid" • itamae • serverkit if gem list | grep -q rebuild; then gem install rebuild fi • γΣϧεΫϦϓτ

Slide 19

Slide 19 text

݁࿦: Ruby͸΋͏ݹ͍ɺ ɹɹ ࣌୅͸γΣϧεΫϦϓτ • αʔόʔͱҧͬͯϩʔΧϧͩͱ͍Ζ͍Ζ΍Γ͍ͨ • Ruby DSL͔YAML͔shͦͷ··͔ͷ޷Έͷ໰୊ • ๻ʹͱͬͯ͸shͦͷ··͕ಡΈ΍͔ͬͨ͢

Slide 20

Slide 20 text

ϩʔΧϧͰ͍Ζ͍Ζ΍Δྫ

Slide 21

Slide 21 text

k0kubun/karabiner-dsl Lightweight keyremap configuration DSL for Karabiner https://github.com/k0kubun/karabiner-dsl

Slide 22

Slide 22 text

k0kubun/karabiner-dsl • MacͷΩʔόΠϯυΛRubyͷDSLͰهड़Ͱ͖Δ • DSLΛղੳͯ͠XMLΛు͖KarabinerʹಡΈࠐ·ͤΔ • ૉͷKarabinerͷઃఆϑΝΠϧॻ͘ͷਏ͍

Slide 23

Slide 23 text

͜͏͍͏XMLΛ Application shortcuts remap.application_shortcuts __KeyToKey__ KeyCode::O, VK_CONTROL, KeyCode::VK_OPEN_URL_APP_YoruFukurou __KeyToKey__ KeyCode::U, VK_CONTROL, KeyCode::VK_OPEN_URL_APP_Google_Chrome __KeyToKey__ KeyCode::H, VK_CONTROL, KeyCode::VK_OPEN_URL_APP_iTerm KeyCode::VK_OPEN_URL_APP_YoruFukurou /Applications/YoruFukurou.app KeyCode::VK_OPEN_URL_APP_Google_Chrome /Applications/Google Chrome.app KeyCode::VK_OPEN_URL_APP_iTerm /Applications/iTerm.app

Slide 24

Slide 24 text

͜ͷDSL͔Βੜ੒Մೳ item "Application shortcuts" do remap "C-o", to: invoke("YoruFukurou") remap "C-u", to: invoke("Google Chrome") remap "C-h", to: invoke("iTerm") end

Slide 25

Slide 25 text

ϖΞϓϩ࣌ʹ๫ൃ͢Δઃఆτοϓ5 • ࢲͷઃఆΛྫʹDSLͷॻ͖ํΛ঺հ͠·͢

Slide 26

Slide 26 text

5Ґ: ࠨCommand͕Control Ωʔʹͳ͍ͬͯΔ • MySQLͷग़ྗΛίϐʔ͠Α͏ͱͯ͠ ʮmysql> Ctrl-C -- exit!ʯ item "Command_L to Control_R" do remap "Cmd_L", to: "Ctrl_R" end

Slide 27

Slide 27 text

4Ґ: Control+HΛԡ͢ͱiTerm ্ཱ͕͕ͪΔ • ϒϥ΢βͰจࣈΛফͦ͏ͱC-h͢ΔͱγΣϧ͕ ༙͍ͯ͘Δ item "Application shortcuts" do remap "C-h", to: invoke("iTerm") end

Slide 28

Slide 28 text

3Ґ: Command+LΛԡ͢ͱCapsLock͞ΕΔ • ϒϥ΢βͰΞυϨεόʔʹϑΥʔΧε͠Α͏ͱ ͢Δͱͳ͔ͥCapsLock͞ΕΔ item "CapsLock ON", config_not: "notsave.private_capslock_on" do remap "Cmd-L", to: ɹɹ ["capslock","VK_CONFIG_FORCE_ON_notsave_private_capslock_on"] end item "CapsLock OFF", config_only: "notsave.private_capslock_on" do remap "Cmd-L", to: ["capslock", "VK_CONFIG_FORCE_OFF_notsave_private_capslock_on"] end

Slide 29

Slide 29 text

2Ґ: Control+OͰHipChatཱ͕ ্͕ͪΔ • vimͰҎલͷΧʔιϧҐஔʹ໭Ζ͏ͱ͢Δͱͳ ͔ͥHipChat͕ݱΕΔ item "Application shortcuts" do if ENV['WORK_PC'] == 'true' remap "C-o", to: invoke("HipChat") else yorufukurou = system('ls /Applications | grep -q YoruFukurou') ? 'YoruFukurou' : 'Night Owl' remap "C-o", to: invoke(yorufukurou) end end

Slide 30

Slide 30 text

1Ґ: Control+UͰGoogle Chrome ্ཱ͕͕ͪΔ • γΣϧʹೖྗͨ͠ͷΛফͦ͏ͱ͢Δͱͳ͔ͥ ϒϥ΢β͕ग़ͯ͘Δ item "Application shortcuts" do remap "C-u", to: invoke("Google Chrome") end

Slide 31

Slide 31 text

͓ΘΓ • ؀ڥߏஙࣗಈԽͯ͜͠㽉㽉㽉