44 Commits
v0.2 ... prezto

Author SHA1 Message Date
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
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
48 changed files with 752 additions and 231 deletions

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

View File

@@ -8,10 +8,13 @@ alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo
alias luksFormat='cryptsetup luksFormat -s 512 -c aes-xts-plain64 -h sha256 -i 15000'
# Colors
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,9 +28,6 @@ alias mdcode="sed 's/^/ /'"
# Intel format plz
alias objdump="command objdump -M intel"
# 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 &"
# Useful directory utilities
alias dircount="for d in * ; do find \$d -type d | wc -l | tr -d '\n' ; echo ' ' \$d ; done | sort -n"

View File

@@ -40,3 +40,6 @@ if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
fi
if [[ -e $HOME/.aliases ]] ; then source $HOME/.aliases ; fi
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"

View File

@@ -39,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:"
@@ -51,5 +53,8 @@
[url "git@gist.github.com:"]
pushInsteadOf = "gist:"
pushInsteadOf = "git://gist.github.com/"
[credential]
helper = cache --timeout=36000
[receive]
denyCurrentBranch = updateInstead

View File

@@ -2,3 +2,6 @@
test -f "$HOME/.env" && . "$HOME/.env"
test -f "${HOME}/.profile.local" && . "${HOME}/.profile.local"
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"

View File

@@ -1,5 +1,5 @@
#
# alias.conf -- weechat v1.0.1
# weechat -- alias.conf
#
[cmd]

View File

@@ -1,5 +1,5 @@
#
# aspell.conf -- weechat v1.0.1
# weechat -- aspell.conf
#
[color]

View File

@@ -1,5 +1,5 @@
#
# charset.conf -- weechat v1.0.1
# weechat -- charset.conf
#
[default]

View File

@@ -1,5 +1,5 @@
#
# exec.conf -- weechat v1.0.1
# weechat -- exec.conf
#
[command]

View File

@@ -1,8 +1,10 @@
#
# irc.conf -- weechat v1.0.1
# 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
@@ -25,7 +27,6 @@ highlight_channel = "$nick"
highlight_pv = "$nick"
highlight_server = "$nick"
highlight_tags_restrict = "irc_privmsg,irc_notice"
item_away_message = on
item_channel_modes_hide_args = "k"
item_display_server = buffer_plugin
item_nick_modes = on
@@ -34,9 +35,6 @@ join_auto_add_chantype = off
msgbuffer_fallback = current
new_channel_position = none
new_pv_position = none
nick_color_force = ""
nick_color_hash = sum
nick_color_stop_chars = "_|["
nick_completion_smart = speakers
nick_mode = prefix
nick_mode_empty = off
@@ -58,11 +56,11 @@ 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_away = yellow
item_channel_modes = default
item_lag_counting = default
item_lag_finished = yellow
@@ -73,14 +71,15 @@ 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]
alternate_nick = on
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
@@ -90,6 +89,7 @@ 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
@@ -115,16 +115,19 @@ capabilities = ""
command = ""
command_delay = 0
connection_timeout = 60
default_msg_kick = ""
default_msg_part = "gg"
default_msg_quit = "gg! I'm out."
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
@@ -152,11 +155,14 @@ 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
@@ -170,9 +176,9 @@ freenode.anti_flood_prio_high
freenode.anti_flood_prio_low
freenode.away_check
freenode.away_check_max_nicks
freenode.default_msg_kick
freenode.default_msg_part
freenode.default_msg_quit
freenode.msg_kick
freenode.msg_part
freenode.msg_quit
freenode.notify
hak5.addresses = "irc.hak5.org/6697"
hak5.proxy
@@ -188,17 +194,20 @@ 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"
hak5.autojoin = "#hak5,#pineapple,#ducky,#SDR,#lanturtle,#bashbunny"
hak5.autorejoin
hak5.autorejoin_delay
hak5.connection_timeout
@@ -206,9 +215,9 @@ hak5.anti_flood_prio_high
hak5.anti_flood_prio_low
hak5.away_check
hak5.away_check_max_nicks
hak5.default_msg_kick
hak5.default_msg_part
hak5.default_msg_quit
hak5.msg_kick
hak5.msg_part
hak5.msg_quit
hak5.notify
rpisec.addresses = "irc.rpis.ec/6697"
rpisec.proxy
@@ -224,11 +233,14 @@ 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
@@ -242,9 +254,9 @@ rpisec.anti_flood_prio_high
rpisec.anti_flood_prio_low
rpisec.away_check
rpisec.away_check_max_nicks
rpisec.default_msg_kick
rpisec.default_msg_part
rpisec.default_msg_quit
rpisec.msg_kick
rpisec.msg_part
rpisec.msg_quit
rpisec.notify
overthewire.addresses = "ircs.overthewire.org/6697"
overthewire.proxy
@@ -260,11 +272,14 @@ 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
@@ -278,7 +293,85 @@ overthewire.anti_flood_prio_high
overthewire.anti_flood_prio_low
overthewire.away_check
overthewire.away_check_max_nicks
overthewire.default_msg_kick
overthewire.default_msg_part
overthewire.default_msg_quit
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

