389 Commits

Author SHA1 Message Date
David Tomaschik
503bba6516 Add msitools. 2018-10-11 11:31:21 -05:00
David Tomaschik
d84ee23039 Merge branch 'master' of https://github.com./Matir/skel 2018-09-10 16:04:17 -07:00
David Tomaschik
ea1d3f669b Rework overrides for ssh config. 2018-09-10 16:04:15 -07:00
David Tomaschik
47b4248de2 Git ignore kicad-bak files. 2018-09-01 12:49:52 -07:00
David Tomaschik
33e9188612 Add apktool to install_tool. 2018-09-01 12:49:36 -07:00
David Tomaschik
2f6c9c8c0a No special highlighting for root. 2018-09-01 12:49:18 -07:00
David Tomaschik
7128789d48 Merge branch 'master' of https://github.com./Matir/skel 2018-08-18 16:15:10 -07:00
David Tomaschik
19068da3f8 Fix _install_apt_proxy.sh 2018-08-18 16:15:00 -07:00
David Tomaschik
10851db1a9 Improve package installation. 2018-08-03 22:37:06 -07:00
David Tomaschik
1b8d6b85db Merge branch 'master' of https://github.com./Matir/skel 2018-08-02 16:51:49 -07:00
David Tomaschik
653fa39cf7 Remove cursorline from vimrc.
It makes things very slow when enabled on complex files.
See this github issue for context:

https://github.com/vim/vim/issues/2584
2018-08-02 16:51:17 -07:00
David Tomaschik
7b0713675c Add psmisc to packages.cli. 2018-08-01 20:32:53 -07:00
David Tomaschik
52ed3913c8 Symlinks in tools. 2018-07-30 20:20:56 -07:00
David Tomaschik
6d23e72bd7 Set default key for GnuPG. 2018-07-29 19:49:10 -07:00
David Tomaschik
da545f0de7 Support restoring dconf. 2018-07-08 13:56:37 -07:00
David Tomaschik
8d9cf14608 Add a minimal inputrc. 2018-07-06 15:52:20 +02:00
David Tomaschik
bdc1551122 Prevent hiding cursor when moving with arrows. 2018-07-05 14:35:49 +02:00
David Tomaschik
ba497cd5bf Enable syntax highlighting in zsh. 2018-07-04 11:12:37 +02:00
David Tomaschik
ca63946c5e Merge remote-tracking branch 'gh/master' 2018-06-25 20:47:36 +02:00
David Tomaschik
0b6fa6b0fa Install dex with i3. 2018-06-25 20:46:10 +02:00
David Tomaschik
12247790a6 Use dex for desktop files. 2018-06-25 20:45:34 +02:00
David Tomaschik
4d245198a8 Add SSH canonicalization settings. 2018-06-25 20:45:14 +02:00
David Tomaschik
8f4e4fe77b I don't like noglob scp. 2018-06-18 09:25:48 -07:00
David Tomaschik
1cafe1cf7a Don't always send a fake user agent. 2018-06-13 14:26:44 -07:00
David Tomaschik
ba546d478e Add tmux copy/pasta. 2018-06-11 21:55:00 -07:00
David Tomaschik
08d9567bdf Update zsh. 2018-06-11 21:29:50 -07:00
David Tomaschik
a460ee3bb4 More convenience keybindings. 2018-06-10 12:57:38 -07:00
David Tomaschik
f005bae9e6 Move SSH config to include-based. 2018-06-02 21:18:26 -07:00
David Tomaschik
3279d52505 Change locale detection. 2018-05-25 21:03:08 -07:00
David Tomaschik
939c604381 Fix env syntax. 2018-05-24 20:09:45 -07:00
David Tomaschik
d2061e29ef Make .env POSIX compliant. 2018-05-20 21:41:24 -07:00
David Tomaschik
de62342054 Merge branch 'master' of https://github.com/Matir/skel 2018-05-20 21:39:24 -07:00
David Tomaschik
2cf2aa4e78 Merge branch 'master' of https://github.com./Matir/skel 2018-05-16 17:05:55 -07:00
David Tomaschik
672767d758 Add PICKit3 udev rules. 2018-05-16 17:05:06 -07:00
David Tomaschik
96c2c37eb8 Merge branch 'master' of https://github.com./Matir/skel 2018-05-12 15:57:30 -07:00
David Tomaschik
ffb5d753cd Always try sudo if needed. 2018-05-12 15:57:23 -07:00
David Tomaschik
7a7340ef1d Add chromebook key. 2018-05-12 15:57:23 -07:00
David Tomaschik
b1bea45a48 Update skel to handle minimal environments. 2018-05-12 15:57:23 -07:00
David Tomaschik
01432d1f41 Roll back removing titles for groupings. 2018-05-12 15:57:17 -07:00
David Tomaschik
d6800370de Always try sudo if needed. 2018-05-12 12:50:16 -07:00
David Tomaschik
8f547abf93 Add chromebook key. 2018-05-12 12:45:25 -07:00
David Tomaschik
a02825fb1f Update skel to handle minimal environments. 2018-05-07 22:25:17 -07:00
David Tomaschik
5e3d133f8b Switch to vim keybindings. 2018-05-02 22:13:42 -07:00
David Tomaschik
48477290f0 Fix zshrc compinstall path 2018-05-02 14:43:34 -07:00
David Tomaschik
6bf68dfb2e Merge branch 'master' of https://github.com./Matir/skel 2018-04-23 22:12:14 -07:00
David Tomaschik
590a1a2fa0 Script to setup APT proxy. 2018-04-23 22:12:05 -07:00
David Tomaschik
697db6ca24 Merge branch 'master' of https://github.com./Matir/skel 2018-04-18 16:08:35 -07:00
David Tomaschik
f028c2f320 Fix SSH to github when ndots=2. 2018-04-18 16:07:50 -07:00
David Tomaschik
32a1c18c5d Add compose key. 2018-04-18 16:07:34 -07:00
David Tomaschik
4ec3fa1e22 Fix tab completion of usernames. 2018-04-18 16:07:15 -07:00
David Tomaschik
26685dfadb Add jekyll dev command. 2018-04-16 11:59:39 -07:00
David Tomaschik
0b327577e7 Fixing completion. 2018-04-15 17:45:02 -07:00
David Tomaschik
373f6c31c6 Merge branch 'master' of https://github.com./Matir/skel 2018-04-15 09:10:27 -07:00
David Tomaschik
4f7d98930d More improvements in slugs. 2018-04-11 16:09:29 +02:00
David Tomaschik
1aa256252f Note untracked files. 2018-04-07 20:05:47 +02:00
David Tomaschik
5705cb59c8 Use $EDITOR for editing. 2018-04-07 14:46:27 +02:00
David Tomaschik
c8b33e39c7 Avoid leading and trailing dashes in blog post slugs. 2018-04-07 13:58:02 +02:00
David Tomaschik
a9012bebea Add docker tab completion. 2018-04-07 12:26:54 +02:00
David Tomaschik
6100557a2b Add nasm to packages.cli. 2018-03-22 14:11:23 -07:00
David Tomaschik
5709d8fbb0 Setup locale in .env. 2018-03-18 17:55:27 -07:00
David Tomaschik
5dc84926be Add zlogin to build zcompdump.zwc. 2018-03-18 15:52:15 -07:00
David Tomaschik
b303c1b5c5 virtualenv info in prompt 2018-03-17 21:34:38 -07:00
David Tomaschik
dfd2b48b94 Merge branch 'master' of https://github.com./Matir/skel 2018-03-17 21:24:25 -07:00
David Tomaschik
0e1370a93f Initialize virtualenv. 2018-03-17 21:24:20 -07:00
David Tomaschik
4ebf519af7 Add Zeal documentation browser. 2018-03-17 21:03:45 -07:00
David Tomaschik
1386dc49d0 Rename installed-prefs to .installed-prefs. 2018-03-17 16:59:37 -07:00
David Tomaschik
360aa1c8ec Update zpretorc. 2018-03-16 22:45:02 -07:00
David Tomaschik
8e8d220539 Update rsync_ignore. 2018-03-16 21:03:24 -07:00
David Tomaschik
9b7561ce8f Merge branch 'master' of https://github.com./Matir/skel 2018-03-16 21:03:02 -07:00
David Tomaschik
c9c65e10d7 Install latest mitmproxy. 2018-03-14 22:15:52 -07:00
David Tomaschik
61b4dbe963 Do cyberchef install_tool style. 2018-03-14 13:44:40 -07:00
David Tomaschik
20a8db806c Make HISTFILE zprezto compatible. 2018-03-13 11:26:25 -07:00
David Tomaschik
be1bca8dbe Fix up prompt for vicmd mode. 2018-03-11 17:15:45 -07:00
David Tomaschik
9c3ad64036 Fix up GREP_COLORS. 2018-03-11 16:21:43 -07:00
David Tomaschik
d392eb8dfc Optimize backup. 2018-03-11 16:21:32 -07:00
David Tomaschik
6f15f7096a Fix prompt for git. 2018-03-11 12:44:41 -07:00
David Tomaschik
c7e40f1321 Fix rvm changes. 2018-03-10 23:14:16 -08:00
David Tomaschik
376fbb9f73 Merge branch 'prezto' 2018-03-10 23:13:03 -08:00
David Tomaschik
769989127b Fix up prezto. 2018-03-10 23:11:35 -08:00
David Tomaschik
4091cc3f03 Basic prezto support. 2018-03-10 22:49:32 -08:00
David Tomaschik
82c2833490 Remove google-chrome-burp alias. 2018-03-09 12:43:03 -08:00
David Tomaschik
634f031c56 Add google-chrome-burp as script. 2018-03-09 12:42:51 -08:00
David Tomaschik
7564acc939 Fix alias. 2018-03-09 11:35:47 -08:00
David Tomaschik
bfaabd18d0 Fix uber keys. 2018-03-06 08:48:26 -08:00
David Tomaschik
286eb02f4b Update git branches on push.
This pushes to clean checked-out repositories.  Only works since git
2.3.0, so on older versions, I'll apparently need to use a local dotfile
for those systems.

git config receive.denyCurrentBranch updateInstead
2018-03-04 22:15:36 -08:00
David Tomaschik
5a9e0b6578 Merge branch 'master' of theta.systemoverlord.com:.skel 2018-03-04 22:08:32 -08:00
David Tomaschik
f77ed125de Fix alias change. Doh. 2018-03-03 17:50:59 -08:00
David Tomaschik
24676d6a87 Don't use GNU aliases on NetBSD either. 2018-03-03 17:43:01 -08:00
David Tomaschik
d08af13a1c Update ssh/config. 2018-03-03 17:42:13 -08:00
David Tomaschik
8c9627caa1 Chmod only if exists. 2018-03-01 21:08:56 -08:00
David Tomaschik
40485f10f0 Conditional gpg. 2018-03-01 20:53:57 -08:00
David Tomaschik
b5ef3c37e4 Fix dotfile installation conditionals. 2018-03-01 20:52:35 -08:00
David Tomaschik
874750f22b Add python-nwdiag package. 2018-02-19 14:23:28 -08:00
David Tomaschik
89f555cdcb Merge branch 'master' of https://www.github.com/Matir/skel 2018-02-18 12:54:10 -08:00
David Tomaschik
4a7b263a9e Error handling for jekyll. 2018-02-14 18:27:39 -08:00
David Tomaschik
753035cc57 Support installing dotfiles separately. 2018-02-13 11:08:42 -08:00
David Tomaschik
32275ca788 Different workaround for ndots configuration. 2018-02-13 11:05:31 -08:00
David Tomaschik
58f63a17dc udev rules for various devices I use. 2018-02-10 15:07:28 -08:00
David Tomaschik
f355fe84d2 Add xsettingsd. 2018-02-09 13:33:03 -08:00
David Tomaschik
f3125f7cd7 Merge branch 'master' of https://www.github.com/Matir/skel 2018-02-05 16:27:34 -08:00
David Tomaschik
6894dc9214 Fix gitconfig to use www and other github aliases. 2018-02-05 16:26:33 -08:00
David Tomaschik
a59cbf1e41 Add new glaptop SSH keys.
Signed-off-by: David Tomaschik <david@systemoverlord.com>
2018-02-04 15:22:42 -08:00
David Tomaschik
d43bbcfae9 Add new glaptop SSH keys. 2018-02-04 14:58:37 -08:00
David Tomaschik
00cf4d1577 Add most to package list. 2018-02-03 19:20:40 -08:00
David Tomaschik
143e6e1e74 Use most if available. 2018-01-30 21:21:46 -08:00
David Tomaschik
8f6127d19d Fix conditional. 2018-01-30 19:35:44 -08:00
David Tomaschik
7c5a617897 Final bashism cleanup. 2018-01-30 19:25:47 -08:00
David Tomaschik
696cc9c6cd Fix some bashisms in install.sh. 2018-01-29 22:36:47 -08:00
David Tomaschik
2c2ac626e5 Make install script run on FreeBSD. 2018-01-30 05:35:34 +00:00
David Tomaschik
0431c83423 Merge remote-tracking branch 'vdesktop/master' 2018-01-27 10:31:51 -08:00
David Tomaschik
d9ae2ca974 Add socat to package list. 2018-01-27 10:31:13 -08:00
David Tomaschik
db007ad604 More MacOS fixes. 2018-01-26 09:39:38 -08:00
David Tomaschik
89ee4ce390 Merge branch 'master' of https://github.com/Matir/skel 2018-01-26 09:27:01 -08:00
David Tomaschik
48fb9289b4 Nasty hack to fix find on MacOS. 2018-01-26 09:26:58 -08:00
David Tomaschik
430bb6e7b9 Fix ls alias on MacOS. 2018-01-26 09:24:07 -08:00
David Tomaschik
bf81c13d47 Merge branch 'master' of xi.systemoverlord.com:.skel 2018-01-25 19:26:40 -08:00
David Tomaschik
bda75033a0 python-pypdf is entirely virtual. 2018-01-25 00:44:12 +00:00
David Tomaschik
53f7bc9fe3 Fix package installation. 2018-01-25 00:24:33 +00:00
David Tomaschik
a2acbeb8b5 Update weechat config. 2018-01-18 21:29:10 -08:00
David Tomaschik
de89e88c90 Weechat config bump. 2018-01-18 21:23:19 -08:00
David Tomaschik
d8d7e94aed Make script executable. 2018-01-06 20:53:46 -08:00
David Tomaschik
a2bd17e935 Script to rotate weechat key with letsencrypt. 2018-01-06 20:53:24 -08:00
David Tomaschik
abc42681af Avoid dumping all variables on running. 2018-01-06 14:31:14 -08:00
David Tomaschik
05a3905eb0 Give an initial value to pkg_list. 2018-01-06 14:29:03 -08:00
David Tomaschik
0c38ad65f7 Update how argument list is sliced. 2018-01-06 13:44:53 -08:00
David Tomaschik
a24b6ef51e Switch some backtick uses to proper shell substitution. 2018-01-06 13:41:22 -08:00
David Tomaschik
13c42ab008 Merge branch 'master' of https://github.com/Matir/skel 2018-01-06 13:40:40 -08:00
David Tomaschik
9db6ad55aa Fix HAVE_X error. 2018-01-06 13:40:33 -08:00
David Tomaschik
5d1eaccbbc Make pwndbg a separate action. 2018-01-04 09:57:22 -08:00
David Tomaschik
0859908724 Support arguments to install_git. 2018-01-03 13:50:57 -08:00
David Tomaschik
805998921a Fix options;modularize. 2018-01-03 13:28:45 -08:00
David Tomaschik
89aa4c1be2 Package updates. 2017-12-28 10:39:06 -08:00
David Tomaschik
b7c5a28fe0 README bump. 2017-12-28 10:27:17 -08:00
David Tomaschik
8ffc255e93 Make resources executable. 2017-12-16 11:35:36 -08:00
David Tomaschik
87fd3193e0 Remove default package list. 2017-12-02 12:41:13 +01:00
David Tomaschik
d96a41aeaf Update package installation to have minimal grouping. 2017-12-02 12:40:53 +01:00
David Tomaschik
43659b27a8 Add jq tool for JSON parsing. 2017-11-06 16:55:24 -08:00
David Tomaschik
ec0fb88453 Add verilog support in vim. 2017-11-06 16:55:12 -08:00
David Tomaschik
fcda32a417 Add ability to drop cache for swapping. 2017-11-03 19:00:08 -07:00
David Tomaschik
d33ee9fa4d Enable safe-paste oh-my-zsh plugin. 2017-11-01 13:22:40 -07:00
David Tomaschik
0dc5950334 Bump xresources. 2017-11-01 13:22:26 -07:00
David Tomaschik
4d3c2ea0b1 Merge branch 'master' of https://github.com/Matir/skel 2017-11-01 08:54:37 -07:00
David Tomaschik
157ff8a451 Don't clobber ssh-agent 2017-11-01 08:54:28 -07:00
David Tomaschik
a6df743476 Improve minimal mode. 2017-10-30 19:34:34 -07:00
David Tomaschik
4edf1e6b01 Merge branch 'master' of https://github.com/Matir/skel 2017-10-30 18:45:56 -07:00
David Tomaschik
953d592561 Update .ssh/config 2017-10-30 18:45:29 -07:00
David Tomaschik
fdf1ec9790 fix gtk fonts in i3. 2017-10-30 10:12:53 -07:00
David Tomaschik
99670fd834 Add PGP key id to .env 2017-10-29 22:23:34 -07:00
David Tomaschik
28d45d20da Always use gpgconf when needed. 2017-10-29 20:38:39 -07:00
David Tomaschik
42f93dc9d2 use gpgconf 2017-10-29 20:33:18 -07:00
David Tomaschik
f7ae1cb9f9 Add new signing 5dea789b subkey. 2017-10-29 20:20:08 -07:00
David Tomaschik
21ece50f73 gpg-agent from systemd support. 2017-10-29 20:18:51 -07:00
David Tomaschik
08d284efad Merge branch 'master' of https://github.com/Matir/skel 2017-10-27 11:41:55 -07:00
David Tomaschik
b23d196994 Re-enable fatih/vim-go plugin. 2017-10-27 11:41:49 -07:00
David Tomaschik
6b23295be9 Fix jekyll publish command. 2017-10-24 21:53:59 -05:00
David Tomaschik
7f7e2e21bf Update gpg to use dirmnger.conf. 2017-10-21 16:21:57 -07:00
David Tomaschik
12a4202709 Merge branch 'master' of https://github.com/Matir/skel 2017-10-21 09:48:46 -07:00
David Tomaschik
585f1f4101 Update glaptop key. 2017-10-21 09:47:28 -07:00
David Tomaschik
8d533e4cd3 Set QUOTING_STYLE=literal. 2017-10-17 18:06:21 -07:00
David Tomaschik
0c5dc52926 Store burp prefs. 2017-10-15 22:45:22 -07:00
David Tomaschik
62276e4843 Prefer syntastic over go-vim. 2017-10-14 11:14:50 -07:00
David Tomaschik
a8d205d8f6 Add proxmark3 to install_tool. 2017-09-27 13:41:13 -07:00
David Tomaschik
7c1bb5c6f9 Merge branch 'master' of https://github.com/Matir/skel 2017-09-11 18:08:43 -07:00
David Tomaschik
bdedb651d4 Fix i3 locking. 2017-09-11 18:08:01 -07:00
David Tomaschik
e62edc3fee Add python3-pip to packages. 2017-08-28 20:11:20 -07:00
David Tomaschik
1dce4d6ece Merge branch 'master' of https://github.com/Matir/skel 2017-08-26 23:05:37 -07:00
David Tomaschik
4eb5ae9087 More vim plugins. 2017-08-26 23:05:33 -07:00
David Tomaschik
b945bb69da Fix i3 screenshotting. I think. 2017-08-22 08:08:02 -07:00
David Tomaschik
44b2f55b1f Add bettercap to packages.kali. 2017-08-12 14:23:53 -07:00
David Tomaschik
9c1bbdd1ae Fix jekyll oh-my-zsh plugin. 2017-08-12 14:23:30 -07:00
David Tomaschik
e68a194066 install_tool for dex2jar. 2017-08-06 16:40:03 -07:00
David Tomaschik
8f4a5397c7 Function to start using ESP. 2017-08-05 15:12:37 -07:00
David Tomaschik
ec42e83d03 Add esp to tools selection. 2017-08-05 15:04:12 -07:00
David Tomaschik
0505bc90c4 Update john.conf 2017-07-31 15:34:32 -07:00
David Tomaschik
5e62177da5 Merge branch 'master' of https://github.com/Matir/skel 2017-07-31 10:05:28 -07:00
David Tomaschik
2394887cda Support for directory locating in jekyll oh-my-zsh plugin. 2017-07-31 10:05:06 -07:00
David Tomaschik
cd6f1ccca7 Merge branch 'master' of https://github.com/Matir/skel 2017-07-10 10:43:45 -07:00
David Tomaschik
f528cb3991 i3 fixes. 2017-07-10 10:43:35 -07:00
David Tomaschik
493fec9ced Fix markdown formatting in vim. 2017-05-19 08:36:16 -07:00
David Tomaschik
c7166479a9 Vim options for markdown. 2017-05-13 16:52:42 -07:00
David Tomaschik
21f8d645be Merge branch 'master' of https://github.com/Matir/skel 2017-05-13 16:39:02 -07:00
David Tomaschik
aafc352dd0 Add vim command to remove "smart" quotes. 2017-05-13 16:37:56 -07:00
David Tomaschik
c1df470815 sleep before turning display off. 2017-04-17 15:42:26 -07:00
David Tomaschik
de2a159024 Fix conditional test. 2017-04-17 08:29:27 -07:00
David Tomaschik
4f332566aa status_unk is not supported on i3status < 2.11 2017-04-17 08:15:35 -07:00
David Tomaschik
be3d3196ae s/xss-auto/xss-lock/ 2017-04-16 13:56:41 -07:00
David Tomaschik
7efc19fec7 i3 updates. 2017-04-15 19:35:01 -07:00
David Tomaschik
209778db2f Fix battery displays. 2017-04-14 19:54:39 -07:00
David Tomaschik
fa86c01eab i3status for each machine. 2017-04-14 15:38:32 -07:00
David Tomaschik
26af37422d Update weechat colors. 2017-04-14 13:28:32 -07:00
David Tomaschik
b29e600842 enable solarized_termtrans for urxvt. 2017-04-14 11:42:39 -07:00
David Tomaschik
2035518278 More i3 niceness. 2017-04-14 11:16:49 -07:00
David Tomaschik
63806dec01 Update urxvt extensions. 2017-04-14 10:29:23 -07:00
David Tomaschik
63e845904e Config for solarized urxvt. 2017-04-14 10:14:55 -07:00
David Tomaschik
702b8547d9 Float Burp filter windows. 2017-04-14 08:47:42 -07:00
David Tomaschik
f928309043 media keys. 2017-04-14 01:53:18 -07:00
David Tomaschik
9cffb92ef5 Merge branch 'master' of https://github.com/Matir/skel 2017-04-14 01:46:14 -07:00
David Tomaschik
044bd1dffc Hide borders on edge of screen. 2017-04-14 01:46:11 -07:00
David Tomaschik
c7194cb349 Add i3status. 2017-04-13 22:56:09 -07:00
David Tomaschik
12dd58dc01 Run autostart .desktop files on i3 login. 2017-04-13 21:13:47 -07:00
David Tomaschik
9018536732 i3 updates. 2017-04-13 19:26:42 -07:00
David Tomaschik
7e8687ffa8 Resize mode fix. 2017-04-13 17:47:38 -07:00
David Tomaschik
7f6114fb5d Update i3 fonts. 2017-04-13 16:14:21 -07:00
David Tomaschik
c144bc1bcc Add .Xresources. 2017-04-13 15:46:02 -07:00
David Tomaschik
576a6f227b Also CTRL+ALT+L for locking. 2017-04-13 15:44:35 -07:00
David Tomaschik
173230dd06 More convenience bindings in i3. 2017-04-13 13:36:07 -07:00
David Tomaschik
955fdb59f8 more i3 settings 2017-04-13 11:21:27 -07:00
David Tomaschik
8c366f69f7 Add gnome features for i3. 2017-04-13 10:15:19 -07:00
David Tomaschik
6ed5979c8f Screen off when locked. 2017-04-13 08:52:16 -07:00
David Tomaschik
a5f8e973fa i3 updates. 2017-04-12 15:42:32 -07:00
David Tomaschik
aa6f4213ff Time to give i3 a try. 2017-04-12 14:38:43 -07:00
David Tomaschik
3c2b06a81b More tool installation. 2017-03-25 09:06:28 -07:00
David Tomaschik
607204a85c Move burp from standalone script to install_tool. 2017-03-25 07:38:03 -07:00
David Tomaschik
dbe4c21ca1 Add android-sdk to install_tool. 2017-03-22 22:06:49 -07:00
David Tomaschik
13d389360d Merge branch 'master' of https://github.com/Matir/skel 2017-03-04 17:41:36 -08:00
David Tomaschik
aa690c0985 Install Unicorn for pwndbg. 2017-03-04 17:41:26 -08:00
David Tomaschik
6075ecf89b Merge branch 'master' of https://github.com/Matir/skel 2017-02-23 12:33:01 -08:00
David Tomaschik
cabdaac7a6 Rely entirely on oh-my-zsh to start gpg-agent. 2017-02-23 12:32:52 -08:00
David Tomaschik
8066f71ef5 Merge branch 'master' of https://github.com/Matir/skel 2017-02-09 19:50:28 -08:00
David Tomaschik
aee7cacaf4 Remove unused git aliases. 2017-02-09 19:49:56 -08:00
David Tomaschik
70cc5c5218 kubectl completion. 2017-02-04 16:48:40 -08:00
David Tomaschik
c8c954617e gcloud in tools. 2017-02-04 12:29:25 -08:00
David Tomaschik
f3b6be53e0 Add metasploit tab completion. 2017-02-04 08:04:26 -08:00
David Tomaschik
59b0bca33c Delete unneeded scripts. 2017-02-04 07:54:15 -08:00
David Tomaschik
e94f1caab3 Update install_tool script. 2017-02-04 07:53:38 -08:00
David Tomaschik
2701a9e8f0 Wordlist script. 2017-02-03 17:29:21 -08:00
David Tomaschik
4d196a0b75 install_tool fixes. 2017-02-03 09:16:24 -08:00
David Tomaschik
e7c797e195 Update install_tool for john configs. 2017-02-03 09:08:32 -08:00
David Tomaschik
58ae338ece Fix color for colorcolumn. 2017-02-03 09:06:18 -08:00
David Tomaschik
5eaabf4716 Basic tool installer. 2017-02-02 22:35:24 -08:00
David Tomaschik
de1758b847 Merge branch 'master' of https://github.com/Matir/skel 2017-01-28 09:19:10 -08:00
David Tomaschik
aabc40e4c0 Add GCHQ Cyberchef. 2017-01-28 09:18:43 -08:00
David Tomaschik
3175b2bcd7 Add colorcolumn. 2017-01-23 21:01:32 -08:00
David Tomaschik
ab73763b4f Highlight trailing whitespace in vim. 2017-01-23 20:33:13 -08:00
David Tomaschik
dc9fbe1cd9 Update switch_virt.sh 2017-01-07 16:42:27 -08:00
David Tomaschik
d79dbd890f Update hak5. 2017-01-05 23:22:58 -08:00
David Tomaschik
3e78cde55e Start in insert mode when writing a new post. 2016-12-30 18:52:08 -08:00
David Tomaschik
a6c2421ddc Escape arguments to printf in jekyll oh-my-zsh script. 2016-12-30 18:43:30 -08:00
David Tomaschik
e6fa446b19 Script to switch virtualization hypervisors. 2016-12-26 21:13:51 -08:00
David Tomaschik
59cb3a01fb Update ack for newer packages. 2016-12-26 21:11:05 -08:00
David Tomaschik
9203299eb2 Add GOPATH/bin to PATH. 2016-12-17 19:30:56 -08:00
David Tomaschik
8f30b94c97 Remove stray escape. 2016-12-17 18:17:14 -08:00
David Tomaschik
db1c72a86f Bump ssh config. 2016-12-07 17:20:05 -08:00
David Tomaschik
78df984b55 Install pwndbg in a custom manner. 2016-12-06 12:07:37 -08:00
David Tomaschik
68dcadd52b Remove outdated utf8 lines from tmux. 2016-11-19 19:36:24 -08:00
David Tomaschik
0b5ceae185 Add relay options. 2016-10-26 11:19:04 -07:00
David Tomaschik
525697a4ea Update GOPATH. 2016-10-23 15:30:59 -07:00
David Tomaschik
4bedb5496b Bump IRC config. 2016-10-21 19:55:26 -07:00
David Tomaschik
ee4b273710 Bump IRC config. 2016-10-21 19:50:32 -07:00
David Tomaschik
3586722774 Add dircount alias. 2016-10-19 21:51:13 -07:00
David Tomaschik
afa200905c Update cryptsetup alias. 2016-09-17 20:33:37 -07:00
David Tomaschik
751f39f854 Add new rsync_ignore entry. 2016-09-17 20:32:19 -07:00
David Tomaschik
d4d0005811 Update gpg-agent plugin with custom build. 2016-07-24 16:17:21 -07:00
David Tomaschik
cf360f0eb1 Update profile gpg-agent path. 2016-07-24 15:56:39 -07:00
David Tomaschik
52991d097a Remove drupal.org from .ssh/config. 2016-07-24 13:50:35 -07:00
David Tomaschik
aeb2e89755 Fix deb-to-kali.sh 2016-07-24 12:01:17 -07:00
David Tomaschik
2baead04ef Matir PvJ key. 2016-07-24 11:53:21 -07:00
David Tomaschik
8ea9f8c10f Require slug for custom commands. 2016-07-07 22:11:36 -07:00
David Tomaschik
4320edaee6 Add virtualbox vms to ignore. 2016-07-07 20:34:33 -07:00
David Tomaschik
acc7085c66 Add gcloud path. 2016-05-03 20:51:41 -07:00
David Tomaschik
4e427cf208 Remove cnf support. 2016-04-25 20:15:28 -07:00
David Tomaschik
072e6e6405 More error suppression. 2016-04-17 19:52:44 -07:00
David Tomaschik
930b11b821 Suppress lesspipe errors. 2016-04-17 19:49:46 -07:00
David Tomaschik
8e01e9a0ab Suppress more errors. 2016-04-12 21:13:26 -07:00
David Tomaschik
b076afb811 Suppress dpkg-query error on non-Debian systems. 2016-04-12 21:12:18 -07:00
David Tomaschik
33223e5af0 Add lisa for LLDB. 2016-04-11 00:58:05 -07:00
David Tomaschik
e514149340 Update some configs. 2016-04-09 11:08:16 -07:00
David Tomaschik
e752074886 Quote post title when creating new jekyll post. 2016-03-27 16:40:19 -07:00
David Tomaschik
4cb6be69e0 Remove unneccessary blog post script. 2016-03-27 13:25:17 -07:00
David Tomaschik
997b27dd19 Include digits in slugs. 2016-03-26 20:43:01 -07:00
David Tomaschik
3071ecd7f7 Add some completions for jekyll. 2016-03-26 20:42:12 -07:00
David Tomaschik
9c1f09c563 Remove noclobber because it makes oh-my-zsh blow up. 2016-03-26 11:15:36 -07:00
David Tomaschik
5c23070292 Add oh-my-zsh plugin to manage jekyll posts. 2016-03-24 22:46:34 -07:00
David Tomaschik
31f04428ca Script to add new blog post. 2016-03-23 22:00:11 -07:00
David Tomaschik
0b16c79274 Fix flake8 plugin. 2016-03-23 18:22:32 -07:00
David Tomaschik
c29e859c4a Add a redshift config. 2016-03-22 21:14:43 -07:00
David Tomaschik
1e2c131cc8 Get env in profile. 2016-03-19 23:10:07 -07:00
David Tomaschik
80795ffb33 Add virtualenvwrapper support to dotfiles. 2016-03-19 11:01:40 -07:00
David Tomaschik
5900f47829 Add completions for common msf commands. 2016-03-16 04:12:35 -07:00
David Tomaschik
56ca5cc721 Only source setenv.sh if available. 2016-03-16 04:03:09 -07:00
David Tomaschik
58db233697 Update metasploit.sh script to handle metasploit-framework deb install. 2016-03-16 04:00:53 -07:00
David Tomaschik
46255e9ab7 Check path for deb-to-kali. 2016-03-15 20:48:15 -07:00
David Tomaschik
6a6216a720 Remove recursive loop failure in metasploit.sh. 2016-03-11 19:33:40 -08:00
David Tomaschik
28348ca08e Merge branch 'master' of https://github.com/Matir/skel 2016-03-09 21:33:11 -08:00
David Tomaschik
6347759506 More weechat customization. 2016-03-09 11:36:14 -08:00
David Tomaschik
0949c61bc3 Properly fix modeline by adding trailing colon. 2016-03-09 11:26:02 -08:00
David Tomaschik
87a42121f9 Use nasm syntax by default. 2016-03-09 11:18:45 -08:00
David Tomaschik
6914922a3e Merge branch 'master' of https://github.com/Matir/skel 2016-03-08 10:00:22 -08:00
David Tomaschik
26f7f78569 Add venv prompt support. 2016-03-08 10:00:08 -08:00
David Tomaschik
1e00c7212a Fix weechat looks. 2016-03-06 17:38:24 -08:00
David Tomaschik
96ab83949a Add weechat config. 2016-03-05 19:31:13 -08:00
David Tomaschik
d24862dc84 Update PS1 to match oh-my-zsh theme. 2016-03-04 22:21:40 -08:00
David Tomaschik
d48f5a3681 Add noclobber zsh option. 2016-03-03 09:02:22 -08:00
David Tomaschik
1baf32f6bf Add more packages. 2016-02-25 21:51:11 -08:00
David Tomaschik
664e310323 Add more ignore files. 2016-02-24 20:48:15 -08:00
David Tomaschik
1c4e2fb7dd Don't use zsh if not installed for cleanup. 2016-02-23 10:01:13 -08:00
David Tomaschik
d56db56d2b Merge branch 'master' of https://github.com/Matir/skel 2016-02-22 18:58:08 -08:00
David Tomaschik
fd974a153c Get env in xsessionrc. 2016-02-22 14:38:57 -08:00
David Tomaschik
0259497329 Add support for local profile. 2016-02-22 13:34:11 -08:00
David Tomaschik
a43c80639d Add an unmanaged local_dotfiles dir to override dotfiles. 2016-02-17 10:15:14 -08:00
David Tomaschik
bf6e7bd315 Refresh GPG keys on install. 2016-02-16 13:25:14 -08:00
David Tomaschik
089261264f Remove rvm auto-changes. 2016-02-15 08:53:00 -08:00
David Tomaschik
87dc698f31 Rearrange GPG startup. 2016-02-12 21:08:23 -08:00
David Tomaschik
20581f766f Remove SSH hacks that break things. 2016-02-12 14:46:59 -08:00
David Tomaschik
dfc1021cba Really add RVM key. 2016-02-11 18:32:57 -08:00
David Tomaschik
424febea00 Add rvm install script and key. 2016-02-11 18:32:42 -08:00
David Tomaschik
7ccc6ec6c0 Add RVM. 2016-02-11 18:00:54 -08:00
David Tomaschik
ab6b1784bd Add function to re-source the gnupg environment. 2016-02-10 13:48:12 -08:00
David Tomaschik
7bdcfdf18a Update packages. 2016-02-09 13:13:30 -08:00
David Tomaschik
fe8e33eb92 Merge remote-tracking branch 'origin/master' 2016-02-08 10:38:57 -08:00
David Tomaschik
8786ca65b9 Update README.md. 2016-02-07 23:02:01 -08:00
David Tomaschik
4615724282 Make sure we have git-crypt setup before installing private_dotfiles. 2016-02-07 22:57:42 -08:00
David Tomaschik
aa41a0e1ee Add 1 git-crypt collaborator
New collaborators:

	5DEA789B David Tomaschik <david@systemoverlord.com>
