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' alias luksFormat='cryptsetup luksFormat -s 512 -c aes-xts-plain64 -h sha256 -i 15000'
# Colors # Colors
alias ls='ls --color=auto' if [ `uname` != 'Darwin' -a `uname` != 'NetBSD' ] ; then
alias grep='grep --color=auto' # Should have a better way to check for GNU versions
alias egrep='egrep --color=auto' alias ls='ls --color=auto'
alias fgrep='fgrep --color=auto' alias grep='grep --color=auto'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
fi
# Easy upgrade # Easy upgrade
alias dist-upgrade="sudo sh -c 'apt-get update && apt-get -y dist-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 # Intel format plz
alias objdump="command objdump -M intel" 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 # Useful directory utilities
alias dircount="for d in * ; do find \$d -type d | wc -l | tr -d '\n' ; echo ' ' \$d ; done | sort -n" 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 fi
if [[ -e $HOME/.aliases ]] ; then source $HOME/.aliases ; 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 user = matir
# Site specific config # Site specific config
[url "https://github.com/"] [url "https://github.com./"]
insteadOf = github:// insteadOf = "github:"
insteadOf = "github://"
[url "ssh://git@github.com/"] [url "ssh://git@github.com/"]
pushInsteadOf = github:// pushInsteadOf = "github:"
pushInsteadOf = "github://"
[url "git://gist.github.com/"] [url "git://gist.github.com/"]
insteadOf = "gist:" insteadOf = "gist:"
@@ -51,5 +53,8 @@
[url "git@gist.github.com:"] [url "git@gist.github.com:"]
pushInsteadOf = "gist:" pushInsteadOf = "gist:"
pushInsteadOf = "git://gist.github.com/" pushInsteadOf = "git://gist.github.com/"
[credential] [credential]
helper = cache --timeout=36000 helper = cache --timeout=36000
[receive]
denyCurrentBranch = updateInstead

View File

@@ -2,3 +2,6 @@
test -f "$HOME/.env" && . "$HOME/.env" test -f "$HOME/.env" && . "$HOME/.env"
test -f "${HOME}/.profile.local" && . "${HOME}/.profile.local" 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] [cmd]

View File

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

View File

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

View File

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

View File

