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.
- data/.gitignore +1 -0
- data/.gitmodules +3 -3
- data/Gemfile.lock +7 -7
- data/README.md +31 -23
- data/Rakefile +21 -4
- data/bin/elocal_nightly.sh +12 -6
- data/bin/loggly +166 -0
- data/bin/repl.sh +6 -0
- data/config/Gemfile +19 -0
- data/config/bundle/config +3 -0
- data/config/gemrc +0 -1
- data/config/gitconfig +9 -5
- data/config/gitignore +102 -0
- data/config/muttrc.example +79 -0
- data/config/osx.zsh +162 -0
- data/config/railsrc +1 -1
- data/config/rspec +1 -2
- data/config/vimrc +320 -0
- data/config/zshenv +26 -9
- data/config/zshrc +14 -0
- data/etc/rails/template/.env +2 -0
- data/etc/rails/template/.travis.yml +27 -0
- data/etc/rails/template.rb +28 -1401
- data/lib/dots/aliases.zsh +48 -23
- data/lib/dots/directories.zsh +0 -4
- data/lib/dots/functions.zsh +62 -17
- data/lib/dots/plugins.zsh +18 -11
- data/lib/plugins/git/git.plugin.zsh +11 -18
- data/lib/plugins/git-process/git-process.plugin.zsh +20 -0
- data/lib/plugins/osx/osx.plugin.zsh +3 -1
- data/lib/plugins/rails3/rails3.plugin.zsh +1 -1
- data/lib/plugins/ruby/ruby.plugin.zsh +8 -5
- data/lib/ruby/dots/bootstrap.rb +56 -0
- data/lib/ruby/dots/command.rb +28 -49
- data/lib/ruby/dots/installation.rb +53 -0
- data/lib/ruby/dots/installer.rb +2 -0
- data/lib/ruby/dots/persistence.rb +41 -0
- data/lib/ruby/dots/version.rb +1 -1
- data/lib/ruby/dots.rb +33 -3
- data/{config/aws → lib/tasks/.gitkeep} +0 -0
- data/spec/integration/command_spec.rb +3 -3
- metadata +42 -18
- data/.rvmrc +0 -47
- data/config/.dot_file +0 -1
- data/config/rvmrc +0 -1
- data/config/zlogin +0 -1
- data/lib/plugins/aws/aws.plugin.zsh +0 -20
- data/lib/tasks/db.rake +0 -55
- data/lib/tasks/dots.rake +0 -32
- data/vendor/antigen.zsh +0 -251
data/.gitignore
CHANGED
data/.gitmodules
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
[submodule "
|
2
|
-
path =
|
3
|
-
url =
|
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
|
-
|
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.
|
12
|
-
activesupport (= 3.2.
|
11
|
+
activemodel (3.2.9)
|
12
|
+
activesupport (= 3.2.9)
|
13
13
|
builder (~> 3.0.0)
|
14
|
-
activesupport (3.2.
|
14
|
+
activesupport (3.2.9)
|
15
15
|
i18n (~> 0.6)
|
16
16
|
multi_json (~> 1.0)
|
17
|
-
builder (3.0.
|
17
|
+
builder (3.0.4)
|
18
18
|
diff-lcs (1.1.3)
|
19
19
|
i18n (0.6.1)
|
20
|
-
multi_json (1.3.
|
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
|
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
|
49
|
-
file to your `$DOTS` folder and symlink
|
50
|
-
|
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.
|
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
|
-
###
|
60
|
+
### osx-bootstrap
|
58
61
|
|
59
|
-
|
60
|
-
|
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
|
-
|
84
|
+
Hidden Configuration
|
85
|
+
--------------------
|
77
86
|
|
78
|
-
|
79
|
-
|
80
|
-
|
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
|
-
|
83
|
-
|
84
|
-
|
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 '
|
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
|
-
|
9
|
-
|
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
|
data/bin/elocal_nightly.sh
CHANGED
@@ -1,12 +1,18 @@
|
|
1
1
|
#!/bin/zsh
|
2
2
|
#
|
3
|
-
#
|
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:
|
8
|
-
|
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
|
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
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
|
data/config/gemrc
CHANGED
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
|
-
|
42
|
-
|
43
|
-
trustExitCode = true
|
42
|
+
pager = less -r
|
43
|
+
excludesfile = /Users/necromancer/.gitignore
|
44
44
|
[merge]
|
45
|
-
tool =
|
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
|