2016-02-07 22:52:00 -08:00
David Tomaschik
552a3bdd1d Use git-crypt to store private_dotfiles. 2016-02-07 22:50:26 -08:00
David Tomaschik
97b5a694d3 Set CheckHostIP no. 2016-02-07 16:05:31 -08:00
David Tomaschik
d35dd23019 Only try to change shell on interactive sessions. 2016-02-07 16:05:21 -08:00
David Tomaschik
9a26c713d7 Fix problems with seahorse stealing ssh-agent. 2016-02-07 14:40:56 -08:00
David Tomaschik
dc64160e83 Move kali repo key into keys dir. 2016-02-07 13:07:53 -08:00
David Tomaschik
ec8b2379e5 Resurrect deb-to-kali.sh for Kali rolling. 2016-02-06 14:01:21 -08:00
David Tomaschik
baa267e4e7 Remove unmaintained deb-to-kali script. 2016-02-03 19:11:23 -08:00
David Tomaschik
31e19d6f90 Cleanup after Chrome install. 2016-02-03 19:10:37 -08:00
David Tomaschik
736e24468b Update AWL formatting. 2016-01-30 14:11:19 -08:00
David Tomaschik
727981e760 Fix freenode due to CA change. 2016-01-30 13:21:34 -08:00
David Tomaschik
ac2c605a5e Remove wallpapers to move to another repo. 2016-01-26 21:40:19 -08:00
David Tomaschik
7c2964b6d8 Chrome wrapper for kali use. 2016-01-25 21:53:00 -08:00
David Tomaschik
73873a9316 Merge branch 'master' of https://github.com/Matir/skel 2016-01-25 09:52:48 -08:00
David Tomaschik
452dfa1ec2 Add uber pubkey. 2016-01-21 18:39:20 -08:00
David Tomaschik
37099ff94d Add unzip to packages. 2016-01-21 18:38:59 -08:00
David Tomaschik
1df1d1f244 Remove wallpapers to be moved to another directory. 2016-01-14 06:52:00 -08:00
David Tomaschik
1ac4c6e0b1 Add wallpapers. 2016-01-01 01:37:01 -08:00
David Tomaschik
358c5d48a5 Mouse mode updates in tmux.conf. 2015-12-23 23:15:56 -08:00
David Tomaschik
b8c290965b Merge branch 'master' of https://github.com/Matir/skel 2015-12-16 12:33:10 -08:00
David Tomaschik
ecfbce96c0 Rename xprofile to xsessionrc. 2015-12-16 12:32:48 -08:00
David Tomaschik
c9a4277724 John rules including KoreLogic wordlist rules. 2015-12-12 08:48:03 -08:00
David Tomaschik
ec69fed5d2 Dotfile refactoring. 2015-12-10 19:37:53 -08:00
David Tomaschik
138f9ef3c3 Alternative solution for path for MSF tools. 2015-11-25 00:14:52 -08:00
David Tomaschik
1442824e64 Add nasm_shell to metasploit aliases. 2015-11-24 23:41:44 -08:00
David Tomaschik
934dfe32df Add MSF aliases. 2015-11-24 11:21:48 -08:00
David Tomaschik
79f96d0ed3 Update install script for verbosity. 2015-11-18 21:46:10 -08:00
David Tomaschik
b9cf6bae01 site2pdf support. 2015-11-18 01:23:20 -08:00
David Tomaschik
056f0087e7 Add Pentester Framework. 2015-11-18 00:23:21 -08:00
David Tomaschik
0ce708d0ec Add ptf. 2015-11-18 00:16:29 -08:00
David Tomaschik
fc3903003e Quieter apt-get update. 2015-11-17 23:56:10 -08:00
David Tomaschik
dd4beff725 Fix install_git/git_install mixup. 2015-11-17 23:53:33 -08:00
David Tomaschik
4858e33ff1 Wrap git install to also update. 2015-11-17 10:39:06 -08:00
David Tomaschik
9520a9b484 Merge branch 'master' of https://github.com/Matir/skel 2015-11-15 13:27:41 -08:00
David Tomaschik
54481260b8 Add vimoutliner. Closes #1. 2015-11-15 13:27:34 -08:00
David Tomaschik
59e5f5ad79 Fix up TERM for gnome-terminal. Ugly hack. 2015-11-12 16:15:12 -08:00
David Tomaschik
4c044264d8 Prune without prompting. 2015-11-12 16:06:22 -08:00
David Tomaschik
129e7088f3 Solarized dircolors. 2015-11-12 10:43:44 -08:00
David Tomaschik
5c57186807 Don't ask for confirmation if there are no results. 2015-11-12 10:35:10 -08:00
David Tomaschik
97d0f2f1d0 Prune broken symlinks now confirms. 2015-11-12 10:33:25 -08:00
David Tomaschik
742e2c10c3 Default install packages to off. 2015-11-11 18:59:12 -08:00
David Tomaschik
a0ce33ddb1 Switch from reverser gdbinit to PEDA. 2015-11-11 18:57:47 -08:00
David Tomaschik
6a0c55ac73 Install script gets zsh as needed. 2015-11-08 12:26:56 -08:00
David Tomaschik
dfdf1b8588 Basic skel update script. 2015-11-08 10:44:03 -08:00
David Tomaschik
7955b24be6 Cleanup broken symlinks at end of setup. 2015-11-07 14:07:57 -08:00
David Tomaschik
bfdd2f4d6a Add proper shebang to get zsh functionality. 2015-11-07 13:34:20 -08:00
David Tomaschik
a234f2934f Make burp work from alt-f2 and other non-function locations. 2015-11-07 13:15:35 -08:00
David Tomaschik
71df11db58 Merge branch 'master' of https://github.com/Matir/skel 2015-11-07 12:05:21 -08:00
David Tomaschik
a61efc0fb1 Avoid using features not present in /bin/sh. 2015-11-07 12:04:39 -08:00
David Tomaschik
850ab7090a Disable mouse mode in tmux, as it interferes with copy/paste. 2015-11-02 08:40:29 -08:00
David Tomaschik
90410ca322 New subkeys. 2015-10-29 21:47:06 -07:00
David Tomaschik
e42a8472f6 Merge branch 'master' of https://github.com/Matir/skel 2015-10-29 20:33:13 -07:00
David Tomaschik
81e25dc192 Update irssi. 2015-10-29 20:33:05 -07:00
David Tomaschik
6bc3a67fb0 Merge remote-tracking branch 'origin/master' 2015-10-27 09:14:16 -07:00
David Tomaschik
cb6ca10f6f Enable command-not-found. 2015-10-27 09:13:51 -07:00
David Tomaschik
ef887ed209 Cache credentials in git. 2015-10-27 09:13:15 -07:00
David Tomaschik
d9fcc5b1e6 Merge branch 'master' of https://github.com/Matir/skel 2015-10-22 21:25:59 -07:00
David Tomaschik
95f68cd822 Merge branch 'master' of https://github.com/Matir/skel 2015-10-22 13:33:46 -07:00
David Tomaschik
2291c85db5 Preserve PYTHONPATH. 2015-10-22 13:33:43 -07:00
David Tomaschik
a55243a867 Add mosh to packages. 2015-10-21 20:24:32 -07:00
David Tomaschik
c4154d8ca9 Add appengine. 2015-10-21 20:23:32 -07:00
David Tomaschik
c1350c83d2 Fix package relative paths. 2015-10-10 16:02:29 -07:00
David Tomaschik
f4232608f6 Add ipython. 2015-10-10 11:38:49 -07:00
David Tomaschik
4f64e41232 Suppress dpkg error message. 2015-10-10 01:48:23 -07:00
David Tomaschik
98455d4917 Remove spurious echos. 2015-10-09 00:32:12 -07:00
David Tomaschik
0da6ca2c47 Merge branch 'master' of https://github.com/Matir/skel 2015-10-08 16:27:48 -07:00
David Tomaschik
fc25cfd8d3 Support for saving skel preferences across runs. 2015-10-08 16:27:40 -07:00
David Tomaschik
4c1639535b Have a notion of fully trusted vs partially trusted keys. 2015-10-08 16:08:40 -07:00
David Tomaschik
4cd1306393 Add more useful git aliases. 2015-10-08 15:35:36 -07:00
David Tomaschik
a33d352cf9 Recognize multiple paths for zsh. 2015-10-08 15:28:14 -07:00
David Tomaschik
79b352d091 Use consistent test operator of modern bash builtin. 2015-10-08 10:14:53 -07:00
David Tomaschik
7b3750a768 Merge branch 'master' of https://github.com/Matir/skel 2015-10-07 16:15:48 -07:00
David Tomaschik
f7f8baad03 Silence gpg-agent warnings. 2015-10-07 16:15:37 -07:00
David Tomaschik
fc4ab371f5 Merge branch 'master' of https://github.com/Matir/skel 2015-10-07 00:04:40 -07:00
David Tomaschik
2546279b92 Make all install variables function-local. 2015-10-07 00:04:30 -07:00
David Tomaschik
b1de895300 Update deb-to-kali script to handle relative paths. 2015-10-06 09:43:36 -07:00
David Tomaschik
9846031492 Silence chrome installed query. 2015-10-05 08:14:57 -07:00
119 changed files with 14229 additions and 4293 deletions

3
.git-crypt/.gitattributes vendored Normal file
View File