@@ -1,8 +1,10 @@
# #
# irc.conf -- weechat v1.0.1 # weechat -- irc.conf
# #
[look] [look]
buffer_open_before_autojoin = on
buffer_open_before_join = off
buffer_switch_autojoin = on buffer_switch_autojoin = on
buffer_switch_join = on buffer_switch_join = on
color_nicks_in_names = off color_nicks_in_names = off
@@ -25,7 +27,6 @@ highlight_channel = "$nick"
highlight_pv = "$nick" highlight_pv = "$nick"
highlight_server = "$nick" highlight_server = "$nick"
highlight_tags_restrict = "irc_privmsg,irc_notice" highlight_tags_restrict = "irc_privmsg,irc_notice"
item_away_message = on
item_channel_modes_hide_args = "k" item_channel_modes_hide_args = "k"
item_display_server = buffer_plugin item_display_server = buffer_plugin
item_nick_modes = on item_nick_modes = on
@@ -34,9 +35,6 @@ join_auto_add_chantype = off
msgbuffer_fallback = current msgbuffer_fallback = current
new_channel_position = none new_channel_position = none
new_pv_position = none new_pv_position = none
nick_color_force = ""
nick_color_hash = sum
nick_color_stop_chars = "_|["
nick_completion_smart = speakers nick_completion_smart = speakers
nick_mode = prefix nick_mode = prefix
nick_mode_empty = off nick_mode_empty = off
@@ -58,11 +56,11 @@ smart_filter_join_unmask = 30
smart_filter_mode = "+" smart_filter_mode = "+"
smart_filter_nick = on smart_filter_nick = on
smart_filter_quit = on smart_filter_quit = on
temporary_servers = off
topic_strip_colors = off topic_strip_colors = off
[color] [color]
input_nick = lightcyan input_nick = lightcyan
item_away = yellow
item_channel_modes = default item_channel_modes = default
item_lag_counting = default item_lag_counting = default
item_lag_finished = yellow 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" nick_prefixes = "q:lightred;a:lightcyan;o:lightgreen;h:lightmagenta;v:yellow;*:lightblue"
notice = green notice = green
reason_quit = default reason_quit = default
topic_current = default
topic_new = white topic_new = white
topic_old = default topic_old = default
[network] [network]
alternate_nick = on
autoreconnect_delay_growing = 2 autoreconnect_delay_growing = 2
autoreconnect_delay_max = 600 autoreconnect_delay_max = 600
ban_mask_default = "*!$ident@$host" ban_mask_default = "*!$ident@$host"
channel_encode = off
colors_receive = on colors_receive = on
colors_send = on colors_send = on
lag_check = 60 lag_check = 60
@@ -90,6 +89,7 @@ lag_reconnect = 0
lag_refresh_interval = 1 lag_refresh_interval = 1
notify_check_ison = 1 notify_check_ison = 1
notify_check_whois = 5 notify_check_whois = 5
sasl_fail_unavailable = on
send_unknown_commands = off send_unknown_commands = off
whois_double_nick = off whois_double_nick = off
@@ -115,16 +115,19 @@ capabilities = ""
command = "" command = ""
command_delay = 0 command_delay = 0
connection_timeout = 60 connection_timeout = 60
default_msg_kick = ""
default_msg_part = "gg"
default_msg_quit = "gg! I'm out."
ipv6 = on ipv6 = on
local_hostname = "" local_hostname = ""
msg_kick = ""
msg_part = "WeeChat ${info:version}"
msg_quit = "WeeChat ${info:version}"
nicks = "Matir,Matir~,Matir[]" nicks = "Matir,Matir~,Matir[]"
nicks_alternate = on
notify = "" notify = ""
password = "" password = ""
proxy = "" proxy = ""
realname = "" realname = ""
sasl_fail = continue
sasl_key = ""
sasl_mechanism = plain sasl_mechanism = plain
sasl_password = "" sasl_password = ""
sasl_timeout = 15 sasl_timeout = 15
@@ -152,11 +155,14 @@ freenode.capabilities
freenode.sasl_mechanism freenode.sasl_mechanism
freenode.sasl_username freenode.sasl_username
freenode.sasl_password freenode.sasl_password
freenode.sasl_key
freenode.sasl_timeout freenode.sasl_timeout
freenode.sasl_fail
freenode.autoconnect = on freenode.autoconnect = on
freenode.autoreconnect freenode.autoreconnect
freenode.autoreconnect_delay freenode.autoreconnect_delay
freenode.nicks = "Matir,Matir~" freenode.nicks = "Matir,Matir~"
freenode.nicks_alternate
freenode.username freenode.username
freenode.realname freenode.realname
freenode.local_hostname freenode.local_hostname
@@ -170,9 +176,9 @@ freenode.anti_flood_prio_high
freenode.anti_flood_prio_low freenode.anti_flood_prio_low
freenode.away_check freenode.away_check
freenode.away_check_max_nicks freenode.away_check_max_nicks
freenode.default_msg_kick freenode.msg_kick
freenode.default_msg_part freenode.msg_part
freenode.default_msg_quit freenode.msg_quit
freenode.notify freenode.notify
hak5.addresses = "irc.hak5.org/6697" hak5.addresses = "irc.hak5.org/6697"
hak5.proxy hak5.proxy
@@ -188,17 +194,20 @@ hak5.capabilities
hak5.sasl_mechanism hak5.sasl_mechanism
hak5.sasl_username hak5.sasl_username
hak5.sasl_password hak5.sasl_password
hak5.sasl_key
hak5.sasl_timeout hak5.sasl_timeout
hak5.sasl_fail
hak5.autoconnect = on hak5.autoconnect = on
hak5.autoreconnect hak5.autoreconnect
hak5.autoreconnect_delay hak5.autoreconnect_delay
hak5.nicks hak5.nicks
hak5.nicks_alternate
hak5.username hak5.username
hak5.realname hak5.realname
hak5.local_hostname hak5.local_hostname
hak5.command hak5.command
hak5.command_delay hak5.command_delay
hak5.autojoin = "#hak5,#pineapple,#ducky,#SDR,#lanturtle" hak5.autojoin = "#hak5,#pineapple,#ducky,#SDR,#lanturtle,#bashbunny"
hak5.autorejoin hak5.autorejoin
hak5.autorejoin_delay hak5.autorejoin_delay
hak5.connection_timeout hak5.connection_timeout
@@ -206,9 +215,9 @@ hak5.anti_flood_prio_high
hak5.anti_flood_prio_low hak5.anti_flood_prio_low
hak5.away_check hak5.away_check
hak5.away_check_max_nicks hak5.away_check_max_nicks
hak5.default_msg_kick hak5.msg_kick
hak5.default_msg_part hak5.msg_part
hak5.default_msg_quit hak5.msg_quit
hak5.notify hak5.notify
rpisec.addresses = "irc.rpis.ec/6697" rpisec.addresses = "irc.rpis.ec/6697"
rpisec.proxy rpisec.proxy
@@ -224,11 +233,14 @@ rpisec.capabilities
rpisec.sasl_mechanism rpisec.sasl_mechanism
rpisec.sasl_username rpisec.sasl_username
rpisec.sasl_password rpisec.sasl_password
rpisec.sasl_key
rpisec.sasl_timeout rpisec.sasl_timeout
rpisec.sasl_fail
rpisec.autoconnect = on rpisec.autoconnect = on
rpisec.autoreconnect rpisec.autoreconnect
rpisec.autoreconnect_delay rpisec.autoreconnect_delay
rpisec.nicks rpisec.nicks
rpisec.nicks_alternate
rpisec.username rpisec.username
rpisec.realname rpisec.realname
rpisec.local_hostname rpisec.local_hostname
@@ -242,9 +254,9 @@ rpisec.anti_flood_prio_high
rpisec.anti_flood_prio_low rpisec.anti_flood_prio_low
rpisec.away_check rpisec.away_check
rpisec.away_check_max_nicks rpisec.away_check_max_nicks
rpisec.default_msg_kick rpisec.msg_kick
rpisec.default_msg_part rpisec.msg_part
rpisec.default_msg_quit rpisec.msg_quit
rpisec.notify rpisec.notify
overthewire.addresses = "ircs.overthewire.org/6697" overthewire.addresses = "ircs.overthewire.org/6697"
overthewire.proxy overthewire.proxy
@@ -260,11 +272,14 @@ overthewire.capabilities
overthewire.sasl_mechanism overthewire.sasl_mechanism
overthewire.sasl_username overthewire.sasl_username
overthewire.sasl_password overthewire.sasl_password
overthewire.sasl_key
overthewire.sasl_timeout overthewire.sasl_timeout
overthewire.sasl_fail
overthewire.autoconnect = on overthewire.autoconnect = on
overthewire.autoreconnect overthewire.autoreconnect
overthewire.autoreconnect_delay overthewire.autoreconnect_delay
overthewire.nicks overthewire.nicks
overthewire.nicks_alternate
overthewire.username overthewire.username
overthewire.realname overthewire.realname
overthewire.local_hostname overthewire.local_hostname
@@ -278,7 +293,85 @@ overthewire.anti_flood_prio_high
overthewire.anti_flood_prio_low overthewire.anti_flood_prio_low
overthewire.away_check overthewire.away_check
overthewire.away_check_max_nicks overthewire.away_check_max_nicks
overthewire.default_msg_kick overthewire.msg_kick
overthewire.default_msg_part overthewire.msg_part
overthewire.default_msg_quit overthewire.msg_quit
overthewire.notify 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] [look]

