zsh_dots 0.5.1 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
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