@@ -0,0 +1,3 @@
# Do not edit this file. To specify the files to encrypt, create your own
# .gitattributes file in the directory where your files are.
* !filter !diff

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
private_dotfiles/** filter=git-crypt diff=git-crypt

5
.gitignore vendored
View File

@@ -1,5 +1,6 @@
private_dotfiles
private_dotfiles/**
installed-prefs
.installed-prefs
*.swp
*~
*.bak
local_dotfiles

View File

@@ -9,6 +9,10 @@ packages I like installed, and an ever-growing setup script. There are various
options to install just parts of it, such as on a machine where I only have a
user account but no root.
This now uses [git-crypt](https://github.com/AGWA/git-crypt) to protect
`private_dotfiles` for things I don't want to splash all over the internet. :)
I still wouldn't check in anything terribly sensitive, like private keys.
### Usefulness ###
Mostly I post this to github so I can quickly grab the things I want, but it
might also be useful to others. Feel free to raise an issue if you have any
@@ -22,6 +26,14 @@ MINIMAL: Don't do things that require git clones or installation of anything
not included in my .skel. (Defaults to 0, installs everything.)
INSTALL_KEYS: Install GnuPG and SSH keys. SSH keys are placed in
authorized_keys. (Defaults to 1, installs keys.)
TRUST_ALL_KEYS: Allow all keys to be used for SSH login, versus a small subset.
INSTALL_PKGS: Install common packages, if on a Debian-like system.
(Defaults to opposite of $MINIMAL.)
SAVE: Save the install options to ${BASEDIR}/installed-prefs
```
### TODO ###
[ ] Re-do the installation of packages.
[ ] Make manual installation of sets easy/possible.
[ ] Make missing packages not cause a full set failure.
[X] Allow comments and blank lines.

35
bin/_install_apt_proxy.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/bin/bash
set -o errexit
set -o nounset
if test -f /etc/apt/apt.conf.d/90-proxy ; then
echo "Looks already setup."
exit 0
fi
cat >/etc/apt/proxy-detect <<'EOF'
#!/bin/bash
PROXY=192.168.60.10:3142
if ! test -x /bin/nc ; then
echo DIRECT
exit 0
fi
if nc -w 2 -z ${PROXY/:/ } ; then
echo ${PROXY}
exit 0
fi
echo DIRECT
EOF
chmod 755 /etc/apt/proxy-detect
cat >/etc/apt/apt.conf.d/90-proxy <<'EOF'
Acquire::http::Proxy-Auto-Detect "/etc/apt/proxy-detect";
EOF
echo "Setup APT Proxying."

5
bin/_install_i3.sh Executable file
View File

@@ -0,0 +1,5 @@
#!/bin/bash
apt-get install -y \
i3 i3lock xss-lock rxvt-unicode-256color fonts-inconsolata scrot \
xautolock xbacklight i3status dex

16
bin/autostart.py Executable file
View File

@@ -0,0 +1,16 @@
#!/usr/bin/python
"""
Launch desktop files from ~/.config/autostart
"""
import glob
import os.path
from gi.repository import Gio
dirname = os.path.expanduser('~/.config/autostart')
for desktop in glob.glob(os.path.join(dirname, '*.desktop')):
try:
fp = Gio.DesktopAppInfo.new_from_filename(desktop)
except TypeError:
continue
fp.launch_uris([], None)

View File

@@ -26,5 +26,5 @@ function verify_dest {
verify_dest "$DEST"
rsync -Hax --delete --exclude-from="$HOME/.rsync_ignore" \
exec nice rsync -Hax --delete --exclude-from="$HOME/.rsync_ignore" \
--delete-excluded "${HOME}/" "$DEST"

11
bin/cyberchef Executable file
View File

@@ -0,0 +1,11 @@
#!/bin/bash
set -u
CHEF_FILE=${HOME}/tools/cyberchef/cyberchef.html
if [ ! -f ${CHEF_FILE} ] ; then
${HOME}/bin/install_tool cyberchef
fi
exec xdg-open ${CHEF_FILE}

10
bin/google-chrome Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/bash
CHROME=`which google-chrome`
if [ `id -u` != "0" ] ; then
exec $CHROME "$@"
fi
CMD="${CHROME} --user-data-dir=${HOME}/.chrome-data-dir \"$@\""
su -c "${CMD}" chromeuser

3
bin/google-chrome-burp Executable file
View File

@@ -0,0 +1,3 @@
#!/bin/bash
# Launch chrome for burp
exec /usr/bin/google-chrome-beta --ignore-certificate-errors --user-data-dir=${HOME}/.config/chrome-pentest --proxy-server=127.0.0.1:8080

9
bin/i3lock.sh Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/sh
LOCKER="i3lock -c 000000"
/usr/bin/xss-lock -- "${LOCKER}" &
exec /usr/bin/xautolock \
-time 5 \
-detectsleep \
-locker "${LOCKER}" \
-notify 30 \
-notifier "notify-send -u critical -t 10000 -- 'LOCKING SCREEN IN 30 SECONDS'"

217
bin/install_tool Executable file
View File

@@ -0,0 +1,217 @@
#!/bin/bash
set -ue
REINSTALL=0
PACKAGES=1
while getopts -- "-:" a ; do
case "${a}" in
-)
case "${OPTARG}" in
reinstall)
REINSTALL=1
;;
no-packages)
PACKAGES=0
;;
*)
echo "Unknown long option ${OPTARG}" >/dev/stderr
exit 1
;;
esac
esac
done
shift $(($OPTIND-1))
if [ $# -ne 1 ] ; then
echo "Usage: ${0} <tool>" >/dev/stderr
exit 1
fi
TOOL=${1}
function die {
echo $* >/dev/stderr
return 1
}
function install_pkgs {
if [ ${PACKAGES} -eq 0 ] ; then
return 0
fi
# TODO: check if packages are already installed
if [ `id -u` -ne "0" ] ; then
sudo apt-get -y install $* || (
echo -n "Unable to install packages, please ensure these " >/dev/stderr
echo "are installed, then run with --no-packages." >/dev/stderr
echo $*
false )
return 0
fi
apt-get -y install $*
}
function download {
SRC=${1}
DST=${2}
echo -n "Downloading ${SRC} to ${DST}..." >&2
# TODO: consider curl instead?
wget --no-server-response -q -O ${DST} --content-disposition ${SRC}
echo " done." >&2
}
function check_sudo {
sudo -l >/dev/null
}
function add_bin_symlink {
local TARGET NAME BINDIR
TARGET=${1}
NAME=${2:-$(basename ${1})}
BINDIR=${HOME}/bin/tools/
mkdir -p -- ${BINDIR}
ln -sf ${DESTDIR}/${TARGET} ${BINDIR}/${NAME}
}
DESTDIR="${HOME}/tools/${TOOL}"
if [ -d ${DESTDIR} ] ; then
if [ ${REINSTALL} -eq 1 ] ; then
rm -ri ${DESTDIR}
else
echo "${DESTDIR} exists but not reinstalling." >/dev/stderr
exit 1
fi
fi
case ${TOOL} in
john)
install_pkgs libssl-dev git build-essential yasm libgmp-dev libpcap-dev \
pkg-config libbz2-dev libopenmpi-dev openmpi-bin libnss3-dev \
libkrb5-dev libgmp-dev
jtemp=`mktemp -d`
git clone https://github.com/magnumripper/JohnTheRipper.git ${jtemp}/john
cd ${jtemp}/john/src
./configure && make -sj2
mkdir -p ${DESTDIR}
cp -r ${jtemp}/john/run/* ${DESTDIR}
rm -rf ${jtemp}
# Persistent files
mkdir -p ${HOME}/.john
touch ${HOME}/.john/john.pot
ln -sf ${HOME}/.john/* ${DESTDIR}
;;
wordlists)
mkdir -p ${DESTDIR}
download \
http://downloads.skullsecurity.org/passwords/rockyou.txt.bz2 \
${DESTDIR}/rockyou.txt.bz2
bunzip2 ${DESTDIR}/rockyou.txt.bz2
download \
http://downloads.skullsecurity.org/passwords/phpbb.txt.bz2 \
${DESTDIR}/phpbb.txt.bz2
bunzip2 ${DESTDIR}/phpbb.txt.bz2
download \
http://downloads.skullsecurity.org/passwords/hak5.txt.bz2 \
${DESTDIR}/hak5.txt.bz2
bunzip2 ${DESTDIR}/hak5.txt.bz2
;;
gcloud)
mkdir -p ${DESTDIR}
gtemp=`mktemp -d`
gbase="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/"
# TODO: find a way to make this version independent
gsdk="google-cloud-sdk-209.0.0-linux-x86_64.tar.gz"
download "${gbase}${gsdk}" /tmp/gcloud.tar.gz
tar zxf /tmp/gcloud.tar.gz --strip-components=1 -C ${DESTDIR}
rm /tmp/gcloud.tar.gz
add_bin_symlink bin/gcloud
;;
android-sdk)
# TODO: find a way to make this version independent
asdk="https://dl.google.com/android/repository/tools_r25.2.3-linux.zip"
download ${asdk} /tmp/android-tools.zip
unzip -d ${DESTDIR} /tmp/android-tools.zip
rm /tmp/android-tools.zip
# Install components
${DESTDIR}/tools/bin/sdkmanager "emulator" "platform-tools"
;;
burp)
# Install latest burp free
mkdir -p ${DESTDIR}
download \
https://portswigger.net/DownloadUpdate.ashx\?Product\=Free \
${DESTDIR}/burp-free.jar
if [ $? -ne 0 ] ; then
echo "Download failed." >&2
exit 1
fi
if [ -x /usr/bin/jarwrapper ] ; then
# We have binfmt support for jar, so add to bin
chmod +x ${DESTDIR}/*.jar
ln -sf ${DESTDIR}/*.jar ${HOME}/bin/burp
fi
;;
mitmproxy)
ver=$(python -c 'import urllib2; import json; print(json.load(urllib2.urlopen("https://api.github.com/repos/mitmproxy/mitmproxy/releases/latest"))["name"].replace("v",""))')
download https://snapshots.mitmproxy.org/${ver}/mitmproxy-${ver}-linux.tar.gz /tmp/mitmproxy.tar.gz
mkdir -p ${DESTDIR}
tar zx -C ${DESTDIR} -f /tmp/mitmproxy.tar.gz
rm /tmp/mitmproxy.tar.gz
add_bin_symlink mitmproxy
add_bin_symlink mitmweb
;;
esp)
src="https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz"
download ${src} /tmp/esp32.tar.gz
mkdir -p ${DESTDIR}
tar zx -C ${DESTDIR} -f /tmp/esp32.tar.gz
rm /tmp/esp32.tar.gz
git clone --recursive https://github.com/espressif/esp-idf.git ${DESTDIR}/esp-idf
;;
dex2jar)
src="https://github.com/pxb1988/dex2jar/releases/download/2.0/dex-tools-2.0.zip"
download ${src} /tmp/dex2jar.zip
tmpd=`mktemp -d`
unzip -d ${tmpd} /tmp/dex2jar.zip
mv ${tmpd}/* ${DESTDIR}
rm /tmp/dex2jar.zip
rm -rf ${tmpd}
rm ${DESTDIR}/*.bat
chmod +x ${DESTDIR}/*.sh
;;
proxmark3)
install_pkgs p7zip git build-essential libreadline5 libreadline-dev \
libusb-0.1-4 libusb-dev libqt4-dev perl pkg-config wget libncurses5-dev \
gcc-arm-none-eabi libstdc++-arm-none-eabi-newlib
src="https://github.com/Proxmark/proxmark3.git"
git clone ${src} ${DESTDIR}
cd ${DESTDIR}
make -sj2
check_sudo && sudo /bin/sh -c \
"cp -rf driver/78-mm-usb-device-blacklist.rules \
/etc/udev/rules.d/77-mm-usb-device-blacklist.rules &&
udevadm control --reload-rules"
;;
cyberchef)
mkdir -p ${DESTDIR}
src=$(python -c 'import urllib2; import json; print(filter(lambda x: x["name"]=="cyberchef.htm", json.load(urllib2.urlopen("https://api.github.com/repos/gchq/CyberChef/releases/latest"))["assets"])[0]["browser_download_url"])')
download ${src} ${DESTDIR}/cyberchef.html
;;
apktool)
mkdir -p ${DESTDIR}
download \
https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool \
${DESTDIR}/apktool
download \
https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.3.3.jar \
${DESTDIR}/apktool.jar
chmod +x ${DESTDIR}/apktool
add_bin_symlink apktool
;;
*)
echo "Unknown tool: ${TOOL}" >/dev/stderr
exit 1
;;
esac

37
bin/metasploit.sh Executable file
View File

@@ -0,0 +1,37 @@
#!/bin/sh
export NAME=$(basename "$0")
export BASE="/opt/metasploit" # TODO: search this path
# Autogen'd
if [ -f "${BASE}/scripts/setenv.sh" ] ; then
. ${BASE}/scripts/setenv.sh
fi
# Use Pro's bundled gems instead of the gemcache
export MSF_BUNDLE_GEMS=0
export BUNDLE_GEMFILE=${BASE}/apps/pro/Gemfile
# Set a flag so Gemfile can limit gems
export FRAMEWORK_FLAG=true
export MSF_DATABASE_CONFIG=${BASE}/apps/pro/ui/config/database.yml
export TERMINFO=${BASE}/common/share/terminfo/
# Check for ruby scripts such as msfconsole directly to avoid having to add
# msf3 to the path.
if [ -f "${BASE}/apps/pro/msf3/${NAME}" ]; then
exec ${BASE}/apps/pro/msf3/${NAME} "$@"
fi
if [ -f "${BASE}/apps/pro/msf3/tools/exploit/${NAME}.rb" ]; then
exec ${BASE}/apps/pro/msf3/tools/exploit/${NAME}.rb "$@"
fi
export BASE="/opt/metasploit-framework"
if [ -f "${BASE}/embedded/framework/tools/exploit/${NAME}.rb" ]; then
exec ${BASE}/embedded/bin/ruby \
"${BASE}/embedded/framework/tools/exploit/${NAME}.rb" "$@"
fi
echo "Couldn't find script." >&2
exit 1

1
bin/nasm_shell Symbolic link
View File

@@ -0,0 +1 @@
metasploit.sh

1
bin/pattern_create Symbolic link
View File

@@ -0,0 +1 @@
metasploit.sh

1
bin/pattern_offset Symbolic link
View File

@@ -0,0 +1 @@
metasploit.sh

28
bin/switch_virt.sh Executable file
View File

@@ -0,0 +1,28 @@
#!/bin/bash
if [ $# -lt 1 ] ; then
echo "Usage: $0 <kvm|vbox>" >&2
exit 1
fi
if [ `whoami` != "root" ] ; then
if which sudo >/dev/null 2>&1 ; then
sudo $0 $*
exit
fi
echo "Sorry, this requires root." >&2
exit 1
fi
if [ "$1" == "kvm" ] ; then
/etc/init.d/virtualbox stop
modprobe kvm
modprobe kvm_intel
elif [ "$1" == "vbox" ] ; then
rmmod kvm_intel
rmmod kvm
/etc/init.d/virtualbox start
else
echo 'WTF?' >&2
exit 1
fi

View File

@@ -0,0 +1,24 @@
[media-keys]
screensaver=['<Primary><Alt>l', 'XF86ScreenSaver']
[wm]
move-to-workspace-1=['<Shift><Super>exclam']
move-to-workspace-2=['<Shift><Super>at']
move-to-workspace-3=['<Shift><Super>numbersign']
move-to-workspace-4=['<Shift><Super>dollar']
move-to-workspace-5=['<Shift><Super>percent']
move-to-workspace-6=['<Shift><Super>asciicircum']
move-to-workspace-7=['<Shift><Super>ampersand']
move-to-workspace-8=['<Shift><Super>asterisk']
move-to-workspace-9=['<Shift><Super>parenleft']
switch-to-workspace-4=['<Super>4']
switch-to-workspace-1=['<Super>1']
switch-to-workspace-10=['<Super>0']
switch-to-workspace-3=['<Super>3']
switch-to-workspace-8=['<Super>8']
switch-to-workspace-5=['<Super>5']
move-to-workspace-10=['<Shift><Super>parenright']
switch-to-workspace-2=['<Super>2']
switch-to-workspace-9=['<Super>9']
switch-to-workspace-6=['<Super>6']
switch-to-workspace-7=['<Super>7']

View File

@@ -5,13 +5,16 @@ if [ `whoami` != "root" ] ; then
exit 1
fi
BASEDIR=`dirname $0`
if ! test -f ${BASEDIR}/keys/gpg/kali-repo.key ; then
echo "Couldn't find key, are you in the right place?" >&2
exit 1
fi
cat >/etc/apt/sources.list.d/kali.list <<KALI_EOF
deb http://http.kali.org/kali sana main non-free contrib
deb-src http://http.kali.org/kali sana main non-free contrib
deb http://security.kali.org/kali-security/ sana/updates main contrib non-free
deb-src http://security.kali.org/kali-security/ sana/updates main contrib non-free
deb http://http.kali.org/kali kali-rolling main contrib non-free
KALI_EOF
/usr/bin/apt-key add kali-repo.key
/usr/bin/apt-key add ${BASEDIR}/keys/gpg/kali-repo.key
/usr/bin/apt-get update
/usr/bin/apt-get install kali-linux-full
/usr/bin/apt-get install -y kali-linux-full

91
dotfiles/Xresources Normal file
View File

@@ -0,0 +1,91 @@
Xcursor.size: 16
!!!
! Xft for fonts
!!!
!Xft.dpi: 144
Xft.antialias: false
Xft.lcdfilter: lcddefault
Xft.rgba: rgb
Xft.hinting: true
Xft.hintstyle: hintslight
Xft.autohint: 0
!!!
! Solarized urxvt
!!!
URxvt.depth: 32
URxvt.geometry: 90x30
URxvt.transparent: false
URxvt.fading: 0
URxvt.urgentOnBell: true
URxvt.visualBell: false
URxvt.loginShell: true
URxvt.saveLines: 50000
URxvt.internalBorder: 2
URxvt.lineSpace: 0
URxvt.iso14755: false
! Fonts
URxvt*font: xft:inconsolata:pixelsize=16
! Fix font space
URxvt*letterSpace: -1
! Scrollbar
URxvt.scrollStyle: rxvt
URxvt.scrollBar: false
! Perl extensions
URxvt.perl-ext-common: default,matcher,resize-font
URxvt.matcher.button: 1
URxvt.urlLauncher: /usr/bin/xdg-open
URxvt.resize-font.smaller: C-Down
URxvt.resize-font.bigger: C-Up
! Cursor
URxvt.cursorBlink: true
URxvt.cursorUnderline: false
! Pointer
URxvt.pointerBlank: true
! Solarized colors begin
URxvt.background: #002b36
URxvt.foreground: #657b83
URxvt.fadeColor: #002b36
URxvt.cursorColor: #93a1a1
URxvt.pointerColorBackground: #586e75
URxvt.pointerColorForeground: #93a1a1
!! black dark/light
URxvt.color0: #073642
URxvt.color8: #002b36
!! red dark/light
URxvt.color1: #dc322f
URxvt.color9: #cb4b16
!! green dark/light
URxvt.color2: #859900
URxvt.color10: #586e75
!! yellow dark/light
URxvt.color3: #b58900
URxvt.color11: #657b83
!! blue dark/light
URxvt.color4: #268bd2
URxvt.color12: #839496
!! magenta dark/light
URxvt.color5: #d33682
URxvt.color13: #6c71c4
!! cyan dark/light
URxvt.color6: #2aa198
URxvt.color14: #93a1a1
!! white dark/light
URxvt.color7: #eee8d5
URxvt.color15: #fdf6e3

21
dotfiles/aliases Normal file → Executable file
View File

@@ -5,13 +5,16 @@
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
# Cryptsetup alias
alias luksFormat='sudo cryptsetup luksFormat -s 512 -c aes-xts-plain --use-random -h sha256 -i 5000'
alias luksFormat='cryptsetup luksFormat -s 512 -c aes-xts-plain64 -h sha256 -i 15000'
# Colors
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
if [ `uname` != 'Darwin' -a `uname` != 'NetBSD' ] ; then
# Should have a better way to check for GNU versions
alias ls='ls --color=auto'
alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
fi
# Easy upgrade
alias dist-upgrade="sudo sh -c 'apt-get update && apt-get -y dist-upgrade'"
@@ -25,8 +28,8 @@ alias mdcode="sed 's/^/ /'"
# Intel format plz
alias objdump="command objdump -M intel"
# ACK
alias ack="ack-grep"
# Useful directory utilities
alias dircount="for d in * ; do find \$d -type d | wc -l | tr -d '\n' ; echo ' ' \$d ; done | sort -n"
# Launch chrome for burp
alias chrome-for-burp="/usr/bin/google-chrome --ignore-certificate-errors --user-data-dir=${HOME}/.chrome-for-burp --proxy-server=127.0.0.1:8080 >/dev/null 2>&1 &"
# Drop caches for swap issues
alias drop_caches="echo 3 | sudo /usr/bin/tee /proc/sys/vm/drop_caches"

23
dotfiles/bashrc Normal file → Executable file
View File

@@ -1,6 +1,10 @@
# Load env first
if [ -f $HOME/.env ] ; then source $HOME/.env ; fi
# History settings
HISTCONTROL=ignoredups:ignorespace
shopt -s histappend
shopt -s expand_aliases
HISTSIZE=1000
HISTFILESIZE=0
@@ -9,24 +13,13 @@ HISTFILESIZE=0
shopt -s checkwinsize
# Fancier outputs
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"
case "$TERM" in
xterm-color) color_prompt=yes;;
esac
force_color_prompt=yes
if [ -n "$force_color_prompt" ]; then
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
color_prompt=yes
else
color_prompt=
fi
fi
if [ "$color_prompt" = yes ]; then
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe 2>/dev/null)"
if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
@@ -45,3 +38,5 @@ fi
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
if [[ -e $HOME/.aliases ]] ; then source $HOME/.aliases ; fi

197
dotfiles/config/i3/config Normal file
View File

@@ -0,0 +1,197 @@
# i3 config file (v4)
#
# Please see http://i3wm.org/docs/userguide.html for a complete reference!
set $mod Mod4
set $alt Mod1
# This font is widely installed, provides lots of unicode glyphs, right-to-left
# text rendering and scalability on retina/hidpi displays (thanks to pango).
font pango:DejaVu Sans Mono 8
# Use Mouse+$mod to drag floating windows to their wanted position
floating_modifier $mod
# start a terminal
bindsym $mod+Return exec i3-sensible-terminal
# kill focused window
bindsym $mod+Shift+q kill
# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
bindsym $mod+Shift+d exec --no-startup-id i3-dmenu-desktop
# move focus
bindsym $mod+Left focus left
bindsym $mod+Down focus down
bindsym $mod+Up focus up
bindsym $mod+Right focus right
# move windows
bindsym $mod+Shift+Left move left
bindsym $mod+Shift+Down move down
bindsym $mod+Shift+Up move up
bindsym $mod+Shift+Right move right
# split in horizontal orientation
bindsym $mod+h split h
# split in vertical orientation
bindsym $mod+v split v
# enter fullscreen mode for the focused container
bindsym $mod+f fullscreen toggle
# change container layout (stacked, tabbed, toggle split)
bindsym $mod+s layout stacking
bindsym $mod+w layout tabbed
bindsym $mod+e layout toggle split
# toggle tiling / floating
bindsym $mod+Shift+space floating toggle
# change focus between tiling / floating windows
bindsym $mod+space focus mode_toggle
# focus the parent container
bindsym $mod+a focus parent
# focus the child container
#bindsym $mod+d focus child
# switch to workspace
bindsym $mod+1 workspace 1
bindsym $mod+2 workspace 2
bindsym $mod+3 workspace 3
bindsym $mod+4 workspace 4
bindsym $mod+5 workspace 5
bindsym $mod+6 workspace 6
bindsym $mod+7 workspace 7
bindsym $mod+8 workspace 8
bindsym $mod+9 workspace 9
bindsym $mod+0 workspace 10
# move focused container to workspace
bindsym $mod+Shift+1 move container to workspace 1
bindsym $mod+Shift+2 move container to workspace 2
bindsym $mod+Shift+3 move container to workspace 3
bindsym $mod+Shift+4 move container to workspace 4
bindsym $mod+Shift+5 move container to workspace 5
bindsym $mod+Shift+6 move container to workspace 6
bindsym $mod+Shift+7 move container to workspace 7
bindsym $mod+Shift+8 move container to workspace 8
bindsym $mod+Shift+9 move container to workspace 9
bindsym $mod+Shift+0 move container to workspace 10
# Move workspaces between monitors
bindsym $mod+Shift+greater move workspace to output right
bindsym $mod+Shift+less move workspace to output left
# reload the configuration file
bindsym $mod+Shift+c reload
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
bindsym $mod+Shift+r restart
# exit i3 (logs you out of your X session)
bindsym $mod+Shift+e exec \
"i3-nagbar -t warning -m \
'You pressed the exit shortcut. Do you really want to exit i3? \
This will end your X session.' \
-b 'Yes, exit i3' 'i3-msg exit'"
# resize window (you can also use the mouse for that)
mode "resize" {
# These bindings trigger as soon as you enter the resize mode
bindsym Left resize shrink width 10 px or 10 ppt
bindsym Down resize grow height 10 px or 10 ppt
bindsym Up resize shrink height 10 px or 10 ppt
bindsym Right resize grow width 10 px or 10 ppt
# back to normal: Enter or Escape or mod+r to toggle
bindsym Return mode "default"
bindsym Escape mode "default"
bindsym $mod+r mode "default"
}
bindsym $mod+r mode "resize"
# Start i3bar to display a workspace bar (plus the system information i3status
# finds out, if available)
bar {
status_command bash -c "i3status -c <(~/.config/i3status/build_config.sh)"
}
# Cycle through workspaces like cinnamon
bindsym $alt+Control+Right workspace next
bindsym $alt+Control+Left workspace prev
# i3 lock
exec --no-startup-id ~/bin/i3lock.sh &
bindsym $mod+l exec \
bash -c "i3lock -c 000000 -d && (sleep 2 && xset dpms force off) &"
bindsym $alt+Control+l exec \
bash -c "i3lock -c 000000 -d && (sleep 2 && xset dpms force off) &"
# things to start quickly
bindsym $mod+g exec /usr/bin/google-chrome-beta --password-store=gnome
# kill a window with middle click + mod
bindsym --whole-window $mod+button2 kill
# float a window with right click + mod
bindsym --whole-window $mod+button3 floating toggle
# media keys
# Pulse Audio controls
bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5%
bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5%
bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle
# Screen brightness controls
bindsym XF86MonBrightnessUp exec --no-startup-id xbacklight -inc 10
bindsym XF86MonBrightnessDown exec --no-startup-id xbacklight -dec 10
# screenshots
set $scrotformat %F-%T.png
set $screendir ~/Pictures/Screenshots
# whole screen
bindsym --release Print exec --no-startup-id \
mkdir -p $screendir && \
/usr/bin/scrot $screendir/$scrotformat
# current window
bindsym --release Shift+Print exec --no-startup-id \
mkdir -p $screendir && \
/usr/bin/scrot -u $screendir/$scrotformat
# selection
bindsym --release $alt+Sys_Req exec --no-startup-id \
mkdir -p $screendir && \
/usr/bin/scrot -s $screendir/$scrotformat
# useful utilities
exec --no-startup-id \
(which xss-lock >/dev/null || /usr/bin/cinnamon-settings-daemon) &
exec --no-startup-id gnome-keyring-daemon --start --components=pkcs11,secrets
# Make GTK fonts look great again
exec --no-startup-id gnome-settings-daemon
exec --no-startup-id (sleep 2; nm-applet) &
exec --no-startup-id xset r rate 200 20
exec --no-startup-id ~/bin/autostart.py
exec --no-startup-id dex --autostart --environment x-cinnamon
# customize windows
for_window [window_role="pop-up"] floating enable
for_window [window_role="bubble"] floating enable
for_window [window_role="task_dialog"] floating enable
for_window [window_role="Preferences"] floating enable
for_window [window_type="dialog"] floating enable
for_window [window_type="menu"] floating enable
for_window [class="^google-chrome$"] border pixel
for_window [class="^Google-chrome-beta$"] border pixel
for_window [class="^burp-StartBurp$" title="^(?!Burp Suite)"] floating enable
# no need for borders on the edge of the screen
hide_edge_borders both
# vim:filetype=i3

View File

@@ -0,0 +1,132 @@
#!/bin/bash
function general {
cat <<-EOF
general {
colors = true
interval = 5
}
EOF
}
function disks {
local DISKS=(/ /home)
local d
local used
for d in ${DISKS[@]} ; do
local dev=`df $d | tail -1 | awk '{print $1}'`
if [[ $used == *$dev* ]] ; then
continue
fi
local size=`df $d | tail -1 | awk '{print $2}'`
if [ $size -eq 0 ] ; then
continue
fi
used="${used} ${dev}"
cat <<-EOF
disk "${d}" {
format = "${d} %avail"
}
order += "disk ${d}"
EOF
done
}
function wireless {
which iwconfig >/dev/null || return
iwconfig 2>&1 | grep . | grep -vq 'no wireless extensions' || return
cat <<-EOF
wireless _first_ {
format_up = "W: (%quality %essid) %ip"
format_down = "W: down"
}
order += "wireless _first_"
EOF
}
function wired {
cat <<-EOF
ethernet _first_ {
format_up = "E: %ip"
format_down = "E: down"
}
order += "ethernet _first_"
EOF
}
function ipv6 {
echo "order += \"ipv6\""
}
function load {
cat <<-EOF
load {
format = "%1min %5min"
}
order += "load"
EOF
}
function now {
cat <<-EOF
tztime local {
format = "%Y-%m-%d %H:%M"
}
order += "tztime local"
EOF
}
function battery {
local bat
shopt -s nullglob
for bat in /sys/class/power_supply/BAT* ; do
local bid=${bat##*BAT}
cat <<-EOF
battery ${bid} {
low_threshold = 15
threshold_type = time
status_chr = "↑ CHR"
status_bat = "↓ BAT"
EOF
if [ $(bc <<< "$(i3status --version | awk '{print $2}') < 2.11") -eq 0 ] ;
then
cat <<-EOF
status_unk = "? UNK"
EOF
fi
cat <<-EOF
status_full = "FULL"
format = "%status %percentage"
path = "/sys/class/power_supply/BAT${bid}/uevent"
hide_seconds = true
last_full_capacity = true
}
order += "battery ${bid}"
EOF
done
}
function audio {
cat <<-EOF
volume master {
format = "♪: %volume"
format_muted = "♪: MUTE"
device = "default"
mixer = "Master"
mixer_idx = 0
}
order += "volume master"
EOF
}
general
disks
wireless
wired
ipv6
load
battery
audio
now
# vim: noexpandtab

View File

@@ -0,0 +1,52 @@
# i3status configuration file.
# see "man i3status" for documentation.
# It is important that this file is edited as UTF-8.
# The following line should contain a sharp s:
# ß
# If the above line is not correctly displayed, fix your editor first!
general {
colors = true
interval = 5
}
order += "ipv6"
order += "disk /"
order += "disk /home"
order += "wireless _first_"
order += "ethernet _first_"
order += "battery all"
order += "load"
order += "tztime local"
wireless _first_ {
format_up = "W: (%quality at %essid) %ip"
format_down = "W: down"
}
ethernet _first_ {
# if you use %speed, i3status requires root privileges
format_up = "E: %ip (%speed)"
format_down = "E: down"
}
battery all {
format = "%status %percentage %remaining"
}
tztime local {
format = "%Y-%m-%d %H:%M:%S"
}
load {
format = "%1min"
}
disk "/" {
format = "%avail"
}
disk "/home" {
format = "%avail"
}

View File

@@ -0,0 +1,11 @@
[redshift]
temp-day=5700
temp-night=4750
transition=1
brightness-day=1.0
brightness-night=0.9
adjustment-method=randr
[manual]
lat=37.3
lon=-121.9

View File

@@ -1,4 +1,3 @@
tlsv1
user-agent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0 Safari/537.36"
create-dirs
referer = ";auto"

295
dotfiles/dircolors Normal file
View File

@@ -0,0 +1,295 @@
# Dark 256 color solarized theme for the color GNU ls utility.
# Used and tested with dircolors (GNU coreutils) 8.5
#
# @author {@link http://sebastian.tramp.name Sebastian Tramp}
# @license http://sam.zoy.org/wtfpl/ Do What The Fuck You Want To Public License (WTFPL)
#
# More Information at
# https://github.com/seebi/dircolors-solarized
# Term Section
TERM Eterm
TERM ansi
TERM color-xterm
TERM con132x25
TERM con132x30
TERM con132x43
TERM con132x60
TERM con80x25
TERM con80x28
TERM con80x30
TERM con80x43
TERM con80x50
TERM con80x60
TERM cons25
TERM console
TERM cygwin
TERM dtterm
TERM dvtm
TERM dvtm-256color
TERM eterm-color
TERM fbterm
TERM gnome
TERM gnome-256color
TERM jfbterm
TERM konsole
TERM konsole-256color
TERM kterm
TERM linux
TERM linux-c
TERM mach-color
TERM mlterm
TERM putty
TERM putty-256color
TERM rxvt
TERM rxvt-256color
TERM rxvt-cygwin
TERM rxvt-cygwin-native
TERM rxvt-unicode
TERM rxvt-unicode256
TERM rxvt-unicode-256color
TERM screen
TERM screen-16color
TERM screen-16color-bce
TERM screen-16color-s
TERM screen-16color-bce-s
TERM screen-256color
TERM screen-256color-bce
TERM screen-256color-s
TERM screen-256color-bce-s
TERM screen-256color-italic
TERM screen-bce
TERM screen-w
TERM screen.linux
TERM screen.xterm-256color
TERM st
TERM st-meta
TERM st-256color
TERM st-meta-256color
TERM vt100
TERM xterm
TERM xterm-16color
TERM xterm-256color
TERM xterm-256color-italic
TERM xterm-88color
TERM xterm-color
TERM xterm-debian
TERM xterm-termite
## Documentation
#
# standard colors
#
# Below are the color init strings for the basic file types. A color init
# string consists of one or more of the following numeric codes:
# Attribute codes:
# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
#
#
# 256 color support
# see here: http://www.mail-archive.com/bug-coreutils@gnu.org/msg11030.html)
#
# Text 256 color coding:
# 38;5;COLOR_NUMBER
# Background 256 color coding:
# 48;5;COLOR_NUMBER
## Special files
NORMAL 00;38;5;244 # no color code at all
#FILE 00 # regular file: use no color at all
RESET 0 # reset to "normal" color
DIR 00;38;5;33 # directory 01;34
LINK 00;38;5;37 # symbolic link. (If you set this to 'target' instead of a
# numerical value, the color is as for the file pointed to.)
MULTIHARDLINK 00 # regular file with more than one link
FIFO 48;5;230;38;5;136;01 # pipe
SOCK 48;5;230;38;5;136;01 # socket
DOOR 48;5;230;38;5;136;01 # door
BLK 48;5;230;38;5;244;01 # block device driver
CHR 48;5;230;38;5;244;01 # character device driver
ORPHAN 48;5;235;38;5;160 # symlink to nonexistent file, or non-stat'able file
SETUID 48;5;160;38;5;230 # file that is setuid (u+s)
SETGID 48;5;136;38;5;230 # file that is setgid (g+s)
CAPABILITY 30;41 # file with capability
STICKY_OTHER_WRITABLE 48;5;64;38;5;230 # dir that is sticky and other-writable (+t,o+w)
OTHER_WRITABLE 48;5;235;38;5;33 # dir that is other-writable (o+w) and not sticky
STICKY 48;5;33;38;5;230 # dir with the sticky bit set (+t) and not other-writable
# This is for files with execute permission:
EXEC 00;38;5;64
## Archives or compressed (violet + bold for compression)
.tar 00;38;5;61
.tgz 00;38;5;61
.arj 00;38;5;61
.taz 00;38;5;61
.lzh 00;38;5;61
.lzma 00;38;5;61
.tlz 00;38;5;61
.txz 00;38;5;61
.zip 00;38;5;61
.z 00;38;5;61
.Z 00;38;5;61
.dz 00;38;5;61
.gz 00;38;5;61
.lz 00;38;5;61
.xz 00;38;5;61
.bz2 00;38;5;61
.bz 00;38;5;61
.tbz 00;38;5;61
.tbz2 00;38;5;61
.tz 00;38;5;61
.deb 00;38;5;61
.rpm 00;38;5;61
.jar 00;38;5;61
.rar 00;38;5;61
.ace 00;38;5;61
.zoo 00;38;5;61
.cpio 00;38;5;61
.7z 00;38;5;61
.rz 00;38;5;61
.apk 00;38;5;61
.gem 00;38;5;61
# Image formats (yellow)
.jpg 00;38;5;136
.JPG 00;38;5;136 #stupid but needed
.jpeg 00;38;5;136
.gif 00;38;5;136
.bmp 00;38;5;136
.pbm 00;38;5;136
.pgm 00;38;5;136
.ppm 00;38;5;136
.tga 00;38;5;136
.xbm 00;38;5;136
.xpm 00;38;5;136
.tif 00;38;5;136
.tiff 00;38;5;136
.png 00;38;5;136
.PNG 00;38;5;136
.svg 00;38;5;136
.svgz 00;38;5;136
.mng 00;38;5;136
.pcx 00;38;5;136
.dl 00;38;5;136
.xcf 00;38;5;136
.xwd 00;38;5;136
.yuv 00;38;5;136
.cgm 00;38;5;136
.emf 00;38;5;136
.eps 00;38;5;136
.CR2 00;38;5;136
.ico 00;38;5;136
# Files of special interest (base1)
.tex 00;38;5;245
.rdf 00;38;5;245
.owl 00;38;5;245
.n3 00;38;5;245
.ttl 00;38;5;245
.nt 00;38;5;245
.torrent 00;38;5;245
.xml 00;38;5;245
*Makefile 00;38;5;245
*Rakefile 00;38;5;245
*Dockerfile 00;38;5;245
*build.xml 00;38;5;245
*rc 00;38;5;245
*1 00;38;5;245
.nfo 00;38;5;245
*README 00;38;5;245
*README.txt 00;38;5;245
*readme.txt 00;38;5;245
.md 00;38;5;245
*README.markdown 00;38;5;245
.ini 00;38;5;245
.yml 00;38;5;245
.cfg 00;38;5;245
.conf 00;38;5;245
.c 00;38;5;245
.cpp 00;38;5;245
.cc 00;38;5;245
.sqlite 00;38;5;245
.go 00;38;5;245
.sql 00;38;5;245
# "unimportant" files as logs and backups (base01)
.log 00;38;5;240
.bak 00;38;5;240
.aux 00;38;5;240
.lof 00;38;5;240
.lol 00;38;5;240
.lot 00;38;5;240
.out 00;38;5;240
.toc 00;38;5;240
.bbl 00;38;5;240
.blg 00;38;5;240
*~ 00;38;5;240
*# 00;38;5;240
.part 00;38;5;240
.incomplete 00;38;5;240
.swp 00;38;5;240
.tmp 00;38;5;240
.temp 00;38;5;240
.o 00;38;5;240
.pyc 00;38;5;240
.class 00;38;5;240
.cache 00;38;5;240
# Audio formats (orange)
.aac 00;38;5;166
.au 00;38;5;166
.flac 00;38;5;166
.mid 00;38;5;166
.midi 00;38;5;166
.mka 00;38;5;166
.mp3 00;38;5;166
.mpc 00;38;5;166
.ogg 00;38;5;166
.ra 00;38;5;166
.wav 00;38;5;166
.m4a 00;38;5;166
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axa 00;38;5;166
.oga 00;38;5;166
.spx 00;38;5;166
.xspf 00;38;5;166
# Video formats (as audio + bold)
.mov 00;38;5;166
.MOV 00;38;5;166
.mpg 00;38;5;166
.mpeg 00;38;5;166
.m2v 00;38;5;166
.mkv 00;38;5;166
.ogm 00;38;5;166
.mp4 00;38;5;166
.m4v 00;38;5;166
.mp4v 00;38;5;166
.vob 00;38;5;166
.qt 00;38;5;166
.nuv 00;38;5;166
.wmv 00;38;5;166
.asf 00;38;5;166
.rm 00;38;5;166
.rmvb 00;38;5;166
.flc 00;38;5;166
.avi 00;38;5;166
.fli 00;38;5;166
.flv 00;38;5;166
.gl 00;38;5;166
.m2ts 00;38;5;166
.divx 00;38;5;166
.webm 00;38;5;166
# http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions
.axv 00;38;5;166
.anx 00;38;5;166
.ogv 00;38;5;166
.ogx 00;38;5;166

62
dotfiles/env Executable file
View File

@@ -0,0 +1,62 @@
# Sourced by zshrc as well as bash.
umask 027
ulimit -c unlimited
# Paths and preferences
export PYTHONPATH="$HOME/.python:$PYTHONPATH"
export GOPATH="$HOME/Projects/Go"
export PATH="$HOME/bin:/sbin:/usr/sbin:$PATH:$GOPATH/bin"
export VISUAL=vim
export EDITOR=vim
export DEBEMAIL="david@systemoverlord.com"
export DEBFULLNAME="David Tomaschik"
export LESS="-MR"
export QUOTING_STYLE="literal" # Coreutils quotes
# Fix gnome-terminal
if [ "$TERM" = "xterm" -a "$COLORTERM" = "gnome-terminal" ] ; then
export TERM="xterm-256color"
fi
# For virtualenvwrapper
export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
# GPG full key id
export GPG_ID=7FD58D9A196DCEEEAD671F94F4D7A7915DEA789B
# Setup locale
if test -x /usr/bin/locale ; then
for l in en_US.UTF-8 C.UTF-8 C ; do
if /usr/bin/locale -a | grep -q "${l}" ; then
export LC_CTYPE=${l}
export LC_NUMERIC=${l}
export LC_TIME=${l}
export LC_MONETARY=${l}
export LC_MESSAGES=${l}
export LC_PAPER=${l}
export LC_NAME=${l}
export LC_ADDRESS=${l}
export LC_TELEPHONE=${l}
export LC_MEASUREMENT=${l}
export LC_IDENTIFICATION=${l}
break
fi
done
else
export LC_CTYPE=C
export LC_NUMERIC=C
export LC_TIME=C
export LC_MONETARY=C
export LC_MESSAGES=C
export LC_PAPER=C
export LC_NAME=C
export LC_ADDRESS=C
export LC_TELEPHONE=C
export LC_MEASUREMENT=C
export LC_IDENTIFICATION=C
fi
export LC_COLLATE=C
if [ -e $HOME/.localenv ] ; then source $HOME/.localenv ; fi

View File

@@ -1,5 +1,6 @@
# General options
set verbose off
set confirm off
set disassembly-flavor intel
set output-radix 0x10
set input-radix 10.
@@ -21,62 +22,19 @@ define reg
info registers
end
# __________________gdb options_________________
# Fancy sourcing of modules
python
import sys
import os.path
pwndbg = os.path.expanduser('~/.pwndbg/gdbinit.py')
peda = os.path.expanduser('~/.peda/peda.py')
if os.path.isfile(pwndbg):
sys.path.insert(0, os.path.expanduser('~/.pwndbg/vendor'))
gdb.execute('source {}'.format(pwndbg))
elif os.path.isfile(peda):
gdb.execute('source {}'.format(peda))
# set to 1 to have ARM target debugging as default, use the "arm" command to switch inside gdb
set $ARM = 0
# set to 0 if you have problems with the colorized prompt - reported by Plouj with Ubuntu gdb 7.2
set $COLOUREDPROMPT = 0
# Colour the first line of the disassembly - default is green, if you want to change it search for
# SETCOLOUR1STLINE and modify it :-)
set $SETCOLOUR1STLINE = 0
# set to 0 to remove display of objectivec messages (default is 1)
set $SHOWOBJECTIVEC = 1
# set to 0 to remove display of cpu registers (default is 1)
set $SHOWCPUREGISTERS = 1
# set to 1 to enable display of stack (default is 0)
set $SHOWSTACK = 1
# set to 1 to show 4 bytes of the stack at a time for 32bit and 8 bytes for 64bit
set $STACK_WORDSIZE = 1
# set to 1 to enable display of data window (default is 0)
set $SHOWDATAWIN = 0
# set to 0 to disable coloured display of changed registers
set $SHOWREGCHANGES = 1
# set to 1 so skip command to execute the instruction at the new location
# by default it EIP/RIP will be modified and update the new context but not execute the instruction
set $SKIPEXECUTE = 0
# if $SKIPEXECUTE is 1 configure the type of execution
# 1 = use stepo (do not get into calls), 0 = use stepi (step into calls)
set $SKIPSTEP = 1
# show the ARM opcodes - change to 0 if you don't want such thing (in x/i command)
set $ARMOPCODES = 1
# x86 disassembly flavor: 0 for Intel, 1 for AT&T
set $X86FLAVOR = 0
# use colorized output or not
set $USECOLOR = 0
# 64 bit options
set $64BITS = 0
# Remote 64 bit debugging
set $KDP64BITS = -1
set confirm off
set verbose off
set output-radix 0x10
set input-radix 0x10
# These make gdb never pause in its output
set height 0
set width 0
set $SHOW_CONTEXT = 1
set $SHOW_NEST_INSN = 0
set $CONTEXTSIZE_STACK = 6
set $CONTEXTSIZE_DATA = 8
set $CONTEXTSIZE_CODE = 8
# __________________end gdb options_________________
#
source ~/.reverser-gdbinit
local_init = os.path.expanduser('~/.gdbinit.local')
if os.path.isfile(local_init):
gdb.execute('source {}'.format(local_init))
end

View File

@@ -20,6 +20,14 @@
[alias]
st = status
last = log -1 HEAD
# Thanks to
# http://durdn.com/blog/2012/11/22/must-have-git-aliases-advanced-examples/
ls = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate
ll = log --pretty=format:"%C(yellow)%h%Cred%d\\ %Creset%s%Cblue\\ [%cn]" --decorate --numstat
files = ls-files
f = "!git ls-files | grep -i"
logtree = log --graph --oneline --decorate --all
[push]
default = current
@@ -31,11 +39,13 @@
user = matir
# Site specific config
[url "https://github.com/"]
insteadOf = github://
[url "https://github.com./"]
insteadOf = "github:"
insteadOf = "github://"
[url "ssh://git@github.com/"]
pushInsteadOf = github://
pushInsteadOf = "github:"
pushInsteadOf = "github://"
[url "git://gist.github.com/"]
insteadOf = "gist:"
@@ -43,3 +53,8 @@
[url "git@gist.github.com:"]
pushInsteadOf = "gist:"
pushInsteadOf = "git://gist.github.com/"
[credential]
helper = cache --timeout=36000
[receive]
denyCurrentBranch = updateInstead

View File

@@ -17,3 +17,6 @@ Thumbs.db
# Try to avoid accidentally checking in private keys
id_rsa
id_ecdsa
# Kicad backup files
*.kicad_pcb-bak

View File

@@ -0,0 +1,2 @@
keyserver hkps://hkps.pool.sks-keyservers.net
hkp-cacert ~/.gnupg/sks-keyservers.pem

View File

@@ -1,6 +1,5 @@
enable-ssh-support
use-standard-socket
default-cache-ttl 7200
default-cache-ttl-ssh 7200
max-cache-ttl 86400
max-cache-ttl-ssh 86400
enable-ssh-support

View File

@@ -1,10 +1,10 @@
use-agent
# HKPS requires gnupg-curl for gpg1
keyserver hkps://hkps.pool.sks-keyservers.net
# Unfortunately, the path must be fully-qualified
keyserver-options auto-key-retrieve ca-cert-file=/home/david/.gnupg/sks-keyservers.pem
keyserver-options auto-key-retrieve no-honor-keyserver-url
auto-key-locate keyserver
personal-digest-preferences SHA256
cert-digest-algo SHA256
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
cipher-algo AES256
default-key 7FD58D9A196DCEEEAD671F94F4D7A7915DEA789B

4
dotfiles/inputrc Normal file
View File

@@ -0,0 +1,4 @@
set editing-mode vi
set keymap vi
set convert-meta on

View File

@@ -16,13 +16,11 @@ servers = (
autoconnect = "yes";
},
{
address = "chat.freenode.net";
chatnet = "freenode";
port = "7000";
address = "irc.hackint.eu";
chatnet = "hackint";
port = "9999";
use_ssl = "yes";
ssl_cert = "~/.irssi/matir.pem";
ssl_verify = "yes";
ssl_cafile = "~/.irssi/instantssl.crt";
ssl_verify = "no";
autoconnect = "yes";
},
{
@@ -31,7 +29,7 @@ servers = (
port = "6697";
use_ssl = "yes";
ssl_verify = "no";
autoconnect = "yes";
autoconnect = "no";
},
{
address = "irc.rpis.ec";
@@ -40,6 +38,17 @@ servers = (
use_ssl = "yes";
ssl_verify = "no";
autoconnect = "yes";
},
{
address = "chat.freenode.net";
chatnet = "freenode";
port = "7000";
use_ssl = "yes";
ssl_cert = "~/.irssi/matir.pem";
ssl_verify = "yes";
ssl_capath = "/etc/ssl/certs";
family = "inet";
autoconnect = "yes";
}
);
@@ -78,13 +87,14 @@ channels = (
{ name = "#wargames"; chatnet = "overthewire"; autojoin = "yes"; },
{ name = "#social"; chatnet = "overthewire"; autojoin = "yes"; },
{ name = "#openvpn"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#shadowcats"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#amateria"; chatnet = "overthewire"; autojoin = "yes"; },
{ name = "#io"; chatnet = "overthewire"; autojoin = "yes"; },
{ name = "#radare"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#vulnhub"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#redditnet"; chatnet = "geekshed"; autojoin = "yes"; },
{ name = "#rpisec"; chatnet = "rpisec"; autojoin = "yes"; }
{ name = "#rpisec"; chatnet = "rpisec"; autojoin = "yes"; },
{ name = "#offsec"; chatnet = "freenode"; autojoin = "yes"; },
{ name = "#offtopicsec"; chatnet = "freenode"; autojoin = "yes"; }
);
aliases = {
@@ -264,6 +274,13 @@ statusbar = {
barend = { priority = "100"; alignment = "right"; };
};
};
awl_2 = {
items = {
barstart = { priority = "100"; };
awl_2 = { };
barend = { priority = "100"; alignment = "right"; };
};
};
};
};
settings = {
@@ -286,8 +303,9 @@ settings = {
awl_shared_sbar = "OFF";
awl_viewer = "no";
awl_block = "-15";
awl_maxlines = "2";
awl_maxlines = "3";
awl_height_adjust = "2";
awl_hide_empty = "0";
};
};
windows = {
@@ -394,3 +412,4 @@ windows = {
};
};
mainwindows = { 1 = { first_line = "1"; lines = "78"; }; };
logs = { };

View File

@@ -292,3 +292,6 @@ abstracts = {
# hilight with specified color, $0 = color, $1 = text
sb_act_hilight_color = "$0$1-%n";
};
formats = {
"Irssi::Script::adv_windowlist" = { awl_display_header = ""; };
};

3646
dotfiles/john/john.conf Normal file

File diff suppressed because it is too large Load Diff

2982
dotfiles/lldb/lisa.py Normal file

File diff suppressed because it is too large Load Diff

6
dotfiles/lldbinit Normal file
View File

@@ -0,0 +1,6 @@
settings set prompt "(lisa)"
settings set target.x86-disassembly-flavor intel
command script import ~/lisa.py
command script import lldb
command script add -f lisa.alias lisa
lisa

53
dotfiles/profile Normal file → Executable file
View File

@@ -1,49 +1,8 @@
# Sourced by zshrc as well as bash.
# Always load ENV
test -f "$HOME/.env" && . "$HOME/.env"
umask 027
ulimit -c unlimited
# Setup GREP_COLORS
export GREP_COLOR='01;31'
export GREP_COLORS='mt=01;31:mc=01;31:ms=01;31'
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
shopt -s expand_aliases
fi
# Paths and preferences
export PATH="$HOME/bin:/sbin:/usr/sbin:$PATH"
export PYTHONPATH="$HOME/.python"
export GOPATH="$HOME/.go"
export VISUAL=vim
export EDITOR=vim
export DEBEMAIL="david@systemoverlord.com"
export DEBFULLNAME="David Tomaschik"
export LESS="-MR"
EXTRA_PATHS=("$HOME/.gce/google-cloud-sdk/bin" "$HOME/bin/genymotion"
"$HOME/bin/genymotion/tools" "$HOME/bin/go_appengine" )
for p in "${EXTRA_PATHS[@]}" ; do
if [ -d "$p" ] ; then
export PATH="$PATH:$p"
fi
done
unset EXTRA_PATHS
# Setup GPG Agent
GPG_AGENT_INFO_PATH=$HOME/.gnupg/gpg-agent-info-`hostname`
if test -f $GPG_AGENT_INFO_PATH && kill -0 `cut -d: -f 2 $GPG_AGENT_INFO_PATH` 2>/dev/null ; then
. $GPG_AGENT_INFO_PATH
export GPG_AGENT_INFO SSH_AUTH_SOCK SSH_AGENT_PID
else
if which gpg-agent >/dev/null 2>&1 ; then
gpg-agent -q || eval `gpg-agent --daemon --enable-ssh-support --write-env-file $GPG_AGENT_INFO_PATH` 2>/dev/null
fi
fi
unset GPG_AGENT_INFO_PATH
export GPG_TTY=`tty`
# End GPG
if [[ -e $HOME/.localenv ]] ; then source $HOME/.localenv ; fi
if [[ -e $HOME/.aliases ]] ; then source $HOME/.aliases ; fi
test -f "${HOME}/.profile.local" && . "${HOME}/.profile.local"

File diff suppressed because it is too large Load Diff

View File

@@ -5,3 +5,9 @@ Downloads
.wine
.thumbnails
.histfile
.zcompdump
.zcompdump*
.sqlite_history
VirtualBox VMs
Audits
SpiderOak Hive

View File

@@ -1,9 +1,21 @@
# Universal Settings (can't override)
# Never fall back to protocol 1: it's broken
# Universal Settings
Protocol 2
# Permit Local Overrides
Include ~/.ssh/config.d/*
# Enable canonicalization, unless overridden
CanonicalizeHostname yes
CanonicalizeFallbackLocal yes
CanonicalDomains systemoverlord.com
CanonicalizeMaxDots 0
# Defaults (May be Overridden)
Host *
Host *.*
CheckHostIP yes
Match canonical all
CheckHostIP no
ControlMaster auto
ControlPath ~/.ssh/master/%r@%h:%p
ControlPersist yes
@@ -11,3 +23,6 @@ Host *
ForwardX11 no
ForwardX11Trusted no
ServerAliveInterval 120
UpdateHostKeys yes
User david
VerifyHostKeyDNS yes

View File

@@ -14,10 +14,6 @@ set -g history-limit 10000
set -g base-index 1
set -g pane-base-index 1
# Let us use utf-8 drawing characters to make tab-like window formats
setw -g utf8 on
set -g status-utf8 on
# Terminal emulator window title
set -g set-titles on
set -g set-titles-string '#h:#S:#I.#P #W'
@@ -26,11 +22,6 @@ set -g set-titles-string '#h:#S:#I.#P #W'
# colors
set -g default-terminal screen-256color
# Mouse
set -g mode-mouse on
setw -g mouse-select-window on
setw -g mouse-select-pane on
# Activity
setw -g monitor-activity on
set -g visual-activity on
@@ -49,3 +40,24 @@ set -g status-interval 60
set -g status-left-length 30
set -g status-left '/#S/ '
set -g status-right '#(cut -d " " -f 1-3 /proc/loadavg)#[default] #[fg=colour166]%H:%M#[default]'
# Advanced mouse mode from http://tangledhelix.com/blog/2012/07/16/tmux-and-mouse-mode/
# Toggle mouse on
bind m \
set -g mode-mouse on \;\
set -g mouse-resize-pane on \;\
set -g mouse-select-pane on \;\
set -g mouse-select-window on \;\
display 'Mouse: ON'
# Toggle mouse off
bind M \
set -g mode-mouse off \;\
set -g mouse-resize-pane off \;\
set -g mouse-select-pane off \;\
set -g mouse-select-window off \;\
display 'Mouse: OFF'
# tmux X clipboard integration
bind C-c run "tmux show-buffer | xsel -i -b"
bind C-v run "tmux set-buffer -- \"$(xsel -o -b)\"; tmux paste-buffer"

View File

@@ -7,15 +7,20 @@ if filereadable(glob("~/.vim/bundle/Vundle.vim/README.md"))
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'gmarik/Vundle.vim'
Plugin 'eistaa/vim-flake8'
Plugin 'nvie/vim-flake8'
Plugin 'tell-k/vim-autopep8'
Plugin 'tpope/vim-fugitive'
Plugin 'mileszs/ack.vim'
Plugin 'tpope/vim-unimpaired'
Plugin 'scrooloose/syntastic'
Plugin 'mattn/webapi-vim'
Plugin 'mattn/gist-vim'
Plugin 'fatih/vim-go'
Plugin 'altercation/vim-colors-solarized'
Plugin 'vimoutliner/vimoutliner'
Plugin 'PotatoesMaster/i3-vim-syntax'
Plugin 'Matt-Deacalion/vim-systemd-syntax'
Plugin 'fatih/vim-go'
Plugin 'vhda/verilog_systemverilog.vim'
call vundle#end()
endif
@@ -46,7 +51,6 @@ imap <S-Tab> <Esc><<A
" Line numbering, ruler
set number
set ruler
set cursorline
" File options
set encoding=utf-8
@@ -57,10 +61,13 @@ if has('gui_running')
set guifont=Inconsolata\ Medium\ 12
else
let g:solarized_termcolors=256
let g:solarized_termtrans=1
endif
silent! colorscheme solarized
" Enable filetype support
filetype plugin indent on
" Default ASM syntax for ft support
let asmsyntax="nasm"
" Allow file modelines
set modeline
" Automatically re-read changed files
@@ -128,6 +135,8 @@ endfunction
" Options for syntastic
let g:syntastic_enable_signs = 1
let g:syntastic_auto_loc_list = 2
let g:syntastic_go_checkers = ['govet', 'errcheck', 'go']
" Have F5 run the tests and display errors
nnoremap <silent> <F5> :SyntasticCheck<CR> :Errors<CR>
@@ -135,3 +144,20 @@ nnoremap <silent> <F5> :SyntasticCheck<CR> :Errors<CR>
if filereadable(glob("~/.vimrc.local"))
source ~/.vimrc.local
endif
" Options for vimoutliner
autocmd Filetype votl setlocal sts=4
" Highlight whitespace at end of file
highlight ExtraWhitespace ctermbg=red guibg=red
autocmd Syntax * syn match ExtraWhitespace /\s\+$\| \+\ze\t/ containedin=ALL
" Color column at end of lines
set colorcolumn=+1
highlight ColorColumn ctermbg=black guibg=lightgrey
" Remove smart quotes
command Unsmartquote %s/“\|”/"/g
" Markdown options
autocmd Filetype markdown set expandtab shiftwidth=4

View File

@@ -0,0 +1,41 @@
#
# weechat -- alias.conf
#
[cmd]
AAWAY = "allserv /away"
AME = "allchan /me"
AMSG = "allchan /msg *"
ANICK = "allserv /nick"
BEEP = "print -beep"
BYE = "quit"
C = "buffer clear"
CHAT = "dcc chat"
CL = "buffer clear"
CLOSE = "buffer close"
EXIT = "quit"
IG = "ignore"
J = "join"
K = "kick"
KB = "kickban"
LEAVE = "part"
M = "msg"
MSGBUF = "command -buffer $1 * /input send $2-"
MUB = "unban *"
N = "names"
Q = "query"
REDRAW = "window refresh"
SAY = "msg *"
SIGNOFF = "quit"
T = "topic"
UB = "unban"
UMODE = "mode $nick"
V = "command core version"
W = "who"
WC = "window merge"
WI = "whois"
WII = "whois $1 $1"
WW = "whowas"
[completion]
MSGBUF = "%(buffers_plugins_names)"

View File

@@ -0,0 +1,20 @@
#
# weechat -- aspell.conf
#
[color]
misspelled = lightred
suggestions = default
[check]
commands = "ame,amsg,away,command,cycle,kick,kickban,me,msg,notice,part,query,quit,topic"
default_dict = ""
during_search = off
enabled = off
real_time = off
suggestions = -1
word_min_length = 2
[dict]
[option]

View File

@@ -0,0 +1,11 @@
#
# weechat -- charset.conf
#
[default]
decode = "iso-8859-1"
encode = ""
[decode]
[encode]

View File

@@ -0,0 +1,11 @@
#
# weechat -- exec.conf
#
[command]
default_options = ""
purge_delay = 0
[color]
flag_finished = lightred
flag_running = lightgreen

377
dotfiles/weechat/irc.conf Normal file
View File

@@ -0,0 +1,377 @@
#
# weechat -- irc.conf
#
[look]
buffer_open_before_autojoin = on
buffer_open_before_join = off
buffer_switch_autojoin = on
buffer_switch_join = on
color_nicks_in_names = off
color_nicks_in_nicklist = off
color_nicks_in_server_messages = on
color_pv_nick_like_channel = on
ctcp_time_format = "%a, %d %b %Y %T %z"
display_away = local
display_ctcp_blocked = on
display_ctcp_reply = on
display_ctcp_unknown = on
display_host_join = on
display_host_join_local = on
display_host_quit = on
display_join_message = "329,332,333,366"
display_old_topic = on
display_pv_away_once = on
display_pv_back = on
highlight_channel = "$nick"
highlight_pv = "$nick"
highlight_server = "$nick"
highlight_tags_restrict = "irc_privmsg,irc_notice"
item_channel_modes_hide_args = "k"
item_display_server = buffer_plugin
item_nick_modes = on
item_nick_prefix = on
join_auto_add_chantype = off
msgbuffer_fallback = current
new_channel_position = none
new_pv_position = none
nick_completion_smart = speakers
nick_mode = prefix
nick_mode_empty = off
nicks_hide_password = "nickserv"
notice_as_pv = auto
notice_welcome_redirect = on
notice_welcome_tags = ""
notify_tags_ison = "notify_message"
notify_tags_whois = "notify_message"
part_closes_buffer = on
pv_buffer = independent
pv_tags = "notify_private"
raw_messages = 256
server_buffer = merge_with_core
smart_filter = on
smart_filter_delay = 5
smart_filter_join = on
smart_filter_join_unmask = 30
smart_filter_mode = "+"
smart_filter_nick = on
smart_filter_quit = on
temporary_servers = off
topic_strip_colors = off
[color]
input_nick = lightcyan
item_channel_modes = default
item_lag_counting = default
item_lag_finished = yellow
item_nick_modes = default
message_join = green
message_quit = red
mirc_remap = "1,-1:darkgray"
nick_prefixes = "q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue"
notice = green
reason_quit = default
topic_current = default
topic_new = white
topic_old = default
[network]
autoreconnect_delay_growing = 2
autoreconnect_delay_max = 600
ban_mask_default = "*!$ident@$host"
channel_encode = off
colors_receive = on
colors_send = on
lag_check = 60
lag_max = 1800
lag_min_show = 500
lag_reconnect = 0
lag_refresh_interval = 1
notify_check_ison = 1
notify_check_whois = 5
sasl_fail_unavailable = on
send_unknown_commands = off
whois_double_nick = off
[msgbuffer]
[ctcp]
[ignore]
[server_default]
addresses = ""
anti_flood_prio_high = 2
anti_flood_prio_low = 2
autoconnect = off
autojoin = ""
autoreconnect = on
autoreconnect_delay = 10
autorejoin = off
autorejoin_delay = 30
away_check = 0
away_check_max_nicks = 25
capabilities = ""
command = ""
command_delay = 0
connection_timeout = 60
ipv6 = on
local_hostname = ""
msg_kick = ""
msg_part = "WeeChat ${info:version}"
msg_quit = "WeeChat ${info:version}"
nicks = "Matir,Matir~,Matir[]"
nicks_alternate = on
notify = ""
password = ""
proxy = ""
realname = ""
sasl_fail = continue
sasl_key = ""
sasl_mechanism = plain
sasl_password = ""
sasl_timeout = 15
sasl_username = ""
ssl = off
ssl_cert = ""
ssl_dhkey_size = 2048
ssl_fingerprint = ""
ssl_priorities = "NORMAL"
ssl_verify = on
username = "matir"
[server]
freenode.addresses = "chat.freenode.net/7000"
freenode.proxy
freenode.ipv6
freenode.ssl = on
freenode.ssl_cert = "%h/certs/freenode-matir.pem"
freenode.ssl_priorities
freenode.ssl_dhkey_size
freenode.ssl_fingerprint
freenode.ssl_verify = on
freenode.password
freenode.capabilities
freenode.sasl_mechanism
freenode.sasl_username
freenode.sasl_password
freenode.sasl_key
freenode.sasl_timeout
freenode.sasl_fail
freenode.autoconnect = on
freenode.autoreconnect
freenode.autoreconnect_delay
freenode.nicks = "Matir,Matir~"
freenode.nicks_alternate
freenode.username
freenode.realname
freenode.local_hostname
freenode.command
freenode.command_delay
freenode.autojoin = "#kali-linux,#openvpn,#radare,#vulnhub,#offsec,#offtopicsec,##ctfcompetition,#dc404,#droidsec"
freenode.autorejoin
freenode.autorejoin_delay
freenode.connection_timeout
freenode.anti_flood_prio_high
freenode.anti_flood_prio_low
freenode.away_check
freenode.away_check_max_nicks
freenode.msg_kick
freenode.msg_part
freenode.msg_quit
freenode.notify
hak5.addresses = "irc.hak5.org/6697"
hak5.proxy
hak5.ipv6
hak5.ssl = on
hak5.ssl_cert = "%h/certs/freenode-matir.pem"
hak5.ssl_priorities
hak5.ssl_dhkey_size
hak5.ssl_fingerprint
hak5.ssl_verify = off
hak5.password
hak5.capabilities
hak5.sasl_mechanism
hak5.sasl_username
hak5.sasl_password
hak5.sasl_key
hak5.sasl_timeout
hak5.sasl_fail
hak5.autoconnect = on
hak5.autoreconnect
hak5.autoreconnect_delay
hak5.nicks
hak5.nicks_alternate
hak5.username
hak5.realname
hak5.local_hostname
hak5.command
hak5.command_delay
hak5.autojoin = "#hak5,#pineapple,#ducky,#SDR,#lanturtle,#bashbunny"
hak5.autorejoin
hak5.autorejoin_delay
hak5.connection_timeout
hak5.anti_flood_prio_high
hak5.anti_flood_prio_low
hak5.away_check
hak5.away_check_max_nicks
hak5.msg_kick
hak5.msg_part
hak5.msg_quit
hak5.notify
rpisec.addresses = "irc.rpis.ec/6697"
rpisec.proxy
rpisec.ipv6
rpisec.ssl = on
rpisec.ssl_cert
rpisec.ssl_priorities
rpisec.ssl_dhkey_size
rpisec.ssl_fingerprint
rpisec.ssl_verify = on
rpisec.password
rpisec.capabilities
rpisec.sasl_mechanism
rpisec.sasl_username
rpisec.sasl_password
rpisec.sasl_key
rpisec.sasl_timeout
rpisec.sasl_fail
rpisec.autoconnect = on
rpisec.autoreconnect
rpisec.autoreconnect_delay
rpisec.nicks
rpisec.nicks_alternate
rpisec.username
rpisec.realname
rpisec.local_hostname
rpisec.command
rpisec.command_delay
rpisec.autojoin = "#rpisec"
rpisec.autorejoin
rpisec.autorejoin_delay
rpisec.connection_timeout
rpisec.anti_flood_prio_high
rpisec.anti_flood_prio_low
rpisec.away_check
rpisec.away_check_max_nicks
rpisec.msg_kick
rpisec.msg_part
rpisec.msg_quit
rpisec.notify
overthewire.addresses = "ircs.overthewire.org/6697"
overthewire.proxy
overthewire.ipv6
overthewire.ssl = on
overthewire.ssl_cert = "%h/certs/freenode-matir.pem"
overthewire.ssl_priorities
overthewire.ssl_dhkey_size
overthewire.ssl_fingerprint
overthewire.ssl_verify = on
overthewire.password
overthewire.capabilities
overthewire.sasl_mechanism
overthewire.sasl_username
overthewire.sasl_password
overthewire.sasl_key
overthewire.sasl_timeout
overthewire.sasl_fail
overthewire.autoconnect = on
overthewire.autoreconnect
overthewire.autoreconnect_delay
overthewire.nicks
overthewire.nicks_alternate
overthewire.username
overthewire.realname
overthewire.local_hostname
overthewire.command
overthewire.command_delay
overthewire.autojoin = "#wargames,#social,#amateria,#io"
overthewire.autorejoin
overthewire.autorejoin_delay
overthewire.connection_timeout
overthewire.anti_flood_prio_high
overthewire.anti_flood_prio_low
overthewire.away_check
overthewire.away_check_max_nicks
overthewire.msg_kick
overthewire.msg_part
overthewire.msg_quit
overthewire.notify
hackint.addresses = "irc.hackint.org/9999"
hackint.proxy
hackint.ipv6
hackint.ssl = on
hackint.ssl_cert
hackint.ssl_priorities
hackint.ssl_dhkey_size
hackint.ssl_fingerprint
hackint.ssl_verify = on
hackint.password
hackint.capabilities
hackint.sasl_mechanism
hackint.sasl_username
hackint.sasl_password
hackint.sasl_key
hackint.sasl_timeout
hackint.sasl_fail
hackint.autoconnect = on
hackint.autoreconnect
hackint.autoreconnect_delay
hackint.nicks
hackint.nicks_alternate
hackint.username
hackint.realname
hackint.local_hostname
hackint.command
hackint.command_delay
hackint.autojoin
hackint.autorejoin
hackint.autorejoin_delay
hackint.connection_timeout
hackint.anti_flood_prio_high
hackint.anti_flood_prio_low
hackint.away_check
hackint.away_check_max_nicks
hackint.msg_kick
hackint.msg_part
hackint.msg_quit
hackint.notify
afternet.addresses = "irc.afternet.org/6697"
afternet.proxy
afternet.ipv6
afternet.ssl = on
afternet.ssl_cert
afternet.ssl_priorities
afternet.ssl_dhkey_size
afternet.ssl_fingerprint
afternet.ssl_verify = on
afternet.password
afternet.capabilities
afternet.sasl_mechanism
afternet.sasl_username
afternet.sasl_password
afternet.sasl_key
afternet.sasl_timeout
afternet.sasl_fail
afternet.autoconnect = on
afternet.autoreconnect
afternet.autoreconnect_delay
afternet.nicks
afternet.nicks_alternate
afternet.username
afternet.realname
afternet.local_hostname
afternet.command
afternet.command_delay
afternet.autojoin = "#eevblog"
afternet.autorejoin
afternet.autorejoin_delay
afternet.connection_timeout
afternet.anti_flood_prio_high
afternet.anti_flood_prio_low
afternet.away_check
afternet.away_check_max_nicks
afternet.msg_kick
afternet.msg_part
afternet.msg_quit
afternet.notify

14
dotfiles/weechat/letsencrypt.sh Executable file
View File

@@ -0,0 +1,14 @@
#!/bin/bash
# Update the weechat SSL key. Should be called from cron via sudo.
eval WEEDIR="$(printf "~%q/.weechat/" "${SUDO_USER}")"
LIVEKEY="${WEEDIR}/ssl/relay.pem"
certbot renew -q
cat /etc/letsencrypt/live/$(hostname -f)/{privkey,fullchain}.pem > \
${LIVEKEY}
chown ${SUDO_USER}:$(id -gn ${SUDO_USER}) ${LIVEKEY}
for fifo in ${WEEDIR}/weechat_fifo* ; do
echo '*/relay sslcertkey' > ${fifo}
done