View File

@@ -1,10 +1,11 @@
# #
# plugins.conf -- weechat v1.0.1 # weechat -- plugins.conf
# #
[var] [var]
fifo.fifo = "on" fifo.fifo = "on"
guile.check_license = "off" guile.check_license = "off"
javascript.check_license = "off"
lua.check_license = "off" lua.check_license = "off"
perl.check_license = "off" perl.check_license = "off"
python.check_license = "off" python.check_license = "off"

View File

@@ -1,5 +1,5 @@
# #
# relay.conf -- weechat v1.0.1 # weechat -- relay.conf
# #
[look] [look]
@@ -18,6 +18,7 @@ text_bg = default
text_selected = white text_selected = white
[network] [network]
allow_empty_password = off
allowed_ips = "" allowed_ips = ""
bind_address = "" bind_address = ""
clients_purge_delay = 0 clients_purge_delay = 0
@@ -26,12 +27,14 @@ ipv6 = on
max_clients = 5 max_clients = 5
password = "${sec.data.relay_password}" password = "${sec.data.relay_password}"
ssl_cert_key = "%h/ssl/relay.pem" ssl_cert_key = "%h/ssl/relay.pem"
ssl_priorities = "NORMAL:-VERS-SSL3.0"
websocket_allowed_origins = "" websocket_allowed_origins = ""
[irc] [irc]
backlog_max_minutes = 1440 backlog_max_minutes = 1440
backlog_max_number = 256 backlog_max_number = 256
backlog_since_last_disconnect = on backlog_since_last_disconnect = on
backlog_since_last_message = off
backlog_tags = "irc_privmsg" backlog_tags = "irc_privmsg"
backlog_time_format = "[%H:%M] " backlog_time_format = "[%H:%M] "

View File

@@ -1,5 +1,5 @@
# #
# script.conf -- weechat v1.0.1 # weechat -- script.conf
# #
[look] [look]
@@ -43,6 +43,8 @@ text_version_selected = lightmagenta
[scripts] [scripts]
autoload = on autoload = on
cache_expire = 1440 cache_expire = 1440
dir = "%h/script" download_timeout = 30
hold = "" hold = ""
path = "%h/script"
url = "http://weechat.org/files/plugins.xml.gz" 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] [crypt]
@@ -10,4 +10,4 @@ salt = on
[data] [data]
__passphrase__ = on __passphrase__ = on
relay_password = "F72F34E668B7CE288A36F20629885B9A985EAE9ED04E80C37BF6176FAF8404EE3E0D5D22A6C8E7681ACC0899FB888436AF200183A27591" relay_password = "D1FD30C08951B1A5BCBBB7EE6AAFB6AF9B86017B353182A1CA8826D5A98EB88E7E723591C544FC41A6913EA67E8764E50BDD8A5AD3D0A0"

View File

