├── .gitignore
├── ExpansionFile
├── Gemfile
├── README.md
├── automation
├── autohotkey
│ ├── .gitignore
│ ├── ahk_start.mustache
│ └── ahk_stop
├── brew
│ ├── brew_configure_base_packages
│ ├── brew_install
│ └── brew_uninstall
├── cygwin
│ └── cyg-wrapper.sh
├── diffmerge_tool
│ └── diffmerge
├── divvy
│ ├── .gitignore
│ └── divvy.mustache
├── git
│ ├── .gitignore
│ ├── beyondcompare-diff.sh.mustache
│ ├── beyondcompare-merge.sh.mustache
│ ├── githelperfunctions.sh.mustache
│ └── gitrb
│ │ ├── gitrb
│ │ ├── lib
│ │ └── git
│ │ │ ├── auto_crlf_toggler.rb
│ │ │ ├── commands.rb
│ │ │ └── runner.rb
│ │ └── spec
│ │ ├── git
│ │ └── git_auto_crlf_toggler_spec.rb
│ │ └── spec_helper.rb
├── install
│ ├── create_sym_links
│ └── install_utilities.sh
├── keychain
│ └── get_keychain_password
├── misc
│ ├── apache
│ ├── buy_music
│ ├── devtools_sync
│ ├── gems.txt
│ ├── great_podrunner_tracks
│ ├── hide_desktop_items.sh
│ ├── mirror
│ ├── open_browser.sh
│ ├── scratch
│ ├── start_mongo
│ ├── toggle_git_autocrlf
│ ├── tree
│ ├── uninstall_all_gems
│ ├── uninstall_all_gems.rb
│ ├── uninstall_utilities
│ └── yumlme
├── mysql
│ ├── mysql_start.sh
│ └── setup.sh
├── notmuch
│ └── mutt_notmuch
├── osx
│ └── airport
├── perl
│ └── ack
├── rvm
│ ├── rvm_configure_vim_irb
│ ├── rvm_gem_for_all_rubies
│ ├── rvm_install
│ ├── rvm_install_some_rubies
│ ├── rvm_uninstall_all_gemsets
│ ├── rvm_util.rb
│ ├── rvmgsc
│ └── rvmgsd
├── tasks
│ └── tasks
├── testing
│ ├── rproofs
│ └── rspecs
├── timers
│ ├── .gitignore
│ ├── pomodoro
│ ├── timer.erb
│ ├── timerh
│ └── timerm
├── vim
│ ├── .gitignore
│ ├── jp_cygwin_vim_build.sh
│ ├── twitvim.mustache
│ ├── update_vim_plugins
│ └── vim_plugin_update.erb
├── visual_studio
│ ├── .gitignore
│ ├── 2010.sln
│ ├── launch_vs_solution.mustache
│ ├── sln.mustache
│ └── vssol
└── vmware
│ └── startvm
├── create_sym_links
├── dev_run
├── expansions
├── config_cygwin
├── config_linux
├── config_mingw
├── config_osx
├── cygwin.rb
├── linux.rb
├── mingw.rb
├── osx.rb
├── task_purge_items.rb
├── task_register_executable_paths.rb
└── task_shared_copy.rb
├── jp.settings
├── jp_cygwin.settings
├── mac
├── apps_to_install_on_new_image.markdown
├── brew
│ └── Formula
│ │ └── macvim.rb
├── filezilla
│ └── filezilla_site_manager_entries.xml
├── services
├── spec_growl
│ ├── green.jpg
│ ├── growl.rb
│ ├── pending.jpg
│ └── red.jpg
├── ssh.plist
└── terminal
│ ├── Basic.terminal
│ └── developwithpassion.terminal
├── msys_kick_off
├── osx_or_cygwin_finish
├── osx_or_cygwin_kick_off
├── remapping_advantage_pro
├── settings_file
├── settings_template
├── setup_osx.md
├── setup_windows_cygwin.md
├── setup_windows_msys.md
├── shared
├── dotfiles
│ ├── bash
│ │ ├── .gitignore
│ │ ├── bash_aliases.cygwin.dotfile.mustache
│ │ ├── bash_aliases.dotfile.mustache
│ │ ├── bash_aliases.mingw.dotfile.mustache
│ │ ├── bash_aliases.osx.dotfile.mustache
│ │ ├── bash_aliases.shared.dotfile.mustache
│ │ ├── bash_aliases.windows.osx.dotfile.mustache
│ │ ├── bash_aliases_coreutils.dotfile.mustache
│ │ ├── bash_colors.dotfile.mustache
│ │ ├── bash_config.dotfile.mustache
│ │ ├── bash_env.dotfile.mustache
│ │ ├── bash_git.dotfile.mustache
│ │ ├── bash_git_completion.dotfile.mustache
│ │ ├── bash_profile.dotfile.mustache
│ │ ├── bash_source_rvm.dotfile.mustache
│ │ ├── bash_ssh.dotfile.mustache
│ │ ├── bashrc.dotfile.mustache
│ │ ├── dircolors.dotfile.mustache
│ │ └── inputrc.dotfile.mustache
│ ├── git
│ │ ├── .gitignore
│ │ └── gitconfig.dotfile.mustache
│ ├── gnupg
│ │ └── .gnupg
│ │ │ ├── gpg-agent.conf
│ │ │ └── gpg.conf
│ ├── goobook
│ │ ├── .gitignore
│ │ └── goobookrc.dotfile.mustache
│ ├── msmtp
│ │ ├── .gitignore
│ │ └── msmtprc.dotfile.mustache
│ ├── mutt
│ │ ├── .gitignore
│ │ ├── .mutt
│ │ │ ├── alias
│ │ │ ├── aliases_courses
│ │ │ ├── equifax_gmail.cert
│ │ │ ├── gpg.rc
│ │ │ ├── mailcap
│ │ │ └── view_mail_attachment.rb
│ │ ├── muttrc.dotfile.template
│ │ ├── muttrc_jp_developwithpassion.dotfile.mustache
│ │ └── muttrc_jp_developwithpassion.dotfile.settings
│ ├── notmuch
│ │ ├── .gitignore
│ │ └── notmuch-config.dotfile.mustache
│ ├── offlineimap
│ │ ├── .gitignore
│ │ ├── offlineimap.py
│ │ └── offlineimaprc.dotfile.mustache
│ ├── ruby
│ │ └── .irbrc
│ ├── rvm
│ │ ├── .gitignore
│ │ ├── global.gems
│ │ └── rvmrc.dotfile.mustache
│ ├── tmux
│ │ ├── .gitignore
│ │ └── tmux.conf.dotfile.mustache
│ ├── urlview
│ │ ├── .gitignore
│ │ └── urlview.dotfile.mustache
│ ├── vim
│ │ ├── .gitignore
│ │ ├── .vim_runtime
│ │ │ ├── .VimballRecord
│ │ │ ├── .gitignore
│ │ │ ├── .netrwhist
│ │ │ ├── autoload
│ │ │ │ └── pathogen.vim
│ │ │ ├── bundle
│ │ │ │ ├── .gitignore
│ │ │ │ └── developwithpassion
│ │ │ │ │ ├── autoload
│ │ │ │ │ └── mailcomplete.vim
│ │ │ │ │ ├── ftplugin
│ │ │ │ │ └── mail.vim
│ │ │ │ │ ├── plugin
│ │ │ │ │ └── csutils.vim
│ │ │ │ │ └── snippets
│ │ │ │ │ ├── cs.snippets
│ │ │ │ │ ├── markdown.snippets
│ │ │ │ │ └── ruby.snippets
│ │ │ ├── dictionary.vim
│ │ │ ├── install.sh
│ │ │ ├── remaps.vim
│ │ │ ├── vimrc.erb
│ │ │ └── wordlist.vim.erb
│ │ └── vimrc.dotfile.mustache
│ ├── vimperator
│ │ ├── .gitignore
│ │ └── vimperatorrc.dotfile.mustache
│ └── zsh
│ │ ├── .gitignore
│ │ ├── .zsh
│ │ └── func
│ │ │ ├── prompt_wunjo_setup
│ │ │ └── zgitinit
│ │ ├── zshenv.dotfile.mustache
│ │ └── zshrc.dotfile.mustache
├── extra_fonts
│ ├── droid_fonts
│ │ ├── Ahem.ttf
│ │ ├── Android.mk
│ │ ├── DroidSans-Bold.ttf
│ │ ├── DroidSans.ttf
│ │ ├── DroidSansFallback.ttf
│ │ ├── DroidSansJapanese.ttf
│ │ ├── DroidSansMono.ttf
│ │ ├── DroidSerif-Bold.ttf
│ │ ├── DroidSerif-BoldItalic.ttf
│ │ ├── DroidSerif-Italic.ttf
│ │ ├── DroidSerif-Regular.ttf
│ │ ├── MODULE_LICENSE_APACHE2
│ │ ├── NOTICE
│ │ ├── README.txt
│ │ └── fonts.xml
│ ├── envy
│ │ ├── Envy Code R Bold.ttf
│ │ ├── Envy Code R Command Prompt.reg
│ │ ├── Envy Code R Italic.ttf
│ │ ├── Envy Code R VS Italic-as-bold.ttf
│ │ ├── Envy Code R VS.ttf
│ │ └── Envy Code R.ttf
│ ├── ms_fonts
│ │ ├── Calibri Bold Italic.ttf
│ │ ├── Calibri Bold.ttf
│ │ ├── Calibri Italic.ttf
│ │ ├── Calibri.ttf
│ │ ├── Cambria Bold Italic.ttf
│ │ ├── Cambria Bold.ttf
│ │ ├── Cambria Italic.ttf
│ │ ├── Cambria.ttf
│ │ ├── Candara Bold Italic.ttf
│ │ ├── Candara Bold.ttf
│ │ ├── Candara Italic.ttf
│ │ ├── Candara.ttf
│ │ ├── Consolas Bold Italic.ttf
│ │ ├── Consolas Bold.ttf
│ │ ├── Consolas Italic.ttf
│ │ ├── Consolas.ttf
│ │ ├── Constantia Bold Italic.ttf
│ │ ├── Constantia Bold.ttf
│ │ ├── Constantia Italic.ttf
│ │ ├── Constantia.ttf
│ │ ├── Corbel Bold Italic.ttf
│ │ ├── Corbel Bold.ttf
│ │ ├── Corbel Italic.ttf
│ │ └── Corbel.ttf
│ └── palmos_windows_font
│ │ └── PalmOS-CP1252.FON
└── hosts
│ ├── .gitignore
│ └── hosts.mustache
└── windows
├── autohotkey
├── .gitignore
├── merge_footer_001_shared_utility_functions.ahk
├── merge_header_001_header.ahk
├── merge_header_002_shared_variables.ahk.mustache
├── partial_ahk_caps_as_windows_key.ahk
├── partial_ahk_general.ahk
├── partial_ahk_resharper.ahk
├── partial_ahk_spaces_as_underscores.ahk
├── partial_ahk_visual_studio.ahk
├── testnamingmode_16.ico
└── testnamingmode_disabled_16.ico
├── console
└── console.xml
├── cygwin
├── cygwin.bat
└── cygwin_bash.bat
├── divvy
└── shortcuts.db
├── mingw
├── etc
│ ├── fstab
│ └── profile
└── msys_jp.bat
├── powershell
├── kill_subversion_files.ps1
├── powershell_utils.ps1
└── profile.ps1
├── registry_entries
└── disable_lock_workstation.reg
├── resharper
├── UserSettings.xml
├── jp.DotSettings
└── templates
│ ├── file_templates_developwithpassion_specifications_moq.xml
│ ├── file_templates_developwithpassion_specifications_rhino_mocks.xml
│ ├── file_templates_general.xml
│ ├── file_templates_machine_specifications.xml
│ ├── live_templates_developwithpassion_specifications.xml
│ ├── live_templates_general.xml
│ ├── live_templates_machine_specifications.xml
│ ├── live_templates_xunit.xml
│ └── surround_templates_general.xml
├── scripts
└── prep_machine.ps1
├── utils_contents
├── viemu
└── _viemurc
└── visual_studio
├── 2012_developwithpassion_vs2010.vssettings
├── 2012_developwithpassion_vs2012.vssettings
├── 2012_march_7_developwithpassion_vs_2010.vssettings
├── developwithpassion_presentation_vs2010.vssettings
└── developwithpassion_vs_2010.vssettings
/.gitignore:
--------------------------------------------------------------------------------
1 | _Re[sS]harper*
2 | *.BACKUP*
3 | *.BASE*
4 | *.LOCAL*
5 | *.REMOTE*
6 | tags
7 | .DS_Store
8 | .bash_history
9 | *.orig
10 | Gemfile.lock
11 | *.swp
12 | CurrentSettings.vssettings
13 | conv_*
14 | .vikingrc
15 | .rvmrc
16 | .ruby-version
17 | .ruby-gemset
18 | *_ap*s*
19 |
20 |
--------------------------------------------------------------------------------
/ExpansionFile:
--------------------------------------------------------------------------------
1 | expand do
2 | bundle_folder = %w[shared dotfiles vim .vim_runtime bundle].as_glob_pattern
3 |
4 | FileUtils.mkdir bundle_folder unless Dir.exist?(bundle_folder)
5 |
6 | log "The current platform is #{RUBY_PLATFORM}"
7 | platform = 'osx' if /dar/ =~ RUBY_PLATFORM
8 | platform = 'mingw' if /ming/ =~ RUBY_PLATFORM
9 | platform = 'cygwin' if /cyg/ =~ RUBY_PLATFORM
10 | platform = 'linux' if /linux/ =~ RUBY_PLATFORM
11 |
12 | configs = {
13 | :core =>
14 | {
15 | :home => ENV["HOME"] ,
16 | :devtools_root => File.expand_path(File.dirname(__FILE__))
17 | }
18 | }
19 | configatron.configure_from_hash configs
20 | platform_config_file = "expansions/config_#{platform}"
21 | log "Loading config file #{platform_config_file}"
22 | load "#{platform_config_file}"
23 | user = File.basename(`whoami`.chomp)
24 |
25 | load "#{user}.settings"
26 |
27 | look_for_templates_in "**/*.{erb,mustache}"
28 |
29 | glob("expansions/**/task*.rb"){|file| load file}
30 | load "expansions/#{platform}.rb"
31 |
32 | cleanup do
33 | glob([configatron.core.home,"*.dotfile*"].as_glob_pattern){|item| log "Removing #{item}";FileUtils.rm_f(item)}
34 | end
35 | end
36 |
--------------------------------------------------------------------------------
/Gemfile:
--------------------------------------------------------------------------------
1 | source 'http://rubygems.org'
2 |
3 | gem 'bundler','>= 0.9.26'
4 | gem 'expansions'
5 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ##Overview
2 |
3 | This repository contains the majority of the files that I use to customize all aspects of the different programming related environments that I in on both osx and windows.
4 |
5 | The repository consists of mainly the following:
6 |
7 | * A set of automation scripts that can be modified and added to as needed.
8 | * A set of dotfiles that I have run successfully on:
9 | * Ubuntu
10 | * OSX
11 | * Windows (Cygwin/Msys)
12 | * Templates for the files that will be transformed to run on the differing platforms.
13 | * A small set of expansion scripts run using [expansions](http://github.com/developwithpassion/expansions).
14 |
15 | ##Cautionary Note
16 |
17 | * Some of the scripts are obviously tuned to work according to a flow that works well for me. Even though some work has been done to allow these scripts to be portable and usable by others. I apologize in advance for the "assumptions" that are made about how the system is setup (particularly for windows users). A lot of the configuration scripts attempt to isolate those changes, but there may be areas that I missed. Since these scripts were
18 | initially written just for myself, there may still be a couple of areas where some of the assumptions about how the system is configured cause the scripts to fail. See these scripts as a good starting point for you to be able to support cross platform environment setup from a single set of scripts, dotfiles etc.
19 |
20 | ##Preparation
21 |
22 | * Even though it is not required, to not have to fuss too much with the settings, create the following folder structure under your home folder named:
23 | * repositories/developwithpassion
24 | * Navigate to the folder you created above and make a clone of this repository (keep the devtools name). Feel free to fork the repository before you make a clone if you would like to send me pull requests.
25 |
26 | ##Once you have the folder cloned continue with the following readme's, specific to the environment you are using:
27 | * [OSX](http://github.com/developwithpassion/devtools/blob/master/setup_osx.md)
28 | * [MSys On Windows](http://github.com/developwithpassion/devtools/blob/master/setup_windows_msys.md)
29 | * [Cygwin On Windows](http://github.com/developwithpassion/devtools/blob/master/setup_windows_cygwin.md)
30 |
31 | ##Contributing
32 |
33 | As always, feel free to fork and make modifications to the scripts etc. If you add something you find useful, please feel free to send me a pull request.
34 |
35 | [Develop With Passion®](http://www.developwithpassion.com)
36 |
--------------------------------------------------------------------------------
/automation/autohotkey/.gitignore:
--------------------------------------------------------------------------------
1 | ahk_start
2 |
--------------------------------------------------------------------------------
/automation/autohotkey/ahk_start.mustache:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | {{# core.is_windows }}
4 | . {{{core.devtools_root}}}/windows/autohotkey/launch_ahk
5 | {{/core.is_windows }}
6 |
7 |
--------------------------------------------------------------------------------
/automation/autohotkey/ahk_stop:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require 'win32ole'
4 | puts "Stopping processes"
5 | wmi = WIN32OLE.connect("winmgmts://")
6 |
7 | processes = wmi.ExecQuery("select * from win32_process")
8 |
9 | match = /AutoHotkey/
10 | processes.each do|process|
11 | `taskkill /PID:#{process.ProcessID}` if match =~ process.Name
12 | end
13 |
--------------------------------------------------------------------------------
/automation/brew/brew_configure_base_packages:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | %w[git
4 | coreutils
5 | ctags
6 | freetds
7 | gdbm
8 | growlnotify
9 | ircii
10 | libevent
11 | macvim
12 | neon
13 | node
14 | pkg-config
15 | readline
16 | reattach-to-user-namespace
17 | tmux
18 | zsh
19 | ].each{|item| system("brew install #{item}")}
20 |
21 |
22 |
--------------------------------------------------------------------------------
/automation/brew/brew_install:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | if [ ! -x /usr/local/Cellar ]; then
4 | echo "Installing Brew"
5 | ruby -e "$(curl -fsSkL raw.github.com/mxcl/homebrew/go)"
6 | fi
7 |
8 |
--------------------------------------------------------------------------------
/automation/brew/brew_uninstall:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 |
3 | # Just copy and paste the lines below (all at once, it won't work line by line!)
4 | # MAKE SURE YOU ARE HAPPY WITH WHAT IT DOES FIRST! THERE IS NO WARRANTY!
5 |
6 | function abort {
7 | echo "$1"
8 | exit 1
9 | }
10 |
11 | set -e
12 |
13 | /usr/bin/which -s git || abort "brew install git first!"
14 | test -d /usr/local/.git || abort "brew update first!"
15 |
16 | cd `brew --prefix`
17 | git checkout master
18 | git ls-files -z | pbcopy
19 | rm -rf Cellar
20 | bin/brew prune
21 | pbpaste | xargs -0 rm
22 | rm -r Library/Homebrew Library/Aliases Library/Formula Library/Contributions
23 | test -d Library/LinkedKegs && rm -r Library/LinkedKegs
24 | rmdir -p bin Library share/man/man1 2> /dev/null
25 | rm -rf .git
26 | rm -rf ~/Library/Caches/Homebrew
27 | rm -rf ~/Library/Logs/Homebrew
28 | rm -rf /Library/Caches/Homebrew
29 |
--------------------------------------------------------------------------------
/automation/cygwin/cyg-wrapper.sh:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/automation/cygwin/cyg-wrapper.sh
--------------------------------------------------------------------------------
/automation/diffmerge_tool/diffmerge:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | ## A little script to make it easier to launch DiffMerge from the command line.
3 | ## Install this script into a folder in your path, such as /usr/bin or /usr/local/bin.
4 | ##
5 | ## Version 3.3.0.1001
6 | ## Copyright (C) 2003-2009 SourceGear LLC. All Rights Reserved.
7 | ##############################################################################
8 |
9 | ## Change DIFFMERGE_PATH to point to where you installed DiffMerge
10 |
11 | DIFFMERGE_PATH=/Applications/DiffMerge.app
12 |
13 | ## The actual executable is hidden inside the .app bundle.
14 |
15 | DIFFMERGE_EXE=${DIFFMERGE_PATH}/Contents/MacOS/DiffMerge
16 |
17 | ## Launch DiffMerge using the given command line arguments. Use --help for
18 | ## additional information or see the man page distributed along with this
19 | ## shell script.
20 |
21 | exec ${DIFFMERGE_EXE} --nosplash "$@"
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/automation/divvy/.gitignore:
--------------------------------------------------------------------------------
1 | divvy
2 |
--------------------------------------------------------------------------------
/automation/divvy/divvy.mustache:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | {{^core.is_osx }}
4 | start /c/utils/divvy/Divvy.exe
5 | {{/core.is_osx }}
6 |
--------------------------------------------------------------------------------
/automation/git/.gitignore:
--------------------------------------------------------------------------------
1 | *.sh
2 |
--------------------------------------------------------------------------------
/automation/git/beyondcompare-diff.sh.mustache:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # Use BeyondCompare as difftool for git in cygwin.
3 | # git config --global difftool.bc3.cmd "beyondcompare-diff.sh \"\$LOCAL\" \"\$REMOTE\""
4 | # git difftool -t bc3 branch1..branch2
5 |
6 | # Reference: http://www.tldp.org/LDP/abs/abs-guide.pdf
7 |
8 | library=githelperfunctions.sh
9 |
10 | #[ -f $library ] && . $library
11 | . $library
12 |
13 | echo Launching BeyondCommpare - beyondcompare-diff.sh:
14 |
15 | set_path_vars "$1" "$2"
16 |
17 | echo "$beyondcompare" $localwinpath $remotewinpath
18 | "$beyondcompare" "$localwinpath" "$remotewinpath"
19 |
--------------------------------------------------------------------------------
/automation/git/beyondcompare-merge.sh.mustache:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | # Use SourceGear BeyondCompare as mergetool for git in cygwin.
3 | # git config --global mergetool.bc3.cmd "beyondcompare-merge.sh \"\$LOCAL\" \"\$REMOTE\" \"\$BASE\" \"\$MERGED\""
4 | # git config --global mergetool.bc3.trustExitCode true
5 | # git mergetool -t bc3
6 |
7 | # Reference: http://www.tldp.org/LDP/abs/abs-guide.pdf
8 |
9 | library=githelperfunctions.sh
10 |
11 | #[ -f $library ] && . $library
12 | . $library
13 |
14 | echo Launching BeyondCompare - beyondcompare-merge.sh:
15 |
16 | set_path_vars "$1" "$2" "$3" "$4"
17 |
18 | echo "$beyondcompare" /lefttitle=Remote /righttitle=Local /centertitle=Base "$localwinpath" "$remotewinpath" "$basewinpath" "$mergedwinpath"
19 |
20 | {{# core.is_cygwin }}
21 | "$beyondcompare" /lefttitle=Remote /righttitle=Local /centertitle=Base "$remotewinpath" "$localwinpath" "$basewinpath" "$mergedwinpath"
22 | {{/core.is_cygwin }}
23 |
24 | {{# core.is_mingw }}
25 | "$beyondcompare" "$remotewinpath" "$localwinpath" "$basewinpath" "$mergedwinpath"
26 | {{/core.is_mingw }}
27 |
--------------------------------------------------------------------------------
/automation/git/githelperfunctions.sh.mustache:
--------------------------------------------------------------------------------
1 | # From: http://rubenlaguna.com/wp/2010/08/05/visual-difftool-cygwin-git/
2 | # From: http://gist.github.com/509918
3 | # Helper functions
4 |
5 | convert_path () {
6 | file=$1
7 |
8 | if [ "$file" == '/dev/null' ] || [ ! -e "$file" ]
9 | then
10 | file="/tmp/nulla"
11 | `echo "">$file`
12 | fi
13 | echo `cygpath -w -a "$file"`
14 | }
15 |
16 |
17 | set_path_vars () {
18 | local=$1
19 | remote=$2
20 | base=$3
21 | merged=$4
22 |
23 | echo ========= Cygwin paths =======
24 | echo "LOCAL : $local"
25 | echo "REMOTE : $remote"
26 | echo "BASE : $base"
27 | echo "MERGED : $merged"
28 |
29 | {{# core.is_cygwin }}
30 | localwinpath=$(convert_path "$local")
31 | remotewinpath=$(convert_path "$remote")
32 | basewinpath=$(convert_path "$base")
33 | mergedwinpath=$(convert_path "$merged")
34 | {{/core.is_cygwin }}
35 |
36 | {{# core.is_mingw }}
37 | localwinpath=$local
38 | remotewinpath=$remote
39 | basewinpath=$base
40 | mergedwinpath=$merged
41 | {{/core.is_mingw }}
42 |
43 | echo ========= Win paths =======
44 | echo "LOCAL : $localwinpath"
45 | echo "REMOTE : $remotewinpath"
46 | echo "BASE : $basewinpath"
47 | echo "MERGED : $mergedwinpath"
48 |
49 | caption=`basename "$merged"`
50 | beyondcompare="{{ my.windows.paths.unix_style.beyond_compare3 }}"
51 | }
52 |
--------------------------------------------------------------------------------
/automation/git/gitrb/gitrb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | $:.unshift File.join(File.dirname(__FILE__), *%w[lib git])
4 |
5 | require 'runner'
6 |
7 | %w/INT TERM/.each do |signal|
8 | Signal.trap(signal) do
9 | exit
10 | end
11 | end
12 |
13 | Git::Runner.run(ARGV)
14 |
15 |
16 |
--------------------------------------------------------------------------------
/automation/git/gitrb/lib/git/auto_crlf_toggler.rb:
--------------------------------------------------------------------------------
1 | module Git
2 | class AutoCrlfToggler
3 | def initialize(output_file = File.join(ENV["HOME"],".gitconfig"))
4 | @output_file = output_file
5 | end
6 |
7 | def update_setting_to(flag)
8 | contents = File.read(File.join(ENV["HOME"],".gitconfig"))
9 | contents = contents.gsub(/(autocrlf\s*=\s*)(\w*)/,"\\1#{flag}")
10 | File.open(@output_file,'w') do|file|
11 | file.puts contents
12 | end
13 | end
14 | end
15 | end
16 |
--------------------------------------------------------------------------------
/automation/git/gitrb/lib/git/commands.rb:
--------------------------------------------------------------------------------
1 | module Git
2 | module Input
3 | extend self
4 |
5 | def pick_item_from(items,prompt)
6 | puts "#{prompt}\n"
7 |
8 | items.each_with_index do |item, index|
9 | puts "#{index + 1} - #{item}"
10 | end
11 |
12 | index = gets.chomp.to_i
13 |
14 | return index == 0 ? "": items[index-1]
15 | end
16 | end
17 |
18 | module Commands
19 | extend self
20 |
21 | def non_master_branches
22 | master_branch_pattern = /(\*.* | master)/
23 |
24 | branches = run_git_command("branch", true)
25 | branches = branches.split("\n")
26 | branches = branches.select{ |branch| master_branch_pattern !~ branch }
27 |
28 | branches
29 | end
30 |
31 | def delete_all_other_branches
32 | master_branch_pattern = /(\*.* | master)/
33 | branches = run_git_command("branch", true)
34 | branches = branches.split("\n")
35 | branches = branches.select{ |branch| master_branch_pattern !~ branch }
36 |
37 | branches.each do |branch|
38 | branch_delete branch
39 | end
40 | end
41 |
42 | def choose_branch
43 | Input.pick_item_from(non_master_branches, "Which branch?")
44 | end
45 |
46 | #add and commit everything on the current working branch
47 | def commit
48 | add_all
49 | run_git_command("commit")
50 | end
51 |
52 | def switch(branch_name=choose_branch)
53 | add_all
54 | checkout(branch_name)
55 | end
56 |
57 | #switch to a branch - will create the branch if it does not already exist
58 | def checkout(branch_name=choose_branch)
59 | if branch_exists?(branch_name)
60 | run_git_command("checkout #{branch_name}")
61 | else
62 | run_git_command("checkout -b #{branch_name}")
63 | end
64 | end
65 |
66 | #merge everything from the target branch into the current working branch
67 | def merge(target_branch=choose_branch)
68 | commit
69 | run_git_command("merge #{target_branch}")
70 | end
71 |
72 | #pull all of the changes from the specified remote onto a named local branch
73 | #if a local_branch is not specified it will create a new branch and do the pull
74 | #onto that branch
75 | def pull(remote, remote_branch='master', create_new_branch=false)
76 | commit
77 | create_new_branch ||= false
78 | remote_branch ||= 'master'
79 | local_branch_name = "pull_#{remote}_#{remote_branch}"
80 | checkout(local_branch) if (create_new_branch)
81 | run_git_command("pull --rebase #{remote} #{remote_branch}")
82 | end
83 |
84 | #reset all of the changes on the current working branch
85 | def reset(*args)
86 | run_git_command("reset --hard", false)
87 | run_git_command("clean -d -f #{args.join(' ')}")
88 | end
89 |
90 | #performs a commit, merge, and push to a remote
91 | #if the branch_to_push_from is different that the current working
92 | #branch, it will switch to that branch and first do a merge of
93 | #the current working branch
94 | def push(remote, branch_to_push_from=nil, switch_back_to_working=true)
95 | branch = active_branch
96 | branch_to_push_from ||= active_branch
97 | switch_back_to_working ||= true
98 | commit
99 | if (branch_to_push_from != branch)
100 | checkout(branch_to_push_from)
101 | merge(branch)
102 | end
103 | run_git_command("push #{remote} #{branch_to_push_from}")
104 | checkout(branch) if switch_back_to_working
105 | end
106 |
107 | def active_branch
108 | active_branch_pattern = /\*\s*(.*)\n/
109 | output = run_git_command("branch", true)
110 | match = active_branch_pattern.match(output)
111 | match[1]
112 | end
113 |
114 | def add_all
115 | run_git_command("add -A")
116 | end
117 |
118 | def run_git_command(command, capture_ouptut = false)
119 | full_command = "git #{command}"
120 |
121 | return `#{full_command}` if (capture_ouptut)
122 |
123 | system(full_command)
124 | end
125 |
126 | def branch_delete(branch_name=choose_branch)
127 | run_git_command("branch -D #{branch_name}")
128 | end
129 |
130 |
131 | def branch_exists?(branch_name)
132 | branch_pattern = /#{branch_name}/
133 | output = run_git_command("branch", true)
134 | not (branch_pattern =~ output).nil?
135 | end
136 | end
137 | end
138 |
--------------------------------------------------------------------------------
/automation/git/gitrb/lib/git/runner.rb:
--------------------------------------------------------------------------------
1 | require 'commands'
2 |
3 | module Git
4 | module Runner
5 | extend self
6 |
7 | def run(args)
8 | command = args.shift
9 | Commands.send(command, *args)
10 | end
11 | end
12 | end
13 |
--------------------------------------------------------------------------------
/automation/git/gitrb/spec/git/git_auto_crlf_toggler_spec.rb:
--------------------------------------------------------------------------------
1 | require File.join(File.expand_path(File.dirname(__FILE__)),%w[.. spec_helper])
2 |
3 | require 'auto_crlf_toggler'
4 |
5 | module Git
6 | describe AutoCrlfToggler,"when updating the git config autocrlf setting in the configuration" do
7 |
8 | BLAH_CONFIG = "blah.config"
9 |
10 | before(:each) do
11 | @match = /(autocrlf\s*=\s*)(\w*)/
12 | @crlf_toggler = AutoCrlfToggler.new(BLAH_CONFIG)
13 | @original = read_file_setting(File.join(ENV["HOME"],".gitconfig"))
14 |
15 | because
16 | end
17 |
18 | after(:each) do
19 | File.delete(BLAH_CONFIG)
20 | end
21 |
22 | def read_file_setting(file)
23 | return @match.match(File.read(file))[2]
24 | end
25 |
26 | def because
27 | @crlf_toggler.update_setting_to("false")
28 | end
29 |
30 | it "should change the settings in the output config file" do
31 | read_file_setting(BLAH_CONFIG).should == "false"
32 | end
33 | end
34 | end
35 |
--------------------------------------------------------------------------------
/automation/git/gitrb/spec/spec_helper.rb:
--------------------------------------------------------------------------------
1 | require 'date'
2 | $:.unshift File.join(File.dirname(__FILE__),%w[.. bin])
3 |
4 | Dir.chdir(File.join(File.dirname(__FILE__),%w[.. lib])) do
5 | Dir.glob("*").each do |lib|
6 | $:.unshift File.expand_path(lib)
7 | end
8 | end
9 |
10 | RSpec.configure do |config|
11 | config.mock_with :rr
12 | end
13 |
14 | module RSpec
15 | Matchers.define :start_with do|start_of_string|
16 | match do|string_element|
17 | string_element.start_with?(start_of_string).should be_true
18 | end
19 | end
20 |
21 | Matchers.define :end_with do|end_of_string|
22 | match do|string_element|
23 | string_element.end_with?(end_of_string).should be_true
24 | end
25 | end
26 | end
27 |
28 |
--------------------------------------------------------------------------------
/automation/install/create_sym_links:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | def create_sym_link(target,link)
4 | system("rm -rf #{link}") unless File.symlink?(link)
5 | system("ln -s #{target} #{link}") unless File.exists?(link) || ! File.exist?(target)
6 | end
7 |
8 | {'/Volumes/machd/tempfiles' => '/tempfiles',
9 | '/Volumes/machd/to_backup' => '/to_backup',
10 | '/Volumes/machd/dropbox' => '/dropbox',
11 | '/tempfiles/downloads' => '~/Downloads',
12 | '/to_backup/repositories/dropbox' => '~/Dropbox',
13 | '/to_backup/repositories' => '~/repositories'
14 | }.each{|target,link| create_sym_link(target,link)}
15 |
--------------------------------------------------------------------------------
/automation/install/install_utilities.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | install_quicksilver()
4 | {
5 | if [ ! -x /Applications/Quicksilver.app ]; then
6 | pushd /tempfiles/new_osx_install/startup_software
7 | rm Quicksilver.app
8 | tar -xzvf "quicksilver.tar.gz"
9 | cp -R "Quicksilver.app" /Applications
10 | popd
11 | fi
12 | devtools_sync
13 | }
14 |
15 | install_pygments()
16 | {
17 | easy_install Pygments
18 | }
19 |
20 | install_quicksilver
21 | install_pygments
22 |
--------------------------------------------------------------------------------
/automation/keychain/get_keychain_password:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | # This automation item will get the requested attribute from a keychain item
4 |
5 | # Args:
6 | # Required
7 | # --account: Keychain account name
8 | # Optional
9 | # --keychain: Path to keychain to use, defaults to login keychain
10 | # --command: security command to run : defaults to find-internet-password
11 | require 'stringio'
12 |
13 | class Arguments
14 | attr_accessor :account
15 | attr_accessor :keychain
16 |
17 | def keychain
18 | @keychain ||= "/Users/jp/Library/Keychains/login.keychain"
19 | end
20 |
21 | def command=(value)
22 | @command = value.to_sym
23 | end
24 |
25 | def command
26 | @command ||= 'find-internet-password'
27 | end
28 | end
29 |
30 | def build_arguments(arguments)
31 | result = Arguments.new
32 |
33 | arguments.each do|argument|
34 | pair = argument.split(":")
35 | name = pair[0].gsub(/-/,"")
36 | value = pair[1]
37 | result.send "#{name}=", value
38 | end
39 | result
40 | end
41 |
42 | arguments = build_arguments(ARGV)
43 |
44 | command = "sudo -u jp /usr/bin/security #{arguments.command} -w -a #{arguments.account} #{arguments.keychain}"
45 |
46 | system(command)
47 |
--------------------------------------------------------------------------------
/automation/misc/apache:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | /usr/local/apache2/bin/apachectl $*
4 |
--------------------------------------------------------------------------------
/automation/misc/buy_music:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mvim /tempfiles/music_to_purchase.md
3 |
--------------------------------------------------------------------------------
/automation/misc/devtools_sync:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | . ~/.bash_source_rvm
4 | cd ~/repositories/developwithpassion/devtools
5 | expands
6 | ahk_start
7 |
--------------------------------------------------------------------------------
/automation/misc/gems.txt:
--------------------------------------------------------------------------------
1 | actionmailer
2 | actionpack
3 | actionwebservice
4 | activerecord
5 | activeresource
6 | activesupport
7 | acts_as_ferret
8 | capistrano
9 | cgi_multipart_eof_fix
10 | daemons
11 | dnssd
12 | fastthread
13 | fcgi
14 | ferret
15 | gem_plugin
16 | highline
17 | hpricot
18 | libxml-ruby
19 | mongrel
20 | needle
21 | net-scp
22 | net-sftp
23 | net-ssh
24 | net-ssh-gateway
25 | rack
26 | rails
27 | rake
28 | RedCloth
29 | ruby-openid
30 | ruby-yadis
31 | rubygems-update
32 | rubynode
33 | spoon
34 | sqlite3-ruby
35 | termios
36 | xmpp4r
37 |
--------------------------------------------------------------------------------
/automation/misc/great_podrunner_tracks:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 | mvim /tempfiles/great_podrunner_tracks.md
3 |
--------------------------------------------------------------------------------
/automation/misc/hide_desktop_items.sh:
--------------------------------------------------------------------------------
1 | #toggle desktop icon visibility to false
2 | defaults write com.apple.finder CreateDesktop -bool false
3 | #force the changes to refresh by restarting finder
4 | killall Finder
5 |
--------------------------------------------------------------------------------
/automation/misc/mirror:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/automation/misc/mirror
--------------------------------------------------------------------------------
/automation/misc/open_browser.sh:
--------------------------------------------------------------------------------
1 | open $*
2 |
--------------------------------------------------------------------------------
/automation/misc/scratch:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | system("mvim","/tempfiles/documents/scratch")
4 |
5 |
--------------------------------------------------------------------------------
/automation/misc/start_mongo:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | system("mongod run --config /usr/local/Cellar/mongodb/1.6.1-x86_64/mongod.conf")
4 |
--------------------------------------------------------------------------------
/automation/misc/toggle_git_autocrlf:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | $:.unshift File.join(File.dirname(__FILE__), *%w[.. lib git])
3 |
4 | require 'auto_crlf_toggler'
5 |
6 | Git::AutoCrlfToggler.new.update_setting_to(ARGV[0])
7 |
--------------------------------------------------------------------------------
/automation/misc/tree:
--------------------------------------------------------------------------------
1 | #!/bin/sh
2 | #######################################################
3 | # UNIX TREE #
4 | # Version: 2.3 #
5 | # File: ~/apps/tree/tree.sh #
6 | # #
7 | # Displays Structure of Directory Hierarchy #
8 | # ------------------------------------------------- #
9 | # This tiny script uses "ls", "grep", and "sed" #
10 | # in a single command to show the nesting of #
11 | # sub-directories. The setup command for PATH #
12 | # works with the Bash shell (the Mac OS X default). #
13 | # #
14 | # Setup: #
15 | # $ cd ~/apps/tree #
16 | # $ chmod u+x tree.sh #
17 | # $ ln -s ~/apps/tree/tree.sh ~/bin/tree #
18 | # $ echo "PATH=~/bin:\${PATH}" >> ~/.profile #
19 | # #
20 | # Usage: #
21 | # $ tree [directory] #
22 | # #
23 | # Examples: #
24 | # $ tree #
25 | # $ tree /etc/opt #
26 | # $ tree .. #
27 | # #
28 | # Public Domain Software -- Free to Use as You Like #
29 | # http://www.centerkey.com/tree - By Dem Pilafian #
30 | #######################################################
31 |
32 | echo
33 | if [ "$1" != "" ] #if parameter exists, use as base folder
34 | then cd "$1"
35 | fi
36 | pwd
37 | ls -R | grep ":$" | \
38 | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -e 's/^/ /' -e 's/-/|/'
39 | # 1st sed: remove colons
40 | # 2nd sed: replace higher level folder names with dashes
41 | # 3rd sed: indent graph three spaces
42 | # 4th sed: replace first dash with a vertical bar
43 | if [ `ls -F -1 | grep "/" | wc -l` = 0 ] # check if no folders
44 | then echo " -> no sub-directories"
45 | fi
46 | echo
47 | exit
48 |
--------------------------------------------------------------------------------
/automation/misc/uninstall_all_gems:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | gems = `gem list --local`.chomp.split("\n")
4 | puts gems
5 |
--------------------------------------------------------------------------------
/automation/misc/uninstall_all_gems.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | expression = Regexp.new(/(.*)\s(\(.*\))/)
4 | gems = `gem list --local`.split("\n")
5 | gems = gems.select{|item| expression =~ item}
6 | other_gems = gems.map{|item| expression.match(item)[1]}
7 |
8 | puts other_gems
9 |
--------------------------------------------------------------------------------
/automation/misc/uninstall_utilities:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require 'fileutils'
3 |
4 | items_to_remove = %w{Library .git .gitignore bin/brew README.md}
5 | if (system("brew --prefix"))
6 | puts "Uninstalling Brew"
7 | brew = `brew --prefix`.chomp
8 | cellar = File.join(brew,'Cellar')
9 | FileUtils.rm_r(cellar,:verbose => true) if (File.exists?(cellar))
10 | `brew prune`
11 | items_to_remove.map{|item| File.join(brew,item)}.select{|item| File.exists?(item)}.each do|item|
12 | FileUtils.rm_r(item,:verbose => true)
13 | end
14 | else
15 | puts "Brew is not installed"
16 | end
17 |
18 | puts "Uninstalling RVM" unless(system("rvm implode"))
19 |
--------------------------------------------------------------------------------
/automation/misc/yumlme:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | class File
4 | class << self
5 | def read_lines(file)
6 | contents = nil
7 |
8 | File.open(file, 'r') do |file|
9 | file.each do |line|
10 | yield line
11 | end
12 | end
13 | contents.to_a
14 | end
15 | end
16 | end
17 |
18 | def build_yuml_url(yuml_markup)
19 | "http://yuml.me/diagram/scruffy;dir:TB;/class/#{yuml_markup}.svg"
20 | end
21 |
22 | def draw(diagram)
23 | yuml_markup = read_yuml_file(diagram)
24 | url = build_yuml_url(yuml_markup)
25 | system("open '#{url}'")
26 | end
27 |
28 | def read_yuml_file(file_name)
29 | contents = []
30 | File.read_lines(file_name) do |line|
31 | contents << line.chomp
32 | end
33 | contents = contents.join(',')
34 | contents
35 | end
36 |
37 | def pick_yuml_file
38 | diagrams = Dir.glob("**/*.yuml")
39 |
40 | exit if (diagrams.count == 0)
41 |
42 | return diagrams[0] if (diagrams.count == 1)
43 |
44 | diagrams.each_with_index do |diagram,index|
45 | puts "#{index+1} - #{File.basename(diagram)} - (#{diagram})"
46 | end
47 | puts "\r\nPick a diagram"
48 |
49 | index = readline.chomp.to_i
50 | diagram = diagrams[index - 1]
51 | end
52 |
53 | def yuml_file
54 | return ARGV[0] if ARGV.length > 0
55 | return pick_yuml_file
56 | end
57 |
58 | draw yuml_file
59 |
--------------------------------------------------------------------------------
/automation/mysql/mysql_start.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | mysql.server start
4 |
--------------------------------------------------------------------------------
/automation/mysql/setup.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | UNSET TMPDIR
4 | mysql_install_db --verbose --user=`whoami` --basedir="$(brew --prefix mysql)" --datadir=/usr/local/var/mysql --tmpdir=/tmp
5 |
--------------------------------------------------------------------------------
/automation/notmuch/mutt_notmuch:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require 'digest/sha1'
4 | require 'optparse'
5 | require 'fileutils'
6 |
7 | class Hasher
8 | def initialize
9 | @hasher = Digest::SHA1.new
10 | end
11 |
12 | def get_email_hash(file_name)
13 | @hasher.hexdigest(IO.read(file_name))
14 | end
15 | end
16 |
17 | def build_results_folder(results_path)
18 | FileUtils.rm_rf(results_path)
19 | FileUtils.mkdir_p(results_path)
20 |
21 | %w/cur new/.each do |folder|
22 | combined_path = File.join(results_path, folder)
23 | FileUtils.mkdir_p(combined_path)
24 | end
25 | end
26 |
27 | def read_line(message)
28 | print "Query:"
29 | STDIN.gets.chomp
30 | end
31 |
32 | def get_unique_files(files)
33 | hasher = Hasher.new
34 | messages = {}
35 | files.each do |file|
36 | hash = hasher.get_email_hash(file)
37 | messages[hash] = file
38 | end
39 | messages.values
40 | end
41 |
42 | def get_matching_files(query)
43 | files = `notmuch search --output=files #{query}`
44 | files.split("\n")
45 | end
46 |
47 | def sym_link(files, target_path)
48 | files.each do |file|
49 | system("ln -s '#{file}' #{target_path}")
50 | end
51 | end
52 |
53 | def run(results_path)
54 | build_results_folder(results_path)
55 | query = read_line("Search Phrase?")
56 | files = get_matching_files(query)
57 | unique_files = get_unique_files(files)
58 | sym_link(unique_files, "#{results_path}/cur/")
59 | end
60 |
61 | def parse_arguments
62 | OptionParser.new do|options|
63 | options.banner = "Usage is: mutt_not_much [RESULTS_PATH]"
64 | end.parse!
65 |
66 | path = ARGV.length == 0 ? "/tempfiles/notmuch_search_results" : ARGV[0]
67 | end
68 |
69 |
70 |
71 | run parse_arguments
72 |
--------------------------------------------------------------------------------
/automation/osx/airport:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport $*
4 |
--------------------------------------------------------------------------------
/automation/rvm/rvm_configure_vim_irb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | gems_to_install="interactive_editor awesome_print"
3 | rubies=($(rvm list strings| tr " " "\n"))
4 |
5 | for the_ruby in ${rubies[@]}
6 | do
7 | rvm $the_ruby@global gem install $gems_to_install
8 | done
9 |
10 |
--------------------------------------------------------------------------------
/automation/rvm/rvm_gem_for_all_rubies:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | rubies=($(rvm list strings| tr " " "\n"))
4 |
5 | for the_ruby in ${rubies[@]}
6 | do
7 | rvm $the_ruby@global gem $1 $2
8 | done
9 |
10 |
--------------------------------------------------------------------------------
/automation/rvm/rvm_install:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | install_rvm()
4 | {
5 | if [ ! -x ~/.rvm ]; then
6 | mkdir -p ~/.rvm/gemsets
7 | bash -s stable --ruby < <(curl -L https://get.rvm.io)
8 | fi
9 | source $HOME/.rvm/scripts/rvm
10 | rvm reload
11 | rvm uninstall default
12 | cp -f ~/repositories/developwithpassion/devtools/shared/dotfiles/rvm/global.gems ~/.rvm/gemsets/
13 | }
14 |
15 | install_rvm
16 | ./rvm_install_some_rubies
17 |
--------------------------------------------------------------------------------
/automation/rvm/rvm_install_some_rubies:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | install_some_rubies()
4 | {
5 | source $HOME/.rvm/scripts/rvm
6 | rvm install ruby-1.9.3-p385
7 | rvm install ruby-2.0.0
8 | rvm --default ruby-2.0.0
9 | rvm system
10 | }
11 |
12 | install_some_rubies
13 |
--------------------------------------------------------------------------------
/automation/rvm/rvm_uninstall_all_gemsets:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | expression = /.*(ruby.*\s)\[/
4 | items = `rvm list gemsets`.chomp.split("\n")
5 | items = items.select{|item| expression =~ item}
6 | items = items.map{|item| expression.match(item)[1]}
7 |
8 | items.each do|item|
9 | system "rvm gemset delete #{item}"
10 | end
11 |
12 |
13 |
--------------------------------------------------------------------------------
/automation/rvm/rvm_util.rb:
--------------------------------------------------------------------------------
1 | def gemset_name(gemset)
2 | gemset = gemset.gsub(/[\/\-\s]/,'_')
3 | gemset = gemset.gsub(/_{2,}/,'_')
4 | gemset = gemset.slice(1, gemset.length)
5 | gemset.downcase
6 | end
7 |
--------------------------------------------------------------------------------
/automation/rvm/rvmgsc:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require_relative 'rvm_util.rb'
4 |
5 | def rubies
6 | ruby_pattern = /\s*(ruby-.*)\s\[/
7 |
8 | rubies = `rvm list`
9 | rubies = rubies.split("\n")
10 | rubies = rubies.select{ |item| ruby_pattern =~ item }
11 | rubies = rubies.map{ |item| ruby_pattern.match(item)[1] }
12 | rubies.sort! { |left, right| right <=> left }
13 |
14 | rubies
15 | end
16 |
17 | def pick_ruby_version
18 | puts "Which Ruby Version?"
19 | versions = rubies
20 | versions.each_with_index do |version, index|
21 | puts "\t#{index + 1} - #{version}"
22 | end
23 | puts "Which?: "
24 | version = gets.chomp.to_i
25 | version = version - 1
26 | versions[version]
27 | end
28 |
29 | def ruby_version
30 | return pick_ruby_version if ARGV.length == 0
31 |
32 | version = ARGV[0]
33 | full_version = "ruby-#{version}"
34 |
35 | return full_version
36 | end
37 |
38 | gemset = gemset_name(Dir.pwd)
39 |
40 | `echo #{ruby_version} > .ruby-version`
41 | `echo #{gemset} > .ruby-gemset`
42 |
--------------------------------------------------------------------------------
/automation/rvm/rvmgsd:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require_relative 'rvm_util.rb'
3 |
4 | folder = File.join(Dir.pwd, ARGV[0])
5 | gemset = gemset_name(folder)
6 | system("rvm gemset delete #{gemset}")
7 |
--------------------------------------------------------------------------------
/automation/tasks/tasks:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require 'date'
4 |
5 | system("vim","/to_backup/tasks/#{Date.today.year}")
6 |
7 |
--------------------------------------------------------------------------------
/automation/testing/rproofs:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | if [ $# -gt 0 ]; then
6 | filename=$1
7 | else
8 | filename='proofs/suite.rb'
9 | fi
10 |
11 | command="ruby "
12 |
13 | RAILS_ENV=development $command $filename
14 |
--------------------------------------------------------------------------------
/automation/testing/rspecs:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | set -e
4 |
5 | need_rails=1
6 |
7 | if [ $# -gt 0 ]; then
8 | filename=$1
9 |
10 | grep_filename=`echo $1 | sed 's/:.*$//g'`
11 |
12 | (set +e; grep -r 'spec_helper' $grep_filename) > /dev/null
13 | if [ $? -eq 1 ]; then
14 | need_rails=''
15 | fi
16 | else
17 | filename='spec'
18 | fi
19 |
20 | command='rspec'
21 |
22 | if [ $need_rails ]; then
23 | command="ruby -S bundle exec $command"
24 | fi
25 |
26 | RAILS_ENV=development $command $filename
27 |
--------------------------------------------------------------------------------
/automation/timers/.gitignore:
--------------------------------------------------------------------------------
1 | timer
2 |
--------------------------------------------------------------------------------
/automation/timers/pomodoro:
--------------------------------------------------------------------------------
1 | timerm 20
2 |
--------------------------------------------------------------------------------
/automation/timers/timer.erb:
--------------------------------------------------------------------------------
1 | <%=
2 | if configatron.core.is_mingw
3 | "start"
4 | else
5 | "open"
6 | end%> http://e.ggtimer.com/$*
7 |
--------------------------------------------------------------------------------
/automation/timers/timerh:
--------------------------------------------------------------------------------
1 | timer $*hour
2 |
--------------------------------------------------------------------------------
/automation/timers/timerm:
--------------------------------------------------------------------------------
1 | timer $*min
2 |
--------------------------------------------------------------------------------
/automation/vim/.gitignore:
--------------------------------------------------------------------------------
1 | twitvim
2 | vim_plugin_update
3 |
--------------------------------------------------------------------------------
/automation/vim/jp_cygwin_vim_build.sh:
--------------------------------------------------------------------------------
1 | #!/usr/bin/bash
2 | hg pull
3 | hg update
4 | hg merge
5 | hg commit
6 |
7 | make uninstall
8 |
9 | ./configure --enable-rubyinterp=dynamic --enable-cscope --with-features=huge --with-compiledby=JP --enable-fontset --enable-gui
10 | make && make install
11 |
--------------------------------------------------------------------------------
/automation/vim/twitvim.mustache:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | twitter_user = ARGV[0]
4 |
5 | `cp {{{my.twitter_token_folder}}}/#{twitter_user}.twitvim.token {{{core.home}}}/.twitvim.token`
6 |
--------------------------------------------------------------------------------
/automation/vim/update_vim_plugins:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | . ~/.bash_source_rvm
4 |
5 | devtools_sync
6 | rvm use system
7 | vim_plugin_update
8 |
9 | devtools_sync
10 | # . ~/.bash_source_rvm
11 | # rvm use default
12 | # cd ~/repositories/developwithpassion/devtools
13 | # rvm 1.9.3@devtools
14 | # dwp_expand
15 |
--------------------------------------------------------------------------------
/automation/vim/vim_plugin_update.erb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require 'fileutils'
3 | require 'open-uri'
4 |
5 |
6 | @bundles = {
7 | :altercation => %w[vim-colors-solarized],
8 | :benmills => %w[vimux],
9 | :developwithpassion => %w[TwitVim],
10 | :ecomba => %w[vim-ruby-refactoring],
11 | :ervandew => %w[supertab],
12 | :garbas => %w[vim-snipmate],
13 | :honza => %w[vim-snippets],
14 | :kana => %w[vim-fakeclip],
15 | :kchmck => %w[vim-coffee-script],
16 | :kien => %w[ctrlp.vim],
17 | :MarcWeber => %w[vim-addon-mw-utils],
18 | :scrooloose => %w[syntastic nerdtree],
19 | :jistr => %w[vim-nerdtree-tabs],
20 | :sukima => %w[xmledit],
21 | :timcharper => %w[textile.vim],
22 | :tomtom => %w[tcomment_vim tlib_vim],
23 | :tpope => %w[vim-cucumber vim-fugitive vim-git vim-haml vim-markdown vim-rails vim-surround vim-vividchalk vim-endwise],
24 | "vim-ruby" => %w[vim-ruby]
25 | }
26 |
27 | @vim_org_scripts = [
28 | ["IndexedSearch", "7062", "plugin"],
29 | ["jquery","12276", "syntax"],
30 | ["autotag","12473", "plugin"],
31 | ["DirDiff","13435","plugin"]
32 | ]
33 |
34 | <% if not configatron.core.is_cygwin %>
35 | # @bundles[:wincent] = %w[Command-T]
36 | <% end %>
37 |
38 | @git_bundles = []
39 |
40 | @bundles.each do|git_user,repos|
41 | repos.each do|repo_name|
42 | @git_bundles << "http://github.com/#{git_user}/#{repo_name}.git"
43 | end
44 | end
45 |
46 | @zips = [
47 | ["vimgrep", "3407"],
48 | ["bufexplorer", "12904"],
49 | ["dbext", "13339"]
50 | ]
51 |
52 |
53 | @bundles_to_ignore = %w[developwithpassion]
54 |
55 |
56 | bundles_dir = File.join(ENV["HOME"],%w[repositories developwithpassion devtools shared dotfiles vim .vim_runtime bundle])
57 |
58 | def remove_all_bundles
59 | puts "Removing all bundles in #{Dir.pwd}"
60 | Dir["*"].each {|bundle_folder| FileUtils.rm_rf bundle_folder unless @bundles_to_ignore.include?(bundle_folder)}
61 | end
62 |
63 | def unpack_bundles
64 | @git_bundles.each do |url|
65 | dir = url.split('/').last.sub(/\.git$/, '')
66 | puts " Unpacking #{url} into #{dir}"
67 | `git clone #{url} #{dir}`
68 | `rm -rf #{File.join(dir, ".git")}`
69 | end
70 | end
71 |
72 | def build_vim_org_script_link(script_id)
73 | "http://www.vim.org/scripts/download_script.php?src_id=#{script_id}"
74 | end
75 |
76 | def download_scripts
77 | @vim_org_scripts.each do |name, script_id, script_type|
78 | puts " Downloading #{name}"
79 | local_file = File.join(name, script_type, "#{name}.vim")
80 | FileUtils.mkdir_p(File.dirname(local_file))
81 | File.open(local_file, "w") do |file|
82 | file << open(build_vim_org_script_link(script_id)).read
83 | end
84 | end
85 | end
86 |
87 | def create_unzip_command_for(script_id)
88 | command = "curl #{build_vim_org_script_link(script_id)}"
89 | <% if configatron.core.is_windows %>
90 | command += " > blah.zip"
91 | <% else %>
92 | command+= " | tar xv"
93 | <% end %>
94 | end
95 |
96 | def download_and_unpack_zips
97 | @zips.each do|name,script_id|
98 | FileUtils.mkdir_p(name)
99 | Dir.chdir(name) do
100 | `#{create_unzip_command_for(script_id)}`
101 | <% if configatron.core.is_windows %>
102 | `unzip blah.zip`
103 | `rm blah.zip`
104 | <% end %>
105 | end
106 | end
107 | end
108 |
109 | def cleanup_doc_file_issues
110 | file = File.join(%w[dbext doc dbext.txt])
111 | contents = ""
112 | File.open(file,'r') do |original_file|
113 | contents = original_file.readlines
114 | end
115 | FileUtils.rm_f file
116 | File.open(file,'w') do |updated_file|
117 | contents.each do|line|
118 | updated_file.puts line.gsub(/\*\/MyProjectDir\/\*/,'MyProjectDir')
119 | end
120 | end
121 | end
122 |
123 | Dir.chdir(bundles_dir) do
124 | remove_all_bundles
125 | unpack_bundles
126 | download_scripts
127 | download_and_unpack_zips
128 | cleanup_doc_file_issues
129 | end
130 |
--------------------------------------------------------------------------------
/automation/visual_studio/.gitignore:
--------------------------------------------------------------------------------
1 | launch_vs_solution
2 | sln
3 |
--------------------------------------------------------------------------------
/automation/visual_studio/2010.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 11.00
3 | # Visual Studio 2010
4 | Global
5 | GlobalSection(SolutionProperties) = preSolution
6 | HideSolutionNode = FALSE
7 | EndGlobalSection
8 | EndGlobal
9 |
--------------------------------------------------------------------------------
/automation/visual_studio/launch_vs_solution.mustache:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | {{ my.windows.paths.unix_style.devenv }} $*
4 |
--------------------------------------------------------------------------------
/automation/visual_studio/sln.mustache:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | def launch(solution)
4 | {{# core.is_cygwin}}
5 | system("launch_vs_solution #{solution}")
6 | {{/core.is_cygwin}}
7 | {{# core.is_mingw}}
8 | `start {{{my.windows.paths.win_style.devenv.escape}}} #{solution}`
9 | {{/core.is_mingw}}
10 | end
11 |
12 | solutions = Dir.glob("**/*.sln")
13 |
14 | if (solutions.count == 1)
15 | launch(solutions[0])
16 | exit
17 | end
18 |
19 | solutions.each_with_index do |solution,index|
20 | puts "#{index+1} - #{File.basename(solution)} - (#{solution})"
21 | end
22 | puts "\r\nPick a solution"
23 |
24 | index = readline.chomp
25 | launch(solutions[index.to_i - 1]) if index
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/automation/visual_studio/vssol:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require 'fileutils'
4 | require File.join(File.dirname(__FILE__),'..','home.rb')
5 |
6 | FileUtils.cp(File.join(Home::AUTOMATION_FOLDER,'visual_studio','2010.sln'),"#{ARGV[0]}.sln")
7 |
8 |
--------------------------------------------------------------------------------
/automation/vmware/startvm:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | vms = Dir.glob("/to_backup/virtual_machines/vms/*.vmwarevm").to_a
4 |
5 | puts "Choose a vm:"
6 |
7 | vms.each_with_index{|vm,index| puts "#{index + 1} - #{File.basename(vm,File.extname(vm))}"}
8 | vm = gets.chomp.strip
9 | exit if vm == ''
10 | vm = vm.to_i - 1
11 |
12 | `open #{File.expand_path(vms[vm])}`
13 |
--------------------------------------------------------------------------------
/create_sym_links:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | function steamLinks
4 | {
5 | ln -s /to_backup/steam ~/Library/Application\ Support/Steam
6 | }
7 |
8 | function rootLinks
9 | {
10 | sudo ln -s /Volumes/machd/tempfiles /tempfiles
11 | sudo ln -s /Volumes/machd/to_backup /to_backup
12 | }
13 |
14 | function userLinks
15 | {
16 | ln -s /Volumes/machd/to_backup/repositories ~/repositories
17 | ln -s /tempfiles/documents ~/Documents
18 | ln -s /tempfiles/downloads ~/Downloads
19 | ln -s ~/repositories/github/oh-my-zsh ~/.oh-my-zsh
20 | }
21 |
22 | steamLinks
23 | rootLinks
24 | userLinks
25 |
--------------------------------------------------------------------------------
/dev_run:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require 'bundler'
4 | Bundler.setup
5 |
6 | require 'expansions'
7 |
8 | Expansions::CLIInterface.run([])
9 |
--------------------------------------------------------------------------------
/expansions/config_cygwin:
--------------------------------------------------------------------------------
1 | configatron.configure_from_hash :core =>{
2 | :launcher => 'cygstart',
3 | :editor => 'vi',
4 | :is_windows => true,
5 | :is_linux => false,
6 | :is_cygwin => true,
7 | :is_mingw => false,
8 | :is_osx => false,
9 | :vi => '/usr/local/bin/vim.exe',
10 | :vim => 'vim',
11 | :term => 'linux'
12 | },
13 | :git => {
14 | :autocrlf => 'input',
15 | :merge_tool => 'bc3',
16 | :diff_tool => 'bc3',
17 | :editor => 'vi',
18 | },
19 | :vim => {
20 | :environment => 'windows'
21 | }
22 |
--------------------------------------------------------------------------------
/expansions/config_linux:
--------------------------------------------------------------------------------
1 | configatron.configure_from_hash :core =>{
2 | :launcher => 'start',
3 | :editor => 'vi',
4 | :is_windows => false,
5 | :is_cygwin => false,
6 | :is_linux => true,
7 | :is_mingw => false,
8 | :is_osx => false,
9 | :vi => 'vim',
10 | :vim => 'vim',
11 | :term => 'linux'
12 | },
13 | :git => {
14 | :autocrlf => 'input',
15 | :merge_tool => 'vimdiff',
16 | :diff_tool => 'vimdiff',
17 | :editor => 'vi',
18 | },
19 | :vim => {
20 | :environment => 'linux'
21 | }
22 |
--------------------------------------------------------------------------------
/expansions/config_mingw:
--------------------------------------------------------------------------------
1 | configatron.configure_from_hash :core =>{
2 | :launcher => '',
3 | :vim => "'start C:/utils/vim/vim73/gvim.exe'",
4 | :editor => 'vi',
5 | :is_windows => true,
6 | :is_linux => false,
7 | :is_cygwin => false,
8 | :is_mingw => true,
9 | :is_osx => false,
10 | :vi => "/c/utils/vim/vim73/vim.exe",
11 | :term => 'xterm-color'
12 | },
13 | :git => {
14 | :autocrlf => 'true',
15 | :merge_tool => 'gvimdiff', #bc3 for beyond compare
16 | :diff_tool => 'gvimdiff', #bc3 for beyond compare
17 | :editor => 'C:/utils/vim/vim73/vim.exe',
18 | },
19 | :vim => {
20 | :environment => 'windows'
21 | }
22 |
--------------------------------------------------------------------------------
/expansions/config_osx:
--------------------------------------------------------------------------------
1 | configatron.configure_from_hash :core =>{
2 | :launcher => '',
3 | :vim => 'mvim',
4 | :editor => 'mvim -v -f',
5 | :is_windows => false,
6 | :is_cygwin => false,
7 | :is_linux => false,
8 | :is_mingw => false,
9 | :is_osx => true,
10 | :vi => "'mvim -v'",
11 | :term => 'xterm-color'
12 | },
13 | :git => {
14 | :autocrlf => 'input',
15 | :merge_tool => 'vimdiff',
16 | :diff_tool => 'vimdiff',
17 | :editor => 'vi'
18 | },
19 | :vim => {
20 | :environment => 'mac'
21 | }
22 |
--------------------------------------------------------------------------------
/expansions/cygwin.rb:
--------------------------------------------------------------------------------
1 | expand do
2 | before do
3 | load %w[automation autohotkey ahk_stop].as_glob_pattern
4 | end
5 |
6 | copy_to '/c/Windows/System32/drivers/etc' do
7 | contents %w[shared hosts].as_glob_pattern
8 | end
9 |
10 | shared_contents = %w[zsh rvm].map{|item| ['shared','dotfiles',item].as_glob_pattern}
11 |
12 | copy_to configatron.core.home do
13 | all_contents_in shared_contents
14 | end
15 |
16 |
17 | partials = glob(%w[windows autohotkey partial_*.ahk].as_glob_pattern)
18 | headers = glob(%w[windows autohotkey merge_header_*.ahk].as_glob_pattern)
19 | footers = glob(%w[windows autohotkey merge_footer_*.ahk].as_glob_pattern)
20 |
21 | log "There are #{partials.count} autohotkey scripts"
22 |
23 | partials.each do|partial|
24 | merge_to partial.gsub("partial_","") do
25 | dont_read_original_file_contents
26 | headers.each{|header| add_before_original_contents(header)}
27 | add_before_original_contents(partial)
28 | footers.each{|footer| add_after_original_contents(footer)} unless /caps_as_windows_key/ =~ partial
29 | end
30 | end
31 |
32 | cleanup do
33 | FileUtils.rm_rf [configatron.core.home, %w[.vim_runtime bundle developwithpassion snippets]].as_glob_pattern
34 |
35 | launch_file = %w[windows autohotkey launch_ahk].as_glob_pattern
36 | FileUtils.rm_rf launch_file
37 |
38 | File.open(launch_file,'w') do|file|
39 | file << "#!/bin/bash\n"
40 | glob(%w[windows autohotkey ahk*.ahk].as_glob_pattern) do|ahk_script|
41 | start_command = configatron.core.is_cygwin ? 'cygstart' : 'start'
42 | file << "#{start_command} #{File.expand_path(ahk_script)}\n"
43 | end
44 | end
45 | end
46 | end
47 |
--------------------------------------------------------------------------------
/expansions/linux.rb:
--------------------------------------------------------------------------------
1 | expand do
2 | shared_contents = %w[zsh rvm].map{|item| ['shared','dotfiles',item].as_glob_pattern}
3 |
4 | copy_to configatron.core.home do
5 | all_contents_in shared_contents
6 | end
7 |
8 | end
9 |
--------------------------------------------------------------------------------
/expansions/mingw.rb:
--------------------------------------------------------------------------------
1 | expand do
2 | load %w[expansions cygwin.rb].as_glob_pattern
3 |
4 | copy_to [configatron.my.windows.paths.unix_style.mingw,%w[msys 1.0]].as_glob_pattern do
5 | contents %w[windows mingw].as_glob_pattern
6 | end
7 |
8 | copy_to configatron.core.home do
9 | contents %w[windows viemu].as_glob_pattern
10 | end
11 |
12 | snippets_glob_pattern = %w/shared dotfiles vim .vim_runtime bundle vim-snippets snippets *.snippets/
13 | snippets_glob_pattern = snippets_glob_pattern.as_glob_pattern
14 | snipmate_snippets = glob(snippets_glob_pattern)
15 |
16 | develop_with_passion_snippet_glob_pattern = %w/shared dotfiles vim .vim_runtime bundle developwithpassion snippets *.snippets/
17 | develop_with_passion_snippet_glob_pattern = develop_with_passion_snippet_glob_pattern.as_glob_pattern
18 | develop_with_passion_snippets = glob(develop_with_passion_snippet_glob_pattern)
19 |
20 | snipmate_snippets.concat(develop_with_passion_snippets).each do|file|
21 | merge_to [configatron.core.home, %w[.vim_runtime bundle vim-snippets snippets],File.basename(file)].as_glob_pattern do
22 | dont_read_original_file_contents
23 | add_after_original_contents file
24 | end
25 | end
26 |
27 | fix_line_endings_for [configatron.core.home, %w[.bash*]].as_glob_pattern
28 | fix_line_endings_for %w[automation git *.sh].as_glob_pattern
29 | end
30 |
--------------------------------------------------------------------------------
/expansions/osx.rb:
--------------------------------------------------------------------------------
1 | expand do
2 | shared_contents = %w[zsh rvm].map{|item| ['shared','dotfiles',item].as_glob_pattern}
3 |
4 | copy_to configatron.core.home do
5 | all_contents_in shared_contents
6 | end
7 |
8 | brew_exists = system("brew --prefix")
9 | if brew_exists
10 | copy_to [`brew --prefix`.chomp,'Library'].as_glob_pattern do
11 | contents ['mac','brew'].as_glob_pattern
12 | end
13 | end
14 |
15 | end
16 |
--------------------------------------------------------------------------------
/expansions/task_purge_items.rb:
--------------------------------------------------------------------------------
1 | expand do
2 | register_folder_to_purge '.vim_runtime'.as_home_file
3 | end
4 |
--------------------------------------------------------------------------------
/expansions/task_register_executable_paths.rb:
--------------------------------------------------------------------------------
1 | expand do
2 | register_executable %w[automation vim vim_plugin_update].as_glob_pattern
3 | register_executable %w[automation vim twitvim].as_glob_pattern
4 | register_executable %w[automation autohotkey ahk_start].as_glob_pattern
5 | register_executable %w[automation timers timer].as_glob_pattern
6 | register_executable %w[automation perl ack].as_glob_pattern
7 | register_executable %w[automation visual_studio sln].as_glob_pattern
8 | register_executable %w[automation visual_studio launch_vs_solution].as_glob_pattern
9 |
10 | globs_to_register = [
11 | %w[automation divvy divvy].as_glob_pattern,
12 | %w[automation git *.sh].as_glob_pattern
13 | ]
14 |
15 | globs_to_register.each do|item|
16 | glob(item){|file| register_executable file}
17 | end
18 |
19 | end
20 |
--------------------------------------------------------------------------------
/expansions/task_shared_copy.rb:
--------------------------------------------------------------------------------
1 | expand do
2 | common_folders = %w[bash goobook git ruby vim vimperator offlineimap tmux notmuch mutt msmtp urlview gnupg].map{|item| [%w[shared dotfiles],item].as_glob_pattern}
3 |
4 | copy_to configatron.core.home do
5 | all_contents_in common_folders
6 | end
7 | end
8 |
--------------------------------------------------------------------------------
/jp.settings:
--------------------------------------------------------------------------------
1 | class String
2 | def escape
3 | self.gsub(/\\/,'/')
4 | end
5 | end
6 |
7 | configs = {
8 | :my =>
9 | {
10 | :unix_style_devtools_root => '~/repositories/developwithpassion/devtools',
11 | :twitter_token_folder => [configatron.core.home,%w[repositories developwithpassion twitter_tokens]].as_glob_pattern,
12 | :ssh_folder => [configatron.core.home, %w[repositories developwithpassion ssh]].as_glob_pattern,
13 | :main_ssh_key => 'developwithpassion',
14 | :windows =>
15 | {
16 | :paths =>
17 | {
18 | :win_style =>
19 | {
20 | :devenv => 'C:\utils\vs2012\Common7\IDE\devenv.exe',
21 | :ahk_spy => 'C:\utils\autohotkey\AU3_Spy.exe',
22 | :process_explorer => 'C:\utils\sysinternals\procexp.exe',
23 | :divvy => 'C:\utils\divvy\Divvy.exe',
24 | :conemu => 'C:\utils\conemu\ConEmu.exe',
25 | :camrec => 'C:\utils\camtasia_studio\CamRecorder.exe',
26 | :msys => 'C:\utils\mingw\msys\1.0\msys.bat',
27 | :cygwin => 'C:\utils\cygwin\cygwin.bat',
28 | :ahk_scripts => 'C:\users\jp\repositories\developwithpassion\devtools\windows\autohotkey\ahk*.ahk',
29 | },
30 | :unix_style =>
31 | {
32 | :mingw => '/c/utils/mingw',
33 | :vim => '/c/utils/vim/vim73',
34 | :devenv => '/c/utils/vs2012/Common7/IDE/devenv.exe',
35 | :beyond_compare3 => '/C/utils/beyond_compare_3/BComp.exe',
36 | }
37 | }
38 | },
39 | :github =>
40 | {
41 | :email => 'jp@developwithpassion.com',
42 | :full_name => 'Jean-Paul S. Boodhoo',
43 | :user => 'developwithpassion'
44 | }
45 | }
46 | }
47 |
48 | configatron.configure_from_hash configs
49 |
50 | expand do
51 | copy_to [configatron.core.home,'.ssh'].as_glob_pattern do
52 | contents configatron.my.ssh_folder
53 | end
54 | end
55 |
56 | expand do
57 | specific_folders = [configatron.core.home,%w[repositories developwithpassion mac_library_preferences]].as_glob_pattern
58 | copy_to configatron.core.home do
59 | contents specific_folders
60 | end
61 | end if configatron.core.is_osx
62 |
--------------------------------------------------------------------------------
/jp_cygwin.settings:
--------------------------------------------------------------------------------
1 | configs = {
2 | :my =>
3 | {
4 | :unix_style_devtools_root => '~/repositories/developwithpassion/devtools',
5 | :twitter_token_folder => [configatron.core.home,%w[repositories developwithpassion twitter_tokens]].as_glob_pattern,
6 | :ssh_folder => [configatron.core.home, %w[repositories developwithpassion ssh]].as_glob_pattern,
7 | :main_ssh_key => 'developwithpassion',
8 | :windows =>
9 | {
10 | :paths =>
11 | {
12 | :win_style =>
13 | {
14 | :devenv => 'C:\utils\vs2010\Common7\IDE\devenv.exe',
15 | :ahk_spy => 'C:\utils\autohotkey\AU3_Spy.exe',
16 | :process_explorer => 'C:\utils\sysinternals\procexp.exe',
17 | :divvy => 'C:\utils\divvy\Divvy.exe',
18 | :camrec => 'C:\utils\camtasia_studio\CamRecorder.exe',
19 | :msys => 'C:\utils\mingw\msys\1.0\msys.bat',
20 | :cygwin => 'C:\utils\cygwin\cygwin.bat',
21 | :ahk_scripts => 'C:\users\jp\repositories\developwithpassion\devtools\windows\autohotkey\ahk*.ahk',
22 | },
23 | :unix_style =>
24 | {
25 | :mingw => '/c/utils/mingw',
26 | :vim => '/c/utils/vim/vim73',
27 | :devenv => '/c/utils/vs2010/Common7/IDE/devenv.exe'
28 | }
29 | }
30 | },
31 | :github =>
32 | {
33 | :email => 'jp@developwithpassion.com',
34 | :full_name => 'Jean-Paul S. Boodhoo',
35 | :user => 'developwithpassion'
36 | }
37 | }
38 | }
39 |
40 | configatron.configure_from_hash configs
41 |
42 | expand do
43 | copy_to [configatron.core.home,'.ssh'].as_glob_pattern do
44 | contents configatron.my.ssh_folder
45 | end
46 | end
47 |
48 | expand do
49 | specific_folders = [configatron.core.home,%w[repositories developwithpassion mac_library_preferences]].as_glob_pattern
50 | copy_to configatron.core.home do
51 | contents specific_folders
52 | end
53 | end if configatron.core.is_osx
54 |
--------------------------------------------------------------------------------
/mac/apps_to_install_on_new_image.markdown:
--------------------------------------------------------------------------------
1 | #Utilities
2 |
3 | * [PDFPen](http://smilesoftware.com/PDFpen/) - PDF Editing Software (great for digitally filling out documents)
4 | * [Growl](http://growl.cachefly.net/Growl-1.2.1.dmg) - Notifications
5 | * [DropBox](http://www.dropbox.com/)
6 | * epson printer software
7 | * [Kaleidoscope](http://www.kaleidoscopeapp.com/) - Great diff tool for OSX
8 | * [Quicksilver](http://github.com/downloads/tiennou/blacktree-alchemy/Quicksilver-b58-3841.tar.gz) - Keyboard junkie heaven!!
9 | * [Screenflow](http://www.telestream.net/screen-flow/overview.htm) - Screen recording software
10 | * [Divvy](http://mizage.com/) - Crazy simple window management tool
11 | * [MercuryMover](http://www.heliumfoot.com/mercurymover/) - Micro window level management tool
12 | * [TinkerTool](http://www.bresink.com/osx/TinkerTool.html) - Tweak your OS
13 |
14 | #Firefox
15 | * [DownThemAll](https://addons.mozilla.org/firefox/addon/201) - Download manager
16 | * [Firebug](http://www.getfirebug.com/) - Web Developer Debugging Tool
17 | * [LastPass](https://lastpass.com/) - Password manager
18 | * [Pentadactyl](http://dactyl.sourceforge.net/pentadactyl/) - Vim for firefox
19 | * [Xmarks](http://www.xmarks.com/) - Cross browser/machine bookmark syncing (plays really well with vimperator :bmarks & :bma commands)
20 | * [Web Developer](https://addons.mozilla.org/firefox/addon/60) - Great web development plugin
21 |
22 |
--------------------------------------------------------------------------------
/mac/brew/Formula/macvim.rb:
--------------------------------------------------------------------------------
1 | require 'formula'
2 |
3 | class Macvim < Formula
4 | head 'git://repo.or.cz/MacVim.git'
5 | homepage 'http://code.google.com/p/macvim'
6 |
7 | def configure_environment_variables
8 | # MacVim's Xcode project gets confused by $CC, disable it until someone
9 | # figures out why it fails
10 | ENV['CC'] = nil
11 | ENV['CFLAGS'] = nil
12 | ENV['CXXCFLAGS'] = nil
13 | end
14 |
15 | def package_with_features
16 | system "./configure",
17 | "--with-features=huge",
18 | "--enable-cscope",
19 | "--enable-perlinterp",
20 | "--enable-pythoninterp",
21 | "--enable-rubyinterp",
22 | "--enable-tclinterp"
23 | system "make"
24 | end
25 |
26 | def configure_vim_diff
27 | %w[mvimdiff mview mvimex].each do|f|
28 | (bin + f).make_symlink("#{bin}/mvim")
29 | end
30 | end
31 |
32 |
33 | def install
34 | configure_environment_variables
35 | package_with_features
36 |
37 | libexec.install "src/MacVim/build/Release/MacVim.app"
38 | inreplace "src/MacVim/mvim", /^# VIM_APP_DIR=\/Applications$/,
39 | "VIM_APP_DIR=#{libexec}"
40 | bin.install "src/MacVim/mvim"
41 |
42 | configure_vim_diff
43 |
44 | end
45 |
46 | def caveats
47 | "MacVim.app installed to #{libexec}"
48 | end
49 | end
50 |
51 |
--------------------------------------------------------------------------------
/mac/filezilla/filezilla_site_manager_entries.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | camspecialistsconnect.com
6 | 21
7 | 0
8 | 0
9 | camspeciali
10 | vegas
11 | 1
12 | 0
13 | MODE_DEFAULT
14 | 0
15 | Auto
16 | 0
17 | camspecialists.com
18 |
19 |
20 |
21 | 0camspecialists.com
22 |
23 |
24 | jpboodhoo.com
25 | 21
26 | 0
27 | 0
28 | jpboodhooco
29 | 2
30 | 0
31 | MODE_DEFAULT
32 | 0
33 | Auto
34 | 0
35 | jpboodhoo.com
36 |
37 | /Users/jp/repositories/developwithpassion/www.jpboodhoo.com/product/web.ui
38 | 1 0 8 httpdocs
39 | 1jpboodhoo.com
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/mac/spec_growl/green.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/mac/spec_growl/green.jpg
--------------------------------------------------------------------------------
/mac/spec_growl/growl.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 | require 'autotest-fsevent'
3 | require 'autotest/growl'
4 |
5 | AUTOTEST_IMAGE_PATH = File.dirname(File.symlink?(__FILE__) ? File.readlink(__FILE__) : File.expand_path(__FILE__))
6 | MATCH_PATTERN = /\d+\s.*examples?,\s\d+\s.*failures?(?:,\s\d+\s.*pending)?/
7 |
8 | module Autotest::Growl
9 | def self.display(results,image)
10 | growl_it :image => image, :results => results, :message => "Spec Results"
11 | end
12 |
13 | def self.get_result_image(output)
14 | if output =~ /[1-9]\sfailures?/ || output =~ /errors/
15 | item ="red"
16 | elsif output =~ /pending/
17 | item = "pending"
18 | else
19 | item = "green"
20 | end
21 | File.join(AUTOTEST_IMAGE_PATH,"#{item}.jpg")
22 | end
23 |
24 | Autotest.add_hook :ran_command do |autotest|
25 | filtered = autotest.results.grep(/\d+\s.*examples?/)
26 | output = filtered.empty? ? "errors" : filtered.last.slice(MATCH_PATTERN)
27 | display(output,get_result_image(output))
28 | end
29 |
30 | def self.growl_it (args)
31 | `growlnotify -n autotest --image #{args[:image]} -m #{args[:results].inspect} #{args[:message]}`
32 | end
33 |
34 | end
35 |
36 | Autotest.add_hook :initialize do |autotest|
37 | %w{.svn .hg .git vendor}.each {|exception| autotest.add_exception(exception)}
38 | end
39 |
--------------------------------------------------------------------------------
/mac/spec_growl/pending.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/mac/spec_growl/pending.jpg
--------------------------------------------------------------------------------
/mac/spec_growl/red.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/mac/spec_growl/red.jpg
--------------------------------------------------------------------------------
/mac/ssh.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Disabled
6 |
7 | Label
8 | com.openssh.sshd
9 | Program
10 | /usr/libexec/sshd-keygen-wrapper
11 | ProgramArguments
12 |
13 | /usr/sbin/sshd
14 | -i
15 |
16 | Sockets
17 |
18 | Listeners
19 |
20 | SockServiceName
21 | secret-ssh
22 | Bonjour
23 |
24 | secret-ssh
25 | sftp-ssh
26 |
27 |
28 |
29 | inetdCompatibility
30 |
31 | Wait
32 |
33 |
34 | StandardErrorPath
35 | /dev/null
36 | SHAuthorizationRight
37 | system.preferences
38 |
39 |
40 |
--------------------------------------------------------------------------------
/mac/terminal/Basic.terminal:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BackgroundColor
6 |
7 | YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
8 | AAGGoKMHCA9VJG51bGzTCQoLDA0OViRjbGFzc1xOU0NvbG9yU3BhY2VVTlNSR0KAAhAB
9 | TxAtMC4wMDU0MzQ3ODI2MDkgMC4wMDU0MzQ3ODI2MDkgMC4wMDU0MzQ3ODI2MDkA0hAR
10 | EhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXll
11 | ZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhPXGJkZpabpq+3usPV2N0AAAAAAAAB
12 | AQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA3w==
13 |
14 | Font
15 |
16 | YnBsaXN0MDDUAQIDBAUGGBlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
17 | AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QViRjbGFzc1ZOU05hbWVWTlNTaXplWE5TZkZs
18 | YWdzgAOAAiNALAAAAAAAABAQXURyb2lkU2Fuc01vbm/SExQVFlokY2xhc3NuYW1lWCRj
19 | bGFzc2VzVk5TRm9udKIVF1hOU09iamVjdF8QD05TS2V5ZWRBcmNoaXZlctEaG1Ryb290
20 | gAEIERojLTI3PEJLUllgaWttdniGi5afpqmyxMfMAAAAAAAAAQEAAAAAAAAAHAAAAAAA
21 | AAAAAAAAAAAAAM4=
22 |
23 | FontAntialias
24 |
25 | FontWidthSpacing
26 | 1.004032258064516
27 | ProfileCurrentVersion
28 | 2.0099999999999998
29 | TextBoldColor
30 |
31 | YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
32 | AAGGoKMHCA9VJG51bGzTCQoLDA0OViRjbGFzc1xOU0NvbG9yU3BhY2VVTlNSR0KAAhAB
33 | RjEgMSAxANIQERITWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVj
34 | dF8QD05TS2V5ZWRBcmNoaXZlctEXGFRyb290gAEIERojLTI3O0FIT1xiZGZtcn2GjpGa
35 | rK+0AAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAALY=
36 |
37 | TextColor
38 |
39 | YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
40 | AAGGoKMHCA9VJG51bGzTCQoLDA0OViRjbGFzc1xOU0NvbG9yU3BhY2VVTlNSR0KAAhAB
41 | RjEgMSAxANIQERITWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVj
42 | dF8QD05TS2V5ZWRBcmNoaXZlctEXGFRyb290gAEIERojLTI3O0FIT1xiZGZtcn2GjpGa
43 | rK+0AAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAALY=
44 |
45 | name
46 | Basic
47 | type
48 | Window Settings
49 |
50 |
51 |
--------------------------------------------------------------------------------
/mac/terminal/developwithpassion.terminal:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | BackgroundColor
6 |
7 | YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
8 | AAGGoKMHCA9VJG51bGzTCQoLDA0OViRjbGFzc1xOU0NvbG9yU3BhY2VVTlNSR0KAAhAB
9 | TxAtMC4wMDU0MzQ3ODI2MDkgMC4wMDU0MzQ3ODI2MDkgMC4wMDU0MzQ3ODI2MDkA0hAR
10 | EhNaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohIUWE5TT2JqZWN0XxAPTlNLZXll
11 | ZEFyY2hpdmVy0RcYVHJvb3SAAQgRGiMtMjc7QUhPXGJkZpabpq+3usPV2N0AAAAAAAAB
12 | AQAAAAAAAAAZAAAAAAAAAAAAAAAAAAAA3w==
13 |
14 | Font
15 |
16 | YnBsaXN0MDDUAQIDBAUGGBlYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
17 | AAGGoKQHCBESVSRudWxs1AkKCwwNDg8QViRjbGFzc1ZOU05hbWVWTlNTaXplWE5TZkZs
18 | YWdzgAOAAiNALAAAAAAAABAQXURyb2lkU2Fuc01vbm/SExQVFlokY2xhc3NuYW1lWCRj
19 | bGFzc2VzVk5TRm9udKIVF1hOU09iamVjdF8QD05TS2V5ZWRBcmNoaXZlctEaG1Ryb290
20 | gAEIERojLTI3PEJLUllgaWttdniGi5afpqmyxMfMAAAAAAAAAQEAAAAAAAAAHAAAAAAA
21 | AAAAAAAAAAAAAM4=
22 |
23 | FontAntialias
24 |
25 | FontWidthSpacing
26 | 1.004032258064516
27 | ProfileCurrentVersion
28 | 2.0099999999999998
29 | TextBoldColor
30 |
31 | YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
32 | AAGGoKMHCA9VJG51bGzTCQoLDA0OViRjbGFzc1xOU0NvbG9yU3BhY2VVTlNSR0KAAhAB
33 | RjEgMSAxANIQERITWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVj
34 | dF8QD05TS2V5ZWRBcmNoaXZlctEXGFRyb290gAEIERojLTI3O0FIT1xiZGZtcn2GjpGa
35 | rK+0AAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAALY=
36 |
37 | TextColor
38 |
39 | YnBsaXN0MDDUAQIDBAUGFRZYJHZlcnNpb25YJG9iamVjdHNZJGFyY2hpdmVyVCR0b3AS
40 | AAGGoKMHCA9VJG51bGzTCQoLDA0OViRjbGFzc1xOU0NvbG9yU3BhY2VVTlNSR0KAAhAB
41 | RjEgMSAxANIQERITWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xvcqISFFhOU09iamVj
42 | dF8QD05TS2V5ZWRBcmNoaXZlctEXGFRyb290gAEIERojLTI3O0FIT1xiZGZtcn2GjpGa
43 | rK+0AAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAALY=
44 |
45 | name
46 | developwithpassion
47 | type
48 | Window Settings
49 |
50 |
51 |
--------------------------------------------------------------------------------
/msys_kick_off:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | settings=$(./settings_file)
4 | if [ -e $settings ]
5 | then
6 | rm Gemfile.lock
7 | gem install bundler
8 | bundle install
9 | expands
10 | else
11 | cp settings_template $settings
12 | echo "Please make any changes you need to the file $settings, and then re-run this script"
13 | fi
14 |
15 |
16 |
--------------------------------------------------------------------------------
/osx_or_cygwin_finish:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | rm Gemfile.lock
4 | bundle install
5 | expands
6 |
--------------------------------------------------------------------------------
/osx_or_cygwin_kick_off:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | install_rvm()
4 | {
5 | ./automation/rvm/rvm_install
6 | cp shared/dotfiles/rvm/global.gems ~/
7 | ./automation/rvm/rvm_install_some_rubies
8 | }
9 |
10 | settings=$(./settings_file)
11 | if [ -e $settings ]
12 | then
13 | install_rvm
14 | else
15 | cp settings_template $settings
16 | echo "Please make any changes you need to the file $settings, and then re-run this script"
17 | fi
18 |
19 |
20 |
--------------------------------------------------------------------------------
/remapping_advantage_pro:
--------------------------------------------------------------------------------
1 | #Remapping Advantage Pro From Scratch
2 |
3 | 1. Switch Keyboard Mode To Mac (hold down equals then press m)
4 |
5 | ##Remap the keys: (anytime you want to remap - hold Program then F12 - when finished remapping Program - F12 to finish)
6 |
7 | 1. Caps Locks To Command Key - [Right Control - CapsLock]
8 | 2. Control Key - [Right Windows Key - Right Control]
9 | 3. Alt - [LeftAlt - Delete]
10 |
--------------------------------------------------------------------------------
/settings_file:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | settings=$(whoami).settings
4 | settings=$(echo $settings | sed "s:[ \-]::g")
5 | settings=$(echo $settings | sed "s:/::g")
6 | settings=$(echo $settings | sed "s:'::g")
7 | settings=$(echo $settings | tr '[:upper:]' '[:lower:]')
8 | echo $settings
9 |
--------------------------------------------------------------------------------
/settings_template:
--------------------------------------------------------------------------------
1 | configatron.configure_from_hash :my =>
2 | {
3 | :unix_style_devtools_root => '~/repositories/developwithpassion/devtools',
4 | :twitter_token_folder => [configatron.core.home,%w[repositories developwithpassion twitter_tokens]].as_glob_pattern,
5 | :ssh_folder => [configatron.core.home, %w[repositories developwithpassion ssh]].as_glob_pattern,
6 | :main_ssh_key => 'developwithpassion',
7 | :windows =>
8 | {
9 | :paths =>
10 | {
11 | :win_style =>
12 | {
13 | :devenv => 'C:\utils\vs2010\Common7\IDE\devenv.exe',
14 | :ahk_spy => 'C:\utils\autohotkey\AU3_Spy.exe',
15 | :process_explorer => 'C:\utils\sysinternals\procexp.exe',
16 | :divvy => 'C:\utils\divvy\Divvy.exe',
17 | :camrec => 'C:\utils\camtasia_studio\CamRecorder.exe',
18 | :msys => 'C:\utils\mingw\msys\1.0\msys.bat',
19 | :cygwin => 'C:\utils\cygwin\cygwin.bat',
20 | :ahk_scripts => 'C:\users\jp\repositories\developwithpassion\devtools\windows\autohotkey\ahk*.ahk',
21 | },
22 | :unix_style =>
23 | {
24 | :mingw => '/c/utils/mingw',
25 | :vim => '/usr/local/bin/vim.exe',
26 | :devenv => '/c/utils/vs2010/Common7/IDE/devenv.exe'
27 | }
28 | }
29 | },
30 | :github =>
31 | {
32 | :email => 'your email address',
33 | :full_name => 'Name',
34 | :user => 'github user name'
35 | }
36 | }
37 |
38 |
--------------------------------------------------------------------------------
/setup_osx.md:
--------------------------------------------------------------------------------
1 | #OSX Configuration
2 |
3 | * This document assumes you have cloned the devtools repository into the following folder on your machine:
4 | * ~/repositories/developwithpassion/devtools
5 |
6 | 1. Open a terminal shell and navigate to your devtools folder
7 | 2. Run the following command
8 | ```
9 | ./osx_or_cygwin_kick_off
10 | ```
11 | 2. Exit the terminal session
12 | 3. Start a new terminal session and navigate back to the devtools folder.
13 | 4. Run the following commands:
14 | ```
15 | ./osx_or_cygwin_finish
16 | ```
17 |
18 | ##Configuring Brew (Only if you don't already have it installed)
19 |
20 | ###Prerequisites
21 |
22 | * An Intel CPU 2
23 | * OS X 10.5 or higher
24 | * Command Line Tools for Xcode or Xcode 3with X11 4
25 |
26 | 1. Open a real prompt (ie. Terminal.app, not in e.g. an Emacs-shell) and navigate to your devtools folder
27 | 2. Run the following command
28 | ```
29 | ./automation/brew/brew_install
30 | ```
31 | 3. Close the prompt and reopen a new prompt and navigate back to the devtools folder
32 | 4. Run the following command
33 | ```
34 | ./automation/brew/brew_configure_base_packages
35 | ```
36 | At this point you will have a configured brew instance with the following packages installed:
37 |
38 | * coreutils
39 | * ctags
40 | * freetds
41 | * gdbm
42 | * git
43 | * ircii
44 | * libevent
45 | * links
46 | * lynx
47 | * macvim
48 | * neon
49 | * node
50 | * pkg-config
51 | * readline
52 | * reattach-to-user-namespace
53 | * sqlite
54 | * tmux
55 | * unixodbc
56 | * xz
57 | * zsh
58 |
--------------------------------------------------------------------------------
/setup_windows_cygwin.md:
--------------------------------------------------------------------------------
1 | #Cygwin Configuration
2 |
3 | * This document makes the following 2 assumptions:
4 | * You have cloned the devtools repository into the following folder on your machine:
5 | * ~/repositories/developwithpassion/devtools
6 | * You have installed rvm into your cygwin instance using the instructions provided here:
7 |
8 | 1. Open a terminal shell and navigate to your devtools folder
9 | 2. Run the following command
10 | ```
11 | ./osx_or_cygwin_kick_off
12 | ```
13 | 2. Exit the terminal session
14 | 3. Start a new terminal session and navigate back to the devtools folder.
15 | 4. Run the following commands:
16 | ```
17 | ./osx_or_cygwin_finish
18 | ```
19 |
--------------------------------------------------------------------------------
/setup_windows_msys.md:
--------------------------------------------------------------------------------
1 | ##Running On Windows
2 |
3 | * For the most optimal experience it is strongly recommended to configure your windows machine with the base set of tools outlined [here](http://blog.developwithpassion.com/2012/03/12/repaving-a-new-window-7-vm/)
4 |
5 | ###MSYS
6 |
7 | * Open up an msys session and navigate into the devtools folder you cloned above.
8 | * Type in the following command:
9 | ```
10 | ./msys_kick_off
11 | ```
12 | * Change the settings in the [your_login_user_name].settings file as needed
13 | * Type in the following command:
14 | ```
15 | ./msys_kick_off
16 | ```
17 | * Exit your shell session
18 | * Start a new msys session and type devtools (this is an alias that should now be active)
19 | * Run the script:
20 | ```
21 | update_vim_plugins
22 | ```
23 | At this point vim should be configured, and autohotkey should be running with the scripts loaded in.
24 |
25 | ##Gotchas
26 |
27 | 1. The autohotkey scripts are setup to assume that you are using your LWIN key to trigger the mnemonic entry modes (more on that later). When I am on a windows based contract, I will run a client specific windows VM under vmware fusion. I also have my keyboard shortcuts on osx setup so that my CapsLock key is the [Command key](https://skitch.com/jpboodhoo/8ccwh/system-preferences)
28 |
29 | 2. Even though I don't use it a lot, [executor](http://executor.dk/) is the launcher that I use on windows, and it is assumed to be setup to launch with the ALT-Q binding.
30 |
31 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/.gitignore:
--------------------------------------------------------------------------------
1 | .*
2 | !.gitignore
3 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_aliases.cygwin.dotfile.mustache:
--------------------------------------------------------------------------------
1 | alias cyg-wrapper={{{core.devtools_root}}}/automation/cygwin/cyg-wrapper.sh
2 |
3 | alias vsln='cyg-wrapper /c/utils/vs2010/Common7/IDE/devenv.exe *.sln --cyg-env-convert=APPDATA,LOCALAPPDATA,ProgramData,ALLUSERSPROFILE,WINDIR --fork=1'
4 |
5 | alias prompt='cyg-wrapper cmd.exe --cyg-env-convert=APPDATA,LOCALAPPDATA,ProgramData,ALLUSERSPROFILE,WINDIR --fork=2'
6 |
7 | alias psh='cyg-wrapper powershell --cyg-env-convert=APPDATA,LOCALAPPDATA,ProgramData,ALLUSERSPROFILE,WINDIR --fork=2'
8 | alias open='cygstart'
9 |
10 | function gvim()
11 | {
12 | cyg-wrapper {{{my.windows.paths.unix_style.vim}}}/gvim.exe --fork=1 $*
13 | }
14 |
15 | alias ~~='cd /c/users/jp'
16 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_aliases.dotfile.mustache:
--------------------------------------------------------------------------------
1 | . ~/.bash_aliases.shared
2 |
3 | {{# core.is_osx }}
4 | . ~/.bash_aliases.osx
5 | {{/core.is_osx}}
6 |
7 | {{# core.is_mingw }}
8 | . ~/.bash_aliases.mingw
9 | {{/core.is_mingw }}
10 |
11 | {{# core.is_cygwin }}
12 | . ~/.bash_aliases.cygwin
13 | {{/core.is_cygwin }}
14 |
15 | {{# core.is_windows }}
16 | . ~/.bash_aliases.windows
17 | {{/core.is_windows }}
18 |
19 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_aliases.mingw.dotfile.mustache:
--------------------------------------------------------------------------------
1 | alias shell='start {{{my.windows.paths.unix_style.mingw_path}}}/msys/1.0/msys.bat'
2 | alias psh='start powershell'
3 | alias open=start
4 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_aliases.osx.dotfile.mustache:
--------------------------------------------------------------------------------
1 | alias bctags=/usr/local/Cellar/ctags/5.8/bin/ctags
2 | alias rspecs='rspec spec/**/*.rb'
3 | # alias rk2='cd ~/repositories/github/keymando;killall Keymando;killall Terminal;rake build:compile_release;open build/Keymando/Build/Products/Release/Keymando.app/Contents/MacOS/Keymando'
4 | alias rk2='cd ~/repositories/github/keymando;killall Keymando;rake run'
5 | # alias rk2='killall Keymando;open /Applications/Keymando.app'
6 | alias dwp='cd ~/repositories/github/dwp'
7 |
8 | function attach()
9 | {
10 | hdiutil attach $1 -mountpoint /tempfiles/downloads/blah
11 | cd /tempfiles/downloads/blah
12 | }
13 |
14 | function detach()
15 | {
16 | hdiutil detach /tempfiles/downloads/blah
17 | }
18 |
19 | alias mutt_clear='find /tempfiles/mutt_scratch -type file -exec rm {} +'
20 | alias muttd='mutt_clear;mutt -F ~/.muttrc_jp_developwithpassion'
21 | alias smail="tmux new-window 'mutt -F ~/.muttrc_jp_developwithpassion'"
22 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_aliases.shared.dotfile.mustache:
--------------------------------------------------------------------------------
1 | #this is a comment
2 | #command aliases
3 | alias vi={{ core.vi }}
4 | {{^ core.is_cygwin }}
5 | alias vim={{ core.vim }}
6 | {{/core.is_cygwin}}
7 |
8 | alias ..='cd ..'
9 | alias rm='rm -fr $*'
10 | alias qtar='tar -xzvf $*'
11 |
12 | #editing command aliases
13 | alias change_hosts='devtools;vi shared/hosts/hosts.mustache'
14 |
15 | if [ -x /usr/bin/dircolors ]; then
16 | test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
17 |
18 | {{^ core.is_osx }}
19 | alias ls='ls --color=auto'
20 | {{/core.is_osx }}
21 | {{# core.is_osx }}
22 | alias ls='gls --color=auto'
23 | {{/core.is_osx }}
24 | alias grep='grep --color=auto'
25 | alias fgrep='fgrep --color=auto'
26 | alias egrep='egrep --color=auto'
27 | fi
28 |
29 |
30 | alias ll='ls -alF'
31 | alias la='ls -A'
32 | alias l='ls -CF'
33 |
34 | # utility functions
35 |
36 | #function that will both create and switch to the directory specified
37 | function take()
38 | {
39 | mkdir $1
40 | cd $1
41 | }
42 |
43 | function dwp_git_clone()
44 | {
45 | git clone git@developwithpassion.repo:$1 $2
46 | }
47 |
48 | function github_git_clone()
49 | {
50 | git clone git@github.com:{{my.github.user}}/$1 $2
51 | }
52 |
53 | function bb_git_clone()
54 | {
55 | git clone git@bitbucket:{{my.github.user}}/$1 $2
56 | }
57 |
58 | function slice_git_clone()
59 | {
60 | git clone git@slicehost:$1 $2
61 | }
62 |
63 | #directory aliases
64 | alias developwithpassion='cd ~/repositories/developwithpassion'
65 | alias myssh='cd ~/repositories/developwithpassion/ssh'
66 | alias github='cd ~/repositories/github'
67 | alias devtools='cd {{{core.devtools_root}}}'
68 | alias blog='cd ~/repositories/developwithpassion/blog.developwithpassion.com'
69 |
70 | #file aliases
71 | alias licenses='vi ~/repositories/developwithpassion/developwithpassion.com/licenses/licenses.markdown'
72 |
73 | #git aliases
74 | alias ggm="gco master"
75 | alias gdaob="gitrb delete_all_other_branches"
76 | alias gcm="gitrb commit"
77 | alias gco="gitrb checkout $*"
78 | alias gmrg="gitrb merge $*"
79 | alias gs="gitrb switch $*"
80 | alias gp="gitrb push $*"
81 | alias gpo="gp origin"
82 | alias gpuo="gitrb pull origin $*"
83 | alias gbd="gitrb branch_delete $*"
84 | alias gb="git branch"
85 | alias gbr="git branch --remote"
86 | alias gd="git diff $1"
87 | alias gdt="git difftool $1"
88 | alias grh="gitrb reset"
89 | alias gf="git fetch $*"
90 | alias gfo="git fetch origin $*"
91 | alias gst="git status"
92 |
93 | alias dts='devtools_sync'
94 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_aliases.windows.osx.dotfile.mustache:
--------------------------------------------------------------------------------
1 | alias dwp="cd ~/repositories/github/dwp"
2 | alias prep="cd ~/repositories/github/dwp/prep"
3 | alias app="cd ~/repositories/github/dwp/app"
4 | alias setup="cd ~/repositories/github/dwp/setup"
5 | alias eahk="vim ~/repositories/developwithpassion/devtools/windows/autohotkey"
6 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_aliases_coreutils.dotfile.mustache:
--------------------------------------------------------------------------------
1 | brew_prefix=`brew --prefix`
2 | alias base64="$brew_prefix/bin/gbase64"
3 | alias basename="$brew_prefix/bin/gbasename"
4 | alias cat="$brew_prefix/bin/gcat"
5 | alias chcon="$brew_prefix/bin/gchcon"
6 | alias chgrp="$brew_prefix/bin/gchgrp"
7 | alias chmod="$brew_prefix/bin/gchmod"
8 | alias chown="$brew_prefix/bin/gchown"
9 | alias chroot="$brew_prefix/bin/gchroot"
10 | alias cksum="$brew_prefix/bin/gcksum"
11 | alias comm="$brew_prefix/bin/gcomm"
12 | alias cp="$brew_prefix/bin/gcp"
13 | alias csplit="$brew_prefix/bin/gcsplit"
14 | alias cut="$brew_prefix/bin/gcut"
15 | alias date="$brew_prefix/bin/gdate"
16 | alias dd="$brew_prefix/bin/gdd"
17 | alias df="$brew_prefix/bin/gdf"
18 | alias dir="$brew_prefix/bin/gdir"
19 | alias dircolors="$brew_prefix/bin/gdircolors"
20 | alias dirname="$brew_prefix/bin/gdirname"
21 | alias du="$brew_prefix/bin/gdu"
22 | alias echo="$brew_prefix/bin/gecho"
23 | alias env="$brew_prefix/bin/genv"
24 | alias expand="$brew_prefix/bin/gexpand"
25 | alias expr="$brew_prefix/bin/gexpr"
26 | alias factor="$brew_prefix/bin/gfactor"
27 | alias false="$brew_prefix/bin/gfalse"
28 | alias fmt="$brew_prefix/bin/gfmt"
29 | alias fold="$brew_prefix/bin/gfold"
30 | alias groups="$brew_prefix/bin/ggroups"
31 | alias head="$brew_prefix/bin/ghead"
32 | alias hostid="$brew_prefix/bin/ghostid"
33 | alias id="$brew_prefix/bin/gid"
34 | alias install="$brew_prefix/bin/ginstall"
35 | alias join="$brew_prefix/bin/gjoin"
36 | alias kill="$brew_prefix/bin/gkill"
37 | alias link="$brew_prefix/bin/glink"
38 | alias ln="$brew_prefix/bin/gln"
39 | alias logname="$brew_prefix/bin/glogname"
40 | alias ls="$brew_prefix/bin/gls"
41 | alias md5sum="$brew_prefix/bin/gmd5sum"
42 | alias mkdir="$brew_prefix/bin/gmkdir"
43 | alias mkfifo="$brew_prefix/bin/gmkfifo"
44 | alias mknod="$brew_prefix/bin/gmknod"
45 | alias mktemp="$brew_prefix/bin/gmktemp"
46 | alias mv="$brew_prefix/bin/gmv"
47 | alias nice="$brew_prefix/bin/gnice"
48 | alias nl="$brew_prefix/bin/gnl"
49 | alias nohup="$brew_prefix/bin/gnohup"
50 | alias od="$brew_prefix/bin/god"
51 | alias paste="$brew_prefix/bin/gpaste"
52 | alias pathchk="$brew_prefix/bin/gpathchk"
53 | alias pinky="$brew_prefix/bin/gpinky"
54 | alias pr="$brew_prefix/bin/gpr"
55 | alias printenv="$brew_prefix/bin/gprintenv"
56 | alias printf="$brew_prefix/bin/gprintf"
57 | alias ptx="$brew_prefix/bin/gptx"
58 | alias pwd="$brew_prefix/bin/gpwd"
59 | alias readlink="$brew_prefix/bin/greadlink"
60 | alias rm="$brew_prefix/bin/grm"
61 | alias rmdir="$brew_prefix/bin/grmdir"
62 | alias runcon="$brew_prefix/bin/gruncon"
63 | alias seq="$brew_prefix/bin/gseq"
64 | alias sha1sum="$brew_prefix/bin/gsha1sum"
65 | alias sha224sum="$brew_prefix/bin/gsha224sum"
66 | alias sha256sum="$brew_prefix/bin/gsha256sum"
67 | alias sha384sum="$brew_prefix/bin/gsha384sum"
68 | alias sha512sum="$brew_prefix/bin/gsha512sum"
69 | alias shred="$brew_prefix/bin/gshred"
70 | alias shuf="$brew_prefix/bin/gshuf"
71 | alias sleep="$brew_prefix/bin/gsleep"
72 | alias sort="$brew_prefix/bin/gsort"
73 | alias split="$brew_prefix/bin/gsplit"
74 | alias stat="$brew_prefix/bin/gstat"
75 | alias stty="$brew_prefix/bin/gstty"
76 | alias sum="$brew_prefix/bin/gsum"
77 | alias sync="$brew_prefix/bin/gsync"
78 | alias tac="$brew_prefix/bin/gtac"
79 | alias tail="$brew_prefix/bin/gtail"
80 | alias tee="$brew_prefix/bin/gtee"
81 | alias test="$brew_prefix/bin/gtest"
82 | alias touch="$brew_prefix/bin/gtouch"
83 | alias tr="$brew_prefix/bin/gtr"
84 | alias true="$brew_prefix/bin/gtrue"
85 | alias tsort="$brew_prefix/bin/gtsort"
86 | alias tty="$brew_prefix/bin/gtty"
87 | alias uname="$brew_prefix/bin/guname"
88 | alias unexpand="$brew_prefix/bin/gunexpand"
89 | alias uniq="$brew_prefix/bin/guniq"
90 | alias unlink="$brew_prefix/bin/gunlink"
91 | alias uptime="$brew_prefix/bin/guptime"
92 | alias users="$brew_prefix/bin/gusers"
93 | alias vdir="$brew_prefix/bin/gvdir"
94 | alias wc="$brew_prefix/bin/gwc"
95 | alias who="$brew_prefix/bin/gwho"
96 | alias whoami="$brew_prefix/bin/gwhoami"
97 | alias yes="$brew_prefix/bin/gyes"
98 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_colors.dotfile.mustache:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 |
3 | #color constants
4 | DULL=0
5 | BRIGHT=1
6 |
7 | FG_BLACK=30
8 | FG_RED=31
9 | FG_GREEN=32
10 | FG_YELLOW=33
11 | FG_BLUE=34
12 | FG_VIOLET=35
13 | FG_CYAN=36
14 | FG_WHITE=37
15 |
16 | FG_NULL=00
17 |
18 | BG_BLACK=40
19 | BG_RED=41
20 | BG_GREEN=42
21 | BG_YELLOW=43
22 | BG_BLUE=44
23 | BG_VIOLET=45
24 | BG_CYAN=46
25 | BG_WHITE=47
26 |
27 | BG_NULL=00
28 |
29 | ##
30 | # ANSI Escape Commands
31 | ##
32 | ESC="\033"
33 | NORMAL="\[$ESC[m\]"
34 | RESET="\[$ESC[${DULL};${FG_WHITE};${BG_NULL}m\]"
35 |
36 | BLACK="\[$ESC[${DULL};${FG_BLACK}m\]"
37 | RED="\[$ESC[${DULL};${FG_RED}m\]"
38 | GREEN="\[$ESC[${DULL};${FG_GREEN}m\]"
39 | YELLOW="\[$ESC[${DULL};${FG_YELLOW}m\]"
40 | BLUE="\[$ESC[${DULL};${FG_BLUE}m\]"
41 | VIOLET="\[$ESC[${DULL};${FG_VIOLET}m\]"
42 | CYAN="\[$ESC[${DULL};${FG_CYAN}m\]"
43 | WHITE="\[$ESC[${DULL};${FG_WHITE}m\]"
44 |
45 | # BRIGHT TEXT
46 | BRIGHT_BLACK="\[$ESC[${BRIGHT};${FG_BLACK}m\]"
47 | BRIGHT_RED="\[$ESC[${BRIGHT};${FG_RED}m\]"
48 | BRIGHT_GREEN="\[$ESC[${BRIGHT};${FG_GREEN}m\]"
49 | BRIGHT_YELLOW="\[$ESC[${BRIGHT};${FG_YELLOW}m\]"
50 | BRIGHT_BLUE="\[$ESC[${BRIGHT};${FG_BLUE}m\]"
51 | BRIGHT_VIOLET="\[$ESC[${BRIGHT};${FG_VIOLET}m\]"
52 | BRIGHT_CYAN="\[$ESC[${BRIGHT};${FG_CYAN}m\]"
53 | BRIGHT_WHITE="\[$ESC[${BRIGHT};${FG_WHITE}m\]"
54 |
55 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_config.dotfile.mustache:
--------------------------------------------------------------------------------
1 | #ignore case in file/folder names
2 | {{^ core.is_linux }}
3 | bind "set completion-ignore-case on"
4 | {{/core.is_linux }}
5 | #enable vim style command line behaviour
6 | set -o vi
7 | {{# core.is_mingw}}
8 | function vie()
9 | {
10 | bind '"\C-i":complete'
11 | bind '"\Tab":complete'
12 | }
13 | {{/core.is_mingw}}
14 |
15 | #don't duplicate history lines
16 | HISTCONTROL=ignoredups:ignorespace
17 |
18 | #append to history file instead of overwriting it
19 | {{^ core.is_linux}}
20 | shopt -s histappend
21 | {{/core.is_linux}}
22 |
23 | #set history length and file size
24 | HISTSIZE=1000
25 | HISTFILESIZE=2000
26 |
27 | {{^ core.is_linux}}
28 | shopt -s checkwinsize
29 | {{/core.is_linux}}
30 |
31 | if [ -f /etc/bash_completion ] && ~ shopt -oq posix; then
32 | . /etc/bash_completion
33 | fi
34 |
35 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_env.dotfile.mustache:
--------------------------------------------------------------------------------
1 | OLD_PATH=$PATH
2 | export PATH="/usr/local/bin:/bin:/usr/local/sbin"
3 |
4 | {{# core.is_mingw }}
5 | export PATH="$PATH:/c/utils/git/bin:/c/ruby/193/bin:/c/utils/mercurial:{{{my.windows.paths.unix_style.vim}}}"
6 | {{/core.is_mingw }}
7 |
8 | export PATH="$PATH:$OLD_PATH"
9 | export PATH="$PATH:$(find {{{my.unix_style_devtools_root}}}/automation -name '.*' -prune -o -type d | tr "\n" ":")"
10 | export EDITOR='{{{core.editor}}}'
11 |
12 | #used to show changes in the prompt for a git folder
13 | export GIT_PS1_SHOWDIRTYSTATE=1
14 |
15 | # Unbreak broken, non-colored terminal
16 | export TERM='{{{core.term}}}'
17 | export GREP_OPTIONS="--color"
18 |
19 | {{# core.is_cygwin }}
20 | export WINDIR='/cygdrive/c/windows'
21 | {{/core.is_cygwin }}
22 |
23 | {{^ core.is_windows }}
24 | if [ -f "${HOME}/.gpg-agent-info" ]; then
25 | . "${HOME}/.gpg-agent-info"
26 | export GPG_AGENT_INFO
27 | export SSH_AUTH_SOCK
28 | export SSH_AGENT_PID
29 | fi
30 | {{/core.is_windows }}
31 |
32 |
33 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_git.dotfile.mustache:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env bash
2 | {{^ core.is_cygwin}}
3 | current_git_branch() {
4 | git_directory="$(__gitdir)"
5 | if [ -n "$git_directory" ]; then
6 | echo `__git_ps1 "(%s)"`
7 | fi
8 | }
9 | {{/core.is_cygwin}}
10 |
11 | #show the current working directory - followed by the git branch in red (if in a git directory)
12 |
13 | {{# core.is_cygwin }}
14 | PS1="\n$BRIGHT_CYAN\w$BRIGHT_YELLOW\n$GREEN => $RESET"
15 | {{/core.is_cygwin }}
16 |
17 | {{# core.is_mingw }}
18 | PS1="\n$BRIGHT_YELLOW\w$BRIGHT_RED\$(current_git_branch)\n$GREEN => $RESET"
19 | {{/core.is_mingw }}
20 |
21 | {{# core.is_osx }}
22 | PS1="\n$BLUE\w$RED\$(current_git_branch)\n$GREEN ⇒ $RESET"
23 | {{/core.is_osx}}
24 |
25 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_profile.dotfile.mustache:
--------------------------------------------------------------------------------
1 | if [ -n "$BASH_VERSION" ]; then
2 | . ~/.bashrc
3 | fi
4 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_source_rvm.dotfile.mustache:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then source "$HOME/.rvm/scripts/rvm" ; fi
4 | [[ -r "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/completion"
5 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bash_ssh.dotfile.mustache:
--------------------------------------------------------------------------------
1 | #--- SSH Settings ------------------------------
2 | SSH_ENV="$HOME/.ssh/environment"
3 |
4 | function start_agent {
5 | echo "Initializing new SSH agent..."
6 | ssh-agent | sed 's/^echo/#echo/' > "${SSH_ENV}"
7 | echo succeeded
8 | chmod 600 "${SSH_ENV}"
9 | . "${SSH_ENV}" > /dev/null
10 | ssh-add "$HOME/.ssh/{{{my.main_ssh_key}}}";
11 | }
12 | if [ -f "${SSH_ENV}" ]; then
13 | . "${SSH_ENV}" > /dev/null
14 | #ps ${SSH_AGENT_PID} doesn't work under cywgin
15 | ps -ef | grep ${SSH_AGENT_PID} | grep ssh-agent$ > /dev/null || {
16 | start_agent;
17 | }
18 | else
19 | start_agent;
20 | fi
21 | #--- END SSH Settings ------------------------------
22 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/bashrc.dotfile.mustache:
--------------------------------------------------------------------------------
1 | # bounce out if not running in interactive mode
2 | [ -z "$PS1" ] && return
3 |
4 | #. ~/.bash_aliases_coreutils
5 | . ~/.bash_aliases
6 |
7 | {{# core.is_osx }}
8 | . ~/.bash_aliases.osx
9 | . ~/.bash_source_rvm
10 | {{/core.is_osx}}
11 |
12 | {{# core.is_mingw }}
13 | . ~/.bash_aliases.mingw
14 | {{/core.is_mingw }}
15 |
16 | {{# core.is_cygwin }}
17 | . ~/.bash_aliases.cygwin
18 | {{/core.is_cygwin }}
19 |
20 | {{# core.is_windows }}
21 | . ~/.bash_aliases.windows
22 | . ~/.bash_ssh
23 | {{/core.is_windows }}
24 |
25 | {{^ core.is_linux }}
26 | . ~/.bash_colors
27 | {{/core.is_linux }}
28 |
29 | . ~/.bash_config
30 | . ~/.bash_env
31 | . ~/.bash_git
32 | . ~/.bash_git_completion
33 |
34 |
--------------------------------------------------------------------------------
/shared/dotfiles/bash/inputrc.dotfile.mustache:
--------------------------------------------------------------------------------
1 | {{^core.is_mingw }}
2 | set editing-mode vi
3 | {{/core.is_mingw }}
4 |
--------------------------------------------------------------------------------
/shared/dotfiles/git/.gitignore:
--------------------------------------------------------------------------------
1 | .gitconfig
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/git/gitconfig.dotfile.mustache:
--------------------------------------------------------------------------------
1 | [core]
2 | autocrlf = {{ git.autocrlf }}
3 | {{# core.is_windows }}
4 | editor = {{git.editor}}
5 | {{/core.is_windows}}
6 |
7 | [user]
8 | email = {{{my.github.email}}}
9 | name = {{{my.github.full_name}}}
10 |
11 | [alias]
12 | st = status -s
13 | ci = commit
14 | co = checkout
15 | df = diff
16 | dft = difftool
17 | mgt = mergetool
18 | lg = log -p
19 | lol = log --graph --decorate --oneline
20 | lola = log --graph --decorate --oneline --all
21 |
22 | [merge]
23 | tool = {{ git.merge_tool }}
24 |
25 | [diff]
26 | tool = {{ git.diff_tool }}
27 |
28 | [push]
29 | default = current
30 |
31 | [color]
32 | ui = auto
33 |
34 | [difftool "kaleidoscope"]
35 | cmd = ksdiff-wrapper git \"$LOCAL\" \"$REMOTE\"
36 |
37 | [difftool "bc3"]
38 | cmd = beyondcompare-diff.sh \"$LOCAL\" \"$REMOTE\"
39 |
40 | [difftool]
41 | prompt = false
42 |
43 | [mergetool]
44 | keepBackup = false
45 |
46 |
47 | [mergetool "bc3"]
48 | cmd = beyondcompare-merge.sh \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
49 | trustExitCode = true
50 | keepBackup = false
51 |
52 | [branch]
53 | autosetuprebase = always
54 |
--------------------------------------------------------------------------------
/shared/dotfiles/gnupg/.gnupg/gpg-agent.conf:
--------------------------------------------------------------------------------
1 | use-standard-socket
2 | write-env-file /Users/jp/.gpg-agent-info
3 |
--------------------------------------------------------------------------------
/shared/dotfiles/goobook/.gitignore:
--------------------------------------------------------------------------------
1 | .goobookrc
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/goobook/goobookrc.dotfile.mustache:
--------------------------------------------------------------------------------
1 | # "#" or ";" at the start of a line makes it a comment.
2 | [DEFAULT]
3 | # If not given here, email and password is taken from .netrc using
4 | # machine google.com
5 | email: jp@developwithpassion.com
6 | passwordeval: ~/repositories/developwithpassion/devtools/automation/keychain/get_keychain_password --account:jp@developwithpassion.com
7 | # The following are optional, defaults are shown
8 | ;cache_filename: ~/.goobook_cache
9 | ;cache_expiry_hours: 24
10 | ;filter_groupless_contacts: yes
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/shared/dotfiles/msmtp/.gitignore:
--------------------------------------------------------------------------------
1 | .msmtprc
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/msmtp/msmtprc.dotfile.mustache:
--------------------------------------------------------------------------------
1 | account jp
2 | host smtp.gmail.com
3 | port 587
4 | protocol smtp
5 | auth on
6 | from jp@developwithpassion.com
7 | user jp@developwithpassion.com
8 | tls on
9 | tls_trust_file ~/.mutt/equifax_gmail.cert
10 |
11 | account default : jp
12 |
--------------------------------------------------------------------------------
/shared/dotfiles/mutt/.gitignore:
--------------------------------------------------------------------------------
1 | .muttrc*
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/mutt/.mutt/alias:
--------------------------------------------------------------------------------
1 | alias soulmate imgreat_ohyeah@msn.com (Soulmate)
2 | alias investments jp@developwithpassion.com (JP Boodhoo) , ronandsueathome@shaw.ca (Ron Robinson)
3 | alias jaboodhoo jaboodhoo@hotmail.com (Jean Boodhoo)
4 |
5 | # Accounting
6 | alias yvonne_graham ymgraham@shaw.ca (Yvonne Graham)
7 | alias matthey_may Matthew.May@mnp.ca (Matthew May)
8 |
9 | alias adam_aldrich aaldrich@daxko.com (Adam Aldrich)
10 |
11 |
12 |
13 | source ~/.mutt/aliases_aptus
14 | source ~/.mutt/aliases_courses
15 |
--------------------------------------------------------------------------------
/shared/dotfiles/mutt/.mutt/aliases_courses:
--------------------------------------------------------------------------------
1 | # Towers Watson - June 2013
2 | alias dwp_2013_june Prasad.Kallianpur@towerswatson.com (Prasad Kallianpur), Weid.zhu@towerswatson.com (Weid Zhu), Steve.soegyono@towerswatson.com(Steve Soegyono), Henri.raath@towerswatson.com ( Henri Raath), Christian.maslen@towerswatson.com (Christian Maslen)
3 |
4 |
5 |
--------------------------------------------------------------------------------
/shared/dotfiles/mutt/.mutt/equifax_gmail.cert:
--------------------------------------------------------------------------------
1 | -----BEGIN CERTIFICATE-----
2 | MIIDgDCCAumgAwIBAgIKO3T/ewAAAABoqDANBgkqhkiG9w0BAQUFADBGMQswCQYD
3 | VQQGEwJVUzETMBEGA1UEChMKR29vZ2xlIEluYzEiMCAGA1UEAxMZR29vZ2xlIElu
4 | dGVybmV0IEF1dGhvcml0eTAeFw0xMjA5MTIxMTU3NTBaFw0xMzA2MDcxOTQzMjda
5 | MGgxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1N
6 | b3VudGFpbiBWaWV3MRMwEQYDVQQKEwpHb29nbGUgSW5jMRcwFQYDVQQDEw5zbXRw
7 | LmdtYWlsLmNvbTCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEAv0UvQmjW1y96
8 | cOK6AdQVEYPRd3ZQ9UhxkKfuVaYS9riOESFkWxkz+b3Ts/EOA5SY8axkaJS7Qa/v
9 | N7laztYY8tTkx9Ml+eCY4xh0fFq9z4/WWADGqTY5I0wvqjZr+jBuYGulK1fU4ZUS
10 | QpuZMMO9x7Bmr5LVP9C5r2qnoqtMtJUCAwEAAaOCAVEwggFNMB0GA1UdJQQWMBQG
11 | CCsGAQUFBwMBBggrBgEFBQcDAjAdBgNVHQ4EFgQUaCtARMZ9urIDfdpR6v1AkQsr
12 | 44owHwYDVR0jBBgwFoAUv8Aw6/VDET5nup6R+/xq2uNrEiQwWwYDVR0fBFQwUjBQ
13 | oE6gTIZKaHR0cDovL3d3dy5nc3RhdGljLmNvbS9Hb29nbGVJbnRlcm5ldEF1dGhv
14 | cml0eS9Hb29nbGVJbnRlcm5ldEF1dGhvcml0eS5jcmwwZgYIKwYBBQUHAQEEWjBY
15 | MFYGCCsGAQUFBzAChkpodHRwOi8vd3d3LmdzdGF0aWMuY29tL0dvb2dsZUludGVy
16 | bmV0QXV0aG9yaXR5L0dvb2dsZUludGVybmV0QXV0aG9yaXR5LmNydDAMBgNVHRMB
17 | Af8EAjAAMBkGA1UdEQQSMBCCDnNtdHAuZ21haWwuY29tMA0GCSqGSIb3DQEBBQUA
18 | A4GBADSkwmtEUhy/AhX2sIULT0Q5S9OlfKxbyE8hEc8nxls3jbk5yKZYd35Bzyy8
19 | raoUPFuD3IH+zP/FGj5LPQirjnJLUvuFDsiM4eowPUthQad9SGWWdz6hCx8HpEUZ
20 | 1ssGnwb3HX34e9RH57v9LdtVUPdFYQsBJ36miGPylWk6r0xx
21 | -----END CERTIFICATE-----
22 |
--------------------------------------------------------------------------------
/shared/dotfiles/mutt/.mutt/gpg.rc:
--------------------------------------------------------------------------------
1 | # -*-muttrc-*-
2 | #
3 | # Command formats for gpg.
4 | #
5 | # This version uses gpg-2comp from
6 | # http://70t.de/download/gpg-2comp.tar.gz
7 | #
8 | # $Id$
9 | #
10 | # %p The empty string when no passphrase is needed,
11 | # the string "PGPPASSFD=0" if one is needed.
12 | #
13 | # This is mostly used in conditional % sequences.
14 | #
15 | # %f Most PGP commands operate on a single file or a file
16 | # containing a message. %f expands to this file's name.
17 | #
18 | # %s When verifying signatures, there is another temporary file
19 | # containing the detached signature. %s expands to this
20 | # file's name.
21 | #
22 | # %a In "signing" contexts, this expands to the value of the
23 | # configuration variable $pgp_sign_as. You probably need to
24 | # use this within a conditional % sequence.
25 | #
26 | # %r In many contexts, mutt passes key IDs to pgp. %r expands to
27 | # a list of key IDs.
28 |
29 | set pgp_decode_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
30 | set pgp_verify_command="gpg --status-fd=2 --no-verbose --quiet --batch --output - --verify %s %f"
31 | set pgp_decrypt_command="gpg --status-fd=2 %?p?--passphrase-fd 0? --no-verbose --quiet --batch --output - %f"
32 | set pgp_sign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --detach-sign --textmode %?a?-u %a? %f"
33 | set pgp_clearsign_command="gpg --no-verbose --batch --quiet --output - %?p?--passphrase-fd 0? --armor --textmode --clearsign %?a?-u %a? %f"
34 | set pgp_encrypt_only_command="pgpewrap gpg --batch --quiet --no-verbose --output - --encrypt --textmode --armor --always-trust -- -r %r -- %f"
35 | set pgp_encrypt_sign_command="pgpewrap gpg %?p?--passphrase-fd 0? --batch --quiet --no-verbose --textmode --output - --encrypt --sign %?a?-u %a? --armor --always-trust -- -r %r -- %f"
36 |
37 | set pgp_import_command="gpg --no-verbose --import %f"
38 | set pgp_export_command="gpg --no-verbose --export --armor %r"
39 | set pgp_verify_key_command="gpg --verbose --batch --fingerprint --check-sigs %r"
40 | set pgp_list_pubring_command="gpg --no-verbose --batch --quiet --with-colons --list-keys %r"
41 | set pgp_list_secring_command="gpg --no-verbose --batch --quiet --with-colons --list-secret-keys %r"
42 |
43 | # fetch keys
44 | # set pgp_getkeys_command="pkspxycwrap %r"
45 |
46 | # pattern for good signature - may need to be adapted to locale!
47 |
48 | # set pgp_good_sign="^gpgv?: Good signature from "
49 |
50 | # OK, here's a version which uses gnupg's message catalog:
51 | # set pgp_good_sign="`gettext -d gnupg -s 'Good signature from "' | tr -d '"'`"
52 |
53 | # This version uses --status-fd messages
54 | set pgp_good_sign="^\\[GNUPG:\\] GOODSIG"
55 |
56 | set pgp_timeout=9000
57 |
58 |
--------------------------------------------------------------------------------
/shared/dotfiles/mutt/.mutt/mailcap:
--------------------------------------------------------------------------------
1 | # MS Office files
2 | application/msword; ~/.mutt/view_mail_attachment.rb --file:%s --type:"-" --open_with:'/Applications/OpenOffice.org.app'
3 | application/vnd.ms-excel; ~/.mutt/view_mail_attachment.rb --file:%s --type:"-"
4 | application/vnd.openxmlformats-officedocument.presentationml.presentation; ~/.mutt/view_mail_attachment.rb --file:%s --type:"-" --open_with:'/Applications/OpenOffice.org.app'
5 | application/vnd.oasis.opendocument.text; ~/.mutt/view_mail_attachment.rb --file:%s --type:"-" --open_with:'/Applications/OpenOffice.org.app'
6 |
7 | # Images
8 | image/jpg; ~/.mutt/view_mail_attachment.rb --file:%s --type:jpg
9 | image/jpeg; ~/.mutt/view_mail_attachment.rb --file:%s --type:jpg
10 | image/pjpeg; ~/.mutt/view_mail_attachment.rb --file:%s --type:jpg
11 | image/png; ~/.mutt/view_mail_attachment.rb --file:%s --type:png
12 | image/gif; ~/.mutt/view_mail_attachment.rb --file:%s --type:gif
13 |
14 | # PDFs
15 | application/pdf; ~/.mutt/view_mail_attachment.rb --file:%s --type:pdf
16 |
17 | # HTML
18 | text/html; ~/.mutt/view_mail_attachment.rb --file:%s --type:html
19 |
20 | # Unidentified files
21 | application/octet-stream; ~/.mutt/view_mail_attachment.rb --file:%s --type:"-"
22 |
--------------------------------------------------------------------------------
/shared/dotfiles/mutt/.mutt/view_mail_attachment.rb:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env ruby
2 |
3 | require 'fileutils'
4 |
5 | class Arguments
6 | attr_accessor :file
7 | attr_accessor :type
8 | attr_accessor :open_with
9 | attr_accessor :temp_dir
10 |
11 | def temp_dir
12 | @temp_dir ||= "/tempfiles/mutt_attachments"
13 | end
14 |
15 | def base_file_name
16 | @base_file_name ||= File.basename(file)
17 | end
18 |
19 | def base_file_name_without_extension
20 | File.basename(base_file_name, File.extname(base_file_name))
21 | end
22 | end
23 |
24 | def build_arguments(arguments)
25 | result = Arguments.new
26 |
27 | arguments.each do|argument|
28 | pair = argument.split(":")
29 | name = pair[0].gsub(/-/,"")
30 | value = pair[1]
31 | result.send "#{name}=", value
32 | end
33 | result
34 | end
35 |
36 | arguments = build_arguments(ARGV)
37 |
38 | system("mkdir -p #{arguments.temp_dir}")
39 | system("rm -rf #{arguments.temp_dir}/*")
40 |
41 |
42 | new_file_name = ""
43 | if (arguments.type == "-")
44 | new_file_name = File.basename(arguments.file)
45 | else
46 | new_file_name = "#{arguments.base_file_name_without_extension}.#{arguments.type}"
47 | end
48 |
49 | new_file_name = File.join(arguments.temp_dir, new_file_name)
50 | FileUtils.cp arguments.file, new_file_name
51 |
52 | if (arguments.open_with)
53 | system("open -a #{arguments.open_with} #{new_file_name}")
54 | else
55 | system("open #{new_file_name}")
56 | end
57 |
--------------------------------------------------------------------------------
/shared/dotfiles/mutt/muttrc_jp_developwithpassion.dotfile.settings:
--------------------------------------------------------------------------------
1 | configatron.mutt.folder = "/to_backup/imap_mail/jp_developwithpassion"
2 | configatron.msmtp.account = "jp"
3 | configatron.mutt.offline_imap_account = "jp_developwithpassion_gmail"
4 |
--------------------------------------------------------------------------------
/shared/dotfiles/notmuch/.gitignore:
--------------------------------------------------------------------------------
1 | .notmuch-config
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/notmuch/notmuch-config.dotfile.mustache:
--------------------------------------------------------------------------------
1 | # .notmuch-config - Configuration file for the notmuch mail system
2 | #
3 | # For more information about notmuch, see http://notmuchmail.org
4 |
5 | # Database configuration
6 | #
7 | # The only value supported here is 'path' which should be the top-level
8 | # directory where your mail currently exists and to where mail will be
9 | # delivered in the future. Files should be individual email messages.
10 | # Notmuch will store its database within a sub-directory of the path
11 | # configured here named ".notmuch".
12 | #
13 |
14 | [database]
15 | path=/to_backup/imap_mail
16 |
17 | # User configuration
18 | #
19 | # Here is where you can let notmuch know how you would like to be
20 | # addressed. Valid settings are
21 | #
22 | # name Your full name.
23 | # primary_email Your primary email address.
24 | # other_email A list (separated by ';') of other email addresses
25 | # at which you receive email.
26 | #
27 | # Notmuch will use the various email addresses configured here when
28 | # formatting replies. It will avoid including your own addresses in the
29 | # recipient list of replies, and will set the From address based on the
30 | # address to which the original email was addressed.
31 | #
32 |
33 | [user]
34 | name=Jean-Paul S. Boodhoo
35 | primary_email=jp@developwithpassion.com
36 |
37 | # Configuration for "notmuch new"
38 | #
39 | # The following options are supported here:
40 | #
41 | # tags A list (separated by ';') of the tags that will be
42 | # added to all messages incorporated by "notmuch new".
43 | #
44 | # ignore A list (separated by ';') of file and directory names
45 | # that will not be searched for messages by "notmuch new".
46 | #
47 | # NOTE: *Every* file/directory that goes by one of those names will
48 | # be ignored, independent of its depth/location in the mail store.
49 | #
50 |
51 | [new]
52 | tags=unread;inbox;
53 | ignore=
54 |
55 | # Search configuration
56 | #
57 | # The following option is supported here:
58 | #
59 | # exclude_tags
60 | # A ;-separated list of tags that will be excluded from
61 | # search results by default. Using an excluded tag in a
62 | # query will override that exclusion.
63 | #
64 |
65 | [search]
66 | exclude_tags=deleted;spam;
67 |
68 | # Maildir compatibility configuration
69 | #
70 | # The following option is supported here:
71 | #
72 | # synchronize_flags Valid values are true and false.
73 | #
74 | # If true, then the following maildir flags (in message filenames)
75 | # will be synchronized with the corresponding notmuch tags:
76 | #
77 | # Flag Tag
78 | # ---- -------
79 | # D draft
80 | # F flagged
81 | # P passed
82 | # R replied
83 | # S unread (added when 'S' flag is not present)
84 | #
85 | # The "notmuch new" command will notice flag changes in filenames
86 | # and update tags, while the "notmuch tag" and "notmuch restore"
87 | # commands will notice tag changes and update flags in filenames
88 | #
89 |
90 | [maildir]
91 | synchronize_flags=true
92 |
--------------------------------------------------------------------------------
/shared/dotfiles/offlineimap/.gitignore:
--------------------------------------------------------------------------------
1 | .offlineimaprc
2 | offlineimap.pyc
3 |
--------------------------------------------------------------------------------
/shared/dotfiles/offlineimap/offlineimap.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/python
2 | import subprocess
3 | import re
4 |
5 | class NameMapping:
6 | def __init__(self, local_name, remote_name):
7 | self.local_name = local_name
8 | self.remote_name = remote_name
9 |
10 | class LocalName:
11 | def __init__(self, folder):
12 | self.folder = folder
13 |
14 | def matches(self, mapping):
15 | return mapping.remote_name == self.folder
16 |
17 | def mapped_folder_name(self, mapping):
18 | return mapping.local_name
19 |
20 | class RemoteName:
21 | def __init__(self, folder):
22 | self.folder = folder
23 |
24 | def matches(self, mapping):
25 | return mapping.local_name == self.folder
26 |
27 | def mapped_folder_name(self, mapping):
28 | return mapping.remote_name
29 |
30 |
31 |
32 | def get_password(account):
33 | program ='/Users/jp/repositories/developwithpassion/devtools/automation/keychain/get_keychain_password'
34 |
35 | command = "{0} --account:{1} --command:find-internet-password".format(program, account)
36 |
37 | output = subprocess.check_output(command, shell=True)
38 |
39 | return output.rstrip()
40 |
41 |
42 | def is_included(folder):
43 | result = True
44 |
45 | for pattern in exclusion_patterns:
46 | result = result and (re.search(pattern, folder) == None)
47 |
48 | return result
49 |
50 | exclusion_patterns = [
51 | "efax",
52 | "earth_class_mail",
53 | "eventbrite",
54 | "gotomeeting",
55 | "moshi_monsters",
56 | "peepcode",
57 | "raini_fowl",
58 | "stuart_know",
59 | "training.*2008",
60 | "training.*2009",
61 | "training.*2010",
62 | "training.*2011",
63 | "training.*2012",
64 | "training.*nbdn",
65 | "training.*nothin_but_bdd",
66 | "unblock_us",
67 | "web_hosting",
68 | "webinars",
69 | "Gmail.*Important"
70 | ]
71 |
72 | name_mappings = [
73 | NameMapping('sent', '[Gmail]/Sent Mail'),
74 | NameMapping('spam', '[Gmail]/Spam'),
75 | NameMapping('flagged', '[Gmail]/Starred'),
76 | NameMapping('trash', '[Gmail]/Trash'),
77 | NameMapping('archive', '[Gmail]/All Mail'),
78 | NameMapping('drafts', '[Gmail]/Drafts')
79 | ]
80 |
81 |
82 |
83 | def find_name_mapping(name):
84 | default_mapping = NameMapping(name.folder, name.folder)
85 |
86 | for mapping in name_mappings:
87 | if (name.matches(mapping)):
88 | return mapping
89 |
90 | return default_mapping
91 |
92 | def get_name_mapping(name):
93 | mapping = find_name_mapping(name)
94 | return name.mapped_folder_name(mapping)
95 |
96 | def get_remote_name(local_folder_name):
97 | name = RemoteName(local_folder_name)
98 | return get_name_mapping(name)
99 |
100 | def get_local_name(remote_folder_name):
101 | name = LocalName(remote_folder_name)
102 | return get_name_mapping(name)
103 |
--------------------------------------------------------------------------------
/shared/dotfiles/offlineimap/offlineimaprc.dotfile.mustache:
--------------------------------------------------------------------------------
1 | [general]
2 | ui = TTYUI
3 | accounts = jp_developwithpassion_gmail
4 | pythonfile = ~/repositories/developwithpassion/devtools/shared/dotfiles/offlineimap/offlineimap.py
5 | fsync = False
6 |
7 |
8 | [Account jp_developwithpassion_gmail]
9 | localrepository = jp_developwithpassion_gmail_local
10 | remoterepository = jp_developwithpassion_gmail_remote
11 | status_backend = sqlite
12 | postsynchook = notmuch new
13 |
14 |
15 | #developwithpassion
16 | [Repository jp_developwithpassion_gmail_local]
17 | type = Maildir
18 | localfolders = /to_backup/imap_mail/jp_developwithpassion
19 | nametrans = get_remote_name
20 |
21 |
22 | [Repository jp_developwithpassion_gmail_remote]
23 | maxconnections = 1
24 | type = Gmail
25 | cert_fingerprint =b0ba392bba326e6feb1add4d04fa0fb86cd173fa
26 | remoteuser = jp@developwithpassion.com
27 | remotepasseval = get_password("jp@developwithpassion.com")
28 | realdelete = no
29 | nametrans = get_local_name
30 | folderfilter = is_included
31 |
--------------------------------------------------------------------------------
/shared/dotfiles/ruby/.irbrc:
--------------------------------------------------------------------------------
1 | require 'rubygems'
2 | require 'interactive_editor'
3 |
4 |
5 | # Color Coding
6 | # http://www.alloycode.com/2010/6/26/automatic-color-coding-for-script-console-and-irb
7 | begin
8 | require "ap"
9 | IRB::Irb.class_eval do
10 | def output_value
11 | ap @context.last_value
12 | end
13 | end
14 | rescue LoadError => e
15 | puts "ap gem not found. Try typing 'gem install awesome_print' to get super-fancy output."
16 | end
17 |
18 |
--------------------------------------------------------------------------------
/shared/dotfiles/rvm/.gitignore:
--------------------------------------------------------------------------------
1 | .rvmrc
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/rvm/global.gems:
--------------------------------------------------------------------------------
1 | awesome_print
2 | bundler
3 | configatron
4 | interactive_editor
5 | path_gem
6 | rake
7 | rubygems-bundler
8 | rvm
9 |
--------------------------------------------------------------------------------
/shared/dotfiles/rvm/rvmrc.dotfile.mustache:
--------------------------------------------------------------------------------
1 | rvm_project_rvmrc_default=1
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/tmux/.gitignore:
--------------------------------------------------------------------------------
1 | .tmux.conf
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/tmux/tmux.conf.dotfile.mustache:
--------------------------------------------------------------------------------
1 | set-option -g prefix C-b
2 | bind-key C-b last-window
3 |
4 | set-option -g default-command "reattach-to-user-namespace -l zsh"
5 | set-option -g default-shell /bin/zsh
6 |
7 |
8 | # DVTM style pane selection
9 | bind 1 select-pane -t 1
10 | bind 2 select-pane -t 2
11 | bind 3 select-pane -t 3
12 | bind 4 select-pane -t 4
13 | bind 5 select-pane -t 5
14 | bind 6 select-pane -t 6
15 | bind 7 select-pane -t 7
16 | bind 8 select-pane -t 8
17 | bind 9 select-pane -t 9
18 |
19 | # Pane resizing
20 | bind -r C-h resize-pane -L 5
21 | bind -r C-j resize-pane -D 5
22 | bind -r C-k resize-pane -U 5
23 | bind -r C-l resize-pane -R 5
24 |
25 | set -g default-terminal "screen-256color"
26 |
27 | # Status bar
28 | set -g status-fg white
29 | set -g status-bg colour234
30 | set -g window-status-activity-attr bold
31 | set -g pane-border-fg colour245
32 | set -g pane-active-border-fg colour39
33 | set -g message-fg colour16
34 | set -g message-bg colour221
35 | set -g message-attr bold
36 |
37 | # Activity
38 | setw -g monitor-activity on
39 | set -g visual-activity on
40 |
41 |
42 | # Autorename sanely.
43 | setw -g automatic-rename on
44 |
45 | # Better name management
46 | bind c new-window \; command-prompt "rename-window '%%'"
47 | bind C new-window
48 | bind , command-prompt "rename-window '%%'"
49 |
50 | # Copy mode
51 | setw -g mode-keys vi
52 | bind ` copy-mode
53 | unbind [
54 | unbind p
55 | bind p paste-buffer
56 | bind-key -t vi-copy v begin-selection
57 | bind-key -t vi-copy y copy-selection
58 | bind-key -t vi-copy Escape cancel
59 |
60 | #Pane movement
61 | bind h select-pane -L
62 | bind j select-pane -D
63 | bind k select-pane -U
64 | bind l select-pane -R
65 |
66 | #Pasteboard management
67 | bind-key Y run "tmux save-buffer - | reattach-to-user-namespace pbcopy"
68 | bind-key V run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"
69 |
70 | #Highlight the active window
71 | set-window-option -g window-status-current-bg yellow
72 | set-window-option -g window-status-current-fg blue
73 |
74 | #Start window indexing at 1
75 | set -g base-index 1
76 |
77 | setw -g aggressive-resize on
78 |
79 | #Better splitting options
80 | bind-key d split-window -v
81 | bind-key f split-window -h
82 | bind-key '"' detach-client
83 |
--------------------------------------------------------------------------------
/shared/dotfiles/urlview/.gitignore:
--------------------------------------------------------------------------------
1 | .urlview
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/urlview/urlview.dotfile.mustache:
--------------------------------------------------------------------------------
1 | COMMAND open %s
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.gitignore:
--------------------------------------------------------------------------------
1 | .vimrc
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/.VimballRecord:
--------------------------------------------------------------------------------
1 | command-t-0.6.vba: call delete('/Users/jp/.vim_runtime/ruby/command-t/controller.rb')|call delete('/Users/jp/.vim_runtime/ruby/command-t/extconf.rb')|call delete('/Users/jp/.vim_runtime/ruby/command-t/finder.rb')|call delete('/Users/jp/.vim_runtime/ruby/command-t/match_window.rb')|call delete('/Users/jp/.vim_runtime/ruby/command-t/prompt.rb')|call delete('/Users/jp/.vim_runtime/ruby/command-t/scanner.rb')|call delete('/Users/jp/.vim_runtime/ruby/command-t/settings.rb')|call delete('/Users/jp/.vim_runtime/ruby/command-t/stub.rb')|call delete('/Users/jp/.vim_runtime/ruby/vim/screen.rb')|call delete('/Users/jp/.vim_runtime/ruby/vim/window.rb')|call delete('/Users/jp/.vim_runtime/ruby/vim.rb')|call delete('/Users/jp/.vim_runtime/ruby/command-t/ext.c')|call delete('/Users/jp/.vim_runtime/ruby/command-t/match.c')|call delete('/Users/jp/.vim_runtime/ruby/command-t/matcher.c')|call delete('/Users/jp/.vim_runtime/ruby/command-t/ext.h')|call delete('/Users/jp/.vim_runtime/ruby/command-t/match.h')|call delete('/Users/jp/.vim_runtime/ruby/command-t/matcher.h')|call delete('/Users/jp/.vim_runtime/ruby/command-t/ruby_compat.h')|call delete('/Users/jp/.vim_runtime/ruby/command-t/depend')|call delete('/Users/jp/.vim_runtime/doc/command-t.txt')|call delete('/Users/jp/.vim_runtime/plugin/command-t.vim')
2 | gitdiff.vba: call delete('/Users/jp/.vim_runtime/plugin/gitdiff.vim')
3 | twitvim-0.5.0.vba: call delete('/Users/jp/.vim_runtime/plugin/twitvim.vim')|call delete('/Users/jp/.vim_runtime/doc/twitvim.txt')
4 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/.gitignore:
--------------------------------------------------------------------------------
1 | vimrc
2 | wordlist.vim
3 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/.netrwhist:
--------------------------------------------------------------------------------
1 | let g:netrw_dirhistmax =10
2 | let g:netrw_dirhist_cnt =1
3 | let g:netrw_dirhist_1='/Users/jp/repositories/developwithpassion/devtools/mac/profile'
4 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/autoload/pathogen.vim:
--------------------------------------------------------------------------------
1 | " pathogen.vim - path option manipulation
2 | " Maintainer: Tim Pope
3 | " Version: 1.2
4 |
5 | " Install in ~/.vim/autoload (or ~\vimfiles\autoload).
6 | "
7 | " API is documented below.
8 |
9 | if exists("g:loaded_pathogen") || &cp
10 | finish
11 | endif
12 | let g:loaded_pathogen = 1
13 |
14 | " Split a path into a list.
15 | function! pathogen#split(path) abort " {{{1
16 | if type(a:path) == type([]) | return a:path | endif
17 | let split = split(a:path,'\\\@ 0
6 | let idx -= 1
7 | let c = line[idx]
8 | " break on header and previous email
9 | if c == ':' || c == '>'
10 | return idx + 2
11 | else
12 | continue
13 | endif
14 | endwhile
15 | return idx
16 | else
17 | let trim="sed '/^$/d' | cut -f1,2"
18 | let fmt='awk ''BEGIN{FS=OFS="\t"}{printf "%s <%s>\n", $2, $1}'''
19 | if exists("g:goobookrc")
20 | let goobook="goobook -c " . g:goobookrc
21 | else
22 | let goobook="goobook"
23 | endif
24 | return split(system(goobook . ' query ' . a:base . '|' . trim . '|' . fmt ), '\n')
25 | endif
26 | endfunc
27 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/bundle/developwithpassion/ftplugin/mail.vim:
--------------------------------------------------------------------------------
1 | set omnifunc=mailcomplete#Complete
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/bundle/developwithpassion/plugin/csutils.vim:
--------------------------------------------------------------------------------
1 | function s:Dotnet_compile()
2 | set makeprg=build.bat
3 | set errorformat=\ %#%f(%l\\\,%c):\ error\ CS%n:\ %m
4 | endfunction
5 |
6 | command DotNetCompile :call Dotnet_compile()
7 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/bundle/developwithpassion/snippets/cs.snippets:
--------------------------------------------------------------------------------
1 | # #!/usr/bin/env ruby
2 |
3 | snippet class
4 | ${1} class ${2}
5 | {
6 |
7 | ${3}
8 |
9 | }
10 |
11 | snippet method
12 | public ${1} ${2}(${3})
13 | {
14 | ${4}
15 | }
16 |
17 | snippet if
18 | if (${1})
19 | {
20 | ${2}
21 | }
22 |
23 | snippet foreach
24 | foreach(var ${1} in ${2})
25 | {
26 | ${3}
27 | }
28 |
29 | snippet sif
30 | if (${1})
31 |
32 | snippet nowc
33 | public class ${1}Specs
34 | {
35 | public class concern:Observes<${2},${1}>
36 | {
37 |
38 | }
39 |
40 | public class ${3} : concern
41 | {
42 |
43 | It should_${4} = () =>
44 | ${5}
45 |
46 | }
47 | }
48 |
49 | snippet owc
50 | public class ${1} : concern
51 | {
52 |
53 | It should_${2} = () =>
54 | ${3}
55 |
56 | }
57 |
58 | snippet noc
59 | public class ${1}Specs
60 | {
61 | public class concern:Observes<${1}>
62 | {
63 |
64 | }
65 |
66 | public class ${2} : concern
67 | {
68 |
69 | It should_${3} = () =>
70 | ${4}
71 |
72 | }
73 | }
74 |
75 | snippet oc
76 | public class ${1} : concern
77 | {
78 |
79 | It should_${2} = () =>
80 | ${3}
81 |
82 | }
83 |
84 | snippet nso
85 | public class ${1}Specs
86 | {
87 | public class concern:Observes
88 | {
89 |
90 | }
91 |
92 | public class ${2} : concern
93 | {
94 |
95 | It should_${3} = () =>
96 | ${4}
97 |
98 | }
99 | }
100 |
101 | snippet so
102 | public class ${1} : concern
103 | {
104 |
105 | It should_${2} = () =>
106 | ${3}
107 |
108 | }
109 |
110 | snippet bddb
111 | Because b = () =>
112 | ${1}
113 |
114 |
115 | snippet bddc
116 | Establish c = () =>
117 | {
118 | ${1}
119 | };
120 |
121 | snippet it
122 | It should_${1} = () =>
123 | ${2};
124 |
125 | snippet el
126 | () => ${1}
127 |
128 | snippet deps
129 | depends.on<${1}>();
130 |
131 | snippet fake
132 | fake.an<${1}>();
133 |
134 | snippet ge
135 | >= ${1}
136 |
137 | snippet le
138 | <= ${1}
139 |
140 | snippet ne
141 | != ${1}
142 |
143 | snippet try
144 | try
145 | {
146 |
147 | }
148 | catch (${1} ${2})
149 | {
150 |
151 | }
152 |
153 | snippet se
154 | ShouldEqual(${1})
155 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/bundle/developwithpassion/snippets/markdown.snippets:
--------------------------------------------------------------------------------
1 | snippet code
2 | {% codeblock ${1} %}
3 | ${2}
4 | {% endcodeblock %}
5 |
6 | snippet post
7 | ---
8 | title: "${1}"
9 | tags: [${2}]
10 | ---
11 |
12 | snippet dwp
13 | [Develop With Passion®](http://www.developwithpassion.com)
14 |
15 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/bundle/developwithpassion/snippets/ruby.snippets:
--------------------------------------------------------------------------------
1 | # #!/usr/bin/env ruby
2 | snippet tok
3 | #{${1}}
4 |
5 | #rspec fixture
6 | snippet desc
7 | describe ${1},'${2}' do
8 | context '${3}' do
9 | it '${4}' do
10 | ${5}
11 | end
12 | end
13 | end
14 |
15 | snippet context
16 | context '${1}' do
17 | it '${2}' do
18 | ${3}
19 | end
20 | end
21 |
22 | #rspec observation
23 | snippet it
24 | it '${1}' do
25 | ${2}
26 | end
27 |
28 | #rspec setup
29 | snippet bddc
30 | before (:each) do
31 | ${1}
32 | end
33 |
34 |
35 | #rdoc nodoc
36 | snippet rdnd
37 | # :nodoc: all
38 |
39 | #proof heading
40 | snippet head
41 | heading '${1}' do
42 | proof '${2}' do
43 | ${3}
44 | end
45 | end
46 |
47 | snippet proof
48 | proof '${1}' do
49 | ${2}
50 | end
51 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/dictionary.vim:
--------------------------------------------------------------------------------
1 | inability
2 | surviving
3 |
4 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/install.sh:
--------------------------------------------------------------------------------
1 | if [ "$1" == "" ]; then
2 | echo "Usage: sh .vim_runtime/install "
3 | echo " can be 'mac', 'linux' or 'windows'"
4 | exit 1
5 | fi
6 | echo '
7 | fun! MySys()
8 | return "$1"
9 | endfun
10 | set runtimepath=~/.vim_runtime,~/.vim_runtime/after,\$VIMRUNTIME
11 | source ~/.vim_runtime/vimrc
12 | helptags ~/.vim_runtime/doc' > ~/.vimrc
13 | echo "Installed amix's vim configuration successfully! Enjoy :)"
14 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/remaps.vim:
--------------------------------------------------------------------------------
1 | " change the map leader to be the , as its easier to access"
2 | let mapleader = ","
3 | let g:mapleader = ","
4 |
5 | " remap for saves
6 | nmap w :w!
7 |
8 | " editing vim config files
9 | map e :e! ~/.vim_runtime/vimrc
10 | :nmap wl :e ~/.vim_runtime/wordlist.vim
11 |
12 | " turn off highlighting when the escape key is pressed
13 | :nnoremap :noh
14 |
15 | :nmap sm :simalt ~
16 |
17 | " open a buffer for creating an email message with spell checking set
18 | :nmap mail n,wlj\s
19 |
20 | " setting different shift widths
21 | map t2 :setlocal shiftwidth=2
22 | map t4 :setlocal shiftwidth=4
23 | map t8 :setlocal shiftwidth=4
24 |
25 | """"""""""""""""""""""""""""""
26 | " => Visual mode related
27 | """"""""""""""""""""""""""""""
28 | " Really useful!
29 | " In visual mode when you press * or # to search for the current selection
30 | vnoremap * :call VisualSearch('f')
31 | vnoremap # :call VisualSearch('b')
32 |
33 | " When you press gv you vimgrep after the selected text
34 | vnoremap gv :call VisualSearch('gv')
35 | map g :vimgrep // **/*.
36 |
37 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
38 | " => Moving around, tabs and buffers
39 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
40 | " Map space to / (search) and c-space to ? (backgwards search)
41 | map :noh
42 |
43 | " Smart way to move btw. windows
44 | map j
45 | map k
46 | map h
47 | map l
48 |
49 | " Close the current buffer
50 | map bd :bdel
51 |
52 | " Close all the buffers
53 | map ba :bufdo bd!
54 |
55 | " Use the arrows to something usefull
56 | map :bn
57 | map :bp
58 |
59 | " Tab configuration
60 | map tn :tabnew %
61 | map te :tabedit
62 | map tc :tabclose
63 | map tm :tabmove
64 |
65 | " When pressing cd switch to the directory of the open buffer
66 | map cd :cd %:p:h
67 |
68 | " autocomplete common programming elements
69 | inoremap (( ()i
70 | inoremap [[ []i
71 | inoremap {{ {}i
72 | inoremap '' ''i
73 | inoremap "" ""i
74 | inoremap uu _
75 |
76 | " remap for ruby blocks
77 | inoremap \|\| \|\|i
78 |
79 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
80 | " => Cope
81 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
82 | " Do :help cope if you are unsure what cope is. It's super useful!
83 | map cc :botright cope
84 | map n :cn
85 | map p :cp
86 |
87 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
88 | " => Spell checking
89 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
90 | "Pressing ,ss will toggle and untoggle spell checking
91 | map ss :setlocal spell!
92 |
93 | "Shortcuts using
94 | map sn ]s
95 | map sp [s
96 | map s? z=
97 |
98 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
99 | " => NERDTree
100 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
101 | let NERDTreeChDirMode=2
102 | nnoremap n :NERDTree .
103 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
104 |
105 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
106 | " => Vimux
107 | """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
108 | map rb :call RunVimTmuxCommand("clear; rspec " . bufname("%"))
109 |
110 | " Prompt for a command to run
111 | map rp :PromptVimTmuxCommand
112 |
113 | " Run last command executed by RunVimTmuxCommand
114 | map rl :RunLastVimTmuxCommand
115 |
116 | " Inspect runner pane
117 | map ri :InspectVimTmuxRunner
118 |
119 | " Close all other tmux panes in current window
120 | map rx :CloseVimTmuxPanes
121 |
122 | " Interrupt any command running in the runner pane
123 | map rs :InterruptVimTmuxRunner
124 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
125 |
126 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
127 | " => MISC
128 | """""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
129 | " Remove the Windows ^M - when the encodings gets messed up
130 | noremap m mmHmt:%s///ge'tzt'm
131 |
132 | "Quickly open a buffer for scripbble
133 | map q :e ~/buffer
134 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/.vim_runtime/wordlist.vim.erb:
--------------------------------------------------------------------------------
1 | <%
2 | words = {
3 | :about => %w[abiyt],
4 | :contact => %w[contect cntct],
5 | :continue => %w[contine],
6 | :great => %w[gret],
7 | :hesitate => %w[hesi hies],
8 | :information => %w[ionformation],
9 | :interesting => %w[intersting],
10 | :make => %w[mak],
11 | :negotiations => %w[engotations],
12 | :please => %w[pleaes],
13 | :progress => %w[pgorgress],
14 | :specifications => %w[sepcficiations],
15 | :teaching => %w[teahing],
16 | :the => %w[teh th eht],
17 | :where => %w[wehere],
18 | :you => %w[yuo],
19 | :yourself => %w[youerself],
20 | :somethign => %w[somethign],
21 | :opportunity => %w[opprotunity]
22 |
23 | }
24 | %>
25 | :iabbrev xdate =strftime("%d/%m/%y %H:%M:%S")
26 | :iabbrev gbu God Bless You
27 | :iabbrev jpb Jean-Paul S. Boodhoo
28 |
29 | <% words.each do|word,mispellings|
30 | mispellings.each do|mispelling| %>
31 | :iabbrev <%="#{mispelling} #{word}"%>
32 | <% if ! @is_cygwin %>
33 | :iabbrev <%="#{mispelling.capitalize} #{word.capitalize}"%>
34 | <% end %>
35 | <% end %>
36 | <%end %>
37 |
--------------------------------------------------------------------------------
/shared/dotfiles/vim/vimrc.dotfile.mustache:
--------------------------------------------------------------------------------
1 | fun! MySys()
2 | return "{{ vim.environment }}"
3 | endfun
4 |
5 | set runtimepath=~/.vim_runtime,~/.vim_runtime/after,$VIMRUNTIME
6 |
7 | "trigger pathogen to load all plugins
8 | call pathogen#runtime_append_all_bundles()
9 | call pathogen#helptags()
10 |
11 | source ~/.vim_runtime/vimrc
12 | source ~/.vim_runtime/wordlist.vim
13 |
14 |
--------------------------------------------------------------------------------
/shared/dotfiles/vimperator/.gitignore:
--------------------------------------------------------------------------------
1 | .vimperatorrc
2 |
--------------------------------------------------------------------------------
/shared/dotfiles/vimperator/vimperatorrc.dotfile.mustache:
--------------------------------------------------------------------------------
1 | "2.3.1 (created: 2010/04/07 18:25:13)
2 |
3 | set editor='bash -lc "mvim -g -f \$*" mvim '
4 | set runtimepath=$HOME/.vimperator
5 | source! /Users/jp/.vimperatorrc.local
6 |
7 | " change the map leader to be the , as its easier to access"
8 | set mapleader=,
9 |
10 | " vim: set ft=vimperator:
11 |
12 | " egg timer shortcuts
13 | :com -nargs=1 timer :t http://e.ggtimer.com/
14 | :com -nargs=1 timerm :t http://e.ggtimer.com/min
15 | :com -nargs=1 timerh :t http://e.ggtimer.com/hour
16 |
17 | " administration pages
18 | :com gbmo -description "bmo_mastercard" :t https://www1.bmo.com/MasterCard/MCmain?product=15
19 | :com gcibc -description cibc :t https://www.cibc.com/ca/personal.html?cid=SignOn_hp_27055_D_E
20 | :com gdropbox -description dropbox :t http://www.dropbox.com/login
21 | :com gearthclassmail -description earth_class_mail :t https://secure.earthclassmail.com/Login.aspx
22 | :com geventbrite -description eventbrite :t eventbrite.com/login
23 | :com gfreshbooks -description freshbooks :t https://developwithpassion.freshbooks.com
24 | :com ggithub :t https://github.com/login
25 | :com ggotomeeting :t https://www2.gotomeeting.com/island/login.tmpl?Portal=www.gotomeeting.com
26 | :com glastpass :t https://lastpass.com/index.php?ac=1
27 | :com glinkedin :t https://www.linkedin.com/secure/login?goback=&trk=hb_signin
28 | :com glumosity :t http://www.lumosity.com/login
29 | :com gmail :t mail.developwithpassion.com
30 | :com gmailkeymando :t https://www.google.com/a/keymando.com/ServiceLogin?service=mail&passive=true&rm=false&continue=http://mail.google.com/a/keymando.com/<mpl=default<mplcache=2
31 | :com gmailfilter :t https://login.postini.com/a/developwithpassion.com
32 | :com grbc :t https://www1.royalbank.com/cgi-bin/rbaccess/rbunxcgi?F6=1&F7=IB&F21=IB&F22=IB&REQUEST=ClientSignin&LANGUAGE=ENGLISH
33 | :com gtdbank :t https://easywebcpo.td.com/waw/idp/login.htm?execution=e1s1
34 | :com gtmobile -description "tmobile" :t https://my.t-mobile.com/Login/?rc=&dest=https%3a%2f%2fmy.t-mobile.com%3a443%2fDefault.aspx%3frp.Logon%3dtrue
35 | :com gorange :t https://services.orange.co.uk/sam/templates/web/sign_in_paygtopup.htm
36 |
37 | "client sections
38 | "daxko
39 | :com gdaxkojira -description daxkojira :t http://jira.dcc001.dccllc.com:8090/secure/Dashboard.jspa
40 | :com gdaxkoweb -description daxkoweb :t https://mydaxko.com
41 | :com gdaxkomail -description daxkomail :t http://mail.daxko.com
42 |
43 | "webmeetings
44 | :com gadobeconnect -description adobeconnect :t https://na8cps.adobeconnect.com/system/login?domain=meet32105458.adobeconnect.com&next=%2Fadmin%3Fdomain%3Dmeet32105458.adobeconnect.com&set-lang=en
45 |
46 | "close the current window
47 | :nmap c :q!
48 |
--------------------------------------------------------------------------------
/shared/dotfiles/zsh/.gitignore:
--------------------------------------------------------------------------------
1 | .zshrc
2 | .zshenv
3 |
--------------------------------------------------------------------------------
/shared/dotfiles/zsh/zshenv.dotfile.mustache:
--------------------------------------------------------------------------------
1 | fpath=($fpath $HOME/.zsh/func)
2 | typeset -U fpath
3 |
--------------------------------------------------------------------------------
/shared/dotfiles/zsh/zshrc.dotfile.mustache:
--------------------------------------------------------------------------------
1 | # Path to your oh-my-zsh configuration.
2 | ZSH=$HOME/.oh-my-zsh
3 |
4 | # Set name of the theme to load.
5 | # Look in ~/.oh-my-zsh/themes/
6 | # Optionally, if you set this to "random", it'll load a random theme each
7 | # time that oh-my-zsh is loaded.
8 | ZSH_THEME="frosted"
9 |
10 | # Example aliases
11 | # alias zshconfig="mate ~/.zshrc"
12 | # alias ohmyzsh="mate ~/.oh-my-zsh"
13 |
14 | # Set to this to use case-sensitive completion
15 | # CASE_SENSITIVE="true"
16 |
17 | # Comment this out to disable bi-weekly auto-update checks
18 | # DISABLE_AUTO_UPDATE="true"
19 |
20 | # Uncomment to change how often before auto-updates occur? (in days)
21 | # export UPDATE_ZSH_DAYS=13
22 |
23 | # Uncomment following line if you want to disable colors in ls
24 | # DISABLE_LS_COLORS="true"
25 |
26 | # Uncomment following line if you want to disable autosetting terminal title.
27 | # DISABLE_AUTO_TITLE="true"
28 |
29 | # Uncomment following line if you want to disable command autocorrection
30 | # DISABLE_CORRECTION="true"
31 |
32 | # Uncomment following line if you want red dots to be displayed while waiting for completion
33 | # COMPLETION_WAITING_DOTS="true"
34 |
35 | # Uncomment following line if you want to disable marking untracked files under
36 | # VCS as dirty. This makes repository status check for large repositories much,
37 | # much faster.
38 | # DISABLE_UNTRACKED_FILES_DIRTY="true"
39 |
40 | # Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
41 | # Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
42 | # Example format: plugins=(rails git textmate ruby lighthouse)
43 | plugins=(git)
44 |
45 | source $ZSH/oh-my-zsh.sh
46 |
47 | function zsh_source_scripts()
48 | {
49 | . ~/.bash_env
50 | . ~/.bash_aliases
51 | . ~/.bash_source_rvm
52 | }
53 |
54 | function zsh_set_options()
55 | {
56 | setopt autocd
57 | setopt autopushd
58 | setopt histsavenodups
59 | setopt histexpiredupsfirst
60 | setopt histfindnodups
61 | setopt histignorealldups
62 | setopt histignoredups
63 | setopt histreduceblanks
64 | setopt nullglob
65 | setopt pushdignoredups
66 | setopt pushdtohome
67 | setopt promptcr
68 | setopt promptsubst
69 | setopt zle
70 |
71 | autoload -U promptinit
72 | autoload -U compinit
73 | compinit -C
74 | promptinit
75 | # prompt wunjo
76 |
77 | bindkey -v
78 | bindkey '^R' history-incremental-search-backward
79 |
80 | autoload edit-command-line
81 | zle -N edit-command-line
82 | bindkey -M vicmd v edit-command-line
83 |
84 | ## case-insensitive (all),partial-word and then substring completion
85 | zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|[._-]=* r:|=*' 'l:|=* r:|=*'
86 | }
87 |
88 | zsh_source_scripts
89 | zsh_set_options
90 |
91 | {{# core.is_cygwin}}
92 | cd ~/
93 | source ~/.rvm/scripts/rvm
94 | {{/core.is_cygwin}}
95 |
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/Ahem.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/droid_fonts/Ahem.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/Android.mk:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2008 The Android Open Source Project
2 | #
3 | # Licensed under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License.
5 | # You may obtain a copy of the License at
6 | #
7 | # http://www.apache.org/licenses/LICENSE-2.0
8 | #
9 | # Unless required by applicable law or agreed to in writing, software
10 | # distributed under the License is distributed on an "AS IS" BASIS,
11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | # See the License for the specific language governing permissions and
13 | # limitations under the License.
14 |
15 | LOCAL_PATH:= $(call my-dir)
16 | include $(CLEAR_VARS)
17 |
18 | copy_from := \
19 | DroidSans.ttf \
20 | DroidSans-Bold.ttf \
21 | DroidSerif-Regular.ttf \
22 | DroidSerif-Bold.ttf \
23 | DroidSerif-Italic.ttf \
24 | DroidSerif-BoldItalic.ttf \
25 | DroidSansMono.ttf
26 |
27 | ifneq ($(NO_FALLBACK_FONT),true)
28 | copy_from += DroidSansFallback.ttf
29 | endif
30 |
31 | copy_to := $(addprefix $(TARGET_OUT)/fonts/,$(copy_from))
32 |
33 | $(copy_to) : PRIVATE_MODULE := fonts
34 | $(copy_to) : $(TARGET_OUT)/fonts/% : $(LOCAL_PATH)/% | $(ACP)
35 | $(transform-prebuilt-to-target)
36 |
37 | ALL_PREBUILT += $(copy_to)
38 |
39 |
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/DroidSans-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/droid_fonts/DroidSans-Bold.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/DroidSans.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/droid_fonts/DroidSans.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/DroidSansFallback.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/droid_fonts/DroidSansFallback.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/DroidSansJapanese.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/droid_fonts/DroidSansJapanese.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/DroidSansMono.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/droid_fonts/DroidSansMono.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/DroidSerif-Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/droid_fonts/DroidSerif-Bold.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/DroidSerif-BoldItalic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/droid_fonts/DroidSerif-BoldItalic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/DroidSerif-Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/droid_fonts/DroidSerif-Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/DroidSerif-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/droid_fonts/DroidSerif-Regular.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/MODULE_LICENSE_APACHE2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/droid_fonts/MODULE_LICENSE_APACHE2
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/README.txt:
--------------------------------------------------------------------------------
1 | Copyright (C) 2008 The Android Open Source Project
2 |
3 | Licensed under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 |
7 | http://www.apache.org/licenses/LICENSE-2.0
8 |
9 | Unless required by applicable law or agreed to in writing, software
10 | distributed under the License is distributed on an "AS IS" BASIS,
11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | See the License for the specific language governing permissions and
13 | limitations under the License.
14 |
15 | ##########
16 |
17 | This directory contains the fonts for the platform. They are licensed
18 | under the Apache 2 license.
19 |
--------------------------------------------------------------------------------
/shared/extra_fonts/droid_fonts/fonts.xml:
--------------------------------------------------------------------------------
1 |
2 |
16 |
17 |
18 | sans-serif
19 | arial
20 | helvetica
21 | tahoma
22 | verdana
23 |
24 |
25 | serif
26 | times
27 | times new roman
28 | palatino
29 | georgia
30 | baskerville
31 | goudy
32 | fantasy
33 | cursive
34 | ITC Stone Serif
35 |
36 |
37 | monospace
38 | courier
39 | courier new
40 | monaco
41 |
42 |
43 |
--------------------------------------------------------------------------------
/shared/extra_fonts/envy/Envy Code R Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/envy/Envy Code R Bold.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/envy/Envy Code R Command Prompt.reg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/envy/Envy Code R Command Prompt.reg
--------------------------------------------------------------------------------
/shared/extra_fonts/envy/Envy Code R Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/envy/Envy Code R Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/envy/Envy Code R VS Italic-as-bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/envy/Envy Code R VS Italic-as-bold.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/envy/Envy Code R VS.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/envy/Envy Code R VS.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/envy/Envy Code R.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/envy/Envy Code R.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Calibri Bold Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Calibri Bold Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Calibri Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Calibri Bold.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Calibri Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Calibri Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Calibri.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Calibri.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Cambria Bold Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Cambria Bold Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Cambria Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Cambria Bold.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Cambria Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Cambria Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Cambria.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Cambria.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Candara Bold Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Candara Bold Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Candara Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Candara Bold.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Candara Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Candara Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Candara.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Candara.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Consolas Bold Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Consolas Bold Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Consolas Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Consolas Bold.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Consolas Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Consolas Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Consolas.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Consolas.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Constantia Bold Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Constantia Bold Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Constantia Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Constantia Bold.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Constantia Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Constantia Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Constantia.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Constantia.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Corbel Bold Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Corbel Bold Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Corbel Bold.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Corbel Bold.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Corbel Italic.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Corbel Italic.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/ms_fonts/Corbel.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/ms_fonts/Corbel.ttf
--------------------------------------------------------------------------------
/shared/extra_fonts/palmos_windows_font/PalmOS-CP1252.FON:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/shared/extra_fonts/palmos_windows_font/PalmOS-CP1252.FON
--------------------------------------------------------------------------------
/shared/hosts/.gitignore:
--------------------------------------------------------------------------------
1 | hosts
2 |
--------------------------------------------------------------------------------
/shared/hosts/hosts.mustache:
--------------------------------------------------------------------------------
1 | {{# core.is_windows }}
2 | #localhost
3 | 127.0.0.1 .psf
4 | #github.com
5 | 207.97.227.239 github.com
6 | {{/core.is_windows }}
7 | {{^core.is_windows }}
8 | 127.0.0.1 localhost
9 | 255.255.255.255 broadcasthost
10 | ::1 localhost
11 | fe80::1%lo0 localhost
12 | {{/core.is_windows }}
13 |
14 | #vm's
15 | # 172.16.223.130 developwithpassion.ubuntu #nat
16 | 10.0.1.14 developwithpassion.ubuntu #bridged_macpro
17 | # 10.43.1.55 developwithpassion.ubuntu #bridged_macbook_pro
18 |
19 | #home computers
20 | 10.0.1.32 hotmama #hotmamas imac
21 | 10.0.1.13 developwithpassion.macbook_pro
22 | 10.0.1.8 developwithpassion_mac_pro
23 |
24 | #daxko computers
25 | 10.4.0.10 qa
26 | 10.3.0.23 devdb
27 |
28 |
29 | #itunes workaround
30 | # 74.208.105.171 gs.apple.com
31 |
32 |
--------------------------------------------------------------------------------
/windows/autohotkey/.gitignore:
--------------------------------------------------------------------------------
1 | ahk*.ahk
2 | merge_header_002_shared_variables.ahk
3 | launch_ahk
4 |
--------------------------------------------------------------------------------
/windows/autohotkey/merge_footer_001_shared_utility_functions.ahk:
--------------------------------------------------------------------------------
1 | ;================================================================
2 | ;utilities
3 | ;================================================================
4 | disable_timer(timer_name)
5 | {
6 | SetTimer, %timer_name%, off
7 | }
8 |
9 | wait_for_window(window_name)
10 | {
11 | WinWaitActive, %window_name%,,0.8
12 | return ErrorLevel
13 | }
14 |
15 | move_mouse(x,y)
16 | {
17 | MouseMove,x,y
18 | }
19 |
20 | move_mouse_to_middle_of_active_screen()
21 | {
22 | WinGetPos,X,Y,Width,Height,A
23 | move_mouse(Width/2,Height/2)
24 | }
25 |
26 | click_mouse_in_middle_of_screen()
27 | {
28 | SysGet, screen_width, 59
29 | SysGet, screen_height, 60
30 | click_mouse_on_screen(screen_width/2,screen_height/2)
31 | }
32 |
33 | screen_drag(x1,y1,x2,y2)
34 | {
35 | CoordMode,Mouse,Screen
36 | MouseClickDrag,Left,x1,y1,x2,y2
37 | CoordMode,Mouse,Relative
38 | }
39 |
40 | click_mouse_in_active_window(x,y)
41 | {
42 | click_mouse_in_active_window_multiple_times(x,y,1)
43 | }
44 |
45 | click_mouse_on_screen(x,y)
46 | {
47 | CoordMode,Mouse,Screen
48 | click_mouse_in_active_window(x,y)
49 | CoordMode,Mouse,Relative
50 | }
51 |
52 | click_mouse_in_active_window_multiple_times(x,y,times)
53 | {
54 | MouseClick,Left,x,y,times
55 | }
56 |
57 |
58 | send_with_sleep(keystrokes,duration)
59 | {
60 | send, %keystrokes%
61 | sleep,duration
62 | }
63 |
64 | send_keystrokes(keystrokes)
65 | {
66 | send_with_sleep(keystrokes,0)
67 | }
68 |
69 | send_keystrokes_to_program(keystrokes,program)
70 | {
71 | IfWinActive, %program%
72 | {
73 | send_keystrokes(keystrokes)
74 | }
75 | }
76 |
77 | run_start_menu_program(program)
78 | {
79 | send_with_sleep("{LWIN}",100)
80 | send_with_sleep(program,100)
81 | send_with_sleep("{enter}",1000)
82 | }
83 |
84 |
85 | run_regular_program(program)
86 | {
87 | Run, %program%
88 | }
89 |
90 | position_window_and_size(x1,y1,width,height)
91 | {
92 | WinGetActiveTitle, current_active_window
93 | WinMove,%current_active_window%,,x1,y1,width,height
94 | }
95 |
96 |
97 | maximize_active_program()
98 | {
99 | WinGetActiveTitle,current_active_window
100 | WinMaximize, %current_active_window%
101 | }
102 |
--------------------------------------------------------------------------------
/windows/autohotkey/merge_header_001_header.ahk:
--------------------------------------------------------------------------------
1 | ;==========================
2 | ;Initialize
3 | ;==========================
4 | #NoEnv
5 | SendMode Input
6 | SetWorkingDir %A_ScriptDir%
7 | SetTitleMatchMode 2
8 |
--------------------------------------------------------------------------------
/windows/autohotkey/merge_header_002_shared_variables.ahk.mustache:
--------------------------------------------------------------------------------
1 | ;=========================================
2 | ;Shared variables
3 | ;=========================================
4 | devenv = Visual Studio
5 | autohotkey_spy = {{{my.windows.paths.win_style.ahk_spy}}}
6 | process_explorer = {{{my.windows.paths.win_style.process_explorer}}}
7 | divvy = {{{my.windows.paths.win_style.divvy}}}
8 | camrec_exe = {{{my.windows.paths.win_style.camrec}}}
9 | mingw = {{{my.windows.paths.win_style.msys}}}
10 | cygwin = {{{my.windows.paths.win_style.cygwin}}}
11 | conemu = {{{my.windows.paths.win_style.conemu}}}
12 | camrec = Recording
13 | camrec_preview = Preview
14 | autohotkey_scripts = {{{my.windows.paths.win_style.ahk_scripts}}}
15 |
16 | SysGet, screen_width, 59
17 | SysGet, screen_height, 60
18 | screen_center_x := screen_width/2
19 | screen_center_y := screen_height/2
20 | left := screen_width/2
21 | right := screen_width
22 | middle_of_screen := screen_height/2
23 |
--------------------------------------------------------------------------------
/windows/autohotkey/partial_ahk_caps_as_windows_key.ahk:
--------------------------------------------------------------------------------
1 | ;=============================
2 | ;STANDARD KEY MAPPINGS
3 | ;=============================
4 | ;Map altGr to alt
5 | ;RAlt::Alt
6 | ;RShift::Shift
7 | ;RCtrl::Ctrl
8 |
9 |
10 | LWIN & ,::
11 | send, {shift}+{tab}
12 | return
13 |
14 | LWIN & m::
15 | Send, {Tab}
16 | return
17 |
18 | ;Map to delete
19 | LWIN & x::
20 | send, {delete}
21 | return
22 |
23 | ;Map alt & up
24 | $!K::
25 | Send, !{Up}
26 | return
27 |
28 |
29 | ;send right mouse button or ctrl shift r
30 | LWIN & r::
31 | GetKeyState, state, rshift, P
32 | if state = D
33 | send, ^+r
34 | else
35 | send, {shift}+{F10}
36 | return
37 |
38 | ;Map to left arrow or ctrl left arrow
39 | LWIN & h::
40 | GetKeyState, state, shift, P
41 | if state = D
42 | send, ^{left}
43 | else
44 | send, {left}
45 | return
46 |
47 |
48 | ;Map to right arrow or ctrl right arrow
49 | LWIN & l::
50 | GetKeyState, state, shift, P
51 | if state = D
52 | send, ^{right}
53 | else
54 | send, {right}
55 | return
56 |
57 | ;Map to up arrow
58 | LWIN & k::
59 | GetKeyState, state, shift, P
60 | if state = D
61 | send, {shift}+{up}
62 | else
63 | send, {up}
64 | return
65 |
66 | ;Map to down arrow
67 | LWIN & j::
68 | GetKeyState, state, shift, P
69 | if state = D
70 | send, {shift}+{down}
71 | else
72 | send, {down}
73 | return
74 |
75 | ;Map to Alt + Shift + Tab
76 | LWIN & d:: ShiftAltTab
77 |
78 | ;Map to Alt + Tab
79 | LWIN & f:: AltTab
80 |
81 | ;Map c to close window
82 | LWIN & c::
83 | GetKeyState, state, shift, P
84 | if state = D
85 | send !{F4}
86 | else
87 | send, ^{F4}
88 | return
89 |
90 | ;Stop win & key from toggling capslock.
91 | LWIN::
92 | ;*LWIN::
93 | +LWIN::
94 | LWIN & down::
95 | LWIN & up::
96 | LWIN & right::
97 | LWIN & left::
98 | LWIN & shift::
99 | LWIN & appskey::
100 | LWIN & tab::
101 | LWIN & `::
102 | LWIN & 3::
103 | LWIN & 5::
104 | LWIN & 7::
105 | LWIN & 8::
106 | LWIN & 9::
107 | LWIN & 0::
108 | LWIN & -::
109 | LWIN & =::
110 | LWIN & a::
111 | LWIN & s::
112 | LWIN & p::
113 | LWIN & `;::
114 | LWIN & \::
115 | LWIN & z::
116 | LWIN & v::
117 | LWIN & w::
118 | LWIN & [::
119 | LWIN & ]::
120 | LWIN & #::
121 |
122 |
123 |
124 |
--------------------------------------------------------------------------------
/windows/autohotkey/partial_ahk_general.ahk:
--------------------------------------------------------------------------------
1 | ;===========================
2 | actions="div,cm,con,as,e,kk,lm,clm,mmsc,mmc,mmn,wtr,wtl,wbl,wbr,wc,wf,rwind,ww,rr,sm,sr,se,sd,x,savr,cyg,ming,proc,lw,ulw"
3 | LWIN & y::
4 | Input,command_input,T1/5,{enter}{esc}{tab},%actions%
5 | if (ErrorLevel = Max | ErrorLevel = Timeout )
6 | {
7 | return
8 | }
9 | if (command_input <> "")
10 | {
11 | SetTimer, %command_input%, -1
12 | }
13 | return
14 |
15 | MsgBox Hello
16 |
17 | ;===================================================
18 | ;Basic Actions
19 | ;===================================================
20 |
21 | ;exit the current app
22 | x:
23 | send, !{F4}
24 | return
25 |
26 |
27 | ;launch executor
28 | e:
29 | send, !q
30 | return
31 |
32 | ;activate the menu in a shell window
33 | cm:
34 | click_mouse_in_active_window(14,16)
35 | return
36 |
37 | ;launch the cygwin shell
38 | cyg:
39 | run_start_menu_program(cygwin)
40 | return
41 |
42 | ;launch the mingw shell
43 | ming:
44 | run_start_menu_program(mingw)
45 | return
46 |
47 | ;launch the conemu terminal
48 | con:
49 | run_start_menu_program(conemu)
50 | return
51 |
52 | lm:
53 | Click
54 | return
55 |
56 | lw:
57 | RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableLockWorkstation, 0
58 | return
59 |
60 | ulw:
61 | RegWrite, REG_DWORD, HKEY_CURRENT_USER, Software\Microsoft\Windows\CurrentVersion\Policies\System, DisableLockWorkstation, 1
62 | return
63 |
64 | clm:
65 | ControlClick
66 | return
67 |
68 | ;launch divvy
69 | div:
70 | run_regular_program(divvy)
71 | return
72 |
73 |
74 | ;Move the mouse center
75 | mmc:
76 | move_mouse_to_middle_of_active_screen()
77 | return
78 |
79 |
80 | ;Move the mouse center
81 | mmsc:
82 | click_mouse_in_middle_of_screen()
83 | return
84 |
85 | ;Move the window to the next monitor
86 | mmn:
87 | send, +{Right}
88 | return
89 |
90 |
91 | ;Run autohotkey spy
92 | as:
93 | run_regular_program(autohotkey_spy)
94 | return
95 |
96 | kk:
97 | send, {Home}
98 | return
99 |
100 | wtl:
101 | position_window_and_size(0,0,screen_center_x,screen_center_y)
102 | return
103 |
104 | wtr:
105 | position_window_and_size(screen_center_x,0,screen_center_x,screen_center_y)
106 | return
107 |
108 | wbl:
109 | position_window_and_size(0,screen_height-screen_center_y,screen_center_x,screen_center_y)
110 | return
111 |
112 | wbr:
113 | position_window_and_size(screen_width - screen_center_x,screen_center_y,screen_center_x,screen_center_y)
114 | return
115 |
116 | wc:
117 | WinGetActiveTitle, current_active_window
118 | position_window_and_size(screen_center_x - screen_center_x/2,screen_center_y - screen_center_y/2,screen_width/2,screen_height/2)
119 | return
120 |
121 | wf:
122 | position_window_and_size(0,0,screen_width,screen_height)
123 | return
124 |
125 | rwind:
126 | run_regular_program(process_explorer)
127 | SetTimer,CloseProcExplorer,500
128 | return
129 |
130 | ;run process explorer
131 | proc:
132 | run_regular_program(process_explorer)
133 | return
134 |
135 | ;close the current file window
136 | ww:
137 | send_keystrokes("!fc")
138 | return
139 |
140 | ;Reload autohotkey scripts
141 | rr:
142 | Loop,%autohotkey_scripts%
143 | {
144 | Run,%A_LoopFileFullPath%
145 | }
146 | return
147 |
148 | ;launch the start menu
149 | sm:
150 | send, {LWIN}
151 | return
152 |
153 |
154 |
155 | ;========================================
156 | ;Camtasia
157 | ;========================================
158 | ;start new recording
159 | sr:
160 | IfWinNotExist, %camrec%
161 | {
162 | run_regular_program(camrec_exe)
163 | wait_for_window(camrec)
164 | }
165 | send, {F9}
166 | return
167 |
168 |
169 | ;stop recording
170 | se:
171 | send, {F10}
172 | return
173 |
174 | ;save recording as
175 | savr:
176 | click_mouse_in_active_window(1223,866)
177 | return
178 |
179 | ;delete current recording
180 | dr:
181 | click_mouse_in_active_window(1378,812)
182 | return
183 | ;================================================
184 |
185 | ;shut down the machine
186 | sd:
187 | send_with_sleep("{LWin}",500)
188 | send, {Right}{Enter}
189 | return
190 |
191 |
192 | CloseProcExplorer:
193 | IfWinNotExist, Process Explorer
194 | {
195 | process_explorer_close_attempts+=1
196 | if (process_explorer_close_attempts > 4)
197 | {
198 | process_explorer_close_attempts = 0
199 | disable_timer("CloseProcExplorer")
200 | }
201 | }
202 | else
203 | {
204 | WinClose, Process Explorer
205 | disable_timer("CloseProcExplorer")
206 | }
207 | return
208 |
--------------------------------------------------------------------------------
/windows/autohotkey/partial_ahk_spaces_as_underscores.ahk:
--------------------------------------------------------------------------------
1 | ;=======================================================================================
2 | ;BDD Test Naming Mode AHK Script
3 | ;
4 | ;Description:
5 | ; Replaces spaces with underscores while typing, to help with writing BDD test names.
6 | ; Toggle on and off with Ctrl + Shift + U.
7 | ;=======================================================================================
8 | enabledIcon := "testnamingmode_16.ico"
9 | disabledIcon := "testnamingmode_disabled_16.ico"
10 | IsInTestNamingMode := false
11 | SetTestNamingMode(false)
12 |
13 | ;==========================
14 | ;Functions
15 | ;==========================
16 | SetTestNamingMode(toActive) {
17 | local iconFile := toActive ? enabledIcon : disabledIcon
18 | local state := toActive ? "ON" : "OFF"
19 |
20 | IsInTestNamingMode := toActive
21 | Menu, Tray, Icon, %iconFile%,
22 | Menu, Tray, Tip, Test naming mode is %state%
23 |
24 | }
25 |
26 | ;==========================
27 | ;Test Mode toggle
28 | ;==========================
29 | LWin & t::
30 | SetTestNamingMode(true)
31 | return
32 |
33 | ;==========================
34 | ;Handle Enter press
35 | ;==========================
36 | $Enter::
37 | if (IsInTestNamingMode){
38 | SetTestNamingMode(false)
39 | }
40 | else{
41 | Send, {Enter}
42 | }
43 | return
44 |
45 | ;==========================
46 | ;Handle Escape press
47 | ;==========================
48 | ;Map to escape or shift + escape
49 | LWIN & e::
50 | GetKeyState, state, shift, P
51 | if state = D
52 | send, {shift}+{escape}
53 | else
54 | send, {escape}
55 | SetTestNamingMode(false)
56 | return
57 |
58 | $Escape::
59 | SetTestNamingMode(false)
60 | Send, {Escape}
61 | return
62 |
63 | ;==========================
64 | ;Handle SPACE press
65 | ;==========================
66 | $Space::
67 | if (IsInTestNamingMode) {
68 | Send, _
69 | } else {
70 | Send, {Space}
71 | }
72 | return
73 |
--------------------------------------------------------------------------------
/windows/autohotkey/partial_ahk_visual_studio.ahk:
--------------------------------------------------------------------------------
1 | reload_window_title = Project file modification detected
2 |
3 | ;===========================
4 | ;bring up the VS# context actions
5 | actions="aep,el,ani,drun,rwd,fac,fl,h,imp,key,l,anp,nu,par,rr,ru,s,o,vi,w,pairv,pairr,rel,rb,vv,vh"
6 | LWIN & o::
7 | Input,command_input,T1/1,{enter}{esc}{tab},%actions%
8 | if (ErrorLevel = Max | ErrorLevel = Timeout)
9 | {
10 | return
11 | }
12 | if (command_input <> "")
13 | {
14 | SetTimer, %command_input%, -1
15 | }
16 | return
17 |
18 | ;================================================================
19 | ; Visual studio actions
20 |
21 | ;Error List
22 | el:
23 | send_keystrokes_to_program("^\e",devenv)
24 | return
25 |
26 | ;Project add reference
27 | par:
28 | send_keystrokes_to_program("!PR",devenv)
29 | return
30 |
31 | ;Tools-options-fonts
32 | fac:
33 | send_keystrokes_to_program("!TO",devenv)
34 | send_with_sleep("+{tab}{PageUp}ff",200)
35 | return
36 |
37 | ;Tools-options-keyboard
38 | key:
39 | send_keystrokes_to_program("!TO",devenv)
40 | send_with_sleep("+{tab}{PageUp}k",200)
41 | return
42 |
43 | ;Import settings
44 | imp:
45 | send_keystrokes_to_program("!TI",devenv)
46 | send_with_sleep("!i!n!o!n!b",100)
47 | send_with_sleep("C:{enter}",100)
48 | send_keystrokes("C:\users\jp\repositories\developwithpassion\devtools\windows\visual_studio{enter}+{tab}+{tab}")
49 | return
50 |
51 | ;Add New Project
52 | anp:
53 | send_keystrokes_to_program("!FDN",devenv)
54 | return
55 |
56 | ;Add New Item
57 | ani:
58 | send_keystrokes_to_program("^+A",devenv)
59 | return
60 |
61 | ;Add Existing Project
62 | aep:
63 | send_keystrokes_to_program("!FDE",devenv)
64 | return
65 |
66 | ;build all
67 | o:
68 | send, ^+b
69 | return
70 |
71 | ;rebuild solution
72 | rb:
73 | send, !br
74 | return
75 |
76 | ;split view vertically
77 | vv:
78 | send_keystrokes_to_program("!wv",devenv)
79 | return
80 |
81 | ;split view horizontally
82 | vh:
83 | send_keystrokes_to_program("!wz",devenv)
84 | return
85 |
86 | ;save all
87 | s:
88 | send, ^+s
89 | return
90 |
91 |
92 | ;close all active windows
93 | w:
94 | send_keystrokes_to_program("!wl",devenv)
95 | return
96 |
97 | ;hide
98 | h:
99 | send_keystrokes_to_program("!wh",devenv)
100 | return
101 |
102 | ;run tests
103 | ru:
104 | send, ^!+t
105 | return
106 |
107 | ;run with debugging
108 | drun:
109 | send, {F5}
110 | return
111 |
112 | ;run withouth debugging
113 | rwd:
114 | send, ^{F5}
115 | return
116 |
117 | ;rerun tests
118 | rr:
119 | send, ^!+r
120 | return
121 |
122 | ;nuget console
123 | nu:
124 | send,!tno
125 | return
126 |
127 | ;reload all projects in the solution
128 | rel:
129 | WinWaitActive, %reload_window_title%
130 | click_mouse_in_active_window(459,232)
131 | return
132 |
133 | ;solution explorer
134 | l:
135 | send,+!l
136 | return
137 |
138 | ;open current file with vim
139 | vi:
140 | send,!tv
141 | return
142 |
143 | ;enable pair settings for vs r#
144 | pairv:
145 | send,!ro
146 | WinWaitActive, ReSharper - Options,,2
147 | click_mouse_in_active_window(54,76)
148 | click_mouse_in_active_window(266,194)
149 | click_mouse_in_active_window(288,433)
150 | send_with_sleep("{Escape}",500)
151 | Send, {Escape}
152 | return
153 |
154 | ;enable pair settings for intellij r#
155 | pairr:
156 | send,!ro
157 | WinWaitActive, ReSharper - Options,,2
158 | click_mouse_in_active_window(54,76)
159 | click_mouse_in_active_window(268,279)
160 | click_mouse_in_active_window(288,433)
161 | Send, {Escape}
162 | return
163 |
164 | ;float the current document to the next monitor
165 | fl:
166 | send,!W{Down}{Down}{Enter}
167 | send, ^m
168 | send, !q
169 | WinWaitActive, Executor
170 | send,Divvy.exe{Enter}
171 | sleep, 200
172 | send,{ALT}+{TAB}
173 | sleep, 200
174 | send,9
175 | sleep,200
176 | send,{Escape}
177 | return
178 |
179 | ;================================================================
180 |
--------------------------------------------------------------------------------
/windows/autohotkey/testnamingmode_16.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/windows/autohotkey/testnamingmode_16.ico
--------------------------------------------------------------------------------
/windows/autohotkey/testnamingmode_disabled_16.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/windows/autohotkey/testnamingmode_disabled_16.ico
--------------------------------------------------------------------------------
/windows/cygwin/cygwin.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | C:
4 | chdir C:\utils\cygwin\bin
5 | C:\utils\cygwin\bin\screen-4.1.0.exe -s /usr/local/bin/zsh
6 |
--------------------------------------------------------------------------------
/windows/cygwin/cygwin_bash.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | C:
4 | chdir C:\utils\cygwin\bin
5 | sh.exe --login -i
6 |
--------------------------------------------------------------------------------
/windows/divvy/shortcuts.db:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/windows/divvy/shortcuts.db
--------------------------------------------------------------------------------
/windows/mingw/etc/fstab:
--------------------------------------------------------------------------------
1 | C:/utils/mingw/ /mingw
2 | C:/tempfiles /c/tempfiles
3 | Z:/to_backup /z/to_backup
4 | Z:/tempfiles /z/tempfiles
5 |
--------------------------------------------------------------------------------
/windows/mingw/etc/profile:
--------------------------------------------------------------------------------
1 | # Copyright (C) 2001, 2002 Earnie Boyd
2 | # This file is part of the Minimal SYStem.
3 | # http://www.mingw.org/msys.shtml
4 | #
5 | # File: profile
6 | # Description: Shell environment initialization script
7 | # Last Revised: 2002.05.04
8 |
9 | if [ -z "$MSYSTEM" ]; then
10 | MSYSTEM=MINGW32
11 | fi
12 |
13 | # My decision to add a . to the PATH and as the first item in the path list
14 | # is to mimick the Win32 method of finding executables.
15 | #
16 | # I filter the PATH value setting in order to get ready for self hosting the
17 | # MSYS runtime and wanting different paths searched first for files.
18 | if [ $MSYSTEM == MINGW32 ]; then
19 | export PATH=".:/usr/local/bin:/mingw/bin:/bin:/c/ruby/192/bin:/c/utils/git/bin:$PATH"
20 | else
21 | export PATH=".:/usr/local/bin:/bin:/mingw/bin:/c/ruby/192/bin:/c/utils/git/bin:$PATH"
22 | fi
23 |
24 | if [ -z "$USERNAME" ]; then
25 | LOGNAME="`id -un`"
26 | else
27 | LOGNAME="$USERNAME"
28 | fi
29 |
30 | HOME="/c/users/$LOGNAME"
31 |
32 | if [ "x$HISTFILE" == "x/.bash_history" ]; then
33 | HISTFILE=$HOME/.bash_history
34 | fi
35 |
36 | export HOME LOGNAME MSYSTEM HISTFILE
37 |
38 | for i in /etc/profile.d/*.sh ; do
39 | if [ -f $i ]; then
40 | . $i
41 | fi
42 | done
43 |
44 | export MAKE_MODE=unix
45 | export PS1='\[\033]0;$MSYSTEM:\w\007
46 | \033[32m\]\u@\h \[\033[33m\w\033[0m\]
47 | $ '
48 |
49 | alias clear=clsb
50 |
51 | cd "$HOME"
52 | source .bash_profile
53 |
--------------------------------------------------------------------------------
/windows/mingw/msys_jp.bat:
--------------------------------------------------------------------------------
1 | @echo off
2 |
3 | set WD=%~dp0
4 | set WD=%WD%bin
5 |
6 | set MSYSCON=sh.exe
7 | set MSYSTEM=MINGW32
8 | set DISPLAY=
9 |
10 | %WD%\sh --login -i
11 |
--------------------------------------------------------------------------------
/windows/powershell/kill_subversion_files.ps1:
--------------------------------------------------------------------------------
1 | function kill_subversion_files($folder)
2 | {
3 | if (($folder -eq $null) -or ([System.IO.Directory]::Exists($folder) -eq $false))
4 | {
5 | "usage: kill_subversion_files.ps1 [path_to_folder_to_purge_subversion_files_from]"
6 | }
7 | else
8 | {
9 | "Deleting all subversion files from $folder"
10 | get-childitem $folder -recurse -force -include *svn | remove-item -recurse -force
11 | }
12 | }
13 |
--------------------------------------------------------------------------------
/windows/powershell/powershell_utils.ps1:
--------------------------------------------------------------------------------
1 | $help_file_prefix = "developwithpassion_powershell_help_on_"
2 |
3 | function purge_temp_help_files()
4 | {
5 | ls $env:temp -force -filter "$help_file_prefix*" | del -force
6 | }
7 |
8 | function get_help($command_name)
9 | {
10 | $temp_file_name = "$env:temp\$help_file_prefix$command_name.txt"
11 | del $temp_file_name -force -ErrorAction SilentlyContinue
12 | $help_topic = get-help $command_name -full
13 | $help_topic > $temp_file_name
14 | gvim.exe $temp_file_name
15 | }
16 |
17 | function kill_process($program_name)
18 | {
19 | get-process -name "$program_name" | stop-process -force
20 | }
21 |
22 |
--------------------------------------------------------------------------------
/windows/powershell/profile.ps1:
--------------------------------------------------------------------------------
1 | $env:TERM = 'cygwin'
2 | $env:LESS = 'FRSX'
3 | $profile_folder = $env:userprofile
4 | $powershell_profile_folder = "$profile_folder\Documents\WindowsPowershell"
5 | $prep_scripts_location = "$HOME\repositories\developwithpassion\devtools\windows\scripts"
6 |
7 | $current_location = pwd
8 | cd $powershell_profile_folder
9 | ls *.ps1 -exclude "profile.ps1" | foreach-object{. .\"$($_.name)"}
10 | cd $current_location
11 |
12 | function Prompt {
13 | "$(get-location)
14 | =>"
15 | }
16 |
17 | function prep_machine
18 | {
19 | cd $prep_scripts_location
20 | & "$prep_scripts_location\prep_machine.ps1"
21 | cd $current_location
22 | }
23 |
24 |
25 |
--------------------------------------------------------------------------------
/windows/registry_entries/disable_lock_workstation.reg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/developwithpassion/devtools/c8a3df15d19c35b222b576c200870db18ae451b8/windows/registry_entries/disable_lock_workstation.reg
--------------------------------------------------------------------------------
/windows/resharper/templates/file_templates_developwithpassion_specifications_moq.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/windows/resharper/templates/file_templates_developwithpassion_specifications_rhino_mocks.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/windows/resharper/templates/file_templates_general.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/windows/resharper/templates/file_templates_machine_specifications.xml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/windows/resharper/templates/live_templates_developwithpassion_specifications.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/windows/resharper/templates/live_templates_general.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
--------------------------------------------------------------------------------
/windows/resharper/templates/live_templates_machine_specifications.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
--------------------------------------------------------------------------------
/windows/resharper/templates/live_templates_xunit.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/windows/resharper/templates/surround_templates_general.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/windows/scripts/prep_machine.ps1:
--------------------------------------------------------------------------------
1 | $profile_folder = $env:userprofile
2 | $remote_profile_folder = "$profile_folder\AppData\Roaming"
3 | $startup_folder = "$remote_profile_folder\Microsoft\Windows\Start Menu\Programs\Startup"
4 | $powershell_profile_folder = "$profile_folder\Documents\WindowsPowershell"
5 | $jetbrains_profile_folder = "$remote_profile_folder\JetBrains\ReSharper\v6.0"
6 | $jetbrains_targets = ("vs10.0")
7 |
8 | $workstation_lock_path = "HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\System"
9 |
10 | $registry_entries = @{"HKCU:\Software\Microsoft\Windows\CurrentVersion\Policies\System" = "disable_lock_workstation.reg"}
11 |
12 | function configure_registry_entries()
13 | {
14 | $registry_entries.keys | foreach-object{
15 | $exists = test-path $_
16 | if ($exists -eq $false){
17 | . "..\registry_entries\$($registry_entries[$_])"
18 | }
19 | }
20 | }
21 |
22 | function configure_path()
23 | {
24 | $new_path = [Environment]::GetEnvironmentVariable("PATH","Machine")
25 | $changed = $false;
26 |
27 | $original_elements = $new_path.split(";")
28 | $path_elements | foreach-object {
29 | if ($original_elements -contains $_ -eq $false)
30 | {
31 | $new_path = $new_path + ";$_"
32 | $changed = $true;
33 | }
34 | }
35 | if ($changed) {
36 | [Environment]::SetEnvironmentVariable("PATH",$new_path,"MACHINE")
37 | }
38 | }
39 |
40 | function init_temp_folders()
41 | {
42 | mkdir C:\tempfiles -ErrorAction SilentlyContinue
43 | mkdir C:\tempfiles\vimtemp -ErrorAction SilentlyContinue
44 | mkdir C:\tempfiles\vimtemp\other -ErrorAction SilentlyContinue
45 | }
46 |
47 | function copy_powershell_scripts()
48 | {
49 | del $powershell_profile_folder -force -recurse -ErrorAction SilentlyContinue
50 | new-item $powershell_profile_folder -force -type Directory
51 | ls ..\powershell\*.ps1 | cp -destination "$powershell_profile_folder"
52 | ls ..\powershell\*.psm1 | cp -destination "$powershell_profile_folder"
53 | }
54 |
55 | function copy_profile_settings()
56 | {
57 | cp ..\viemu\_viemurc $profile_folder
58 | }
59 |
60 | function copy_auto_hotkey_scripts()
61 | {
62 | remove-item "$startup_folder\*.*" -force -recurse
63 | get-item ..\autohotkey\*.lnk | foreach-object { copy-item $_ $startup_folder }
64 | }
65 |
66 | function copy_executor_ini_file()
67 | {
68 | cp ..\executor\executor.ini "$remote_profile_folder\Executor"
69 | }
70 |
71 | function copy_resharper_settings()
72 | {
73 | $jetbrains_targets | foreach-object { cp ..\resharper\*.* -destination "$jetbrains_profile_folder\$_" -ErrorAction SilentlyContinue }
74 | }
75 |
76 | function copy_console_scripts()
77 | {
78 | cp ..\console\*.* -destination C:\utils\console -force -ErrorAction SilentlyContinue
79 | }
80 |
81 | copy_profile_settings
82 | copy_auto_hotkey_scripts
83 | copy_powershell_scripts
84 | copy_resharper_settings
85 | copy_auto_hotkey_scripts
86 | configure_path
87 | configure_registry_entries
88 |
--------------------------------------------------------------------------------
/windows/utils_contents:
--------------------------------------------------------------------------------
1 | autohotkey
2 | beyond_compare_3
3 | camtasia_studio
4 | console
5 | ctags
6 | cygwin
7 | divvy
8 | dotpeek
9 | executor
10 | fiddler2
11 | firefox
12 | git
13 | growl
14 | growl_for_windows
15 | linqpad
16 | lockhunter
17 | mingw
18 | myuninstaller
19 | ndepend
20 | red_gate
21 | sysinternals
22 | vim
23 | vista_switcher
24 | vs2010
25 |
--------------------------------------------------------------------------------
/windows/viemu/_viemurc:
--------------------------------------------------------------------------------
1 | set nocompatible
2 | set backupdir=C:\tempfiles\vimtemp
3 | set directory=C:\tempfiles\vimtemp\other
4 |
5 | source $VIM\_projectvimrc
6 | source $VIM\wordlist.vim
7 |
8 | " Remove ALL autocommands for the current group.
9 | :autocmd!
10 | " Powershell
11 | au BufNewFile,BufRead *.ps1 setf ps1
12 |
13 | syntax on
14 | filetype on
15 | filetype indent on
16 | filetype plugin on
17 |
18 | " allow backspacing over everything in insert mode
19 | set backspace=indent,eol,start
20 |
21 | " General options
22 | set incsearch
23 | set ignorecase smartcase
24 | set number
25 |
26 | " height and width
27 | set lines=35
28 | set columns=150
29 |
30 | " Use two space tabs
31 | set tabstop=2
32 | set shiftwidth=2
33 | set expandtab
34 |
35 | " No menus and no toolbar
36 | set guioptions-=T
37 | set guioptions+=m
38 | " Consolas 15 point, ansi character set
39 | set guifont=Consolas:h13:cANSI
40 |
41 | "dictionary
42 | set dictionary+=$VIM\dictionary.vim
43 |
44 | " ruby color scheme
45 | highlight Normal guifg=White guibg=Black
46 | highlight Cursor guifg=Black guibg=Yellow
47 | highlight Keyword guifg=#FF6600
48 | highlight Define guifg=#FF6600
49 | highlight Comment guifg=#9933CC
50 | "highlight Type guifg=White gui=NONE
51 | "highlight rubySymbol guifg=#339999 gui=NONE
52 | "highlight Identifier guifg=White gui=NONE
53 | "highlight rubyStringDelimiter guifg=#66FF00
54 | "highlight rubyInterpolation guifg=White
55 | "highlight rubyPseudoVariable guifg=#339999
56 | "highlight Constant guifg=#FFEE98
57 | "highlight Function guifg=#FFCC00 gui=NONE
58 | "highlight Include guifg=#FFCC00 gui=NONE
59 | "highlight Statement guifg=#FF6600 gui=NONE
60 | "highlight String guifg=#66FF00
61 | "highlight Search guibg=White
62 |
63 | "vim settings
64 | :map s :set spell
65 | :map ns :set nospell
66 | :map mail n,wlj\s
67 | :nmap ,v :e $VIM\_vimrc
68 | :nmap ,wl :e $VIM\wordlist.vim
69 | :nmap ,dict :e $VIM\dictionary.vim
70 | :nmap ,p :e $VIM\_projectvimrc
71 | :nmap ,V :so $VIM\_vimrc
72 | :nmap ,fv :e C:\documents and settings\administrator\_vimperatorrc
73 | :nmap ,sm :simalt ~
74 | :nnoremap :noh
75 |
76 | "presentation settings
77 | :nmap ,pf :setguifont=Consolas:h18:cANSI
78 | :nmap ,rf :setguifont=Consolas:h13:cANSI
79 |
80 |
81 | set diffexpr=MyDiff()
82 | function! MyDiff()
83 | let opt = '-a --binary '
84 | if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif
85 | if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif
86 | let arg1 = v:fname_in
87 | if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif
88 | let arg2 = v:fname_new
89 | if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif
90 | let arg3 = v:fname_out
91 | if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif
92 | let eq = ''
93 | if $VIMRUNTIME =~ ' '
94 | if &sh =~ '\ ' . arg3 . eq
104 | endfunction
105 |
106 | " Convenient command to see the difference between the current buffer and the
107 | " file it was loaded from, thus the changes you made.
108 | command! DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
109 | \ | wincmd p | diffthis
110 |
111 |
112 |
--------------------------------------------------------------------------------
/windows/visual_studio/developwithpassion_presentation_vs2010.vssettings:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | 2
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------