View File

@@ -1,5 +1,5 @@
#
# logger.conf -- weechat v1.0.1
# weechat -- logger.conf
#
[look]

View File

@@ -1,10 +1,11 @@
#
# plugins.conf -- weechat v1.0.1
# 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"

View File

@@ -1,5 +1,5 @@
#
# relay.conf -- weechat v1.0.1
# weechat -- relay.conf
#
[look]
@@ -18,6 +18,7 @@ text_bg = default
text_selected = white
[network]
allow_empty_password = off
allowed_ips = ""
bind_address = ""
clients_purge_delay = 0
@@ -26,12 +27,14 @@ 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] "

View File

@@ -1,5 +1,5 @@
#
# script.conf -- weechat v1.0.1
# weechat -- script.conf
#
[look]
@@ -43,6 +43,8 @@ text_version_selected = lightmagenta
[scripts]
autoload = on
cache_expire = 1440
dir = "%h/script"
download_timeout = 30
hold = ""
path = "%h/script"
url = "http://weechat.org/files/plugins.xml.gz"
url_force_https = on

View File

@@ -1,5 +1,5 @@
#
# sec.conf -- weechat v1.0.1
# weechat -- sec.conf
#
[crypt]
@@ -10,4 +10,4 @@ salt = on
[data]
__passphrase__ = on
relay_password = "F72F34E668B7CE288A36F20629885B9A985EAE9ED04E80C37BF6176FAF8404EE3E0D5D22A6C8E7681ACC0899FB888436AF200183A27591"
relay_password = "D1FD30C08951B1A5BCBBB7EE6AAFB6AF9B86017B353182A1CA8826D5A98EB88E7E723591C544FC41A6913EA67E8764E50BDD8A5AD3D0A0"

View File

@@ -1,5 +1,5 @@
#
# trigger.conf -- weechat v1.0.1
# weechat -- trigger.conf
#
[look]
@@ -9,6 +9,7 @@ monitor_strip_colors = off
[color]
flag_command = lightgreen
flag_conditions = yellow
flag_post_action = lightblue
flag_regex = lightcyan
flag_return_code = lightmagenta
regex = white
@@ -22,6 +23,7 @@ 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"
@@ -29,6 +31,7 @@ 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"
@@ -36,6 +39,7 @@ 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"
@@ -43,5 +47,6 @@ 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