View File

@@ -0,0 +1,26 @@
#
# weechat -- logger.conf
#
[look]
backlog = 20
[color]
backlog_end = default
backlog_line = default
[file]
auto_log = on
flush_delay = 120
info_lines = off
mask = "$plugin.$name.weechatlog"
name_lower_case = on
nick_prefix = ""
nick_suffix = ""
path = "%h/logs/"
replacement_char = "_"
time_format = "%Y-%m-%d %H:%M:%S"
[level]
[mask]

View File

@@ -0,0 +1,15 @@
#
# weechat -- plugins.conf
#
[var]
fifo.fifo = "on"
guile.check_license = "off"
javascript.check_license = "off"
lua.check_license = "off"
perl.check_license = "off"
python.check_license = "off"
ruby.check_license = "off"
tcl.check_license = "off"
[desc]

View File

@@ -0,0 +1,42 @@
#
# weechat -- relay.conf
#
[look]
auto_open_buffer = on
raw_messages = 256
[color]
client = cyan
status_active = lightblue
status_auth_failed = lightred
status_connecting = yellow
status_disconnected = lightred
status_waiting_auth = brown
text = default
text_bg = default
text_selected = white
[network]
allow_empty_password = off
allowed_ips = ""
bind_address = ""
clients_purge_delay = 0
compression_level = 6
ipv6 = on
max_clients = 5
password = "${sec.data.relay_password}"
ssl_cert_key = "%h/ssl/relay.pem"
ssl_priorities = "NORMAL:-VERS-SSL3.0"
websocket_allowed_origins = ""
[irc]
backlog_max_minutes = 1440
backlog_max_number = 256
backlog_since_last_disconnect = on
backlog_since_last_message = off
backlog_tags = "irc_privmsg"
backlog_time_format = "[%H:%M] "
[port]
ssl.weechat = 9001