@@ -1,5 +1,5 @@
# #
# trigger.conf -- weechat v1.0.1 # weechat -- trigger.conf
# #
[look] [look]
@@ -9,6 +9,7 @@ monitor_strip_colors = off
[color] [color]
flag_command = lightgreen flag_command = lightgreen
flag_conditions = yellow flag_conditions = yellow
flag_post_action = lightblue
flag_regex = lightcyan flag_regex = lightcyan
flag_return_code = lightmagenta flag_return_code = lightmagenta
regex = white regex = white
@@ -22,6 +23,7 @@ beep.command = "/print -beep"
beep.conditions = "${tg_highlight} || ${tg_msg_pv}" beep.conditions = "${tg_highlight} || ${tg_msg_pv}"
beep.enabled = on beep.enabled = on
beep.hook = print beep.hook = print
beep.post_action = none
beep.regex = "" beep.regex = ""
beep.return_code = ok beep.return_code = ok
cmd_pass.arguments = "5000|input_text_display;5000|history_add;5000|irc_command_auth" 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.conditions = ""
cmd_pass.enabled = on cmd_pass.enabled = on
cmd_pass.hook = modifier 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.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 cmd_pass.return_code = ok
msg_auth.arguments = "5000|irc_message_auth" msg_auth.arguments = "5000|irc_message_auth"
@@ -36,6 +39,7 @@ msg_auth.command = ""
msg_auth.conditions = "" msg_auth.conditions = ""
msg_auth.enabled = on msg_auth.enabled = on
msg_auth.hook = modifier msg_auth.hook = modifier
msg_auth.post_action = none
msg_auth.regex = "==^(.*(id|identify|register|ghost +[^ ]+|release +[^ ]+) +)(.*)==$1$.*+" msg_auth.regex = "==^(.*(id|identify|register|ghost +[^ ]+|release +[^ ]+) +)(.*)==$1$.*+"
msg_auth.return_code = ok msg_auth.return_code = ok
server_pass.arguments = "5000|input_text_display;5000|history_add" server_pass.arguments = "5000|input_text_display;5000|history_add"
@@ -43,5 +47,6 @@ server_pass.command = ""
server_pass.conditions = "" server_pass.conditions = ""
server_pass.enabled = on server_pass.enabled = on
server_pass.hook = modifier server_pass.hook = modifier
server_pass.post_action = none
server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==$1$.*4$5" server_pass.regex = "==^(/(server|connect) .*-(sasl_)?password=)([^ ]+)(.*)==$1$.*4$5"
server_pass.return_code = ok server_pass.return_code = ok

View File

@@ -1,5 +1,5 @@
# #
# weechat.conf -- weechat v1.0.1 # weechat -- weechat.conf
# #
[debug] [debug]
@@ -38,7 +38,9 @@ color_nick_offline = off
color_pairs_auto_reset = 5 color_pairs_auto_reset = 5
color_real_white = off color_real_white = off
command_chars = "" command_chars = ""
command_incomplete = off
confirm_quit = off confirm_quit = off
confirm_upgrade = off
day_change = on day_change = on
day_change_message_1date = "-- %a, %d %b %Y --" day_change_message_1date = "-- %a, %d %b %Y --"
day_change_message_2dates = "-- %%a, %%d %%b %%Y (%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 = none
input_share_overwrite = off input_share_overwrite = off
input_undo_max = 32 input_undo_max = 32
item_away_message = on
item_buffer_filter = "*" item_buffer_filter = "*"
item_buffer_zoom = "!" item_buffer_zoom = "!"
item_mouse_status = "M"
item_time_format = "%H:%M" item_time_format = "%H:%M"
jump_current_to_previous_buffer = on jump_current_to_previous_buffer = on
jump_previous_buffer_when_closing = on jump_previous_buffer_when_closing = on
jump_smart_back_to_buffer = on jump_smart_back_to_buffer = on
key_bind_safe = on key_bind_safe = on
key_grab_delay = 800
mouse = off mouse = off
mouse_timer_delay = 100 mouse_timer_delay = 100
nick_color_force = ""
nick_color_hash = djb2
nick_color_stop_chars = "_|["
nick_prefix = "" nick_prefix = ""
nick_suffix = "" nick_suffix = ""
paste_auto_add_newline = on
paste_bracketed = on paste_bracketed = on
paste_bracketed_timer_delay = 10 paste_bracketed_timer_delay = 10
paste_max_lines = 1 paste_max_lines = 1
@@ -95,6 +104,9 @@ prefix_network = "--"
prefix_quit = "<--" prefix_quit = "<--"
prefix_same_nick = "" prefix_same_nick = ""
prefix_suffix = "|" prefix_suffix = "|"
quote_nick_prefix = "<"
quote_nick_suffix = ">"
quote_time_format = "%H:%M:%S"
read_marker = line read_marker = line
read_marker_always_show = off read_marker_always_show = off
read_marker_string = "- " read_marker_string = "- "
@@ -112,6 +124,8 @@ window_auto_zoom = off
window_separator_horizontal = on window_separator_horizontal = on
window_separator_vertical = on window_separator_vertical = on
window_title = "irc" window_title = "irc"
word_chars_highlight = "!\u00A0,-,_,|,alnum"
word_chars_input = "!\u00A0,-,_,|,alnum"
[palette] [palette]
@@ -155,13 +169,14 @@ chat_text_found_bg = lightmagenta
chat_time = default chat_time = default
chat_time_delimiters = brown chat_time_delimiters = brown
chat_value = cyan chat_value = cyan
chat_value_null = blue
emphasized = yellow emphasized = yellow
emphasized_bg = magenta emphasized_bg = magenta
input_actions = lightgreen input_actions = lightgreen
input_text_not_found = red input_text_not_found = red
item_away = yellow
nicklist_away = cyan nicklist_away = cyan
nicklist_group = green nicklist_group = green
nicklist_offline = blue
separator = blue separator = blue
status_count_highlight = magenta status_count_highlight = magenta
status_count_msg = brown status_count_msg = brown
@@ -173,6 +188,7 @@ status_data_other = default
status_data_private = lightgreen status_data_private = lightgreen
status_filter = green status_filter = green
status_more = yellow status_more = yellow
status_mouse = green
status_name = white status_name = white
status_name_ssl = lightgreen status_name_ssl = lightgreen
status_nicklist_count = default status_nicklist_count = default
@@ -181,6 +197,7 @@ status_time = default
[completion] [completion]
base_word_until_cursor = on base_word_until_cursor = on
command_inline = on
default_template = "%(nicks)|%(irc_channels)" default_template = "%(nicks)|%(irc_channels)"
nick_add_space = on nick_add_space = on
nick_completer = ":" nick_completer = ":"
@@ -203,7 +220,7 @@ max_visited_buffers = 50
[network] [network]
connection_timeout = 60 connection_timeout = 60
gnutls_ca_file = "/etc/ssl/certs/ca-certificates.crt" gnutls_ca_file = "~/.weechat/certs/ca-certificates.crt"
gnutls_handshake_timeout = 30 gnutls_handshake_timeout = 30
proxy_curl = "" proxy_curl = ""