@@ -1,5 +1,5 @@
#
# weechat.conf -- weechat v1.0.1
# weechat -- weechat.conf
#
[debug]
@@ -38,7 +38,9 @@ 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) --"
@@ -65,17 +67,24 @@ 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
@@ -95,6 +104,9 @@ 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 = "- "
@@ -112,6 +124,8 @@ 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]
@@ -155,13 +169,14 @@ 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
nicklist_offline = blue
separator = blue
status_count_highlight = magenta
status_count_msg = brown
@@ -173,6 +188,7 @@ 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
@@ -181,6 +197,7 @@ status_time = default
[completion]
base_word_until_cursor = on
command_inline = on
default_template = "%(nicks)|%(irc_channels)"
nick_add_space = on
nick_completer = ":"
@@ -203,7 +220,7 @@ max_visited_buffers = 50
[network]
connection_timeout = 60
gnutls_ca_file = "/etc/ssl/certs/ca-certificates.crt"
gnutls_ca_file = "~/.weechat/certs/ca-certificates.crt"
gnutls_handshake_timeout = 30
proxy_curl = ""

View File

@@ -1,5 +1,5 @@
#
# xfer.conf -- weechat v1.0.1
# weechat -- xfer.conf
#
[look]

View File

@@ -1,3 +1,4 @@
setxkbmap -option ctrl:nocaps
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"

View File

@@ -79,7 +79,7 @@ function jekyll {
case "${1:-help}" in
help|--help)
command jekyll help
echo "Added by oh-my-zsh plugin:"
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."
@@ -112,11 +112,11 @@ function jekyll {
fi
FILENAME=$(_jekyll_find_post "${TITLE}" "${SLUG}" "${JEKYLL_DIR}")
if [ $? -ne 0 ] ; then
return
return 1
fi
if ! [[ "${FILENAME}" =~ '/_drafts/' ]] ; then
echo "${FILENAME} is not a draft." >&2
return
return 1
fi
NEWNAME=$(echo "${FILENAME}" | sed "s/_drafts\//_posts\/${DATE}-/")
mv "${FILENAME}" "${NEWNAME}"

View File

@@ -0,0 +1,36 @@
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
zstyle ':vcs_info:*' enable git
zstyle ':vcs_info:*' check-for-changes true
zstyle ':vcs_info:*' formats ' (%b%u)'
zstyle ':vcs_info:*' stagedstr '*'
zstyle ':vcs_info:*' unstagedstr '*'
# TODO: add virtualenv/rvm info
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]%}${vcs_info_msg_0_}%{$fg[white]%}%#%{$reset_color%} '
# 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)%}'
}
function prompt_matir_precmd {
vcs_info
}
prompt_matir_setup "$@"

230
dotfiles/zpreztorc Normal file
View File

@@ -0,0 +1,230 @@
#
# 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' \
'history-substring-search' \
'jekyll' \
'prompt' \
'xtra_completions'
#
# Autosuggestions
#
# Set the query found color.
# zstyle ':prezto:module:autosuggestions:color' found ''
#
# Completions
#
# 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' \
# 'cursor' \
# 'root'
#
# 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 'yes'
# 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,59 +0,0 @@
# Custom plugin to handle gpg-agent 2.1
local GPG_ENV=$HOME/.gnupg/gpg-agent.env
function start_agent_nossh {
eval $(/usr/bin/env gpg-agent --quiet --daemon --write-env-file ${GPG_ENV} 2> /dev/null)
chmod 600 ${GPG_ENV}
export GPG_AGENT_INFO
}
function start_agent_withssh {
eval $(/usr/bin/env gpg-agent --quiet --daemon --enable-ssh-support --write-env-file ${GPG_ENV} 2> /dev/null)
chmod 600 ${GPG_ENV}
export GPG_AGENT_INFO
export SSH_AUTH_SOCK
export SSH_AGENT_PID
}
if [ -z "${GPG_AGENT_INFO}" ] ; then
if which gpgconf >/dev/null 2>&1 ; then
GPG_AGENT_INFO=$(gpgconf --list-dirs agent-socket)
export GPG_AGENT_INFO
if [ -z "${SSH_AUTH_SOCK}" ] ; then
SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket)
export SSH_AUTH_SOCK
fi
fi
fi
# check if another agent is running
if ! gpg-connect-agent --agent-program /dev/null --quiet /bye > /dev/null 2> /dev/null; then
# source settings of old agent, if applicable
if [ -f "${GPG_ENV}" ]; then
# This can be clobbered by the file
local OLD_SSH_AUTH_SOCK=${SSH_AUTH_SOCK}
. ${GPG_ENV} > /dev/null
export GPG_AGENT_INFO
export SSH_AUTH_SOCK
export SSH_AGENT_PID
fi
# check again if another agent is running using the newly sourced settings
if ! gpg-connect-agent --agent-program /dev/null --quiet /bye > /dev/null 2> /dev/null; then
# check for existing ssh-agent
if [ -n "${OLD_SSH_AUTH_SOCK}" ] ; then
SSH_AUTH_SOCK=${OLD_SSH_AUTH_SOCK};export SSH_AUTH_SOCK
fi
if ssh-add -l > /dev/null 2> /dev/null; then
# ssh-agent running, start gpg-agent without ssh support
start_agent_nossh;
else
# otherwise start gpg-agent with ssh support
start_agent_withssh;
fi
fi
fi
GPG_TTY=$(tty)
export GPG_TTY