View File

@@ -0,0 +1,50 @@
#
# weechat -- script.conf
#
[look]
columns = "%s %n %V %v %u | %d | %t"
diff_color = on
diff_command = "auto"
display_source = on
quiet_actions = on
sort = "p,n"
translate_description = on
use_keys = on
[color]
status_autoloaded = cyan
status_held = white
status_installed = lightcyan
status_obsolete = lightmagenta
status_popular = yellow
status_running = lightgreen
status_unknown = lightred
text = default
text_bg = default
text_bg_selected = red
text_date = default
text_date_selected = white
text_delimiters = default
text_description = default
text_description_selected = white
text_extension = default
text_extension_selected = white
text_name = cyan
text_name_selected = lightcyan
text_selected = white
text_tags = brown
text_tags_selected = yellow
text_version = magenta
text_version_loaded = default
text_version_loaded_selected = white
text_version_selected = lightmagenta
[scripts]
autoload = on
cache_expire = 1440
download_timeout = 30
hold = ""
path = "%h/script"
url = "http://weechat.org/files/plugins.xml.gz"
url_force_https = on

13
dotfiles/weechat/sec.conf Normal file
View File

@@ -0,0 +1,13 @@
#
# weechat -- sec.conf
#
[crypt]
cipher = aes256
hash_algo = sha256
passphrase_file = "~/.weechat-passphrase"
salt = on
[data]
__passphrase__ = on
relay_password = "D1FD30C08951B1A5BCBBB7EE6AAFB6AF9B86017B353182A1CA8826D5A98EB88E7E723591C544FC41A6913EA67E8764E50BDD8A5AD3D0A0"

View File

@@ -0,0 +1,52 @@
#
# weechat -- trigger.conf
#
[look]
enabled = on
monitor_strip_colors = off
[color]
flag_command = lightgreen
flag_conditions = yellow
flag_post_action = lightblue
flag_regex = lightcyan
flag_return_code = lightmagenta
regex = white
replace = cyan
trigger = green
trigger_disabled = red
[trigger]
beep.arguments = ""
beep.command = "/print -beep"
beep.conditions = "${tg_highlight} || ${tg_msg_pv}"
beep.enabled = on
beep.hook = print
beep.post_action = none
beep.regex = ""
beep.return_code = ok
cmd_pass.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth"
cmd_pass.command = ""
cmd_pass.conditions = ""
cmd_pass.enabled = on
cmd_pass.hook = modifier
cmd_pass.post_action = none
cmd_pass.regex = "==^((/(msg|quote) +nickserv +(id|identify|register|ghost +[^ ]+|release +[^ ]+|regain +[^ ]+) +)|/oper +[^ ]+ +|/quote +pass +|/set +[^ ]*password[^ ]* +|/secure +(passphrase|decrypt|set +[^ ]+) +)(.*)==$1$.*+"
cmd_pass.return_code = ok
msg_auth.arguments = "5000|irc_message_auth"
msg_auth.command = ""
msg_auth.conditions = ""
msg_auth.enabled = on
msg_auth.hook = modifier
msg_auth.post_action = none
msg_auth.regex = "==^(.*(id|identify|register|ghost +[^ ]+|release +[^ ]+) +)(.*)==$1$.*+"
msg_auth.return_code = ok
server_pass.arguments = "5000|input_text_display;5000|history_add"
server_pass.command = ""
server_pass.conditions = ""
server_pass.enabled = on
server_pass.hook = modifier
server_pass.post_action = none
server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==$1$.*4$5"
server_pass.return_code = ok

View File

