zsh_dots 0.5.1 → 0.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. data/.gitignore +1 -0
  2. data/.gitmodules +3 -3
  3. data/Gemfile.lock +7 -7
  4. data/README.md +31 -23
  5. data/Rakefile +21 -4
  6. data/bin/elocal_nightly.sh +12 -6
  7. data/bin/loggly +166 -0
  8. data/bin/repl.sh +6 -0
  9. data/config/Gemfile +19 -0
  10. data/config/bundle/config +3 -0
  11. data/config/gemrc +0 -1
  12. data/config/gitconfig +9 -5
  13. data/config/gitignore +102 -0
  14. data/config/muttrc.example +79 -0
  15. data/config/osx.zsh +162 -0
  16. data/config/railsrc +1 -1
  17. data/config/rspec +1 -2
  18. data/config/vimrc +320 -0
  19. data/config/zshenv +26 -9
  20. data/config/zshrc +14 -0
  21. data/etc/rails/template/.env +2 -0
  22. data/etc/rails/template/.travis.yml +27 -0
  23. data/etc/rails/template.rb +28 -1401
  24. data/lib/dots/aliases.zsh +48 -23
  25. data/lib/dots/directories.zsh +0 -4
  26. data/lib/dots/functions.zsh +62 -17
  27. data/lib/dots/plugins.zsh +18 -11
  28. data/lib/plugins/git/git.plugin.zsh +11 -18
  29. data/lib/plugins/git-process/git-process.plugin.zsh +20 -0
  30. data/lib/plugins/osx/osx.plugin.zsh +3 -1
  31. data/lib/plugins/rails3/rails3.plugin.zsh +1 -1
  32. data/lib/plugins/ruby/ruby.plugin.zsh +8 -5
  33. data/lib/ruby/dots/bootstrap.rb +56 -0
  34. data/lib/ruby/dots/command.rb +28 -49
  35. data/lib/ruby/dots/installation.rb +53 -0
  36. data/lib/ruby/dots/installer.rb +2 -0
  37. data/lib/ruby/dots/persistence.rb +41 -0
  38. data/lib/ruby/dots/version.rb +1 -1
  39. data/lib/ruby/dots.rb +33 -3
  40. data/{config/aws → lib/tasks/.gitkeep} +0 -0
  41. data/spec/integration/command_spec.rb +3 -3
  42. metadata +42 -18
  43. data/.rvmrc +0 -47
  44. data/config/.dot_file +0 -1
  45. data/config/rvmrc +0 -1
  46. data/config/zlogin +0 -1
  47. data/lib/plugins/aws/aws.plugin.zsh +0 -20
  48. data/lib/tasks/db.rake +0 -55
  49. data/lib/tasks/dots.rake +0 -32
  50. data/vendor/antigen.zsh +0 -251
data/.gitignore CHANGED
@@ -23,3 +23,4 @@ pkg
23
23
  rdoc
24
24
  spec/reports
25
25
  tmp
26
+ vendor/ievms
data/.gitmodules CHANGED
@@ -1,3 +1,3 @@
1
- [submodule "lib/plugins/zsh-syntax-highlighting"]
2
- path = lib/plugins/zsh-syntax-highlighting
3
- url = https://github.com/zsh-users/zsh-syntax-highlighting.git
1
+ [submodule "vendor/antigen"]
2
+ path = vendor/antigen
3
+ url = git://github.com/zsh-users/antigen.git
data/Gemfile.lock CHANGED
@@ -1,23 +1,23 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- dots (0.5.0)
4
+ zsh_dots (0.5.2)
5
5
  activemodel
6
6
  thor
7
7
 
8
8
  GEM
9
9
  remote: http://rubygems.org/
10
10
  specs:
11
- activemodel (3.2.8)
12
- activesupport (= 3.2.8)
11
+ activemodel (3.2.9)
12
+ activesupport (= 3.2.9)
13
13
  builder (~> 3.0.0)