View File

@@ -1,7 +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[magenta]%}$(virtualenv_prompt_info)%{$fg[blue]%}$(git_prompt_info)%{$fg[white]%}%#%{$reset_color%} '
ZSH_THEME_GIT_PROMPT_PREFIX=" ("
ZSH_THEME_GIT_PROMPT_SUFFIX=")"
ZSH_THEME_VIRTUALENV_PREFIX=" (py:"
ZSH_THEME_VIRTUALENV_SUFFIX=")"
# vim: set textwidth=0 wrapmargin=0:

View File

@@ -20,20 +20,17 @@ esac
autoload -U colors && colors
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%} "
# LS Colors
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 oh-my-zsh
if [ -d $HOME/.oh-my-zsh ] ; then
ZSH=$HOME/.oh-my-zsh
ZSH_THEME="matir"
ZSH_CUSTOM="$HOME/.zsh_custom"
plugins=(encode64 gpg-agent pep8 pip python tmux urltools extract sudo virsh virtualenv jekyll metasploit gcloud safe-paste)
test -f /usr/share/virtualenvwrapper/virtualenvwrapper.sh && plugins+=(virtualenvwrapper)
source $ZSH/oh-my-zsh.sh
unset ZSH_THEME
unset ZSH_CUSTOM
# Load prezto
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
fi
# .profile is universal
@@ -60,6 +57,11 @@ if [ -x /usr/bin/ack-grep ] ; then
alias ack='/usr/bin/ack-grep'
fi
# 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
@@ -71,3 +73,6 @@ function start_esp {
export PATH="${PATH}:${HOME}/tools/esp/xtensa-esp32-elf/bin"
export IDF_PATH="${HOME}/tools/esp/esp-idf"
}
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"

View File