@@ -0,0 +1,595 @@
#
# weechat -- weechat.conf
#
[debug]
[startup]
command_after_plugins = ""
command_before_plugins = ""
display_logo = on
display_version = on
sys_rlimit = ""
[look]
align_end_of_lines = message
bar_more_down = "++"
bar_more_left = "<<"
bar_more_right = ">>"
bar_more_up = "--"
bare_display_exit_on_input = on
bare_display_time_format = "%H:%M"
buffer_auto_renumber = on
buffer_notify_default = all
buffer_position = end
buffer_search_case_sensitive = off
buffer_search_force_default = off
buffer_search_regex = off
buffer_search_where = prefix_message
buffer_time_format = "%H:%M:%S"
color_basic_force_bold = off
color_inactive_buffer = on
color_inactive_message = on
color_inactive_prefix = on
color_inactive_prefix_buffer = on
color_inactive_time = off
color_inactive_window = on
color_nick_offline = off
color_pairs_auto_reset = 5
color_real_white = off
command_chars = ""
command_incomplete = off
confirm_quit = off
confirm_upgrade = off
day_change = on
day_change_message_1date = "-- %a, %d %b %Y --"
day_change_message_2dates = "-- %%a, %%d %%b %%Y (%a, %d %b %Y) --"
eat_newline_glitch = off
emphasized_attributes = ""
highlight = ""
highlight_regex = ""
highlight_tags = ""
hotlist_add_conditions = "${buffer.num_displayed} == 0 && ${priority} >= 1"
hotlist_buffer_separator = ", "
hotlist_count_max = 0
hotlist_count_min_msg = 2
hotlist_names_count = 10000
hotlist_names_length = 0
hotlist_names_level = 14
hotlist_names_merged_buffers = off
hotlist_prefix = "Act: "
hotlist_remove = merged
hotlist_short_names = on
hotlist_sort = group_time_asc
hotlist_suffix = ""
hotlist_unique_numbers = on
input_cursor_scroll = 20
input_share = none
input_share_overwrite = off
input_undo_max = 32
item_away_message = on
item_buffer_filter = "*"
item_buffer_zoom = "!"
item_mouse_status = "M"
item_time_format = "%H:%M"
jump_current_to_previous_buffer = on
jump_previous_buffer_when_closing = on
jump_smart_back_to_buffer = on
key_bind_safe = on
key_grab_delay = 800
mouse = off
mouse_timer_delay = 100
nick_color_force = ""
nick_color_hash = djb2
nick_color_stop_chars = "_|["
nick_prefix = ""
nick_suffix = ""
paste_auto_add_newline = on
paste_bracketed = on
paste_bracketed_timer_delay = 10
paste_max_lines = 1
prefix_action = " *"
prefix_align = right
prefix_align_max = 15
prefix_align_min = 0
prefix_align_more = "+"
prefix_align_more_after = on
prefix_buffer_align = right
prefix_buffer_align_max = 0
prefix_buffer_align_more = "+"
prefix_buffer_align_more_after = on
prefix_error = "=!="
prefix_join = "-->"
prefix_network = "--"
prefix_quit = "<--"
prefix_same_nick = ""
prefix_suffix = "|"
quote_nick_prefix = "<"
quote_nick_suffix = ">"
quote_time_format = "%H:%M:%S"
read_marker = line
read_marker_always_show = off
read_marker_string = "- "
save_config_on_exit = on
save_layout_on_exit = none
scroll_amount = 3
scroll_bottom_after_switch = off
scroll_page_percent = 100
search_text_not_found_alert = on
separator_horizontal = "-"
separator_vertical = ""
tab_width = 1
time_format = "%a, %d %b %Y %T"
window_auto_zoom = off
window_separator_horizontal = on
window_separator_vertical = on
window_title = "irc"
word_chars_highlight = "!\u00A0,-,_,|,alnum"
word_chars_input = "!\u00A0,-,_,|,alnum"
[palette]
[color]
bar_more = lightmagenta
chat = default
chat_bg = default
chat_buffer = white
chat_channel = white
chat_day_change = cyan
chat_delimiters = green
chat_highlight = yellow
chat_highlight_bg = magenta
chat_host = cyan
chat_inactive_buffer = default
chat_inactive_window = default
chat_nick = lightcyan
chat_nick_colors = "cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue"
chat_nick_offline = default
chat_nick_offline_highlight = default
chat_nick_offline_highlight_bg = blue
chat_nick_other = cyan
chat_nick_prefix = green
chat_nick_self = white
chat_nick_suffix = green
chat_prefix_action = white
chat_prefix_buffer = brown
chat_prefix_buffer_inactive_buffer = default
chat_prefix_error = yellow
chat_prefix_join = lightgreen
chat_prefix_more = lightmagenta
chat_prefix_network = magenta
chat_prefix_quit = lightred
chat_prefix_suffix = green
chat_read_marker = magenta
chat_read_marker_bg = default
chat_server = brown
chat_tags = red
chat_text_found = yellow
chat_text_found_bg = lightmagenta
chat_time = default
chat_time_delimiters = brown
chat_value = cyan
chat_value_null = blue
emphasized = yellow
emphasized_bg = magenta
input_actions = lightgreen
input_text_not_found = red
item_away = yellow
nicklist_away = cyan
nicklist_group = green
separator = blue
status_count_highlight = magenta
status_count_msg = brown
status_count_other = default
status_count_private = green
status_data_highlight = lightmagenta
status_data_msg = yellow
status_data_other = default
status_data_private = lightgreen
status_filter = green
status_more = yellow
status_mouse = green
status_name = white
status_name_ssl = lightgreen
status_nicklist_count = default
status_number = yellow
status_time = default
[completion]
base_word_until_cursor = on
command_inline = on
default_template = "%(nicks)|%(irc_channels)"
nick_add_space = on
nick_completer = ":"
nick_first_only = off
nick_ignore_chars = "[]`_-^"
partial_completion_alert = on
partial_completion_command = off
partial_completion_command_arg = off
partial_completion_count = on
partial_completion_other = off
[history]
display_default = 5
max_buffer_lines_minutes = 0
max_buffer_lines_number = 4096
max_commands = 100
max_visited_buffers = 50
[proxy]
[network]
connection_timeout = 60
gnutls_ca_file = "~/.weechat/certs/ca-certificates.crt"
gnutls_handshake_timeout = 30
proxy_curl = ""
[plugin]
autoload = "*"
debug = off
extension = ".so,.dll"
path = "%h/plugins"
save_config_on_unload = on
[bar]
input.color_bg = default
input.color_delim = cyan
input.color_fg = default
input.conditions = ""
input.filling_left_right = vertical
input.filling_top_bottom = horizontal
input.hidden = off
input.items = "[input_prompt]+(away),[input_search],[input_paste],input_text"
input.position = bottom
input.priority = 1000
input.separator = off
input.size = 1
input.size_max = 0
input.type = window
nicklist.color_bg = default
nicklist.color_delim = cyan
nicklist.color_fg = default
nicklist.conditions = "${nicklist}"
nicklist.filling_left_right = vertical
nicklist.filling_top_bottom = columns_vertical
nicklist.hidden = on
nicklist.items = "buffer_nicklist"
nicklist.position = right
nicklist.priority = 200
nicklist.separator = on
nicklist.size = 0
nicklist.size_max = 0
nicklist.type = window
status.color_bg = 0
status.color_delim = cyan
status.color_fg = default
status.conditions = ""
status.filling_left_right = vertical
status.filling_top_bottom = horizontal
status.hidden = off
status.items = "[time],[buffer_plugin],buffer_number+:+buffer_name+(buffer_modes)+{buffer_nicklist_count}+buffer_zoom+buffer_filter,[lag],[hotlist],completion,scroll"
status.position = bottom
status.priority = 500
status.separator = off
status.size = 2
status.size_max = 0
status.type = window
title.color_bg = 0
title.color_delim = cyan
title.color_fg = default
title.conditions = ""
title.filling_left_right = vertical
title.filling_top_bottom = horizontal
title.hidden = off
title.items = "buffer_title"
title.position = top
title.priority = 500
title.separator = off
title.size = 1
title.size_max = 0
title.type = window
[layout]
[notify]
[filter]
irc_smart = on;*;irc_smart_filter;*
[key]
ctrl-? = "/input delete_previous_char"
ctrl-A = "/input move_beginning_of_line"
ctrl-B = "/input move_previous_char"
ctrl-C_ = "/input insert \x1F"
ctrl-Cb = "/input insert \x02"
ctrl-Cc = "/input insert \x03"
ctrl-Ci = "/input insert \x1D"
ctrl-Co = "/input insert \x0F"
ctrl-Cv = "/input insert \x16"
ctrl-D = "/input delete_next_char"
ctrl-E = "/input move_end_of_line"
ctrl-F = "/input move_next_char"
ctrl-H = "/input delete_previous_char"
ctrl-I = "/input complete_next"
ctrl-J = "/input return"
ctrl-K = "/input delete_end_of_line"
ctrl-L = "/window refresh"
ctrl-M = "/input return"
ctrl-N = "/buffer +1"
ctrl-P = "/buffer -1"
ctrl-R = "/input search_text"
ctrl-Sctrl-U = "/input set_unread"
ctrl-T = "/input transpose_chars"
ctrl-U = "/input delete_beginning_of_line"
ctrl-W = "/input delete_previous_word"
ctrl-X = "/input switch_active_buffer"
ctrl-Y = "/input clipboard_paste"
meta-meta2-1~ = "/window scroll_top"
meta-meta2-23~ = "/bar scroll nicklist * b"
meta-meta2-24~ = "/bar scroll nicklist * e"
meta-meta2-4~ = "/window scroll_bottom"
meta-meta2-5~ = "/window scroll_up"
meta-meta2-6~ = "/window scroll_down"
meta-meta2-7~ = "/window scroll_top"
meta-meta2-8~ = "/window scroll_bottom"
meta-meta2-A = "/buffer -1"
meta-meta2-B = "/buffer +1"
meta-meta2-C = "/buffer +1"
meta-meta2-D = "/buffer -1"
meta-- = "/filter toggle @"
meta-/ = "/input jump_last_buffer_displayed"
meta-0 = "/buffer *10"
meta-1 = "/buffer *1"
meta-2 = "/buffer *2"
meta-3 = "/buffer *3"
meta-4 = "/buffer *4"
meta-5 = "/buffer *5"
meta-6 = "/buffer *6"
meta-7 = "/buffer *7"
meta-8 = "/buffer *8"
meta-9 = "/buffer *9"
meta-< = "/input jump_previously_visited_buffer"
meta-= = "/filter toggle"
meta-> = "/input jump_next_visited_buffer"
meta-OA = "/input history_global_previous"
meta-OB = "/input history_global_next"
meta-OC = "/input move_next_word"
meta-OD = "/input move_previous_word"
meta-OF = "/input move_end_of_line"
meta-OH = "/input move_beginning_of_line"
meta-Oa = "/input history_global_previous"
meta-Ob = "/input history_global_next"
meta-Oc = "/input move_next_word"
meta-Od = "/input move_previous_word"
meta2-15~ = "/buffer -1"
meta2-17~ = "/buffer +1"
meta2-18~ = "/window -1"
meta2-19~ = "/window +1"
meta2-1;3A = "/buffer -1"
meta2-1;3B = "/buffer +1"
meta2-1;3C = "/buffer +1"
meta2-1;3D = "/buffer -1"
meta2-1;3F = "/window scroll_bottom"
meta2-1;3H = "/window scroll_top"
meta2-1;5A = "/input history_global_previous"
meta2-1;5B = "/input history_global_next"
meta2-1;5C = "/input move_next_word"
meta2-1;5D = "/input move_previous_word"
meta2-1~ = "/input move_beginning_of_line"
meta2-200~ = "/input paste_start"
meta2-201~ = "/input paste_stop"
meta2-20~ = "/bar scroll title * -30%"
meta2-21~ = "/bar scroll title * +30%"
meta2-23;3~ = "/bar scroll nicklist * b"
meta2-23~ = "/bar scroll nicklist * -100%"
meta2-24;3~ = "/bar scroll nicklist * e"
meta2-24~ = "/bar scroll nicklist * +100%"
meta2-3~ = "/input delete_next_char"
meta2-4~ = "/input move_end_of_line"
meta2-5;3~ = "/window scroll_up"
meta2-5~ = "/window page_up"
meta2-6;3~ = "/window scroll_down"
meta2-6~ = "/window page_down"
meta2-7~ = "/input move_beginning_of_line"
meta2-8~ = "/input move_end_of_line"
meta2-A = "/input history_previous"
meta2-B = "/input history_next"
meta2-C = "/input move_next_char"
meta2-D = "/input move_previous_char"
meta2-F = "/input move_end_of_line"
meta2-G = "/window page_down"
meta2-H = "/input move_beginning_of_line"
meta2-I = "/window page_up"
meta2-Z = "/input complete_previous"
meta2-[E = "/buffer -1"
meta-_ = "/input redo"
meta-a = "/input jump_smart"
meta-b = "/input move_previous_word"
meta-d = "/input delete_next_word"
meta-f = "/input move_next_word"
meta-h = "/input hotlist_clear"
meta-jmeta-f = "/buffer -"
meta-jmeta-l = "/buffer +"
meta-jmeta-r = "/server raw"
meta-jmeta-s = "/server jump"
meta-j01 = "/buffer 1"
meta-j02 = "/buffer 2"
meta-j03 = "/buffer 3"
meta-j04 = "/buffer 4"
meta-j05 = "/buffer 5"
meta-j06 = "/buffer 6"
meta-j07 = "/buffer 7"
meta-j08 = "/buffer 8"
meta-j09 = "/buffer 9"
meta-j10 = "/buffer 10"
meta-j11 = "/buffer 11"
meta-j12 = "/buffer 12"
meta-j13 = "/buffer 13"
meta-j14 = "/buffer 14"
meta-j15 = "/buffer 15"
meta-j16 = "/buffer 16"
meta-j17 = "/buffer 17"
meta-j18 = "/buffer 18"
meta-j19 = "/buffer 19"
meta-j20 = "/buffer 20"
meta-j21 = "/buffer 21"
meta-j22 = "/buffer 22"
meta-j23 = "/buffer 23"
meta-j24 = "/buffer 24"
meta-j25 = "/buffer 25"
meta-j26 = "/buffer 26"
meta-j27 = "/buffer 27"
meta-j28 = "/buffer 28"
meta-j29 = "/buffer 29"
meta-j30 = "/buffer 30"
meta-j31 = "/buffer 31"
meta-j32 = "/buffer 32"
meta-j33 = "/buffer 33"
meta-j34 = "/buffer 34"
meta-j35 = "/buffer 35"
meta-j36 = "/buffer 36"
meta-j37 = "/buffer 37"
meta-j38 = "/buffer 38"
meta-j39 = "/buffer 39"
meta-j40 = "/buffer 40"
meta-j41 = "/buffer 41"
meta-j42 = "/buffer 42"
meta-j43 = "/buffer 43"
meta-j44 = "/buffer 44"
meta-j45 = "/buffer 45"
meta-j46 = "/buffer 46"
meta-j47 = "/buffer 47"
meta-j48 = "/buffer 48"
meta-j49 = "/buffer 49"
meta-j50 = "/buffer 50"
meta-j51 = "/buffer 51"
meta-j52 = "/buffer 52"
meta-j53 = "/buffer 53"
meta-j54 = "/buffer 54"
meta-j55 = "/buffer 55"
meta-j56 = "/buffer 56"
meta-j57 = "/buffer 57"
meta-j58 = "/buffer 58"
meta-j59 = "/buffer 59"
meta-j60 = "/buffer 60"
meta-j61 = "/buffer 61"
meta-j62 = "/buffer 62"
meta-j63 = "/buffer 63"
meta-j64 = "/buffer 64"
meta-j65 = "/buffer 65"
meta-j66 = "/buffer 66"
meta-j67 = "/buffer 67"
meta-j68 = "/buffer 68"
meta-j69 = "/buffer 69"
meta-j70 = "/buffer 70"
meta-j71 = "/buffer 71"
meta-j72 = "/buffer 72"
meta-j73 = "/buffer 73"
meta-j74 = "/buffer 74"
meta-j75 = "/buffer 75"
meta-j76 = "/buffer 76"
meta-j77 = "/buffer 77"
meta-j78 = "/buffer 78"
meta-j79 = "/buffer 79"
meta-j80 = "/buffer 80"
meta-j81 = "/buffer 81"
meta-j82 = "/buffer 82"
meta-j83 = "/buffer 83"
meta-j84 = "/buffer 84"
meta-j85 = "/buffer 85"
meta-j86 = "/buffer 86"
meta-j87 = "/buffer 87"
meta-j88 = "/buffer 88"
meta-j89 = "/buffer 89"
meta-j90 = "/buffer 90"
meta-j91 = "/buffer 91"
meta-j92 = "/buffer 92"
meta-j93 = "/buffer 93"
meta-j94 = "/buffer 94"
meta-j95 = "/buffer 95"
meta-j96 = "/buffer 96"
meta-j97 = "/buffer 97"
meta-j98 = "/buffer 98"
meta-j99 = "/buffer 99"
meta-k = "/input grab_key_command"
meta-l = "/window bare"
meta-m = "/mute mouse toggle"
meta-n = "/window scroll_next_highlight"
meta-p = "/window scroll_previous_highlight"
meta-r = "/input delete_line"
meta-s = "/mute aspell toggle"
meta-u = "/window scroll_unread"
meta-wmeta-meta2-A = "/window up"
meta-wmeta-meta2-B = "/window down"
meta-wmeta-meta2-C = "/window right"
meta-wmeta-meta2-D = "/window left"
meta-wmeta2-1;3A = "/window up"
meta-wmeta2-1;3B = "/window down"
meta-wmeta2-1;3C = "/window right"
meta-wmeta2-1;3D = "/window left"
meta-wmeta-b = "/window balance"
meta-wmeta-s = "/window swap"
meta-x = "/input zoom_merged_buffer"
meta-z = "/window zoom"
ctrl-_ = "/input undo"
[key_search]
ctrl-I = "/input search_switch_where"
ctrl-J = "/input search_stop"
ctrl-M = "/input search_stop"
ctrl-R = "/input search_switch_regex"
meta2-A = "/input search_previous"
meta2-B = "/input search_next"
meta-c = "/input search_switch_case"
[key_cursor]
ctrl-J = "/cursor stop"
ctrl-M = "/cursor stop"
meta-meta2-A = "/cursor move area_up"
meta-meta2-B = "/cursor move area_down"
meta-meta2-C = "/cursor move area_right"
meta-meta2-D = "/cursor move area_left"
meta2-1;3A = "/cursor move area_up"
meta2-1;3B = "/cursor move area_down"
meta2-1;3C = "/cursor move area_right"
meta2-1;3D = "/cursor move area_left"
meta2-A = "/cursor move up"
meta2-B = "/cursor move down"
meta2-C = "/cursor move right"
meta2-D = "/cursor move left"
@item(buffer_nicklist):K = "/window ${_window_number};/kickban ${nick}"
@item(buffer_nicklist):b = "/window ${_window_number};/ban ${nick}"
@item(buffer_nicklist):k = "/window ${_window_number};/kick ${nick}"
@item(buffer_nicklist):q = "/window ${_window_number};/query ${nick};/cursor stop"
@item(buffer_nicklist):w = "/window ${_window_number};/whois ${nick}"
@chat:Q = "hsignal:chat_quote_time_prefix_message;/cursor stop"
@chat:m = "hsignal:chat_quote_message;/cursor stop"
@chat:q = "hsignal:chat_quote_prefix_message;/cursor stop"
[key_mouse]
@bar(input):button2 = "/input grab_mouse_area"
@bar(nicklist):button1-gesture-down = "/bar scroll nicklist ${_window_number} +100%"
@bar(nicklist):button1-gesture-down-long = "/bar scroll nicklist ${_window_number} e"
@bar(nicklist):button1-gesture-up = "/bar scroll nicklist ${_window_number} -100%"
@bar(nicklist):button1-gesture-up-long = "/bar scroll nicklist ${_window_number} b"
@chat(script.scripts):button1 = "/window ${_window_number};/script go ${_chat_line_y}"
@chat(script.scripts):button2 = "/window ${_window_number};/script go ${_chat_line_y};/script installremove -q ${script_name_with_extension}"
@chat(script.scripts):wheeldown = "/script down 5"
@chat(script.scripts):wheelup = "/script up 5"
@item(buffer_nicklist):button1 = "/window ${_window_number};/query ${nick}"
@item(buffer_nicklist):button1-gesture-left = "/window ${_window_number};/kick ${nick}"
@item(buffer_nicklist):button1-gesture-left-long = "/window ${_window_number};/kickban ${nick}"
@item(buffer_nicklist):button2 = "/window ${_window_number};/whois ${nick}"
@item(buffer_nicklist):button2-gesture-left = "/window ${_window_number};/ban ${nick}"
@bar:wheeldown = "/bar scroll ${_bar_name} ${_window_number} +20%"
@bar:wheelup = "/bar scroll ${_bar_name} ${_window_number} -20%"
@chat:button1 = "/window ${_window_number}"
@chat:button1-gesture-left = "/window ${_window_number};/buffer -1"
@chat:button1-gesture-left-long = "/window ${_window_number};/buffer 1"
@chat:button1-gesture-right = "/window ${_window_number};/buffer +1"
@chat:button1-gesture-right-long = "/window ${_window_number};/input jump_last_buffer"
@chat:ctrl-wheeldown = "/window scroll_horiz -window ${_window_number} +10%"
@chat:ctrl-wheelup = "/window scroll_horiz -window ${_window_number} -10%"
@chat:wheeldown = "/window scroll_down -window ${_window_number}"
@chat:wheelup = "/window scroll_up -window ${_window_number}"
@*:button3 = "/cursor go ${_x},${_y}"

View File

@@ -0,0 +1,39 @@
#
# weechat -- xfer.conf
#
[look]
auto_open_buffer = on
progress_bar_size = 20
pv_tags = "notify_private"
[color]
status_aborted = lightred
status_active = lightblue
status_connecting = yellow
status_done = lightgreen
status_failed = lightred
status_waiting = lightcyan
text = default
text_bg = default
text_selected = white
[network]
blocksize = 65536
fast_send = on
own_ip = ""
port_range = ""
speed_limit = 0
timeout = 300
[file]
auto_accept_chats = off
auto_accept_files = off
auto_accept_nicks = ""
auto_check_crc32 = off
auto_rename = on
auto_resume = on
convert_spaces = on
download_path = "%h/xfer"
upload_path = "~"
use_nick_in_filename = on

View File

@@ -1,2 +0,0 @@
setxkbmap -option ctrl:nocaps
test -f "$HOME/.profile" && . "$HOME/.profile"

4
dotfiles/xsessionrc Normal file
View File

@@ -0,0 +1,4 @@
setxkbmap -option ctrl:nocaps -option compose:ralt
test -x /usr/bin/xsettingsd && /usr/bin/xsettingsd &
test -f "$HOME/.env" && "$HOME/.env"
test -f "$HOME/.profile" && . "$HOME/.profile"

45
dotfiles/xsettingsd Normal file
View File

@@ -0,0 +1,45 @@
Gdk/UnscaledDPI 98304
Gdk/WindowScalingFactor 1
Gtk/AutoMnemonics 1
Gtk/ButtonImages 0
Gtk/CanChangeAccels 0
Gtk/ColorPalette "black:white:gray50:red:purple:blue:light blue:green:yellow:orange:lavender:brown:goldenrod4:dodger blue:pink:light green:gray10:gray30:gray75:gray90"
Gtk/ColorScheme ""
Gtk/CursorBlinkTimeout 10
Gtk/CursorThemeName "Adwaita"
Gtk/CursorThemeSize 24
Gtk/DecorationLayout "menu:minimize,maximize,close"
Gtk/EnableAnimations 1
Gtk/FontName "Sans 9"
Gtk/IMModule ""
Gtk/IMPreeditStyle "callback"
Gtk/IMStatusStyle "callback"
Gtk/KeyThemeName "Default"
Gtk/MenuBarAccel "F10"
Gtk/MenuImages 0
Gtk/Modules ""
Gtk/RecentFilesEnabled 0
Gtk/RecentFilesMaxAge -1
Gtk/ShellShowsAppMenu 0
Gtk/ShellShowsMenubar 0
Gtk/ShowInputMethodMenu 1
Gtk/ShowUnicodeMenu 1
Gtk/TimeoutInitial 200
Gtk/TimeoutRepeat 20
Gtk/ToolbarIconSize "large"
Gtk/ToolbarStyle "both-horiz"
Net/CursorBlink 1
Net/CursorBlinkTime 1200
Net/DndDragThreshold 8
Net/DoubleClickTime 400
Net/EnableEventSounds 0
Net/EnableInputFeedbackSounds 0
Net/FallbackIconTheme "gnome"
Net/IconThemeName "Humanity"
Net/SoundThemeName "freedesktop"
Net/ThemeName "Ambiance"
Xft/Antialias 1
Xft/DPI 98304
Xft/Hinting 1
Xft/HintStyle "hintslight"
Xft/RGBA "rgb"

8
dotfiles/zlogin Normal file
View File

@@ -0,0 +1,8 @@
# Execute code that does not affect the current session in the background.
{
# Compile the completion dump to increase startup speed.
zcompdump="${ZDOTDIR:-$HOME}/.zcompdump"
if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then
zcompile "$zcompdump"
fi
} &!

View File

View File

@@ -0,0 +1,52 @@
#compdef jekyll
_jekyll() {
local curcontext="${curcontext}" state line file
typeset -A opt_args
local -a _subcommands
_subcommands=('docs:list documentation'
'import:import posts'
'serve:run server'
'help:get help'
'doctor:deprecation warnings'
'build:compile site'
'new:create new site'
'clean:clean output'
'draft:create new draft'
'post:create new post'
'publish:publish draft'
'edit:edit post')
_arguments -C \
"(source)"{-s,--source}"[source]:source dir:_files -/" \
"(dest)"{-d,--destination}"[dest]:dest dir:_files -/" \
"--safe[safe mode]" \
"(plugins)"{-p,--plugins}"[plugins]:plugins dir:_files -/" \
"--layouts[layouts]:layouts dir:_files -/" \
"--profile[generate liquid profile]" \
"(help)"{-h,--help}"[help]" \
"(version)"{-v,--version}"[version]" \
"(trace)"{-t,--trace}"[trace]" \
"1:command:->command" \
"*: :->args"
case $state in
command)
_describe -t commands "jekyll subcommand" _subcommands
;;
args)
case "$line[1]" in
edit)
# TODO: Fix to get --source argument
local -a postpaths
postpaths=("${JEKYLL_DIR}/_posts" "${JEKYLL_DIR}/_drafts")
_files -W postpaths
;;
publish)
# TODO: Fix to get --source argument
_files -W ${JEKYLL_DIR}/_drafts
esac
;;
esac
}

View File