14
- activesupport (3.2.8)
14
+ activesupport (3.2.9)
15
15
  i18n (~> 0.6)
16
16
  multi_json (~> 1.0)
17
- builder (3.0.3)
17
+ builder (3.0.4)
18
18
  diff-lcs (1.1.3)
19
19
  i18n (0.6.1)
20
- multi_json (1.3.6)
20
+ multi_json (1.3.7)
21
21
  rake (0.9.2.2)
22
22
  rspec (2.11.0)
23
23
  rspec-core (~> 2.11.0)
@@ -33,6 +33,6 @@ PLATFORMS
33
33
  ruby
34
34
 
35
35
  DEPENDENCIES
36
- dots!
37
36
  rake
38
37
  rspec
38
+ zsh_dots!
data/README.md CHANGED
@@ -28,8 +28,7 @@ Just run the following commands:
28
28
  $ gem install zsh_dots
29
29
  $ dots install
30
30
  ```
31
-
32
- This will link the gem's installation to `~/.dots`, and symlink all of
31
+ This will fork the repo to `~/.dots`, and symlink all of
33
32
  the files in `~/.dots/config` to your home directory as dotfiles (unless
34
33
  existing ones are found).
35
34
 
@@ -41,23 +40,32 @@ commands after switching to **DOTS**.
41
40
  Usage
42
41
  -----
43
42
 
44
- There are a number of commands built-in to the DOTS framework:
43
+ There are a number of commands built in to the DOTS binary. They can be
44
+ used anywhere the binary is available, so make sure you install DOTS to
45
+ your global RVM gemset.
45
46
 
46
47
  ### persist DOT_FILE
47
48
 
48
- You can persist any dot file with DOTS. Simply run this command on the file...it will copy the
49
- file to your `$DOTS` folder and symlink that new file in its original place, preserving your
50
- settings in a git repository but making it accessible for the application needing to use it.
49
+ You can persist any dot file with DOTS. Simply run this command on
50
+ the file...it will copy the file to your `$DOTS` folder and symlink
51
+ that new file in its original place, preserving your settings in a
52
+ git repository but making it accessible for the application needing
53
+ to use it.
51
54
 
52
55
  ### forget DOT_FILE
53
56
 
54
- The opposite of `persist`. Deletes the symlink and restores your file. For when you just need to
55
- fuggeddaboutit...
57
+ The opposite of `persist`. Deletes the symlink and restores your file.
58
+ For when you just need to fuggeddaboutit...
56
59
 
57
- ### osx_for_hackers
60
+ ### osx-bootstrap
58
61
 
59
- For Mac OS X users, this runs a bunch of settings that I found very helpful for browsing and using
60
- my Mac. It's totally optional, but this alias simply runs the `tools/osx.zsh` script.
62
+ This alias simply `source`s the `~/.dots/config/osx.zsh` file, and
63
+ provides a number of OS X 10.8 enhancements I've found useful. Check
64
+ through the file, read its comments, and make sure you're not doing
65
+ anything to the computer you don't want to, then run this command for
66
+ some useful OS X defaults. This script is based off [OSX for
67
+ Hackers][o4h], which I found useful but somewhat overwhelming in what it
68
+ did, so I slimmed it down to fit my needs.
61
69
 
62
70
  ### set_title TO_STRING
63
71
 
@@ -73,20 +81,20 @@ sensible defaults, for example `o` will open the current directory, but
73
81
  `o ~/Code` will open up ~/Code in the Finder. `e` follows suit, but `v`
74
82
  throws an error as this should almost never be the case.
75
83
 
76
- ### more on e() and macvim
84
+ Hidden Configuration
85
+ --------------------
77
86
 
78
- `e` has some special functionality for [alloy's MacVim
79
- fork](http://github.com/alloy/macvim), referred to here as
80
- `macvim_drawer`.
87
+ In many cases, programmers want to keep some sensible defaults checked
88
+ in to their DOTS repo, but may need to keep their own personal key and
89
+ certificate settings private. In this case, you can simply put those
90
+ values in a `~/.dots/config/file.zsh`. These files are ignored both by
91
+ Git and by DOTS when it symlinks configuration into the repo. In your
92
+ application's dotfile, insert the following line to load configuration
93
+ from your untracked file:
81
94
 
82
- `e`'s functionality is slightly different for users of `macvim_drawer`,
83
- as `mvim` automatically opens up to a directory for some users of the
84
- fork. Because of this, `e` detects the use of `mvim` and will perform a
85
- quick hack to allow you to type `e ~/Code/project` without leaving the
86
- current directory. It `cd`s into the directory you give it, then opens a
87
- file that's usually there, like `README.md`. It then `cd`s back to the
88
- original directory and exits with a success code. You can disable this
89
- functionality by setting `DRAWER=false` in your zshenv.
95
+ ```bash
96
+ . $DOTS/config/file.zsh
97
+ ```
90
98
 
91
99
  Forking
92
100
  -------
data/Rakefile CHANGED
@@ -1,9 +1,26 @@
1
1
  #!/usr/bin/env rake
2
+ #
3
+ # This is for Rake tasks that pertain to the development and
4
+ # maintainence of DOTS itself. All tasks that can be loaded
5
+ # with `rake -g` should be put into a .rake file in ~/.dots/lib/tasks.
6
+ #
7
+ # These tasks are also available within DOTS natively.
8
+
2
9
  require 'rake'
3
- require 'rspec/core/rake_task'
10
+ require 'bundler/gem_tasks'
4
11
 
5
- # Global Rake tasks, available anywhere by running `rake -g`
6
12
  Dir["lib/tasks/*.rake"].each { |rake_file| load rake_file }
7
13
 
8
- # Test task for the local testing suite
9
- RSpec::Core::RakeTask.new(:test)
14
+ begin
15
+ require 'rspec/core/rake_task'
16
+ RSpec::Core::RakeTask.new(:test)
17
+ rescue LoadError => e
18
+ # RSpec can not be run in the gem installation.
19
+ end
20
+
21
+ desc "Update DOTS, Antigen, and all installed plugins."
22
+ task :update do
23
+ sh "cd ~/.dots && git pull origin master"
24
+ sh "cd ~/.dots && git submodule sync"
25
+ sh "antigen-update"
26
+ end
@@ -1,12 +1,18 @@
1
1
  #!/bin/zsh
2
2
  #
3
- # Download the latest database from stage.elocal.com and
4
- # index the new data with Solr.
3
+ # Nightly database import script for eLocal.com.
5
4
 
5
+ # Download the latest database from our backup server
6
6
  cd /Users/tom/Code/elocal/
7
- bundle exec thor db:import:stage
8
- bundle exec rake db:migrate
7
+ bundle exec thor db:import:production
8
+
9
+ # Index the new data with Solr
9
10
  bundle exec thor solr:index_accounts
10
- bundle exec thor solr:index_categories
11
11
  bundle exec thor solr:index_profiles
12
- bundle exec rake email:nightly_db_pull_notification
12
+ bundle exec thor solr:index_categories
13
+
14
+ # Send a confirmation email when everything is done
15
+ EMAIL="tubbo@psychedeli.ca"
16
+ SUBJECT="Imported the production database to playa."
17
+ MESSAGE="db:import:production has been run, and the database has been delivered to your local development machine."
18
+ echo "To: $EMAIL\nSubject:$SUBJECT\nContent-Type:text/plain;charset="us-ascii"\n\n$MESSAGE" | sendmail -t
data/bin/loggly ADDED
@@ -0,0 +1,166 @@
1
+ #!/usr/bin/env python
2
+
3
+ """
4
+ Loggly CLI interface - standalone (Just Python). Deals with paging results automatically so you can easily grab >2000 rows.
5
+
6
+ Run `loggly.py --help` to see usage information.
7
+
8
+ TODO:
9
+ * Support XML format results (ie. combining multiple pages of results together)
10
+ * Facet support
11
+
12
+ Rob Coup - @amatix - robert.coup@koordinates.com
13
+
14
+ -------
15
+
16
+ Copyright (c) 2012, Robert Coup
17
+ All rights reserved.
18
+
19
+ Redistribution and use in source and binary forms, with or without
20
+ modification, are permitted provided that the following conditions are met:
21
+
22
+ 1. Redistributions of source code must retain the above copyright notice, this
23
+ list of conditions and the following disclaimer.
24
+ 2. Redistributions in binary form must reproduce the above copyright notice,
25
+ this list of conditions and the following disclaimer in the documentation
26
+ and/or other materials provided with the distribution.
27
+
28
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
29
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
30
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
31
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
32
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
33
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
34
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
35
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
36
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
37
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
38
+
39
+ The views and conclusions contained in the software and documentation are those
40
+ of the authors and should not be interpreted as representing official policies,
41
+ either expressed or implied, of the FreeBSD Project.
42
+ """
43
+
44
+ from optparse import OptionParser
45
+ import urllib
46
+ import urllib2
47
+ import os
48
+ import json
49
+ import sys
50
+ import time
51
+
52
+
53
+ def main():
54
+ parser = OptionParser("Usage: %prog [options] SEARCH_QUERY")
55
+
56
+ parser.add_option("--username", help="Loggly username. Or specify via LOGGLY_USERNAME environment variable")
57
+ parser.add_option("--password", help="Loggly password. Or specify via LOGGLY_PASSWORD")
58
+ parser.add_option("--subdomain", help="Loggly subdomain (eg. foo). Or specify via LOGGLY_SUBDOMAIN")
59
+
60
+ parser.add_option("--from", help="Start time for the search.", default="NOW-24HOURS", dest="start")
61
+ parser.add_option("--to", help="End time for the search.", default="NOW", dest="end")
62
+ parser.add_option("--format", help="Output format, either 'json', 'xml', 'csv', or 'text'.", choices=('text', 'json', 'csv', 'xml'), default="text")
63
+ parser.add_option("--order", help="Direction of results returned, either 'asc' or 'desc'.", choices=('asc', 'desc'), default="asc")
64
+
65
+ # search API
66
+ parser.add_option("--rows", help="Number of rows returned by search. 0 will get all matching rows via paging.", type="int", default=0)
67
+
68
+ options, args = parser.parse_args()
69
+
70
+ if len(args) != 1:
71
+ parser.error("Need to specify SEARCH_QUERY as one argument")
72
+
73
+ if not options.username and 'LOGGLY_USERNAME' in os.environ:
74
+ options.username = os.environ['LOGGLY_USERNAME']
75
+ if not options.password and 'LOGGLY_PASSWORD' in os.environ:
76
+ options.password = os.environ['LOGGLY_PASSWORD']
77
+ if not options.subdomain and 'LOGGLY_SUBDOMAIN' in os.environ:
78
+ options.subdomain = os.environ['LOGGLY_SUBDOMAIN']
79
+
80
+ if not options.username:
81
+ parser.error("Need to specify either LOGGLY_USERNAME or --username")
82
+ if not options.password:
83
+ parser.error("Need to specify either LOGGLY_PASSWORD or --password")
84
+ if not options.subdomain:
85
+ parser.error("Need to specify either LOGGLY_SUBDOMAIN or --subdomain")
86
+
87
+ url = "https://%s.loggly.com/api/search/" % options.subdomain
88
+
89
+ password_mgr = urllib2.HTTPPasswordMgrWithDefaultRealm()
90
+ password_mgr.add_password(None, url, options.username, options.password)
91
+ handler = urllib2.HTTPBasicAuthHandler(password_mgr)
92
+ opener = urllib2.build_opener(handler)
93
+
94
+ if options.rows > 2000 or options.rows <= 0:
95
+ target_rows = None if options.rows <= 0 else options.rows
96
+ rows = 2000
97
+ paging = True
98
+ else:
99
+ rows = options.rows
100
+ paging = False
101
+
102
+ params = {
103
+ 'q': args[0],
104
+ 'from': options.start,
105
+ 'until': options.end,
106
+ 'format': options.format,
107
+ 'order': options.order,
108
+ 'rows': rows,
109
+ 'start': 0,
110
+ }
111
+
112
+ results = None
113
+ while True:
114
+ req_url = url + '?' + urllib.urlencode(params)
115
+ print >>sys.stderr, req_url
116
+ try:
117
+ resp = opener.open(req_url)
118
+ except Exception, e:
119
+ print >>sys.stderr, "\t%s -- retrying" % repr(e)
120
+ time.sleep(3)
121
+ resp = opener.open(req_url)
122
+
123
+ result_count = 0
124
+ if options.format in ('csv', 'text'):
125
+ # can stream the output
126
+ for line in resp:
127
+ if len(line) > 1:
128
+ result_count += 1
129
+ print line,
130
+ elif options.format == 'json':
131
+ # merge JSON result pages in.
132
+ r_this = json.load(resp)
133
+ result_count += len(r_this['data'])
134
+ if results is None:
135
+ results = r_this
136
+ else:
137
+ results['data'] += r_this['data']
138
+ elif options.format == 'xml':
139
+ # TODO: merge XML result pages together
140
+ print resp.read()
141
+ raise NotImplementedError("TODO: implement XML-format result paging")
142
+
143
+ if paging:
144
+ if target_rows:
145
+ got = params['start'] + result_count
146
+ if got >= target_rows:
147
+ # got the target number of rows
148
+ break
149
+ params['rows'] += min(2000, target_rows - got)
150
+ elif result_count == 0:
151
+ # no more results
152
+ break
153
+ params['start'] += 2000
154
+ else:
155
+ # no paging, just get required
156
+ break
157
+
158
+ if options.format == 'json':
159
+ json.dump(results, sys.stdout, indent=2)
160
+ sys.stdout.write("\n")
161
+ elif options.format == 'xml':
162
+ # TODO: output combined XML results
163
+ raise NotImplementedError("TODO: implement XML-format result paging")
164
+
165
+ if __name__ == "__main__":
166
+ main()
data/bin/repl.sh ADDED
@@ -0,0 +1,6 @@
1
+ #!/bin/zsh
2
+
3
+ for file in $(grep -il "codehilite" vendor/assets/stylesheets/pygments/*.css); do
4
+ sed -e "s/codehilite/highlight/g" $file > tmp/current.tmp
5
+ mv tmp/current.tmp $file
6
+ done
data/config/Gemfile ADDED
@@ -0,0 +1,19 @@
1
+ # A global collection of gems that are used in all dirs.
2
+ #
3
+ # Add gems here to be included on the whole system.
4
+
5
+ source :rubygems
6
+
7
+ group :version_control do
8
+ gem 'git_tracker'
9
+ gem 'git-process'
10
+ end
11
+
12
+ group :development_tools do
13
+ gem 'rails'
14
+ gem 'pv'
15
+ end
16
+
17
+ group :configuration_management do
18
+ gem 'zsh_dots' # keep up to date with the latest version
19
+ end
@@ -0,0 +1,3 @@
1
+ ---
2
+ BUNDLE_PATH: vendor/gems
3
+ BUNDLE_DISABLE_SHARED_GEMS: "0"
data/config/gemrc CHANGED
@@ -1,4 +1,3 @@
1
- custom_shebang: $env ruby_bundler_wrapper
2
1
  :verbose: true
3
2
  :update_sources: true
4
3
  :sources:
data/config/gitconfig CHANGED
@@ -11,7 +11,7 @@
11
11
  on = branch
12
12
  br = branch
13
13
  co = checkout
14
- # Log display from screencast, with train tracks.
14
+ # Log display from "Advanced Git" PeepCode screencast, with train tracks.
15
15
  l = log --graph --pretty=format':%C(yellow)%h%Cblue%d%Creset %s %C(white) %an, %ar%Creset'
16
16
  # Alternate log display from Scott Chacon
17
17
  lol = log --pretty=oneline --abbrev-commit --graph --decorate
@@ -22,6 +22,7 @@
22
22
  current-branch = !git symbolic-ref -q HEAD | sed -e 's|^refs/heads/||'
23
23
  # Usage: git track origin/feature-123-login-form
24
24
  track = checkout -t
25
+ restore = stash pop
25
26
  [apply]
26
27
  whitespace = warn
27
28
  [color]
@@ -38,9 +39,12 @@
38
39
  default = current
39
40
  [core]
40
41
  editor = vim
41
- [mergetool "mvimdiff"]
42
- cmd = mvim -d -g $LOCAL $MERGED $REMOTE
43
- trustExitCode = true
42
+ pager = less -r
43
+ excludesfile = /Users/necromancer/.gitignore
44
44
  [merge]
45
- tool = mvimdiff
45
+ tool = vimdiff
46
46
 
47
+ [gitProcess]
48
+ keepLocalIntegrationBranch = true
49
+ [rerere]
50
+ enabled = 1
data/config/gitignore ADDED
@@ -0,0 +1,102 @@
1
+ ## Global Git Ignore
2
+
3
+ # OS X garbage files
4
+ .DS_Store
5
+ .AppleDouble
6
+ .LSOverride
7
+ Icon
8
+
9
+ # Thumbnails
10
+ ._*
11
+
12
+ # Files that might appear on external disk
13
+ .Spotlight-V100
14
+ .Trashes
15
+
16
+ # Vim garbage files
17
+ .*.sw[a-z]
18
+ *.un~
19
+ Session.vim
20
+ .netrwhist
21
+
22
+ # It's better to unpack these files and commit the raw source because
23
+ # git has its own built in compression methods.
24
+ *.7z
25
+ *.jar
26
+ *.rar
27
+ *.zip
28
+ *.gz
29
+ *.bzip
30
+ *.bz2
31
+ *.xz
32
+ *.lzma
33
+
34
+ # Images and packing-only formats
35
+ *.iso
36
+ *.tar
37
+
38
+ # Packages
39
+ *.dmg
40
+ *.xpi
41
+ *.gem
42
+ *.egg
43
+ *.deb
44
+ *.rpm
45
+
46
+ # Mercurial repos
47
+ /.hg/*
48
+ */.hg/*
49
+ .hgignore
50
+
51
+ # Ignore bundler config
52
+ .bundle
53
+
54
+ # Ignore the default SQLite database.
55
+ db/*.sqlite3
56
+
57
+ # Ignore all logfiles and tempfiles.
58
+ log/*.log
59
+ tmp
60
+
61
+ # Sensitive configuration
62
+ config/*.yml
63
+
64
+ # Rails files
65
+ *.rbc
66
+ *.sassc
67
+ .sass-cache
68
+ capybara-*.html
69
+ .rspec
70
+ vendor/gems
71
+ log/*
72
+ tmp/*
73
+ db/*.sqlite3
74
+ public/system/*
75
+ coverage/
76
+ spec/tmp/*
77
+ **.orig
78
+
79
+ # Environment configuration
80
+ .env
81
+ rerun.txt
82
+ pickle-email-*.html
83
+
84
+ # Ruby files
85
+ *.gem
86
+ *.rbc
87
+ .bundle
88
+ .config
89
+ coverage
90
+ InstalledFiles
91
+ lib/bundler/man
92
+ pkg
93
+ rdoc
94
+ spec/reports
95
+ test/tmp
96
+ test/version_tmp
97
+ tmp
98
+
99
+ # YARD artifacts
100
+ .yardoc
101
+ _yardoc
102
+ doc/
@@ -0,0 +1,79 @@
1
+ ##
2
+ ## Email configuration.
3
+ ##
4
+
5
+
6
+ # IMAP Connection
7
+ set imap_user = 'tubbo@psychedeli.ca'
8
+ set imap_pass = ''
9
+ set spoolfile = imaps://imap.gmail.com:993/INBOX
10
+ set folder = imaps://imap.gmail.com:993
11
+ set postponed=”imaps://imap.gmail.com/[Gmail]/Drafts”
12
+ set message_cachedir=”~/.mutt/cache/bodies”
13
+ set certificate_file=~/.mutt/certificates
14
+
15
+ # SMTP Connection
16
+ set smtp_url = "smtp://tubbo@psychedeli.ca@smtp.gmail.com:587/"
17
+ set smtp_pass = ""
18
+ set from = "tubbo@psychedeli.ca"
19
+ set realname = "Tom Scott"
20
+
21
+ # Reading
22
+ mailboxes = INBOX /var/mail/necromancer
23
+ set mail_check=300 # Check for new mail every 5 minutes
24
+ auto_view text/html # View as HTML with `lynx -dump`
25
+ alternative_order text/enriched text/plain text/html
26
+ set smart_wrap = yes # Wrap at word boundaries if possible
27
+ set pager_index_lines = 6 # Show a few lines from the index above the msg
28
+ set pager_stop = yes # PgDown at bottom does not move to next message
29
+ set markers = no # Don't add "+" on wrapped lines (hard to copy)
30
+ set sort=threads # Sort into threads
31
+
32
+ # Composing
33
+ set signature = "~/.signature"
34
+ set postpone = ask-yes
35
+ set postponed = =MuttMail/postponed
36
+ set editor = 'vim +/^$ "+normal j"' # Open vim one line past first blank line
37
+ set fast_reply = yes
38
+ set abort_nosubject = no
39
+ set abort_unmodified = ask-yes
40
+
41
+ # Headers
42
+ set hdrs = yes # ???
43
+ set header = yes # Headers in reply
44
+ set edit_headers = yes # Headers in editor
45
+
46
+ # Sending
47
+ #set write_bcc = yes
48
+ set use_from = yes
49
+ set envelope_from = yes
50
+
51
+ # Replying
52
+ set reply_self = no # Reply to recipients, not to myself on my own msgs
53
+ set indent_string = "> "
54
+ set include = yes
55
+ set attribution = "On %d, %n wrote:"
56
+ set bounce_delivered = yes
57
+
58
+ # Forwarding
59
+ set forward_format = "Fwd: %s"
60
+ set forward_quote = yes
61
+
62
+ # Folders
63
+ set copy = yes # Save copy of outgoing msgs
64
+ set record="imaps://imap.gmail.com/[Gmail]/Sent Mail" # where do we keep sents?
65
+ set move = no
66
+ set fcc_attach = yes # Save outgoing attachments
67
+ set fcc_clear = no # Keep encryption/signatures
68
+ set folder_format="%F %-8.8u %-8.8g %d %8s %N %f"
69
+
70
+ # Encryption
71
+ set pgp_replyencrypt = yes
72
+ set pgp_replysign = yes
73
+ set pgp_replysignencrypted = yes
74
+ message-hook '!(~g|~G) ~b"BEGIN\ PGP\ (SIGNED\ )?MESSAGE"' "exec check-traditional-pgp" # verify old-school PGPs automatically
75
+
76
+ # Mailing Lists
77
+ subscribe diaspora-dev@groups.google.com
78
+ subscribe phillyrb@groups.google.com
79
+ subscribe development@elocal.com