View File

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

View File

@@ -1,3 +1,4 @@
setxkbmap -option ctrl:nocaps setxkbmap -option ctrl:nocaps
test -x /usr/bin/xsettingsd && /usr/bin/xsettingsd &
test -f "$HOME/.env" && "$HOME/.env" test -f "$HOME/.env" && "$HOME/.env"
test -f "$HOME/.profile" && . "$HOME/.profile" 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 case "${1:-help}" in
help|--help) help|--help)
command jekyll help command jekyll help
echo "Added by oh-my-zsh plugin:" echo "Added by zsh plugin:"
echo " draft Create a new draft post." echo " draft Create a new draft post."
echo " post Create a new post to publish immediately." echo " post Create a new post to publish immediately."
echo " publish Publish a draft post by name." echo " publish Publish a draft post by name."
@@ -112,11 +112,11 @@ function jekyll {
fi fi
FILENAME=$(_jekyll_find_post "${TITLE}" "${SLUG}" "${JEKYLL_DIR}") FILENAME=$(_jekyll_find_post "${TITLE}" "${SLUG}" "${JEKYLL_DIR}")
if [ $? -ne 0 ] ; then if [ $? -ne 0 ] ; then
return return 1
fi fi
if ! [[ "${FILENAME}" =~ '/_drafts/' ]] ; then if ! [[ "${FILENAME}" =~ '/_drafts/' ]] ; then
echo "${FILENAME} is not a draft." >&2 echo "${FILENAME} is not a draft." >&2
return return 1
fi fi
NEWNAME=$(echo "${FILENAME}" | sed "s/_drafts\//_posts\/${DATE}-/") NEWNAME=$(echo "${FILENAME}" | sed "s/_drafts\//_posts\/${DATE}-/")
mv "${FILENAME}" "${NEWNAME}" 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 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%} " 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
alias ls='ls --color' # ls Colors
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} alias ls='ls --color'
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}
else
alias ls='ls -G'
fi
# Load oh-my-zsh # Load prezto
if [ -d $HOME/.oh-my-zsh ] ; then if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
ZSH=$HOME/.oh-my-zsh source "${ZDOTDIR:-$HOME}/.zprezto/init.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
fi fi
# .profile is universal # .profile is universal
@@ -60,6 +57,11 @@ if [ -x /usr/bin/ack-grep ] ; then
alias ack='/usr/bin/ack-grep' alias ack='/usr/bin/ack-grep'
fi 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 # Load any local settings
if [ -e $HOME/.zshrc.local ] ; then source $HOME/.zshrc.local ; fi 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 PATH="${PATH}:${HOME}/tools/esp/xtensa-esp32-elf/bin"
export IDF_PATH="${HOME}/tools/esp/esp-idf" 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 nounset
set -o errexit 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 which zsh > /dev/null 2>&1 ; then
if [[ $- == *i* ]] ; then case $- in
if [[ `getent passwd $USER | cut -d: -f7` != */zsh ]] ; then *i*)
case `getent passwd $USER | cut -d: -f7` in
*/zsh)
;;
*)
if [ `id` -ne 0 ] ; then
echo 'Enter password to change shell.' >&2 echo 'Enter password to change shell.' >&2
fi
chsh -s `which zsh` chsh -s `which zsh`
fi ;;
fi esac
install_git https://github.com/robbyrussell/oh-my-zsh.git $HOME/.oh-my-zsh ;;
esac
install_git --recursive https://github.com/sorin-ionescu/prezto.git $HOME/.zprezto
else else
echo "ZSH not found!" >&2 echo "ZSH not found!" >&2
fi fi
@@ -22,7 +51,7 @@ function prerequisites {
fi fi
} }
function install_dotfile_dir { install_dotfile_dir() {
local SRCDIR="${1}" local SRCDIR="${1}"
local dotfile local dotfile
find "${SRCDIR}" \( -name .git -o \ find "${SRCDIR}" \( -name .git -o \
@@ -30,7 +59,7 @@ function install_dotfile_dir {
-name install.sh -o \ -name install.sh -o \
-name README.md -o \ -name README.md -o \
-name .gitignore \) \ -name .gitignore \) \
-prune -o -xtype f -print | \ -prune -o ${FINDTYPE} f -print | \
while read dotfile ; do while read dotfile ; do
local TARGET="${HOME}/.${dotfile#${SRCDIR}/}" local TARGET="${HOME}/.${dotfile#${SRCDIR}/}"
mkdir -p `dirname "${TARGET}"` mkdir -p `dirname "${TARGET}"`
@@ -38,11 +67,11 @@ function install_dotfile_dir {
done done
} }
function install_basic_dir { install_basic_dir() {
local SRCDIR="${1}" local SRCDIR="${1}"
local DESTDIR="${2}" local DESTDIR="${2}"
local file local file
find "${SRCDIR}" -xtype f -print | \ find "${SRCDIR}" ${FINDTYPE} f -print | \
while read file ; do while read file ; do
local TARGET="${2}/${file#${SRCDIR}/}" local TARGET="${2}/${file#${SRCDIR}/}"
mkdir -p `dirname "${TARGET}"` mkdir -p `dirname "${TARGET}"`
@@ -50,7 +79,7 @@ function install_basic_dir {
done done
} }
function install_git { install_git() {
# Install or update a git repository # Install or update a git repository
if ! which git > /dev/null ; then if ! which git > /dev/null ; then
return 1 return 1
@@ -58,10 +87,10 @@ function install_git {
local REPO="${*: -2:1}" local REPO="${*: -2:1}"
local DESTDIR="${*: -1:1}" local DESTDIR="${*: -1:1}"
set -- ${@:1:$(($#-2))} set -- ${@:1:$(($#-2))}
if [[ -d ${DESTDIR}/.git ]] ; then if [ -d ${DESTDIR}/.git ] ; then
( cd ${DESTDIR} ; git pull -q ) ( cd ${DESTDIR} ; git pull -q )
else else
if [[ ${MINIMAL} -eq 1 ]] ; then if [ ${MINIMAL} -eq 1 ] ; then
git clone --depth 1 $* ${REPO} ${DESTDIR} git clone --depth 1 $* ${REPO} ${DESTDIR}
else else
git clone $* ${REPO} ${DESTDIR} git clone $* ${REPO} ${DESTDIR}
@@ -69,9 +98,9 @@ function install_git {
fi fi
} }
function add_bin_symlink { add_bin_symlink() {
local LINKNAME=${HOME}/bin/${2:-`basename $1`} 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 echo "Refusing to overwrite ${LINKNAME}" >&2
return 1 return 1
fi fi
@@ -79,7 +108,7 @@ function add_bin_symlink {
} }
# Custom version of pwndbg's installer # Custom version of pwndbg's installer
function install_pwndbg { install_pwndbg() {
if ! which gdb > /dev/null 2>&1 ; then if ! which gdb > /dev/null 2>&1 ; then
return 1 return 1
fi fi
@@ -95,56 +124,53 @@ function install_pwndbg {
cp ${PY_PACKAGES}/usr/lib/*/dist-packages/capstone/libcapstone.so ${PY_PACKAGES}/capstone cp ${PY_PACKAGES}/usr/lib/*/dist-packages/capstone/libcapstone.so ${PY_PACKAGES}/capstone
} }
function postinstall { postinstall() {
# Install Vundle plugins # Install Vundle plugins
if [[ -d $HOME/.vim/bundle/Vundle.vim ]] ; then if [ -d $HOME/.vim/bundle/Vundle.vim ] ; then
vim +VundleInstall +qall vim +VundleInstall +qall
fi fi
# Install other useful tools # Install other useful tools
install_git https://github.com/trustedsec/ptf.git ${HOME}/bin/ptframework && \ install_git https://github.com/trustedsec/ptf.git ${HOME}/bin/ptframework && \
add_bin_symlink ${HOME}/bin/ptframework/ptf 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 # Return 1 if the key isn't already installed, 0 if it is
local AK="${HOME}/.ssh/authorized_keys" local AK="${HOME}/.ssh/authorized_keys"
if [[ ! -f $AK ]] ; then if [ ! -f $AK ] ; then
return 1 return 1
fi fi
local KEYFP=`ssh-keygen -l -f $1 2>/dev/null | awk '{print $2}'` local KEYFP=`ssh-keygen -l -f $1 2>/dev/null | awk '{print $2}'`
local TMPF=`mktemp` local TMPF=`mktemp`
local key local key
while read key ; do while read key ; do
if is_comment "${key}" ; then
continue
fi
echo "$key" > $TMPF echo "$key" > $TMPF
local EFP=`ssh-keygen -l -f ${TMPF} 2>/dev/null | awk '{print $2}'` 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 rm $TMPF 2>/dev/null
return 0 return 0
fi fi
done < <(grep -v '^#' ${AK}) done < ${AK}
rm $TMPF 2>/dev/null rm $TMPF 2>/dev/null
return 1 return 1
} }
function install_ssh_keys { install_ssh_keys() {
# Install SSH keys # Install SSH keys
verbose 'Installing SSH keys...' verbose 'Installing SSH keys...'
local AK="${HOME}/.ssh/authorized_keys" local AK="${HOME}/.ssh/authorized_keys"
local key local key
local keydir local keydir
if (( ${TRUST_ALL_KEYS} )) ; then if test ${TRUST_ALL_KEYS} = 1 ; then
keydir=${BASEDIR}/keys/ssh keydir=${BASEDIR}/keys/ssh
else else
keydir=${BASEDIR}/keys/ssh/trusted keydir=${BASEDIR}/keys/ssh/trusted
fi fi
for key in ${keydir}/* ; do for key in ${keydir}/* ; do
if [[ ! -f ${key} ]] ; then if [ ! -f "${key}" ] ; then
continue continue
fi fi
if ssh_key_already_installed "${key}" ; then if ssh_key_already_installed "${key}" ; then
@@ -156,20 +182,22 @@ function install_ssh_keys {
done done
} }
function install_gpg_keys { install_gpg_keys() {
which gpg >/dev/null 2>&1 || \
return 0
local key local key
for key in ${BASEDIR}/keys/gpg/* ; do for key in ${BASEDIR}/keys/gpg/* ; do
gpg --import < ${key} >/dev/null gpg --import < ${key} >/dev/null
done done
} }
function install_known_hosts { install_known_hosts() {
verbose 'Installing known hosts...' >&2 verbose 'Installing known hosts...' >&2
if [[ ! -f ${BASEDIR}/keys/known_hosts ]] ; then if [ ! -f "${BASEDIR}/keys/known_hosts" ] ; then
return 0 return 0
fi fi
mkdir -p ${HOME}/.ssh mkdir -p ${HOME}/.ssh
if [[ -f ${HOME}/.ssh/known_hosts ]] ; then if [ -f "${HOME}/.ssh/known_hosts" ] ; then
local tmpf=`mktemp` local tmpf=`mktemp`
cat ${BASEDIR}/keys/known_hosts ${HOME}/.ssh/known_hosts | sort | uniq > $tmpf cat ${BASEDIR}/keys/known_hosts ${HOME}/.ssh/known_hosts | sort | uniq > $tmpf
mv $tmpf ${HOME}/.ssh/known_hosts mv $tmpf ${HOME}/.ssh/known_hosts
@@ -178,19 +206,19 @@ function install_known_hosts {
fi fi
} }
function install_keys { install_keys() {
install_ssh_keys install_ssh_keys
install_gpg_keys install_gpg_keys
install_known_hosts install_known_hosts
} }
function is_deb_system { is_deb_system() {
test -f /usr/bin/apt-get test -f /usr/bin/apt-get
} }
function run_as_root { run_as_root() {
# Attempt to run as root # Attempt to run as root
if [[ ${USER} == "root" ]] ; then if [ ${USER} = "root" ] ; then
"$@" "$@"
return $? return $?
elif groups | grep -q '\bsudo\b' ; then elif groups | grep -q '\bsudo\b' ; then
@@ -201,15 +229,15 @@ function run_as_root {
return 1 return 1
} }
function install_pkg_set { install_pkg_set() {
local pkg_file=${BASEDIR}/${1} local pkg_file=${BASEDIR}/${1}
local pkg_list="" local pkg_list=""
if [[ ! -f ${pkg_file} ]] ; then return 0 ; fi if [ ! -f "${pkg_file}" ] ; then return 0 ; fi
cat ${pkg_file} | while read line ; do while read line ; do
if [[ ${line:0:1} == '#' ]] ; then if is_comment "${line}" ; then
continue continue
fi fi
if [[ -z ${line} ]] ; then if [ -z "${line}" ] ; then
continue continue
fi fi
if apt-cache show ${line} >/dev/null 2>&1 ; then if apt-cache show ${line} >/dev/null 2>&1 ; then
@@ -217,22 +245,28 @@ function install_pkg_set {
else else
echo "Warning: package ${line} not found." >&2 echo "Warning: package ${line} not found." >&2
fi fi
done done < ${pkg_file}
if [ -n "${pkg_list}" ] ; then
verbose "Installing ${pkg_list}"
run_as_root apt-get install -qqy ${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 || \ run_as_root apt-get update -qq || \
( echo "Can't run apt-get commands" >&2 && \ ( echo "Can't run apt-get commands" >&2 && \
return 1 ) return 1 )
install_pkg_set packages install_pkg_set packages.minimal
(( $HAVE_X )) && install_pkg_set packages.X if test $MINIMAL = 1 ; then
(( $IS_KALI )) && install_pkg_set packages.kali 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} 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 TMPD=`mktemp -d`
local CHROME_ARCH=`echo ${ARCH} | sed 's/x86_64/amd64/'` local CHROME_ARCH=`echo ${ARCH} | sed 's/x86_64/amd64/'`
dpkg-query -l 'google-chrome*' >/dev/null 2>&1 && return 0 dpkg-query -l 'google-chrome*' >/dev/null 2>&1 && return 0
@@ -244,17 +278,18 @@ function install_chrome {
rm -rf ${TMPD} rm -rf ${TMPD}
} }
function read_saved_prefs { read_saved_prefs() {
# Can't use basedir here as we don't have it yet # Can't use basedir here as we don't have it yet
local pref_file=`dirname $0`/installed-prefs local pref_file=`dirname $0`/installed-prefs
if [ -f ${pref_file} ] ; then if [ -f ${pref_file} ] ; then
verbose "Loading saved skel preferences from ${pref_file}" verbose "Loading saved skel preferences from ${pref_file}"
source ${pref_file} # source is a bashism
. ${pref_file}
fi fi
} }
function save_prefs { save_prefs() {
(( $SAVE )) || return 0 test $SAVE = 1 || return 0
local pref_file=${BASEDIR}/installed-prefs local pref_file=${BASEDIR}/installed-prefs
(echo_pref BASEDIR (echo_pref BASEDIR
echo_pref MINIMAL echo_pref MINIMAL
@@ -264,11 +299,12 @@ function save_prefs {
echo_pref VERBOSE) > $pref_file echo_pref VERBOSE) > $pref_file
} }
function echo_pref { echo_pref() {
echo "$1=\${$1:-${!1}}" eval "local val=\${$1}"
echo "$1=\${$1:-${val}}"
} }
function cleanup { cleanup() {
# Needs zsh # Needs zsh
if ! test -x /usr/bin/zsh ; then if ! test -x /usr/bin/zsh ; then
return 0 return 0
@@ -280,24 +316,30 @@ function cleanup {
EOF EOF
} }
function verbose { verbose() {
(( ${VERBOSE:-0} )) && echo "$@" >&2 || return 0 test ${VERBOSE:-0} = 1 && echo "$@" >&2 || return 0
} }
# Operations # Operations
function install_main { install_dotfiles() {
(( $MINIMAL )) || prerequisites
(( $INSTALL_PKGS )) && is_deb_system && install_apt_pkgs
install_dotfile_dir "${BASEDIR}/dotfiles" install_dotfile_dir "${BASEDIR}/dotfiles"
test -d "${BASEDIR}/private_dotfiles" && \ test -d "${BASEDIR}/private_dotfiles" && \
test -d "${BASEDIR}/.git/git-crypt" && \ test -d "${BASEDIR}/.git/git-crypt" && \
install_dotfile_dir "${BASEDIR}/private_dotfiles" install_dotfile_dir "${BASEDIR}/private_dotfiles" || \
true
test -d "${BASEDIR}/local_dotfiles" && \ 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" install_basic_dir "${BASEDIR}/bin" "${HOME}/bin"
(( $MINIMAL )) || postinstall test $MINIMAL = 1 || postinstall
(( $INSTALL_KEYS )) && install_keys test $INSTALL_KEYS = 1 && install_keys
save_prefs save_prefs
cleanup cleanup
} }
@@ -316,7 +358,7 @@ VERBOSE=${VERBOSE:-0}
SAVE=${SAVE:-1} SAVE=${SAVE:-1}
# Check prerequisites # Check prerequisites
if [[ ! -d $BASEDIR ]] ; then if [ ! -d $BASEDIR ] ; then
echo "Please install to $BASEDIR!" 1>&2 echo "Please install to $BASEDIR!" 1>&2
exit 1 exit 1
fi fi
@@ -338,12 +380,23 @@ case $OPERATION in
install) install)
install_main install_main
;; ;;
dotfiles)
install_dotfiles
;;
package*) package*)
if [ ${2:-default} != default ] ; then
install_pkg_set packages.${2} install_pkg_set packages.${2}
else
install_pkg_set packages
fi
;; ;;
pwndbg) pwndbg)
install_pwndbg install_pwndbg
;; ;;
test)
# Do nothing, just sourcing
set +o errexit
;;
*) *)
echo "Unknown operation $OPERATION." >/dev/stderr echo "Unknown operation $OPERATION." >/dev/stderr
exit 1 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 build-essential
cryptsetup cryptsetup
curl
dnsutils
dsniff dsniff
ecryptfs-utils ecryptfs-utils
gdb
git
git-crypt
gnupg2
gnupg-agent
gnupg-curl gnupg-curl
iftop iftop
iptraf iptraf
@@ -18,39 +10,27 @@ ipython3
jq jq
kpartx kpartx
ldap-utils ldap-utils
ltrace
lvm2 lvm2
mosh most
ngrep
nmap
opensc opensc
openvpn openvpn
p7zip-full p7zip-full
python3
python3-pip
python3-virtualenv
python-crypto python-crypto
python-dev python-dev
python-hachoir-urwid python-hachoir-urwid
python-html5lib python-html5lib
python-imaging python-imaging
python-nwdiag
python-pip python-pip
python-pypdf
python-scapy python-scapy
python-virtualenv python-virtualenv
python-yara python-yara
python3
python3-pip
python3-virtualenv
radare2 radare2
scapy scapy
scdaemon scdaemon
socat
sqlite3 sqlite3
strace
tcpdump
tmux
traceroute
tshark
ufw 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"