@@ -1,17 +1,46 @@
#!/bin/bash
#!/usr/bin/env bash
set -o nounset
set -o errexit
function prerequisites {
case $(uname) in
Linux)
FINDTYPE="-xtype"
;;
Darwin|*BSD)
FINDTYPE="-type"
;;
*)
echo "Unknown OS: $(uname), guessing no GNU utils."
FINDTYPE="-type"
;;
esac
is_comment() {
if [ $(echo "${1}" | cut -c1-1) = '#' ] ; then
true
else
false
fi
}
prerequisites() {
if which zsh > /dev/null 2>&1 ; then
if [[ $- == *i* ]] ; then
if [[ `getent passwd $USER | cut -d: -f7` != */zsh ]] ; 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`
fi
fi
install_git https://github.com/robbyrussell/oh-my-zsh.git $HOME/.oh-my-zsh
;;
esac
;;
esac
install_git --recursive https://github.com/sorin-ionescu/prezto.git $HOME/.zprezto
else
echo "ZSH not found!" >&2
fi
@@ -22,7 +51,7 @@ function prerequisites {
fi
}
function install_dotfile_dir {
install_dotfile_dir() {
local SRCDIR="${1}"
local dotfile
find "${SRCDIR}" \( -name .git -o \
@@ -30,7 +59,7 @@ function install_dotfile_dir {
-name install.sh -o \
-name README.md -o \
-name .gitignore \) \
-prune -o -xtype f -print | \
-prune -o ${FINDTYPE} f -print | \
while read dotfile ; do
local TARGET="${HOME}/.${dotfile#${SRCDIR}/}"
mkdir -p `dirname "${TARGET}"`
@@ -38,11 +67,11 @@ function install_dotfile_dir {
done
}
function install_basic_dir {
install_basic_dir() {
local SRCDIR="${1}"
local DESTDIR="${2}"
local file
find "${SRCDIR}" -xtype f -print | \
find "${SRCDIR}" ${FINDTYPE} f -print | \
while read file ; do
local TARGET="${2}/${file#${SRCDIR}/}"
mkdir -p `dirname "${TARGET}"`
@@ -50,7 +79,7 @@ function install_basic_dir {
done
}
function install_git {
install_git() {
# Install or update a git repository
if ! which git > /dev/null ; then
return 1
@@ -58,10 +87,10 @@ function install_git {
local REPO="${*: -2:1}"
local DESTDIR="${*: -1:1}"
set -- ${@:1:$(($#-2))}
if [[ -d ${DESTDIR}/.git ]] ; then
if [ -d ${DESTDIR}/.git ] ; then
( cd ${DESTDIR} ; git pull -q )
else
if [[ ${MINIMAL} -eq 1 ]] ; then
if [ ${MINIMAL} -eq 1 ] ; then
git clone --depth 1 $* ${REPO} ${DESTDIR}
else
git clone $* ${REPO} ${DESTDIR}
@@ -69,9 +98,9 @@ function install_git {
fi
}
function add_bin_symlink {
add_bin_symlink() {
local LINKNAME=${HOME}/bin/${2:-`basename $1`}
if [[ -e ${LINKNAME} && ! -h ${LINKNAME} ]] ; then
if [ -e ${LINKNAME} -a ! -h ${LINKNAME} ] ; then
echo "Refusing to overwrite ${LINKNAME}" >&2
return 1
fi
@@ -79,7 +108,7 @@ function add_bin_symlink {
}
# Custom version of pwndbg's installer
function install_pwndbg {
install_pwndbg() {
if ! which gdb > /dev/null 2>&1 ; then
return 1
fi
@@ -95,56 +124,53 @@ function install_pwndbg {
cp ${PY_PACKAGES}/usr/lib/*/dist-packages/capstone/libcapstone.so ${PY_PACKAGES}/capstone
}
function postinstall {
postinstall() {
# Install Vundle plugins
if [[ -d $HOME/.vim/bundle/Vundle.vim ]] ; then
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
# Refresh all gpg keys
if test -x "`which gpg2`" ; then
gpg2 --refresh-keys
else
gpg --refresh-keys
fi
}
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
if [ ! -f $AK ] ; then
return 1
fi
local KEYFP=`ssh-keygen -l -f $1 2>/dev/null | awk '{print $2}'`
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
verbose 'Installing SSH keys...'
local AK="${HOME}/.ssh/authorized_keys"
local key
local keydir
if (( ${TRUST_ALL_KEYS} )) ; then
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
if [ ! -f "${key}" ] ; then
continue
fi
if ssh_key_already_installed "${key}" ; then
@@ -156,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} >/dev/null
done
}
function install_known_hosts {
install_known_hosts() {
verbose 'Installing known hosts...' >&2
if [[ ! -f ${BASEDIR}/keys/known_hosts ]] ; then
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
@@ -178,19 +206,19 @@ 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
@@ -201,15 +229,15 @@ function run_as_root {
return 1
}
function install_pkg_set {
install_pkg_set() {
local pkg_file=${BASEDIR}/${1}
local pkg_list=""
if [[ ! -f ${pkg_file} ]] ; then return 0 ; fi
cat ${pkg_file} | while read line ; do
if [[ ${line:0:1} == '#' ]] ; then
if [ ! -f "${pkg_file}" ] ; then return 0 ; fi
while read line ; do
if is_comment "${line}" ; then
continue
fi
if [[ -z ${line} ]] ; then
if [ -z "${line}" ] ; then
continue
fi
if apt-cache show ${line} >/dev/null 2>&1 ; then
@@ -217,22 +245,28 @@ function install_pkg_set {
else
echo "Warning: package ${line} not found." >&2
fi
done
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 {
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*' >/dev/null 2>&1 && return 0
@@ -244,17 +278,18 @@ function install_chrome {
rm -rf ${TMPD}
}
function read_saved_prefs {
read_saved_prefs() {
# Can't use basedir here as we don't have it yet
local pref_file=`dirname $0`/installed-prefs
if [ -f ${pref_file} ] ; then
verbose "Loading saved skel preferences from ${pref_file}"
source ${pref_file}
# source is a bashism
. ${pref_file}
fi
}
function save_prefs {
(( $SAVE )) || return 0
save_prefs() {
test $SAVE = 1 || return 0
local pref_file=${BASEDIR}/installed-prefs
(echo_pref BASEDIR
echo_pref MINIMAL
@@ -264,11 +299,12 @@ function save_prefs {
echo_pref VERBOSE) > $pref_file
}
function echo_pref {
echo "$1=\${$1:-${!1}}"
echo_pref() {
eval "local val=\${$1}"
echo "$1=\${$1:-${val}}"
}
function cleanup {
cleanup() {
# Needs zsh
if ! test -x /usr/bin/zsh ; then
return 0
@@ -280,24 +316,30 @@ function cleanup {
EOF
}
function verbose {
(( ${VERBOSE:-0} )) && echo "$@" >&2 || return 0
verbose() {
test ${VERBOSE:-0} = 1 && echo "$@" >&2 || return 0
}
# Operations
function install_main {
(( $MINIMAL )) || prerequisites
(( $INSTALL_PKGS )) && is_deb_system && install_apt_pkgs
install_dotfiles() {
install_dotfile_dir "${BASEDIR}/dotfiles"
test -d "${BASEDIR}/private_dotfiles" && \
test -d "${BASEDIR}/.git/git-crypt" && \
install_dotfile_dir "${BASEDIR}/private_dotfiles"
install_dotfile_dir "${BASEDIR}/private_dotfiles" || \
true
test -d "${BASEDIR}/local_dotfiles" && \
install_dotfile_dir "${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"
(( $MINIMAL )) || postinstall
(( $INSTALL_KEYS )) && install_keys
test $MINIMAL = 1 || postinstall
test $INSTALL_KEYS = 1 && install_keys
save_prefs
cleanup
}
@@ -316,7 +358,7 @@ VERBOSE=${VERBOSE:-0}
SAVE=${SAVE:-1}
# Check prerequisites
if [[ ! -d $BASEDIR ]] ; then
if [ ! -d $BASEDIR ] ; then
echo "Please install to $BASEDIR!" 1>&2
exit 1
fi
@@ -338,12 +380,23 @@ case $OPERATION in
install)
install_main
;;
dotfiles)
install_dotfiles
;;
package*)
if [ ${2:-default} != default ] ; then
install_pkg_set packages.${2}
else
install_pkg_set packages
fi
;;
pwndbg)
install_pwndbg
;;
test)
# Do nothing, just sourcing
set +o errexit
;;
*)
echo "Unknown operation $OPERATION." >/dev/stderr
exit 1

View File

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

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

View File

@@ -1 +1 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDXvqt73qAqS8C597u1wjz0Cvfo1IpiQFE4OKxTBR0mUhhi9UsGXkjZd/EYnqfWQRLcKaQSqN9QcXW7zHrfXtdmcjr3dDZrwXGgCiJnvLTeLecLqYwgaIMMNTmgaTQ3OFB74VCeD496pMbnhmlsN2+WaxNjIxoX+Qadsq/iHtBBt+tSOm5E1x0/ynEGmvO1W0L+8FyV/xnZWQIbBHTrJ931Gt8RDKtt7Y24XYMm5REye40adbxeS4kBwexvp2nTKwkr8sC26dmOz/RgJG3Km1194r0RXsH7iCYYlUBT23f4KOcmVxUlxkSu5d0u2viEID++cN6LT/4rHPdgqMZaVhaB root@uber
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZ5FLvZsfIfNV8NcUK6+wJ8pDapgu8QAZMX5zuz+fYxsf3KeHlDS0nPojmDLCXaAdd4TUO7KlRyo8BhpsWP8yUwpxUeRgvtYjjWfDgSxXCsGpQzbmTABu8eIaSya00Fao/WeIV1k+2p6S80knmllrBVideGW9ws4zrVQnhOcgKVXskuFBEs3IOQczNPMfI+OnO+qca0rjUh1Z6k3tD6tN6pxh//5CZBgqYf4G1DLnCLIep7tDkTuYjgqH237r6v4WHH87sLRy21yFRzfMWUGPesJvuc8X4Ol822BuQWTCDYy+QYZ9qGDWPcLOLCg7MLP9IVKzIJOrAdOYyp6p2brzj davidtomaschik@uber.g

View File

@@ -1,15 +1,7 @@
ack-grep
build-essential
cryptsetup
curl
dnsutils
dsniff
ecryptfs-utils
gdb
git
git-crypt
gnupg2
gnupg-agent
gnupg-curl
iftop
iptraf
@@ -18,39 +10,27 @@ ipython3
jq
kpartx
ldap-utils
ltrace
lvm2
mosh
ngrep
nmap
most
opensc
openvpn
p7zip-full
python3
python3-pip
python3-virtualenv
python-crypto
python-dev
python-hachoir-urwid
python-html5lib
python-imaging
python-nwdiag
python-pip
python-pypdf
python-scapy
python-virtualenv
python-yara
python3
python3-pip
python3-virtualenv
radare2
scapy
scdaemon
socat
sqlite3
strace
tcpdump
tmux
traceroute
tshark
ufw
unzip
vim
virtualenvwrapper
whois
zsh

22
packages.minimal Normal file
View File

@@ -0,0 +1,22 @@
ack-grep
curl
dnsutils
gdb
git
git-crypt
gnupg2
gnupg-agent
ltrace
mosh
ngrep
nmap
strace
tcpdump
tmux
traceroute
tshark
unzip
vim
virtualenvwrapper
whois
zsh

Binary file not shown.

38
udev/49-teensy.rules Normal file
View File

@@ -0,0 +1,38 @@
# UDEV Rules for Teensy boards, http://www.pjrc.com/teensy/
#
# The latest version of this file may be found at:
# http://www.pjrc.com/teensy/49-teensy.rules
#
# This file must be placed at:
#
# /etc/udev/rules.d/49-teensy.rules (preferred location)
# or
# /lib/udev/rules.d/49-teensy.rules (req'd on some broken systems)
#
# To install, type this command in a terminal:
# sudo cp 49-teensy.rules /etc/udev/rules.d/49-teensy.rules
#
# Or use the alternate way (from this forum message) to download and install:
# https://forum.pjrc.com/threads/45595?p=150445&viewfull=1#post150445
#
# After this file is installed, physically unplug and reconnect Teensy.
#
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789A]?", ENV{MTP_NO_PROBE}="1"
SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789ABCD]?", MODE:="0666"
KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789B]?", MODE:="0666"
#
# If you share your linux system with other users, or just don't like the
# idea of write permission for everybody, you can replace MODE:="0666" with
# OWNER:="yourusername" to create the device owned by you, or with
# GROUP:="somegroupname" and mange access using standard unix groups.
#
#
# If using USB Serial you get a new device each time (Ubuntu 9.10)
# eg: /dev/ttyACM0, ttyACM1, ttyACM2, ttyACM3, ttyACM4, etc
# apt-get remove --purge modemmanager (reboot may be necessary)
#
# Older modem proding (eg, Ubuntu 9.04) caused very slow serial device detection.
# To fix, add this near top of /lib/udev/rules.d/77-nm-probe-modem-capabilities.rules
# SUBSYSTEMS=="usb", ATTRS{idVendor}=="16c0", ATTRS{idProduct}=="04[789]?", GOTO="nm_modem_probe_end"
#

6
udev/70-u2f.rules Normal file
View File

@@ -0,0 +1,6 @@
# this udev file should be used with udev 188 and newer
ACTION!="add|change", GOTO="u2f_end"
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1050", ATTRS{idProduct}=="0113|0114|0115|0116|0120|0402|0403|0406|0407|0410", TAG+="uaccess"
LABEL="u2f_end"

8
udev/88-nuand.rules Normal file
View File

@@ -0,0 +1,8 @@
# Nuand bladeRF
ATTR{idVendor}=="2cf0", ATTR{idProduct}=="5246", MODE="660", GROUP="plugdev"
# Nuand bladeRF, legacy VID/PID
ATTR{idVendor}=="1d50", ATTR{idProduct}=="6066", MODE="660", GROUP="plugdev"
# Cypress Bootloader
ATTR{idVendor}=="04b4", ATTR{idProduct}=="00f3", MODE="660", GROUP="plugdev"

4
udev/99-chip.rules Normal file
View File

@@ -0,0 +1,4 @@
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="efe8", GROUP="plugdev", MODE="0660" SYMLINK+="usb-chip"
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="1010", GROUP="plugdev", MODE="0660" SYMLINK+="usb-chip-fastboot"
SUBSYSTEM=="usb", ATTRS{idVendor}=="1f3a", ATTRS{idProduct}=="1010", GROUP="plugdev", MODE="0660" SYMLINK+="usb-chip-fastboot"
SUBSYSTEM=="usb", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", GROUP="plugdev", MODE="0660" SYMLINK+="usb-serial-adapter"

1
udev/99-ftdi.rules Normal file
View File

@@ -0,0 +1 @@
BUS=="usb", SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6014", GROUP="plugdev"

View File

@@ -0,0 +1,4 @@
ATTRS{idVendor}=="2a03", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="239a", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="1b4f", ENV{ID_MM_DEVICE_IGNORE}="1"
ATTRS{idVendor}=="03eb", ENV{ID_MM_DEVICE_IGNORE}="1"

2
udev/99-redbear.rules Normal file
View File

@@ -0,0 +1,2 @@
ATTRS{idProduct}=="d058", ATTRS{idVendor}=="2b04", MODE="664", GROUP="plugdev"
ATTRS{idVendor}=="2b04", ENV{ID_MM_DEVICE_IGNORE}="1"

14
udev/99-saleae.rules Normal file
View File

@@ -0,0 +1,14 @@
# Rules for the Saleae Logic analyzer to allow to run the programs a normal user
# being part of the plugdev group. Simply copy the file to /etc/udev/rules.d/
# and plug the device
BUS!="usb", ACTION!="add", SUBSYSTEM!=="usb_device", GOTO="saleae_logic_rules_end"
# Saleae Logic analyzer (USB Based)
# Bus 006 Device 006: ID 0925:3881 Lakeview Research
# Bus 001 Device 009: ID 21a9:1004 Product: Logic S/16, Manufacturer: Saleae LLC
ATTR{idVendor}=="0925", ATTR{idProduct}=="3881", MODE="664", GROUP="plugdev"
ATTR{idVendor}=="21a9", ATTR{idProduct}=="1004", MODE="664", GROUP="plugdev"
LABEL="saleae_logic_rules_end"