@@ -0,0 +1,150 @@
function _jekyll_locate_dir {
if [[ -n "${JEKYLL_DIR}" && -f "${JEKYLL_DIR}" ]] ; then
echo ${JEKYLL_DIR}
elif test -f `pwd`/_config.yml ; then
pwd
elif test -f ${HOME}/Projects/blog/_config.yml ; then
echo ${HOME}/Projects/blog
else
echo "Jekyll instance not found!" >&2
fi
}
function _jekyll_set_date {
local FILENAME
local DATE
FILENAME=${1}
DATE=${2}
sed -i "2,/---/{s/^date:.*$/date: ${DATE}/;s/---/date: ${DATE}\n---/}" ${FILENAME}
}
function _jekyll_find_post {
local files
local fname
local jekyll_dir
jekyll_dir="${3}"
if [ -f "${1}" ] ; then
printf -- "${1}"
return 0
fi
if [ -f "${jekyll_dir}/_posts/${1}" ] ; then
printf -- "${jekyll_dir}/_posts/${1}"
return 0
fi
if [ -f "${jekyll_dir}/_drafts/${1}" ] ; then
printf -- "${jekyll_dir}/_drafts/${1}"
return 0
fi
fname=${2:-${1}}
files=(${jekyll_dir}/_posts/*${fname}* ${jekyll_dir}/_drafts/*${fname}*)
if [ ${#files} -eq "0" ] ; then
echo "No post found for ${fname}" >&2
return 1
fi
if [ ${#files} -gt "1" ] ; then
echo "Ambiguous results: ${files}" >&2
return 1
fi
printf -- ${files}
return 0
}
function jekyll {
setopt localoptions nullglob
local JTEMPLATE
local TITLE
local SLUG
local FILENAME
local DATE
local NEWNAME
local JEKYLL_DIR
local EDITOR=${EDITOR:-vim}
JEKYLL_DIR=`_jekyll_locate_dir`
if [ -z "${JEKYLL_DIR}" ] ; then
return 1
fi
JTEMPLATE="---\n"
JTEMPLATE+="layout: post\n"
JTEMPLATE+="title: \"%s\"\n"
JTEMPLATE+="category: Blog\n"
JTEMPLATE+="---\n\n"
TITLE=${@[2,-1]}
SLUG=$(echo -n ${TITLE} |
tr A-Z a-z | # Everything in lower case
tr -d "'" | # Remove single quotes entirely
tr -c -s -- a-z0-9 - | # Replace non-alphanums with dashes
sed 's/^-*\([^-].*[^-]\)-*$/\1/' # Remove leading and trailing slashes
)
DATE=`date +%Y-%m-%d`
case "${1:-help}" in
help|--help)
command jekyll help
echo "Added by zsh plugin:"
echo " draft Create a new draft post."
echo " post Create a new post to publish immediately."
echo " publish Publish a draft post by name."
echo " edit Edit a post."
echo " dev Run local server with drafts and incremental."
;;
draft)
if [ -z "${SLUG}" ] ; then
echo "slug is required."
return 1
fi
mkdir -p "${JEKYLL_DIR}/_drafts"
FILENAME="${JEKYLL_DIR}/_drafts/${SLUG}.md"
printf -- "${JTEMPLATE}" "${TITLE}" > "${FILENAME}"
${EDITOR} "${FILENAME}" '+$' '+startinsert'
;;
post)
if [ -z "${SLUG}" ] ; then
echo "slug is required."
return 1
fi
FILENAME="${JEKYLL_DIR}/_posts/${DATE}-${SLUG}.md"
printf -- "${JTEMPLATE}" "${TITLE}" > "${FILENAME}"
_jekyll_set_date "${FILENAME}" "${DATE}"
${EDITOR} "${FILENAME}" '+$' '+startinsert'
;;
publish)
if [ -z "${SLUG}" ] ; then
echo "slug is required."
return 1
fi
FILENAME=$(_jekyll_find_post "${TITLE}" "${SLUG}" "${JEKYLL_DIR}")
if [ $? -ne 0 ] ; then
return 1
fi
if ! [[ "${FILENAME}" =~ '/_drafts/' ]] ; then
echo "${FILENAME} is not a draft." >&2
return 1
fi
NEWNAME=$(echo "${FILENAME}" | sed "s/_drafts\//_posts\/${DATE}-/")
mv "${FILENAME}" "${NEWNAME}"
_jekyll_set_date "${NEWNAME}" "${DATE}"
;;
edit)
if [ -z "${SLUG}" ] ; then
echo "slug is required."
return 1
fi
FILENAME=$(_jekyll_find_post "${TITLE}" "${SLUG}" "${JEKYLL_DIR}")
if [ $? -ne 0 ] ; then
return
fi
${EDITOR} "${FILENAME}"
;;
dev)
command jekyll serve -D -I "$@"
;;
*)
command jekyll "$@"
;;
esac
}

View File

@@ -0,0 +1,69 @@
# vim: syntax=zsh
function prompt_matir_setup {
autoload -Uz add-zsh-hook
autoload -Uz vcs_info
autoload -Uz colors
prompt_opts=(sp subst cr percent)
colors
add-zsh-hook precmd prompt_matir_precmd
# Git related styles
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:*' formats ' (%b%u%c)'
zstyle ':vcs_info:*' stagedstr '*'
zstyle ':vcs_info:*' unstagedstr '*'
zstyle ':vcs_info:git*+set-message:*' hooks git-untracked
# Virtualenv formatting
zstyle ':prezto:module:python:info:virtualenv' format ' (py:%v)'
PROMPT='%{$fg[black]%}[%{$fg[yellow]%}%h%{$fg[black]%}] ' # History #
PROMPT+='%{%(!.$fg[red].$fg[green])%}%8>..>%n%>>%{$fg[white]%}@' # username@
PROMPT+='%{$fg[blue]%}%12>..>%m%>>%{$fg[white]%}:' # hostname
PROMPT+='%{$fg[green]%}%32<...<%~%<<' # path
PROMPT+='%{$fg[magenta]%}${python_info[virtualenv]}' # virtualenv
PROMPT+='%{$fg[blue]%}${vcs_info_msg_0_}' # VCS info
PROMPT+='%{$fg[white]%}%#%{$reset_color%} ' # prompt symbol
# Editor options
zstyle ':prezto:module:editor:info:keymap:primary' format ''
zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
zstyle ':prezto:module:editor:info:keymap:alternate' format ' [VICMD]'
zstyle ':prezto:module:editor:info:completing' format '...'
# Rprompt setup
local show_return="✘ "
# Default is to show the return value
if zstyle -T ':prezto:module:prompt' show-return-val; then
show_return+='%? '
fi
RPROMPT='%(?:: %{$fg[red]%}'
RPROMPT+=${show_return}
RPROMPT+='%{$reset_color%})'
RPROMPT+='${editor_info[keymap]}'
}
function prompt_matir_precmd {
vcs_info
if (( $+functions[python-info] )); then
python-info
fi
}
### git: Show marker (*) if there are untracked files in repository
# Make sure you have added staged to your 'formats': %c
+vi-git-untracked(){
if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == 'true' ]] && \
git status --porcelain | grep '??' &> /dev/null ; then
hook_com[staged]+='*'
fi
}
prompt_matir_setup "$@"

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,58 @@
#compdef msfconsole
# ------------------------------------------------------------------------------
# Copyright (c) 2014 Spencer McIntyre
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the project nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
# Completion script for the Metasploit Framework's msfconsole command
# (http://www.metasploit.com/).
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
# * Spencer McIntyre
#
# ------------------------------------------------------------------------------
_arguments \
{-a,--ask}"[Ask before exiting Metasploit or accept 'exit -y']" \
"-c[Load the specified configuration file]:configuration file:_files" \
{-d,--defanged}"[Execute the console as defanged]" \
{-E,--environment}"[Specify the database environment to load from the configuration]:environment:(production development)" \
{-h,--help}"[Show help text]" \
{-L,--real-readline}"[Use the system Readline library instead of RbReadline]" \
{-M,--migration-path}"[Specify a directory containing additional DB migrations]:directory:_files -/" \
{-m,--module-path}"[Specifies an additional module search path]:search path:_files -/" \
{-n,--no-database}"[Disable database support]" \
{-o,--output}"[Output to the specified file]:output file" \
{-p,--plugin}"[Load a plugin on startup]:plugin file:_files" \
{-q,--quiet}"[Do not print the banner on start up]" \
{-r,--resource}"[Execute the specified resource file]:resource file:_files" \
{-v,--version}"[Show version]" \
{-x,--execute-command}"[Execute the specified string as console commands]:commands" \
{-y,--yaml}"[Specify a YAML file containing database settings]:yaml file:_files"

View File

@@ -0,0 +1,100 @@
#compdef msfvenom
# ------------------------------------------------------------------------------
# Copyright (c) 2014 Spencer McIntyre
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of the project nor the
# names of its contributors may be used to endorse or promote products
# derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL ZSH-USERS BE LIABLE FOR ANY
# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
# ------------------------------------------------------------------------------
# Description
# -----------
#
# Completion script for the Metasploit Framework's msfvenom command
# (http://www.metasploit.com/).
#
# ------------------------------------------------------------------------------
# Authors
# -------
#
# * Spencer McIntyre
#
# ------------------------------------------------------------------------------
_msfvenom_encoders_list=(
'cmd/generic_sh'
'cmd/ifs'
'cmd/powershell_base64'
'cmd/printf_php_mq'
'generic/eicar'
'generic/none'
'mipsbe/byte_xori'
'mipsbe/longxor'
'mipsle/byte_xori'
'mipsle/longxor'
'php/base64'
'ppc/longxor'
'ppc/longxor_tag'
'sparc/longxor_tag'
'x64/xor'
'x86/add_sub'
'x86/alpha_mixed'
'x86/alpha_upper'
'x86/avoid_underscore_tolower'
'x86/avoid_utf8_tolower'
'x86/bloxor'
'x86/call4_dword_xor'
'x86/context_cpuid'
'x86/context_stat'
'x86/context_time'
'x86/countdown'
'x86/fnstenv_mov'
'x86/jmp_call_additive'
'x86/nonalpha'
'x86/nonupper'
'x86/opt_sub'
'x86/shikata_ga_nai'
'x86/single_static_bit'
'x86/unicode_mixed'
'x86/unicode_upper'
)
_msfvenom_encoder() {
_describe -t encoders 'available encoders' _msfvenom_encoders_list || compadd "$@"
}
_arguments \
{-a,--arch}"[The architecture to encode as]:architecture:(cmd generic mipsbe mipsle php ppc sparc x64 x86)" \
{-b,--bad-chars}"[The list of characters to avoid, example: '\x00\xff']:bad characters" \
{-c,--add-code}"[Specify an additional win32 shellcode file to include]:shellcode file:_files" \
{-e,--encoder}"[The encoder to use]:encoder:_msfvenom_encoder" \
{-f,--format}"[Output format]:output format:(bash c csharp dw dword java js_be js_le num perl pl powershell ps1 py python raw rb ruby sh vbapplication vbscript asp aspx aspx-exe dll elf exe exe-only exe-service exe-small loop-vbs macho msi msi-nouac osx-app psh psh-net psh-reflection vba vba-exe vbs war)" \
"--help-formats[List available formats]" \
{-h,--help}"[Help banner]" \
{-i,--iterations}"[The number of times to encode the payload]:iterations" \
{-k,--keep}"[Preserve the template behavior and inject the payload as a new thread]" \
{-l,--list}"[List a module type]:module type:(all encoders nops payloads)" \
{-n,--nopsled}"[Prepend a nopsled of length size on to the payload]:nopsled length" \
{-o,--options}"[List the payload's standard options]" \
"--platform[The platform to encode for]:target platform:(android bsd bsdi java linux netware nodejs osx php python ruby solaris unix win)" \
{-p,--payload}"[Payload to use. Specify a '-' or stdin to use custom payloads]:payload" \
{-s,--space}"[The maximum size of the resulting payload]:length" \
{-x,--template}"[Specify an alternate executable template]:template file:_files"

231
dotfiles/zpreztorc Normal file
View File

@@ -0,0 +1,231 @@
#
# Sets Prezto options.
#
# Authors:
# Sorin Ionescu <sorin.ionescu@gmail.com>
#
#
# General
#
# Set case-sensitivity for completion, history lookup, etc.
# zstyle ':prezto:*:*' case-sensitive 'yes'
# Color output (auto set to 'no' on dumb terminals).
zstyle ':prezto:*:*' color 'yes'
# Add additional directories to load prezto modules from
zstyle ':prezto:load' pmodule-dirs $HOME/.zprezto_custom
# Set the Zsh modules to load (man zshmodules).
# zstyle ':prezto:load' zmodule 'attr' 'stat'
# Set the Zsh functions to load (man zshcontrib).
# zstyle ':prezto:load' zfunction 'zargs' 'zmv'
# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
'environment' \
'terminal' \
'editor' \
'history' \
'directory' \
'spectrum' \
'utility' \
'completion' \
'matir' \
'tmux' \
'git' \
'gpg' \
'python' \
'ruby' \
'syntax-highlighting' \
'history-substring-search' \
'jekyll' \
'prompt' \
'xtra_completions'
#
# Autosuggestions
#
# Set the query found color.
# zstyle ':prezto:module:autosuggestions:color' found ''
#
# Completions
#
# No groups of completions.
zstyle ':completion:*' format ''
# Set the entries to ignore in static */etc/hosts* for host completion.
# zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \
# '0.0.0.0' '127.0.0.1'
#
# Editor
#
# Set the key mapping style to 'emacs' or 'vi'.
zstyle ':prezto:module:editor' key-bindings 'vi'
# Auto convert .... to ../..
# zstyle ':prezto:module:editor' dot-expansion 'yes'
#
# Git
#
# Ignore submodules when they are 'dirty', 'untracked', 'all', or 'none'.
# zstyle ':prezto:module:git:status:ignore' submodules 'all'
#
# GNU Utility
#
# Set the command prefix on non-GNU systems.
zstyle ':prezto:module:gnu-utility' prefix 'g'
#
# History Substring Search
#
# Set the query found color.
# zstyle ':prezto:module:history-substring-search:color' found ''
# Set the query not found color.
# zstyle ':prezto:module:history-substring-search:color' not-found ''
# Set the search globbing flags.
# zstyle ':prezto:module:history-substring-search' globbing-flags ''
#
# OS X
#
# Set the keyword used by `mand` to open man pages in Dash.app
# zstyle ':prezto:module:osx:man' dash-keyword 'manpages'
#
# Pacman
#
# Set the Pacman frontend.
# zstyle ':prezto:module:pacman' frontend 'yaourt'
#
# Prompt
#
# Set the prompt theme to load.
# Setting it to 'random' loads a random theme.
# Auto set to 'off' on dumb terminals.
zstyle ':prezto:module:prompt' theme 'matir'
# Set the working directory prompt display length.
# By default, it is set to 'short'. Set it to 'long' (without '~' expansion)
# for longer or 'full' (with '~' expansion) for even longer prompt display.
# zstyle ':prezto:module:prompt' pwd-length 'short'
# Set the prompt to display the return code along with an indicator for non-zero
# return codes. This is not supported by all prompts.
# zstyle ':prezto:module:prompt' show-return-val 'yes'
#
# Ruby
#
# Auto switch the Ruby version on directory change.
# zstyle ':prezto:module:ruby:chruby' auto-switch 'yes'
#
# Python
#
# Auto switch the Python virtualenv on directory change.
# zstyle ':prezto:module:python:virtualenv' auto-switch 'yes'
# Automatically initialize virtualenvwrapper if pre-requisites are met.
zstyle ':prezto:module:python:virtualenv' initialize 'yes'
#
# Screen
#
# Auto start a session when Zsh is launched in a local terminal.
# zstyle ':prezto:module:screen:auto-start' local 'yes'
# Auto start a session when Zsh is launched in a SSH connection.
# zstyle ':prezto:module:screen:auto-start' remote 'yes'
#
# SSH
#
# Set the SSH identities to load into the agent.
# zstyle ':prezto:module:ssh:load' identities 'id_rsa' 'id_rsa2' 'id_github'
#
# Syntax Highlighting
#
# Set syntax highlighters.
# By default, only the main highlighter is enabled.
zstyle ':prezto:module:syntax-highlighting' highlighters \
'main' \
'brackets' \
'pattern' \
'line'
# Set syntax highlighting styles.
# zstyle ':prezto:module:syntax-highlighting' styles \
# 'builtin' 'bg=blue' \
# 'command' 'bg=blue' \
# 'function' 'bg=blue'
#
# Set syntax pattern styles.
# zstyle ':prezto:module:syntax-highlighting' pattern \
# 'rm*-rf*' 'fg=white,bold,bg=red'
#
# Terminal
#
# Auto set the tab and window titles.
zstyle ':prezto:module:terminal' auto-title 'yes'
# Set the window title format.
zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
# Set the tab title format.
zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
# Set the terminal multiplexer title format.
zstyle ':prezto:module:terminal:multiplexer-title' format '%s'
#
# Tmux
#
# Auto start a session when Zsh is launched in a local terminal.
zstyle ':prezto:module:tmux:auto-start' local 'no'
# Auto start a session when Zsh is launched in a SSH connection.
zstyle ':prezto:module:tmux:auto-start' remote 'no'
# Integrate with iTerm2.
# zstyle ':prezto:module:tmux:iterm' integrate 'yes'
# Set the default session name:
# zstyle ':prezto:module:tmux:session' name 'YOUR DEFAULT SESSION NAME'
#
# Utility
#
# Enabled safe options. This aliases cp, ln, mv and rm so that they prompt
# before deleting or overwriting files. Set to 'no' to disable this safer
# behavior.
zstyle ':prezto:module:utility' safe-ops 'no'

View File

@@ -1,3 +0,0 @@
PROMPT='%{$fg[black]%}[%{$fg[yellow]%}%h%{$fg[black]%}] %{%(!.$fg[red].$fg[green])%}%8>..>%n%>>%{$fg[white]%}@%{$fg[blue]%}%12>..>%m%>>%{$fg[white]%}:%{$fg[green]%}%32<...<%~%<<%{$fg[blue]%}$(git_prompt_info)%{$fg[white]%}%#%{$reset_color%} '
ZSH_THEME_GIT_PROMPT_PREFIX=" ("
ZSH_THEME_GIT_PROMPT_SUFFIX=")"

2
dotfiles/zshenv Normal file → Executable file
View File

@@ -1,2 +1,4 @@
if [[ -f $HOME/.env ]] ; then source $HOME/.env ; fi
# ZSH specific environment
DEBIAN_PREVENT_KEYBOARD_CHANGES=yes

69
dotfiles/zshrc Normal file → Executable file
View File

@@ -1,12 +1,13 @@
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
# For interactive shells
HISTFILE=~/.zhistory
HISTSIZE=10000
SAVEHIST=10000
setopt appendhistory autocd autopushd extendedglob nohup nomatch histignorespace histlexwords histverify cbases
unsetopt beep histbeep listbeep flowcontrol
bindkey -e
bindkey -v
# Completion
zstyle :compinstall filename '/home/david/.zshrc'
zstyle :compinstall filename "${HOME}/.zshrc"
autoload -Uz compinit && compinit
DIRSTACKSIZE=16
@@ -17,36 +18,66 @@ case $TERM in
esac
autoload -U colors && colors
PS1="%{%(!.$fg[red].$fg[green])%}%n%{$fg[white]%}@%{$fg[cyan]%}%m%{$fg[white]%}:%{$fg[green]%}%32<...<%~%<<%{$fg[white]%}%#%{$reset_color%} "
PS1="%{$fg[black]%}[%{$fg[yellow]%}%h%{$fg[black]%}] %{%(!.$fg[red].$fg[green])%}%8>..>%n%>>%{$fg[white]%}@%{$fg[blue]%}%12>..>%m%>>%{$fg[white]%}:%{$fg[green]%}%32<...<%~%<<%{$fg[white]%}%#%{$reset_color%} "
if [ `uname` != 'Darwin' ] ; then
# ls Colors
alias ls='ls --color'
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
else
alias ls='ls -G'
fi
# Load prezto
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
fi
# noglob scp is so annoying
unalias scp
# Overrides to prezto
unsetopt cdablevars
# .profile is universal
# but after zprezto to use/override anything setup there
. ~/.profile
# Deduplicate the path
typeset -U path
alias ls='ls --color'
# Load oh-my-zsh
if [ -d $HOME/.oh-my-zsh ] ; then
ZSH=$HOME/.oh-my-zsh
ZSH_THEME="matir"
ZSH_CUSTOM="$HOME/.zsh_custom"
plugins=(git encode64 gpg-agent pep8 pip python tmux urltools extract sudo virsh virtualenv)
source $ZSH/oh-my-zsh.sh
unset ZSH_THEME
unset ZSH_CUSTOM
fi
# Keybindings
bindkey '^[[A' history-search-backward
bindkey '^[[B' history-search-forward
# ctrl-arrow keys
bindkey '^[[1;5C' forward-word
bindkey '^[[1;5D' backward-word
bindkey '^P' up-history
bindkey '^N' down-history
bindkey '^?' backward-delete-char
bindkey '^h' backward-delete-char
# ok, a few convenience bindings
bindkey '^w' backward-kill-word
bindkey '^r' history-incremental-search-backward
# Source extras if interactive
# Source extras and aliases if interactive
if [[ $- == *i* ]] ; then
if [[ -e $HOME/.aliases ]] ; then source $HOME/.aliases ; fi
for file in $HOME/.zshrc.d/* ; do source "$file" ; done
fi
# In case ack is named ack-grep
if [ -x /usr/bin/ack-grep ] ; then
alias ack='/usr/bin/ack-grep'
fi
# Setup PATH for tools
PATH=${PATH}:${HOME}/bin/tools
# Most is nice, if we have it
if command -v most >/dev/null 2>&1; then
export PAGER="most"
fi
# Load any local settings
if [ -e $HOME/.zshrc.local ] ; then source $HOME/.zshrc.local ; fi

View File

@@ -1,4 +1,4 @@
if [ -f "`command which nasm`" -a -f "`command which objdump`" ] ; then
if [ -f "`command which nasm 2>/dev/null`" -a -f "`command which objdump 2>/dev/null`" ] ; then
assemble_shellcode() {
if [ -z "$1" ] ; then echo "Usage: $0 <assembly file>" >&2 ; return 1 ; fi
local NASM=`command which nasm`

View File

@@ -1,29 +0,0 @@
burp() {
setopt localoptions nullglob numeric_glob_sort
local NO_DOWNLOAD
local JAR
if (( ${+argv[(r)*no-download]} )) ; then
NO_DOWNLOAD=1
shift
else
NO_DOWNLOAD=0
fi
JAR=(${HOME}/bin/burpsuite*jar(On[1])) 2>/dev/null
if [ -z $JAR ] ; then
if (( $NO_DOWNLOAD )) ; then
echo "Not downloading, --no-download specified" >&2
return 1
fi
echo "Burp JAR not found in ${HOME}/bin. Attempting to download free edition." >&2
wget -q --content-disposition --no-server-response -P ${HOME}/bin \
https://portswigger.net/DownloadUpdate.ashx\?Product\=Free
if [ $? -ne 0 ] ; then
echo "Download failed." >&2
return 1
fi
burp --no-download "$@"
return $?
else
java -jar ${JAR} "$@"
fi
}

17
dotfiles/zshrc.d/gcloud.zsh Executable file
View File

@@ -0,0 +1,17 @@
#!/bin/zsh
GCL=${HOME}/tools/gcloud
if [ ! -d ${GCL} ] ; then
return
fi
# Add bin to path
export PATH="${PATH}:${GCL}/bin"
# Load completion
source ${GCL}/completion.zsh.inc
which kubectl 2>/dev/null >&2 && \
source <(kubectl completion zsh) || \
true

View File

@@ -1,4 +1,31 @@
prune-broken-symlinks() {
setopt localoptions nounset
find $1 -type l -xtype l -print -delete
local ASK
local DIR
local FINDCMD
local i
if [[ "${1:-}" == "-y" ]] ; then
ASK=0
shift
else
ASK=1
fi
DIR=${1:-.}
FINDCMD=(find ${DIR} -type l -xtype l)
if (($ASK)) ; then
local FILES
FILES=`${FINDCMD} -print`
if [[ "${FILES}" == "" ]] ; then
return 0
fi
echo ${FILES}
echo -n 'Delete these links? [y/n] '
if read -q ; then
${FINDCMD} -delete
fi
echo
else
${FINDCMD} -print -delete
fi
}

14
dotfiles/zshrc.d/rvm.zsh Normal file
View File

@@ -0,0 +1,14 @@
# Enable RVM if available
if [[ -s ${HOME}/.rvm/scripts/rvm ]] ; then
source ${HOME}/.rvm/scripts/rvm
else
function install_rvm {
export rvm_ignore_dotfiles=yes
pushd `mktemp -d`
curl -O https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer
curl -O https://raw.githubusercontent.com/rvm/rvm/master/binscripts/rvm-installer.asc
gpg --verify rvm-installer.asc && \
bash rvm-installer stable
popd
}
fi

View File

@@ -0,0 +1,6 @@
function site2pdf {
setopt localoptions nounset
local URL=${1}
local OUTFILE=${2}
command wkhtmltopdf -s Letter -q ${URL} ${OUTFILE}
}

View File

@@ -0,0 +1,6 @@
function source_gnupg {
GPG_ENV=${HOME}/.gnupg/gpg-agent.env
if test -f ${GPG_ENV} ; then
eval $(sed 's/^/export /' ${GPG_ENV})
fi
}

View File

@@ -0,0 +1,7 @@
update_skel() {
(cd $(dirname $(readlink $HOME/.profile)) &&
cd $(git rev-parse --show-toplevel) &&
git pull &&
./install.sh
)
}

View File

@@ -1,62 +1,65 @@
#!/bin/bash
#!/usr/bin/env bash
set nounset
set errexit
set -o nounset
set -o errexit
BASEDIR=${BASEDIR:-$HOME/.skel}
MINIMAL=${MINIMAL:-0}
INSTALL_KEYS=${INSTALL_KEYS:-1}
INSTALL_PKGS=${INSTALL_PKGS:-$((1 - ${MINIMAL}))}
case $(uname) in
Linux)
FINDTYPE="-xtype"
;;
Darwin|*BSD)
FINDTYPE="-type"
;;
*)
echo "Unknown OS: $(uname), guessing no GNU utils."
FINDTYPE="-type"
;;
esac
if [ ! -d $BASEDIR ] ; then
echo "Please install to $BASEDIR!" 1>&2
exit 1
fi
if which dpkg-query > /dev/null ; then
HAVE_X=`dpkg-query -s xserver-xorg | grep -c 'Status.*installed'`
else
HAVE_X=0
fi
IS_KALI=`grep -ci kali /etc/os-release 2>/dev/null`
ARCH=`uname -m`
function prerequisites {
# Prerequisites require git
if ! which git > /dev/null ; then
echo 'No git, not installing extras.' 1>&2
return
fi
if which zsh > /dev/null ; then
if [ `getent passwd $USER | cut -d: -f7` != `which zsh` ] ; then
echo 'Enter password to change shell.' 1>&2
chsh -s `which zsh`
fi
if [ ! -d $HOME/.oh-my-zsh ] ; then
git clone https://github.com/robbyrussell/oh-my-zsh.git $HOME/.oh-my-zsh
fi
is_comment() {
if [ $(echo "${1}" | cut -c1-1) = '#' ] ; then
true
else
echo "ZSH not found!" > /dev/stderr
fi
if which vim > /dev/null ; then
mkdir -p $HOME/.vim/bundle
if [ ! -d $HOME/.vim/bundle/Vundle.vim ] ; then
git clone https://github.com/VundleVim/Vundle.vim.git \
$HOME/.vim/bundle/Vundle.vim
fi
false
fi
}
function install_dotfile_dir {
prerequisites() {
if which zsh > /dev/null 2>&1 ; then
case $- in
*i*)
case `getent passwd $USER | cut -d: -f7` in
*/zsh)
;;
*)
if [ `id` -ne 0 ] ; then
echo 'Enter password to change shell.' >&2
fi
chsh -s `which zsh`
;;
esac
;;
esac
install_git --recursive https://github.com/sorin-ionescu/prezto.git $HOME/.zprezto
else
echo "ZSH not found!" >&2
fi
if which vim > /dev/null 2>&1 ; then
mkdir -p $HOME/.vim/bundle
install_git https://github.com/VundleVim/Vundle.vim.git \
$HOME/.vim/bundle/Vundle.vim
fi
}
install_dotfile_dir() {
local SRCDIR="${1}"
local dotfile
find "${SRCDIR}" \( -name .git -o \
-path "${SRCDIR}/private_dotfiles" -o \
-name install.sh -o \
-name README.md -o \
-name .gitignore \) \
-prune -o -type f -print | \
-prune -o ${FINDTYPE} f -print | \
while read dotfile ; do
local TARGET="${HOME}/.${dotfile#${SRCDIR}/}"
mkdir -p `dirname "${TARGET}"`
@@ -64,10 +67,11 @@ function install_dotfile_dir {
done
}
function install_basic_dir {
install_basic_dir() {
local SRCDIR="${1}"
local DESTDIR="${2}"
find "${SRCDIR}" -type f -print | \
local file
find "${SRCDIR}" ${FINDTYPE} f -print | \
while read file ; do
local TARGET="${2}/${file#${SRCDIR}/}"
mkdir -p `dirname "${TARGET}"`
@@ -75,14 +79,62 @@ function install_basic_dir {
done
}
function postinstall {
install_git() {
# Install or update a git repository
if ! which git > /dev/null ; then
return 1
fi
local REPO="${*: -2:1}"
local DESTDIR="${*: -1:1}"
set -- ${@:1:$(($#-2))}
if [ -d ${DESTDIR}/.git ] ; then
( cd ${DESTDIR} ; git pull -q )
else
if [ ${MINIMAL} -eq 1 ] ; then
git clone --depth 1 $* ${REPO} ${DESTDIR}
else
git clone $* ${REPO} ${DESTDIR}
fi
fi
}
add_bin_symlink() {
local LINKNAME=${HOME}/bin/${2:-`basename $1`}
if [ -e ${LINKNAME} -a ! -h ${LINKNAME} ] ; then
echo "Refusing to overwrite ${LINKNAME}" >&2
return 1
fi
ln -sf ${1} ${LINKNAME}
}
# Custom version of pwndbg's installer
install_pwndbg() {
if ! which gdb > /dev/null 2>&1 ; then
return 1
fi
install_git -b stable https://github.com/pwndbg/pwndbg.git $HOME/.pwndbg
mkdir -p $HOME/.pwndbg/vendor
local PYVER=$(gdb -batch -q --nx -ex 'pi import platform; print(".".join(platform.python_version_tuple()[:2]))')
local PYTHON=$(gdb -batch -q --nx -ex 'pi import sys; print(sys.executable)')
PYTHON="${PYTHON}${PYVER}"
local PY_PACKAGES=$HOME/.pwndbg/vendor
${PYTHON} -m pip install --target ${PY_PACKAGES} -Ur $HOME/.pwndbg/requirements.txt
${PYTHON} -m pip install --target ${PY_PACKAGES} -U capstone unicorn
# capstone package is broken
cp ${PY_PACKAGES}/usr/lib/*/dist-packages/capstone/libcapstone.so ${PY_PACKAGES}/capstone
}
postinstall() {
# Install Vundle plugins
if [ -d $HOME/.vim/bundle/Vundle.vim ] ; then
vim +VundleInstall +qall
fi
# Install other useful tools
install_git https://github.com/trustedsec/ptf.git ${HOME}/bin/ptframework && \
add_bin_symlink ${HOME}/bin/ptframework/ptf
}
function ssh_key_already_installed {
ssh_key_already_installed() {
# Return 1 if the key isn't already installed, 0 if it is
local AK="${HOME}/.ssh/authorized_keys"
if [ ! -f $AK ] ; then
@@ -92,25 +144,37 @@ function ssh_key_already_installed {
local TMPF=`mktemp`
local key
while read key ; do
if is_comment "${key}" ; then
continue
fi
echo "$key" > $TMPF
local EFP=`ssh-keygen -l -f ${TMPF} 2>/dev/null | awk '{print $2}'`
if [ "$EFP" == "$KEYFP" ] ; then
if [ "$EFP" = "$KEYFP" ] ; then
rm $TMPF 2>/dev/null
return 0
fi
done < <(grep -v '^#' ${AK})
done < ${AK}
rm $TMPF 2>/dev/null
return 1
}
function install_ssh_keys {
install_ssh_keys() {
# Install SSH keys
echo 'Installing SSH keys...' >&2
verbose 'Installing SSH keys...'
local AK="${HOME}/.ssh/authorized_keys"
local key
for key in ${BASEDIR}/keys/ssh/* ; do
local keydir
if test ${TRUST_ALL_KEYS} = 1 ; then
keydir=${BASEDIR}/keys/ssh
else
keydir=${BASEDIR}/keys/ssh/trusted
fi
for key in ${keydir}/* ; do
if [ ! -f "${key}" ] ; then
continue
fi
if ssh_key_already_installed "${key}" ; then
echo "Key `basename ${key}` already installed..." >&2
verbose "Key `basename ${key}` already installed..."
continue
fi
echo "# `basename ${key}` added from skel on `date +%Y-%m-%d`" >> ${AK}
@@ -118,20 +182,22 @@ function install_ssh_keys {
done
}
function install_gpg_keys {
install_gpg_keys() {
which gpg >/dev/null 2>&1 || \
return 0
local key
for key in ${BASEDIR}/keys/gpg/* ; do
gpg --import < ${key}
gpg --import < ${key} >/dev/null
done
}
function install_known_hosts {
echo 'Installing known hosts...' >&2
if [ ! -f ${BASEDIR}/keys/known_hosts ] ; then
install_known_hosts() {
verbose 'Installing known hosts...' >&2
if [ ! -f "${BASEDIR}/keys/known_hosts" ] ; then
return 0
fi
mkdir -p ${HOME}/.ssh
if [ -f ${HOME}/.ssh/known_hosts ] ; then
if [ -f "${HOME}/.ssh/known_hosts" ] ; then
local tmpf=`mktemp`
cat ${BASEDIR}/keys/known_hosts ${HOME}/.ssh/known_hosts | sort | uniq > $tmpf
mv $tmpf ${HOME}/.ssh/known_hosts
@@ -140,62 +206,214 @@ function install_known_hosts {
fi
}
function install_keys {
install_keys() {
install_ssh_keys
install_gpg_keys
install_known_hosts
}
function is_deb_system {
is_deb_system() {
test -f /usr/bin/apt-get
}
function run_as_root {
run_as_root() {
# Attempt to run as root
if [ ${USER} == "root" ] ; then
if [ ${USER} = "root" ] ; then
"$@"
return $?
elif groups | grep -q '\bsudo\b' ; then
echo "Using sudo to run ${1}..." >&2
elif test -x $(which sudo 2>/dev/null) ; then
verbose "Using sudo to run ${1}..."
sudo "$@"
return $?
fi
return 1
}
function install_pkg_set {
if [[ ! -f ${1} ]] ; then return 0 ; fi
run_as_root apt-get install -y `cat ${BASEDIR}/${1}`
install_pkg_set() {
local pkg_file=${BASEDIR}/${1}
local pkg_list=""
if [ ! -f "${pkg_file}" ] ; then
echo "Package set $(basename ${pkg_file}) does not exist." 1>&2
return 1
fi
while read line ; do
if is_comment "${line}" ; then
continue
fi
if [ -z "${line}" ] ; then
continue
fi
if apt-cache show ${line} >/dev/null 2>&1 ; then
pkg_list="${pkg_list} ${line}"
else
echo "Warning: package ${line} not found." >&2
fi
done < ${pkg_file}
if [ -n "${pkg_list}" ] ; then
verbose "Installing ${pkg_list}"
run_as_root apt-get install -qqy ${pkg_list}
fi
}
function install_apt_pkgs {
run_as_root apt-get update || \
install_apt_pkgs() {
run_as_root apt-get update -qq || \
( echo "Can't run apt-get commands" >&2 && \
return 1 )
install_pkg_set packages
(( $HAVE_X )) && install_pkg_set packages.X
(( $IS_KALI )) && install_pkg_set packages.kali
install_pkg_set packages.minimal
if test $MINIMAL = 1 ; then
return 0
fi
test $HAVE_X = 1 && install_pkg_set packages.X
test $IS_KALI = 1 && install_pkg_set packages.kali
install_pkg_set packages.${ARCH}
(( $HAVE_X )) && install_chrome
test $HAVE_X = 1 && install_chrome
}
function install_chrome {
install_chrome() {
local TMPD=`mktemp -d`
local CHROME_ARCH=`echo ${ARCH} | sed 's/x86_64/amd64/'`
dpkg-query -l 'google-chrome*' && return 0
dpkg-query -l 'google-chrome*' >/dev/null 2>&1 && return 0
/usr/bin/wget --quiet -O ${TMPD}/google-chrome.deb \
https://dl.google.com/linux/direct/google-chrome-beta_current_${CHROME_ARCH}.deb
run_as_root /usr/bin/dpkg -i ${TMPD}/google-chrome.deb || \
run_as_root /usr/bin/apt-get install -f -y || \
run_as_root /usr/bin/apt-get install -qq -f -y || \
( echo "Could not install chrome." >&2 && return 1 )
rm -rf ${TMPD}
}
read_saved_prefs() {
# Can't use basedir here as we don't have it yet
local old_pref_file=`dirname $0`/installed-prefs
local pref_file=`dirname $0`/.installed-prefs
if [ -f ${old_pref_file} -a ! -f ${pref_file} ] ; then
mv ${old_pref_file} ${pref_file}
fi
if [ -f ${pref_file} ] ; then
verbose "Loading saved skel preferences from ${pref_file}"
# source is a bashism
. ${pref_file}
fi
}
(( $MINIMAL )) || prerequisites
(( $INSTALL_PKGS )) && is_deb_system && install_apt_pkgs
install_dotfile_dir "${BASEDIR}/dotfiles"
test -d "${BASEDIR}/private_dotfiles" && \
install_dotfile_dir "${BASEDIR}/private_dotfiles"
install_basic_dir "${BASEDIR}/bin" "${HOME}/bin"
(( $MINIMAL )) || postinstall
(( $INSTALL_KEYS )) && install_keys
save_prefs() {
test $SAVE = 1 || return 0
local pref_file=${BASEDIR}/.installed-prefs
(echo_pref BASEDIR
echo_pref MINIMAL
echo_pref INSTALL_KEYS
echo_pref TRUST_ALL_KEYS
echo_pref INSTALL_PKGS
echo_pref VERBOSE) > $pref_file
}
echo_pref() {
eval "local val=\${$1}"
echo "$1=\${$1:-${val}}"
}
cleanup() {
# Needs zsh
if ! test -x /usr/bin/zsh ; then
return 0
fi
/usr/bin/zsh >/dev/null 2>&1 <<EOF
source ${BASEDIR}/dotfiles/zshrc.d/prune-broken-symlinks.zsh
prune-broken-symlinks -y ${HOME}/.zshrc.d
prune-broken-symlinks -y ${HOME}/bin
EOF
}
verbose() {
test ${VERBOSE:-0} = 1 && echo "$@" >&2 || return 0
}
# Operations
install_dotfiles() {
install_dotfile_dir "${BASEDIR}/dotfiles"
test -d "${BASEDIR}/private_dotfiles" && \
test -d "${BASEDIR}/.git/git-crypt" && \
install_dotfile_dir "${BASEDIR}/private_dotfiles" || \
true
test -d "${BASEDIR}/local_dotfiles" && \
install_dotfile_dir "${BASEDIR}/local_dotfiles" || \
true
}
install_main() {
test $MINIMAL = 1 || prerequisites
test $INSTALL_PKGS = 1 && is_deb_system && install_apt_pkgs
install_dotfiles
install_basic_dir "${BASEDIR}/bin" "${HOME}/bin"
test $MINIMAL = 1 || postinstall
test $INSTALL_KEYS = 1 && install_keys
save_prefs
cleanup
}
install_dconf() {
which dconf >/dev/null 2>&1 || return 1
find "${BASEDIR}/dconf" -type f -printf '/%P\n' | while read dcpath ; do
dconf load ${dcpath}/ < "${BASEDIR}/dconf/${dcpath}"
done
}
# Setup variables
read_saved_prefs
# Defaults if not passed in or saved.
# TODO: use flags instead of environment variables.
BASEDIR=${BASEDIR:-$HOME/.skel}
MINIMAL=${MINIMAL:-0}
INSTALL_KEYS=${INSTALL_KEYS:-1}
TRUST_ALL_KEYS=${TRUST_ALL_KEYS:-0}
INSTALL_PKGS=${INSTALL_PKGS:-0}
VERBOSE=${VERBOSE:-0}
SAVE=${SAVE:-1}
# Check prerequisites
if [ ! -d $BASEDIR ] ; then
echo "Please install to $BASEDIR!" 1>&2
exit 1
fi
if which dpkg-query > /dev/null 2>&1 ; then
HAVE_X=$(dpkg-query -s xserver-xorg 2>/dev/null | \
grep -c 'Status.*installed' \
|| true)
else
HAVE_X=0
fi
IS_KALI=$(grep -ci kali /etc/os-release 2>/dev/null || true)
ARCH=$(uname -m)
OPERATION=${1:-install}
case $OPERATION in
install)
install_main
;;
dotfiles)
install_dotfiles
;;
package*)
PKG_SET=${2:-minimal}
install_pkg_set packages.${PKG_SET}
;;
pwndbg)
install_pwndbg
;;
test)
# Do nothing, just sourcing
set +o errexit
;;
dconf)
# Load dconf
install_dconf
;;
*)
echo "Unknown operation $OPERATION." >/dev/stderr
exit 1
;;
esac

View File

@@ -804,46 +804,99 @@ OGHusVuvWLzNNzOrPlixNJFAS87nfi3CQsH4QUGI5TL3K5smNURLPF2Cjp484LXa
9X1nXgIFMt4+NBcpvMXP5RnwNW+3jQUWqbaeyGIe5gEyszL0Ksh2Vs4hvYIPRWJm
Yn7Mxy2O2QKMSsZy/G57TGEhbVXOMz6phVxuSgPYxSP1PsNHO6Cfr/hwrz0PqQeY
qm7Ig0R/grVwb1ElHH9PGXvV0a2odMPZHztfPGyKyQpHxc0deK32a+39WM20EDx4
L+5Dan4izTsjic+bu37CAKi4QOVr/sQ8vXR10fwMVlruuQENBE1lmbYBCADDdorB
Nuy99fK4y4CtRoHFWBG1Uac21mp9qNpCTKEp4No6deBIEpdBo1+mt0r2pi+CYzt2
UbBAs+3J9AWxZEbvhcTtImEEKjBgqADKNt12IrugbK9H0zbdqAC/HMl0N82dnEes
EHgFmRqSiatUt+2lb5rdBoTOpIAkYWDeFDEX96qKJ6NCE7F5D8iDJxhvWtKOoG4I
mjc3GkC/X0zXAtmwboAY5OIDKYkhCIaXjFZJkPg9hVagL97OjL/LzY3AXCsvUnS8
TCIrZUUfVbcfrYXc8CenpTrImCglz9rpQY1plhIXX96KL5spsE5okVE4AhuXZ3Cx
Fz8BRHKtFLKH9GCRABEBAAGJAiUEGAEKAA8FAk1lmbYCGyAFCQPCZwAACgkQ9Nen
kV3qeJudbBAAqDTLb8XYfjCDCMxvnYzX5euO29Exx1C0A2DxX5zv1ffsmqQzjzxT
ITMDSJcE8fsU+oEynvytS4PlvDykbYrO+RXP0Uu2KfJPr0pAl9O7YwCoaPOPhjrs
pUCrqkpMWJAwCvjTM8IXttYchEmfXrOI4FXFkfu54IjNkHegeGfLscKAMKVnnkk/
rVhLmPGS7CrJJcFugOM10DTw/5L6eAHmnXRF4d83q1Iq/9tzam0bw6WXuoeFTijB
tx86F8gSRNPnqAK2FX1xT0r3GT7wHNUPxzkbrEcnX5N/oPKnqjjwyANKlAttcLDX
25K0RmdQDhy+s4PSIHj1kTXXFxqOOaAiI1Zkxzk22T2PNJfB8tQGS52wTIgkj8bY
1Xq/b3cx51EQmbjha5XKP0/JMbwGHQScRSe2eiaQmpSvPfj0gxN1xNDbV/31+p4Z
aVd8NoRZVcOrvRVDk6Ta9iFwyLrEkbq3EZT16mKWSXh0rw/YlAcxgFmbaU36hFFg
egcEh+v+bxsXnMLCFn1pp61ISC7c9cuEiFdBRv5V1ZHe8sg23kEJErKHs6IPHOJ9
ThCfPKGJHQ9r4omOsePIs87UktF0/omjH7SdG+Tfr1avT9VC2U/tARGBXGtlE6YK
wy/vCfdUtSaoPxOeMqO8B/nAx+hOe8CCY/ZMuq49sXF2oXzHtORIPO2JAiUEGAEK
AA8CGyAFAlCutV0FCQcLgqUACgkQ9NenkV3qeJsKBQ//YwgnDccZWCg1JBWSpaf/
56GtmPKCdzraxg3xt3RzMY0j+dfWotY7V9SeC21Nys/Ro8kfEmsfuIKpRRcqboEn
rFYi7kfEmSy8iXrquZwuZyT9Ld06+BNAyYjDxj7lFgv+r71B/NnZFcNOjetINqBI
ulEAiA+NoNT39300+ykUE/HkdfgBpexhRhDBJL4JSAv46bb02s1hbZT4rN43B8Xp
0BwIjS6fLNKy5GbV5E0lf6cnfJTAfDDLypsAOtdvVIAoG1ZR9M3jdzVT4RKXFkZC
bQepVk2SvzYtPHiPUU9iv6Y9VlGnwE5qvADX1ICsO4nY57hylQ7An0AYAjMr8lGr
L7F2//0n9j61SjRhVExjBqE74JQ+jnqFADcJcHaRZZU+iDZTLp1Ktw39cbp8GdF2
G4NJk438xqGcNE4TNPYH3QWC57t/ZjHkgbmkOryMtVlnplezC/MciK207XnGMHX0
n9P6k13kbI9cjGOLAc5S/1pcGcx4d6NwLKSO6EO6f5Z4qFTfl4nWf9nEVFfh09oz
tx4yp9d5VF/VsJhodfWE0a9aGIMOLYhylrzMaNIhYKcngAQj5BzQviJDt2W/0t/5
mSb7K8x3nxDNLPyoTehzexoqZFOsh3N3NOlKiWUn2zsWA7ncRRiY+c7E01Ro2D6D
FFXPxC7MQV1mLINSvvaRIDuJAiUEGAEKAA8CGyAFAlSY+kwFCQr1x5MACgkQ9Nen
kV3qeJvhjA/9EC091GPhRpdP/j1lcdM7Pi6rIiSnqqNr66Xpf76MOmOeDBrJvqEX
vDbYbwZCk9Wnhxb23ujXOfw1UJ1hUUwDmeblTWK9JqpuzQRApT8rvEAhYH5fuwwR
ZHUastJIiRnn23Obn6vASPjxLHfUyKcITptP5cOvHDshL928+NgWZNVKQLzv6a65
kw7e6i3+hOGqcFSIyUl1avH0VPNDUrne6HvvopP+FQB2NK3JYHRuMfe7S5zVuCCT
820i1u35dKFhSjLC2q1X8Pvxdb+yPb/17Wmb/3LVI8o+3eLf48EawE4oweLaDbpQ
/YbZhEmZ0lM+xIgLq/LL9tieljOWKTh+lUQTr/8WNAvGVgy/QXRIhzp4rzgQLnrO
j3oFYEuDwmAnNbyVJJMaDMWm5ojuCzAwK5+dsR+lSRRnx7RNRcsCbUkTJzgTfdzH
BX4GMy+nGsFApiJo0fidOvkkE3nV+YmVgG9I/hPo6lP7Hyq2sl+2mvbrGf9SENaa
C3XM+MCZUH7TBVXxcEM3slkhlIyvpBTPeHH8o0Qg0sgXIN3bpd/T04OgGn0RvPS9
Zc6CtIp1ZByX/E4pbF5oKkdsVEk8Y6okWIXOChzj0pexx3L9h5Z3sGYJeA+i+ug2
ZelTXg2THa9Q57daRsN9W+fcI4Eb4eIhS2JdANXEZ/OJUtZ3c1LNhmI=
=rBp2
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
aXI/Maioszm5pco=
=wlrV
-----END PGP PUBLIC KEY BLOCK-----

80
keys/gpg/rvm.key Normal file
View File

@@ -0,0 +1,80 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
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
=a7HI
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDYQOAB5bJ9DjMXyY67GEI99kK1LG8XF+cWJ4md52rPnOeJd0da7l26bn9NtXCma6DP5gZQArfxHsPh7I4SbYJRYxTCCCE/Jsd8mLB22DcoeY+MqPA2g71j3KrYsvuJC++9GHK2Xc7ZRmhAugEmC/NAdtORBVhtBSAUgyCmUczKHoCAqHmq8j54En8kRYjbvlHPpDsNoRuhcH5uDGBIVkbV7UtBl2oUlRNVw7grs6XS7cPU2zCQSxcrRRuAfV4hmGG2eKaPpieNg0MAAbR0G5ssWW3IuYwd1ys5wA0YQuWUhxadUuYc46/cqyyoVIFlfjxCVTX+2w3900SDPOF/YrOwctAb23+78WN6GPnAmmS3zcmXTGsJiw/mmyBlqYI/JdSgrgI+COlcP0rlF/uklzEywfD91m1lno1u2IApdAumZWHR8aFnpHQXfI6rWc1o/V+RBpz5Xe6D2h9CPT3AE303BV09HGmidb0t6bCKoabTDwvE+KojIcbKBji6g8V6KTM=

View File

@@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIsFYLEsalNh/l6PtMZhi0f/eZ22uoMw/xYpgPy6vBU6OlpN2FjW7R0pwX29fZjjVQoF0eEG0K/9/CcYcnxtspw= chronos@localhost

View File

@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHPlKI3Mt2Hm4YZ0WNOET7SEoXmAABR+eEZ3hnJnA9AJ davidtomaschik@davidtomaschik-glaptop3

View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClvMvarQvGaFYhUazA+GN0C2XaU4vHmsvD3G99PJqmd9SGrzSvWw2ZuJwYWQCag4Ft5Zy/A3NZ0/a4ohPbWFF4iX9LnAqSKgMDPv3R3VokW04bFm5uDhXF0lJDOWb8aJuFl56SP2lnbWyP8P8d+3MaFCcuw3F23CS/0ZO5w7CsPsHkvWkmykCB6z/Ju/kqvXK5qYKjAVkZ80LMDNppjN5zZhFZs721zuuMmpFevcfG5c43KujcR/yDfB+t3yfWmaWi21KDapdHXk5lQoxsg6OZe6Wuj7jQq+Zol+ElxD+gn7z2LWXq8a3wyyvGSoKyBfHBjrwzEuUEFbvn5iatPJVX davidtomaschik@davidtomaschik-glaptop2

View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDi2AoHzzSd/xidvRKS1OE7Pe+aGgyEY1WmWJGJ3POHuaQSbGrp4g1En4QurhXwonPiLBtQ0w6Nbbi/3vrXxSnAkJJKd9LXQtjyXVN68285lRr3DWuWnyokhO3B5aGOb5/4b6Dn8YDRrTRefezjbVavgrTFarZ19PmPmJxH9h+ZPV/hNQ6rZjBjrvGerxpmB6CjgXbIxRdsUcnao3+gyPueBOkyHbfiy7QjQT+SgPjIqT/rza4Q0OqFBTk4D7Y96biE5yY31eNs8H7uvR3PfX0NN5zvP/EqJECPYr/B3vOzAr7B8BsqYbA5UFexrp6gYn+LDzr6jAILhEUp8SsC8UFn davidtomaschik@davidtomaschik-glaptop3

View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXvqt73qAqS8C597u1wjz0Cvfo1IpiQFE4OKxTBR0mUhhi9UsGXkjZd/EYnqfWQRLcKaQSqN9QcXW7zHrfXtdmcjr3dDZrwXGgCiJnvLTeLecLqYwgaIMMNTmgaTQ3OFB74VCeD496pMbnhmlsN2+WaxNjIxoX+Qadsq/iHtBBt+tSOm5E1x0/ynEGmvO1W0L+8FyV/xnZWQIbBHTrJ931Gt8RDKtt7Y24XYMm5REye40adbxeS4kBwexvp2nTKwkr8sC26dmOz/RgJG3Km1194r0RXsH7iCYYlUBT23f4KOcmVxUlxkSu5d0u2viEID++cN6LT/4rHPdgqMZaVhaB root@uber

1
keys/ssh/id_rsa_uber.pub Normal file
View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ5FLvZsfIfNV8NcUK6+wJ8pDapgu8QAZMX5zuz+fYxsf3KeHlDS0nPojmDLCXaAdd4TUO7KlRyo8BhpsWP8yUwpxUeRgvtYjjWfDgSxXCsGpQzbmTABu8eIaSya00Fao/WeIV1k+2p6S80knmllrBVideGW9ws4zrVQnhOcgKVXskuFBEs3IOQczNPMfI+OnO+qca0rjUh1Z6k3tD6tN6pxh//5CZBgqYf4G1DLnCLIep7tDkTuYjgqH237r6v4WHH87sLRy21yFRzfMWUGPesJvuc8X4Ol822BuQWTCDYy+QYZ9qGDWPcLOLCg7MLP9IVKzIJOrAdOYyp6p2brzj davidtomaschik@uber.g

1
keys/ssh/matir_pvj.pub Normal file
View File

@@ -0,0 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3CLK0KLup0y8nb1l5X9LTVsvJG1scc7qbLJZIdGC0TlFeAbzUwXmxxJUY/dl/2JKGj9Ai3h393WzxH//tMY4jYLhMLqV487YvteVF+2yVS+q0YtO4RgM6TVOvdp1b4Fgj4EB5hTaO0hB51PxTqnVAK0ZMAuUxQRygpARnB+xwhLU2l0K07RHgpMirWODzzlgD3Y9I+3WIpmAwzubaoS1/R0Frf81ZWQmgvwac6PKsPwvGLygS1ounOwD2PJScP+sE/t2MEYjtqmmAytqsp5kLVkb82fJSkdj1DuHblgZr4aX9r04bVV1ju19CN57VyhbZtf+fBqQQW1lnjMYm9Kjn matir_pvj

View File

@@ -0,0 +1 @@
../5dea789b_subkey.pub

Some files were not shown because too many files have changed in this diff Show More