mirror of
https://github.com/Matir/skel.git
synced 2026-05-25 21:19:09 -07:00
Compare commits
80 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e52cf7ae00 | ||
|
|
eb2d6e776f | ||
|
|
af85d6f81f | ||
|
|
d84ee23039 | ||
|
|
ea1d3f669b | ||
|
|
47b4248de2 | ||
|
|
33e9188612 | ||
|
|
2f6c9c8c0a | ||
|
|
7128789d48 | ||
|
|
19068da3f8 | ||
|
|
10851db1a9 | ||
|
|
1b8d6b85db | ||
|
|
653fa39cf7 | ||
|
|
7b0713675c | ||
|
|
52ed3913c8 | ||
|
|
6d23e72bd7 | ||
|
|
da545f0de7 | ||
|
|
8d9cf14608 | ||
|
|
bdc1551122 | ||
|
|
ba497cd5bf | ||
|
|
ca63946c5e | ||
|
|
0b6fa6b0fa | ||
|
|
12247790a6 | ||
|
|
4d245198a8 | ||
|
|
8f4e4fe77b | ||
|
|
1cafe1cf7a | ||
|
|
ba546d478e | ||
|
|
08d9567bdf | ||
|
|
a460ee3bb4 | ||
|
|
f005bae9e6 | ||
|
|
3279d52505 | ||
|
|
939c604381 | ||
|
|
d2061e29ef | ||
|
|
de62342054 | ||
|
|
2cf2aa4e78 | ||
|
|
672767d758 | ||
|
|
96c2c37eb8 | ||
|
|
ffb5d753cd | ||
|
|
7a7340ef1d | ||
|
|
b1bea45a48 | ||
|
|
01432d1f41 | ||
|
|
d6800370de | ||
|
|
8f547abf93 | ||
|
|
a02825fb1f | ||
|
|
5e3d133f8b | ||
|
|
48477290f0 | ||
|
|
6bf68dfb2e | ||
|
|
590a1a2fa0 | ||
|
|
697db6ca24 | ||
|
|
f028c2f320 | ||
|
|
32a1c18c5d | ||
|
|
4ec3fa1e22 | ||
|
|
26685dfadb | ||
|
|
0b327577e7 | ||
|
|
373f6c31c6 | ||
|
|
4f7d98930d | ||
|
|
1aa256252f | ||
|
|
5705cb59c8 | ||
|
|
c8b33e39c7 | ||
|
|
a9012bebea | ||
|
|
6100557a2b | ||
|
|
5709d8fbb0 | ||
|
|
5dc84926be | ||
|
|
b303c1b5c5 | ||
|
|
dfd2b48b94 | ||
|
|
0e1370a93f | ||
|
|
4ebf519af7 | ||
|
|
1386dc49d0 | ||
|
|
360aa1c8ec | ||
|
|
8e8d220539 | ||
|
|
9b7561ce8f | ||
|
|
c9c65e10d7 | ||
|
|
61b4dbe963 | ||
|
|
20a8db806c | ||
|
|
be1bca8dbe | ||
|
|
9c3ad64036 | ||
|
|
d392eb8dfc | ||
|
|
6f15f7096a | ||
|
|
c7e40f1321 | ||
|
|
376fbb9f73 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,4 +1,5 @@
|
||||
installed-prefs
|
||||
.installed-prefs
|
||||
*.swp
|
||||
*~
|
||||
*.bak
|
||||
|
||||
35
bin/_install_apt_proxy.sh
Executable file
35
bin/_install_apt_proxy.sh
Executable file
@@ -0,0 +1,35 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
|
||||
if test -f /etc/apt/apt.conf.d/90-proxy ; then
|
||||
echo "Looks already setup."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
cat >/etc/apt/proxy-detect <<'EOF'
|
||||
#!/bin/bash
|
||||
|
||||
PROXY=192.168.60.10:3142
|
||||
|
||||
if ! test -x /bin/nc ; then
|
||||
echo DIRECT
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if nc -w 2 -z ${PROXY/:/ } ; then
|
||||
echo ${PROXY}
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo DIRECT
|
||||
EOF
|
||||
|
||||
chmod 755 /etc/apt/proxy-detect
|
||||
|
||||
cat >/etc/apt/apt.conf.d/90-proxy <<'EOF'
|
||||
Acquire::http::Proxy-Auto-Detect "/etc/apt/proxy-detect";
|
||||
EOF
|
||||
|
||||
echo "Setup APT Proxying."
|
||||
@@ -2,4 +2,4 @@
|
||||
|
||||
apt-get install -y \
|
||||
i3 i3lock xss-lock rxvt-unicode-256color fonts-inconsolata scrot \
|
||||
xautolock xbacklight i3status
|
||||
xautolock xbacklight i3status dex
|
||||
|
||||
@@ -26,5 +26,5 @@ function verify_dest {
|
||||
|
||||
verify_dest "$DEST"
|
||||
|
||||
rsync -Hax --delete --exclude-from="$HOME/.rsync_ignore" \
|
||||
exec nice rsync -Hax --delete --exclude-from="$HOME/.rsync_ignore" \
|
||||
--delete-excluded "${HOME}/" "$DEST"
|
||||
|
||||
@@ -1,3 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
exec xdg-open $(dirname $0)/cyberchef.html
|
||||
set -u
|
||||
|
||||
CHEF_FILE=${HOME}/tools/cyberchef/cyberchef.html
|
||||
|
||||
if [ ! -f ${CHEF_FILE} ] ; then
|
||||
${HOME}/bin/install_tool cyberchef
|
||||
fi
|
||||
|
||||
exec xdg-open ${CHEF_FILE}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -31,10 +31,16 @@ if [ $# -ne 1 ] ; then
|
||||
fi
|
||||
TOOL=${1}
|
||||
|
||||
function die {
|
||||
echo $* >/dev/stderr
|
||||
return 1
|
||||
}
|
||||
|
||||
function install_pkgs {
|
||||
if [ ${PACKAGES} -eq 0 ] ; then
|
||||
return 0
|
||||
fi
|
||||
# TODO: check if packages are already installed
|
||||
if [ `id -u` -ne "0" ] ; then
|
||||
sudo apt-get -y install $* || (
|
||||
echo -n "Unable to install packages, please ensure these " >/dev/stderr
|
||||
@@ -50,6 +56,7 @@ function download {
|
||||
SRC=${1}
|
||||
DST=${2}
|
||||
echo -n "Downloading ${SRC} to ${DST}..." >&2
|
||||
# TODO: consider curl instead?
|
||||
wget --no-server-response -q -O ${DST} --content-disposition ${SRC}
|
||||
echo " done." >&2
|
||||
}
|
||||
@@ -58,6 +65,15 @@ function check_sudo {
|
||||
sudo -l >/dev/null
|
||||
}
|
||||
|
||||
function add_bin_symlink {
|
||||
local TARGET NAME BINDIR
|
||||
TARGET=${1}
|
||||
NAME=${2:-$(basename ${1})}
|
||||
BINDIR=${HOME}/bin/tools/
|
||||
mkdir -p -- ${BINDIR}
|
||||
ln -sf ${DESTDIR}/${TARGET} ${BINDIR}/${NAME}
|
||||
}
|
||||
|
||||
DESTDIR="${HOME}/tools/${TOOL}"
|
||||
|
||||
if [ -d ${DESTDIR} ] ; then
|
||||
@@ -101,15 +117,19 @@ case ${TOOL} in
|
||||
${DESTDIR}/hak5.txt.bz2
|
||||
bunzip2 ${DESTDIR}/hak5.txt.bz2
|
||||
;;
|
||||
seclists)
|
||||
git clone https://github.com/danielmiessler/SecLists.git ${DESTDIR}
|
||||
;;
|
||||
gcloud)
|
||||
mkdir -p ${DESTDIR}
|
||||
gtemp=`mktemp -d`
|
||||
gbase="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/"
|
||||
# TODO: find a way to make this version independent
|
||||
gsdk="google-cloud-sdk-142.0.0-linux-x86_64.tar.gz"
|
||||
gsdk="google-cloud-sdk-209.0.0-linux-x86_64.tar.gz"
|
||||
download "${gbase}${gsdk}" /tmp/gcloud.tar.gz
|
||||
tar zxf /tmp/gcloud.tar.gz --strip-components=1 -C ${DESTDIR}
|
||||
rm /tmp/gcloud.tar.gz
|
||||
add_bin_symlink bin/gcloud
|
||||
;;
|
||||
android-sdk)
|
||||
# TODO: find a way to make this version independent
|
||||
@@ -137,12 +157,13 @@ case ${TOOL} in
|
||||
fi
|
||||
;;
|
||||
mitmproxy)
|
||||
# Find a better way to get the latest
|
||||
src="https://github.com/mitmproxy/mitmproxy/releases/download/v2.0.1/mitmproxy-2.0.1-linux.tar.gz"
|
||||
download ${src} /tmp/mitmproxy.tar.gz
|
||||
ver=$(python -c 'import urllib2; import json; print(json.load(urllib2.urlopen("https://api.github.com/repos/mitmproxy/mitmproxy/releases/latest"))["name"].replace("v",""))')
|
||||
download https://snapshots.mitmproxy.org/${ver}/mitmproxy-${ver}-linux.tar.gz /tmp/mitmproxy.tar.gz
|
||||
mkdir -p ${DESTDIR}
|
||||
tar zx -C ${DESTDIR} -f /tmp/mitmproxy.tar.gz
|
||||
rm /tmp/mitmproxy.tar.gz
|
||||
add_bin_symlink mitmproxy
|
||||
add_bin_symlink mitmweb
|
||||
;;
|
||||
esp)
|
||||
src="https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz"
|
||||
@@ -176,6 +197,26 @@ case ${TOOL} in
|
||||
/etc/udev/rules.d/77-mm-usb-device-blacklist.rules &&
|
||||
udevadm control --reload-rules"
|
||||
;;
|
||||
cyberchef)
|
||||
mkdir -p ${DESTDIR}
|
||||
src=$(python -c 'import urllib2; import json; print(filter(lambda x: x["name"]=="cyberchef.htm", json.load(urllib2.urlopen("https://api.github.com/repos/gchq/CyberChef/releases/latest"))["assets"])[0]["browser_download_url"])')
|
||||
download ${src} ${DESTDIR}/cyberchef.html
|
||||
;;
|
||||
apktool)
|
||||
mkdir -p ${DESTDIR}
|
||||
download \
|
||||
https://raw.githubusercontent.com/iBotPeaches/Apktool/master/scripts/linux/apktool \
|
||||
${DESTDIR}/apktool
|
||||
download \
|
||||
https://bitbucket.org/iBotPeaches/apktool/downloads/apktool_2.3.3.jar \
|
||||
${DESTDIR}/apktool.jar
|
||||
chmod +x ${DESTDIR}/apktool
|
||||
add_bin_symlink apktool
|
||||
;;
|
||||
ptf)
|
||||
src="https://github.com/trustedsec/ptf.git"
|
||||
git clone ${src} ${DESTDIR}
|
||||
;;
|
||||
*)
|
||||
echo "Unknown tool: ${TOOL}" >/dev/stderr
|
||||
exit 1
|
||||
|
||||
24
dconf/org/cinnamon/desktop/keybindings
Normal file
24
dconf/org/cinnamon/desktop/keybindings
Normal file
@@ -0,0 +1,24 @@
|
||||
[media-keys]
|
||||
screensaver=['<Primary><Alt>l', 'XF86ScreenSaver']
|
||||
|
||||
[wm]
|
||||
move-to-workspace-1=['<Shift><Super>exclam']
|
||||
move-to-workspace-2=['<Shift><Super>at']
|
||||
move-to-workspace-3=['<Shift><Super>numbersign']
|
||||
move-to-workspace-4=['<Shift><Super>dollar']
|
||||
move-to-workspace-5=['<Shift><Super>percent']
|
||||
move-to-workspace-6=['<Shift><Super>asciicircum']
|
||||
move-to-workspace-7=['<Shift><Super>ampersand']
|
||||
move-to-workspace-8=['<Shift><Super>asterisk']
|
||||
move-to-workspace-9=['<Shift><Super>parenleft']
|
||||
switch-to-workspace-4=['<Super>4']
|
||||
switch-to-workspace-1=['<Super>1']
|
||||
switch-to-workspace-10=['<Super>0']
|
||||
switch-to-workspace-3=['<Super>3']
|
||||
switch-to-workspace-8=['<Super>8']
|
||||
switch-to-workspace-5=['<Super>5']
|
||||
move-to-workspace-10=['<Shift><Super>parenright']
|
||||
switch-to-workspace-2=['<Super>2']
|
||||
switch-to-workspace-9=['<Super>9']
|
||||
switch-to-workspace-6=['<Super>6']
|
||||
switch-to-workspace-7=['<Super>7']
|
||||
@@ -3,7 +3,7 @@ Xcursor.size: 16
|
||||
!!!
|
||||
! Xft for fonts
|
||||
!!!
|
||||
Xft.dpi: 96
|
||||
!Xft.dpi: 144
|
||||
Xft.antialias: false
|
||||
Xft.lcdfilter: lcddefault
|
||||
Xft.rgba: rgb
|
||||
|
||||
@@ -40,6 +40,3 @@ 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"
|
||||
|
||||
@@ -177,6 +177,7 @@ exec --no-startup-id gnome-settings-daemon
|
||||
exec --no-startup-id (sleep 2; nm-applet) &
|
||||
exec --no-startup-id xset r rate 200 20
|
||||
exec --no-startup-id ~/bin/autostart.py
|
||||
exec --no-startup-id dex --autostart --environment x-cinnamon
|
||||
|
||||
# customize windows
|
||||
for_window [window_role="pop-up"] floating enable
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
tlsv1
|
||||
user-agent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0 Safari/537.36"
|
||||
create-dirs
|
||||
referer = ";auto"
|
||||
|
||||
38
dotfiles/env
38
dotfiles/env
@@ -15,14 +15,48 @@ export LESS="-MR"
|
||||
export QUOTING_STYLE="literal" # Coreutils quotes
|
||||
|
||||
# Fix gnome-terminal
|
||||
if [[ $TERM == "xterm" && $COLORTERM == "gnome-terminal" ]] ; then
|
||||
if [ "$TERM" = "xterm" -a "$COLORTERM" = "gnome-terminal" ] ; then
|
||||
export TERM="xterm-256color"
|
||||
fi
|
||||
|
||||
# For virtualenvwrapper
|
||||
export WORKON_HOME=$HOME/.virtualenvs
|
||||
export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'
|
||||
|
||||
# GPG full key id
|
||||
export GPG_ID=7FD58D9A196DCEEEAD671F94F4D7A7915DEA789B
|
||||
|
||||
if [[ -e $HOME/.localenv ]] ; then source $HOME/.localenv ; fi
|
||||
# Setup locale
|
||||
if test -x /usr/bin/locale ; then
|
||||
for l in en_US.UTF-8 C.UTF-8 C ; do
|
||||
if /usr/bin/locale -a | grep -q "${l}" ; then
|
||||
export LC_CTYPE=${l}
|
||||
export LC_NUMERIC=${l}
|
||||
export LC_TIME=${l}
|
||||
export LC_MONETARY=${l}
|
||||
export LC_MESSAGES=${l}
|
||||
export LC_PAPER=${l}
|
||||
export LC_NAME=${l}
|
||||
export LC_ADDRESS=${l}
|
||||
export LC_TELEPHONE=${l}
|
||||
export LC_MEASUREMENT=${l}
|
||||
export LC_IDENTIFICATION=${l}
|
||||
break
|
||||
fi
|
||||
done
|
||||
else
|
||||
export LC_CTYPE=C
|
||||
export LC_NUMERIC=C
|
||||
export LC_TIME=C
|
||||
export LC_MONETARY=C
|
||||
export LC_MESSAGES=C
|
||||
export LC_PAPER=C
|
||||
export LC_NAME=C
|
||||
export LC_ADDRESS=C
|
||||
export LC_TELEPHONE=C
|
||||
export LC_MEASUREMENT=C
|
||||
export LC_IDENTIFICATION=C
|
||||
fi
|
||||
export LC_COLLATE=C
|
||||
|
||||
if [ -e $HOME/.localenv ] ; then source $HOME/.localenv ; fi
|
||||
|
||||
@@ -17,3 +17,6 @@ Thumbs.db
|
||||
# Try to avoid accidentally checking in private keys
|
||||
id_rsa
|
||||
id_ecdsa
|
||||
|
||||
# Kicad backup files
|
||||
*.kicad_pcb-bak
|
||||
|
||||
@@ -7,3 +7,4 @@ personal-digest-preferences SHA256
|
||||
cert-digest-algo SHA256
|
||||
default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
|
||||
cipher-algo AES256
|
||||
default-key 7FD58D9A196DCEEEAD671F94F4D7A7915DEA789B
|
||||
|
||||
4
dotfiles/inputrc
Normal file
4
dotfiles/inputrc
Normal file
@@ -0,0 +1,4 @@
|
||||
set editing-mode vi
|
||||
|
||||
set keymap vi
|
||||
set convert-meta on
|
||||
@@ -1,7 +1,8 @@
|
||||
# Always load ENV
|
||||
test -f "$HOME/.env" && . "$HOME/.env"
|
||||
|
||||
test -f "${HOME}/.profile.local" && . "${HOME}/.profile.local"
|
||||
# Setup GREP_COLORS
|
||||
export GREP_COLOR='01;31'
|
||||
export GREP_COLORS='mt=01;31:mc=01;31:ms=01;31'
|
||||
|
||||
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
|
||||
export PATH="$PATH:$HOME/.rvm/bin"
|
||||
test -f "${HOME}/.profile.local" && . "${HOME}/.profile.local"
|
||||
|
||||
@@ -10,3 +10,4 @@ Downloads
|
||||
.sqlite_history
|
||||
VirtualBox VMs
|
||||
Audits
|
||||
SpiderOak Hive
|
||||
|
||||
@@ -1,9 +1,21 @@
|
||||
# Universal Settings (can't override)
|
||||
# Never fall back to protocol 1: it's broken
|
||||
# Universal Settings
|
||||
Protocol 2
|
||||
|
||||
# Permit Local Overrides
|
||||
Include ~/.ssh/config.d/*
|
||||
|
||||
# Enable canonicalization, unless overridden
|
||||
CanonicalizeHostname yes
|
||||
CanonicalizeFallbackLocal yes
|
||||
CanonicalDomains systemoverlord.com
|
||||
CanonicalizeMaxDots 0
|
||||
|
||||
# Defaults (May be Overridden)
|
||||
Host *
|
||||
Host *.*
|
||||
CheckHostIP yes
|
||||
|
||||
Match canonical all
|
||||
CheckHostIP no
|
||||
ControlMaster auto
|
||||
ControlPath ~/.ssh/master/%r@%h:%p
|
||||
ControlPersist yes
|
||||
@@ -11,9 +23,6 @@ Host *
|
||||
ForwardX11 no
|
||||
ForwardX11Trusted no
|
||||
ServerAliveInterval 120
|
||||
CheckHostIP no
|
||||
|
||||
Host warzone
|
||||
Hostname warzone.shadowcats.club
|
||||
Port 22
|
||||
User matir
|
||||
UpdateHostKeys yes
|
||||
User david
|
||||
VerifyHostKeyDNS yes
|
||||
|
||||
@@ -57,3 +57,7 @@ bind M \
|
||||
set -g mouse-select-pane off \;\
|
||||
set -g mouse-select-window off \;\
|
||||
display 'Mouse: OFF'
|
||||
|
||||
# tmux X clipboard integration
|
||||
bind C-c run "tmux show-buffer | xsel -i -b"
|
||||
bind C-v run "tmux set-buffer -- \"$(xsel -o -b)\"; tmux paste-buffer"
|
||||
|
||||
@@ -51,7 +51,6 @@ imap <S-Tab> <Esc><<A
|
||||
" Line numbering, ruler
|
||||
set number
|
||||
set ruler
|
||||
set cursorline
|
||||
|
||||
" File options
|
||||
set encoding=utf-8
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
setxkbmap -option ctrl:nocaps
|
||||
setxkbmap -option ctrl:nocaps -option compose:ralt
|
||||
test -x /usr/bin/xsettingsd && /usr/bin/xsettingsd &
|
||||
test -f "$HOME/.env" && "$HOME/.env"
|
||||
test -f "$HOME/.profile" && . "$HOME/.profile"
|
||||
|
||||
8
dotfiles/zlogin
Normal file
8
dotfiles/zlogin
Normal file
@@ -0,0 +1,8 @@
|
||||
# Execute code that does not affect the current session in the background.
|
||||
{
|
||||
# Compile the completion dump to increase startup speed.
|
||||
zcompdump="${ZDOTDIR:-$HOME}/.zcompdump"
|
||||
if [[ -s "$zcompdump" && (! -s "${zcompdump}.zwc" || "$zcompdump" -nt "${zcompdump}.zwc") ]]; then
|
||||
zcompile "$zcompdump"
|
||||
fi
|
||||
} &!
|
||||
@@ -60,6 +60,7 @@ function jekyll {
|
||||
local DATE
|
||||
local NEWNAME
|
||||
local JEKYLL_DIR
|
||||
local EDITOR=${EDITOR:-vim}
|
||||
|
||||
JEKYLL_DIR=`_jekyll_locate_dir`
|
||||
|
||||
@@ -73,7 +74,12 @@ function jekyll {
|
||||
JTEMPLATE+="category: Blog\n"
|
||||
JTEMPLATE+="---\n\n"
|
||||
TITLE=${@[2,-1]}
|
||||
SLUG=$(echo -n ${TITLE}|tr A-Z a-z|tr -c -s -- a-z0-9 -)
|
||||
SLUG=$(echo -n ${TITLE} |
|
||||
tr A-Z a-z | # Everything in lower case
|
||||
tr -d "'" | # Remove single quotes entirely
|
||||
tr -c -s -- a-z0-9 - | # Replace non-alphanums with dashes
|
||||
sed 's/^-*\([^-].*[^-]\)-*$/\1/' # Remove leading and trailing slashes
|
||||
)
|
||||
DATE=`date +%Y-%m-%d`
|
||||
|
||||
case "${1:-help}" in
|
||||
@@ -84,6 +90,7 @@ function jekyll {
|
||||
echo " post Create a new post to publish immediately."
|
||||
echo " publish Publish a draft post by name."
|
||||
echo " edit Edit a post."
|
||||
echo " dev Run local server with drafts and incremental."
|
||||
;;
|
||||
draft)
|
||||
if [ -z "${SLUG}" ] ; then
|
||||
@@ -93,7 +100,7 @@ function jekyll {
|
||||
mkdir -p "${JEKYLL_DIR}/_drafts"
|
||||
FILENAME="${JEKYLL_DIR}/_drafts/${SLUG}.md"
|
||||
printf -- "${JTEMPLATE}" "${TITLE}" > "${FILENAME}"
|
||||
vim "${FILENAME}" '+$' '+startinsert'
|
||||
${EDITOR} "${FILENAME}" '+$' '+startinsert'
|
||||
;;
|
||||
post)
|
||||
if [ -z "${SLUG}" ] ; then
|
||||
@@ -103,7 +110,7 @@ function jekyll {
|
||||
FILENAME="${JEKYLL_DIR}/_posts/${DATE}-${SLUG}.md"
|
||||
printf -- "${JTEMPLATE}" "${TITLE}" > "${FILENAME}"
|
||||
_jekyll_set_date "${FILENAME}" "${DATE}"
|
||||
vim "${FILENAME}" '+$' '+startinsert'
|
||||
${EDITOR} "${FILENAME}" '+$' '+startinsert'
|
||||
;;
|
||||
publish)
|
||||
if [ -z "${SLUG}" ] ; then
|
||||
@@ -131,7 +138,10 @@ function jekyll {
|
||||
if [ $? -ne 0 ] ; then
|
||||
return
|
||||
fi
|
||||
vim "${FILENAME}"
|
||||
${EDITOR} "${FILENAME}"
|
||||
;;
|
||||
dev)
|
||||
command jekyll serve -D -I "$@"
|
||||
;;
|
||||
*)
|
||||
command jekyll "$@"
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# vim: syntax=zsh
|
||||
|
||||
function prompt_matir_setup {
|
||||
autoload -Uz add-zsh-hook
|
||||
autoload -Uz vcs_info
|
||||
@@ -9,14 +11,31 @@ function prompt_matir_setup {
|
||||
|
||||
add-zsh-hook precmd prompt_matir_precmd
|
||||
|
||||
# Git related styles
|
||||
zstyle ':vcs_info:*' enable git
|
||||
zstyle ':vcs_info:*' check-for-changes true
|
||||
zstyle ':vcs_info:*' formats ' (%b%u)'
|
||||
zstyle ':vcs_info:*' formats ' (%b%u%c)'
|
||||
zstyle ':vcs_info:*' stagedstr '*'
|
||||
zstyle ':vcs_info:*' unstagedstr '*'
|
||||
zstyle ':vcs_info:git*+set-message:*' hooks git-untracked
|
||||
|
||||
# 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%} '
|
||||
# Virtualenv formatting
|
||||
zstyle ':prezto:module:python:info:virtualenv' format ' (py:%v)'
|
||||
|
||||
PROMPT='%{$fg[black]%}[%{$fg[yellow]%}%h%{$fg[black]%}] ' # History #
|
||||
PROMPT+='%{%(!.$fg[red].$fg[green])%}%8>..>%n%>>%{$fg[white]%}@' # username@
|
||||
PROMPT+='%{$fg[blue]%}%12>..>%m%>>%{$fg[white]%}:' # hostname
|
||||
PROMPT+='%{$fg[green]%}%32<...<%~%<<' # path
|
||||
PROMPT+='%{$fg[magenta]%}${python_info[virtualenv]}' # virtualenv
|
||||
PROMPT+='%{$fg[blue]%}${vcs_info_msg_0_}' # VCS info
|
||||
PROMPT+='%{$fg[white]%}%#%{$reset_color%} ' # prompt symbol
|
||||
|
||||
# Editor options
|
||||
zstyle ':prezto:module:editor:info:keymap:primary' format ''
|
||||
zstyle ':prezto:module:editor:info:keymap:primary:insert' format 'I'
|
||||
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format 'O'
|
||||
zstyle ':prezto:module:editor:info:keymap:alternate' format ' [VICMD]'
|
||||
zstyle ':prezto:module:editor:info:completing' format '...'
|
||||
|
||||
# Rprompt setup
|
||||
local show_return="✘ "
|
||||
@@ -26,11 +45,25 @@ function prompt_matir_setup {
|
||||
fi
|
||||
RPROMPT='%(?:: %{$fg[red]%}'
|
||||
RPROMPT+=${show_return}
|
||||
RPROMPT+='%{$reset_color)%}'
|
||||
RPROMPT+='%{$reset_color%})'
|
||||
RPROMPT+='${editor_info[keymap]}'
|
||||
}
|
||||
|
||||
function prompt_matir_precmd {
|
||||
vcs_info
|
||||
if (( $+functions[python-info] )); then
|
||||
python-info
|
||||
fi
|
||||
}
|
||||
|
||||
### git: Show marker (*) if there are untracked files in repository
|
||||
# Make sure you have added staged to your 'formats': %c
|
||||
|
||||
+vi-git-untracked(){
|
||||
if [[ $(git rev-parse --is-inside-work-tree 2> /dev/null) == 'true' ]] && \
|
||||
git status --porcelain | grep '??' &> /dev/null ; then
|
||||
hook_com[staged]+='*'
|
||||
fi
|
||||
}
|
||||
|
||||
prompt_matir_setup "$@"
|
||||
|
||||
3027
dotfiles/zprezto_custom/xtra_completions/functions/_docker
Normal file
3027
dotfiles/zprezto_custom/xtra_completions/functions/_docker
Normal file
File diff suppressed because it is too large
Load Diff
@@ -41,6 +41,7 @@ zstyle ':prezto:load' pmodule \
|
||||
'gpg' \
|
||||
'python' \
|
||||
'ruby' \
|
||||
'syntax-highlighting' \
|
||||
'history-substring-search' \
|
||||
'jekyll' \
|
||||
'prompt' \
|
||||
@@ -56,6 +57,8 @@ zstyle ':prezto:load' pmodule \
|
||||
#
|
||||
# Completions
|
||||
#
|
||||
# No groups of completions.
|
||||
zstyle ':completion:*' format ''
|
||||
|
||||
# Set the entries to ignore in static */etc/hosts* for host completion.
|
||||
# zstyle ':prezto:module:completion:*:hosts' etc-host-ignores \
|
||||
@@ -145,7 +148,7 @@ zstyle ':prezto:module:prompt' theme 'matir'
|
||||
# zstyle ':prezto:module:python:virtualenv' auto-switch 'yes'
|
||||
|
||||
# Automatically initialize virtualenvwrapper if pre-requisites are met.
|
||||
# zstyle ':prezto:module:python:virtualenv' initialize 'yes'
|
||||
zstyle ':prezto:module:python:virtualenv' initialize 'yes'
|
||||
|
||||
#
|
||||
# Screen
|
||||
@@ -170,14 +173,12 @@ zstyle ':prezto:module:prompt' theme 'matir'
|
||||
|
||||
# Set syntax highlighters.
|
||||
# By default, only the main highlighter is enabled.
|
||||
# zstyle ':prezto:module:syntax-highlighting' highlighters \
|
||||
# 'main' \
|
||||
# 'brackets' \
|
||||
# 'pattern' \
|
||||
# 'line' \
|
||||
# 'cursor' \
|
||||
# 'root'
|
||||
#
|
||||
zstyle ':prezto:module:syntax-highlighting' highlighters \
|
||||
'main' \
|
||||
'brackets' \
|
||||
'pattern' \
|
||||
'line'
|
||||
|
||||
# Set syntax highlighting styles.
|
||||
# zstyle ':prezto:module:syntax-highlighting' styles \
|
||||
# 'builtin' 'bg=blue' \
|
||||
@@ -193,16 +194,16 @@ zstyle ':prezto:module:prompt' theme 'matir'
|
||||
#
|
||||
|
||||
# Auto set the tab and window titles.
|
||||
# zstyle ':prezto:module:terminal' auto-title 'yes'
|
||||
zstyle ':prezto:module:terminal' auto-title 'yes'
|
||||
|
||||
# Set the window title format.
|
||||
# zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
|
||||
zstyle ':prezto:module:terminal:window-title' format '%n@%m: %s'
|
||||
|
||||
# Set the tab title format.
|
||||
# zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
|
||||
zstyle ':prezto:module:terminal:tab-title' format '%m: %s'
|
||||
|
||||
# Set the terminal multiplexer title format.
|
||||
# zstyle ':prezto:module:terminal:multiplexer-title' format '%s'
|
||||
zstyle ':prezto:module:terminal:multiplexer-title' format '%s'
|
||||
|
||||
#
|
||||
# Tmux
|
||||
@@ -212,7 +213,7 @@ zstyle ':prezto:module:prompt' theme 'matir'
|
||||
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'
|
||||
zstyle ':prezto:module:tmux:auto-start' remote 'no'
|
||||
|
||||
# Integrate with iTerm2.
|
||||
# zstyle ':prezto:module:tmux:iterm' integrate 'yes'
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# For interactive shells
|
||||
HISTFILE=~/.histfile
|
||||
HISTSIZE=1000
|
||||
SAVEHIST=1000
|
||||
HISTFILE=~/.zhistory
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
setopt appendhistory autocd autopushd extendedglob nohup nomatch histignorespace histlexwords histverify cbases
|
||||
unsetopt beep histbeep listbeep flowcontrol
|
||||
bindkey -e
|
||||
bindkey -v
|
||||
|
||||
# Completion
|
||||
zstyle :compinstall filename '/home/david/.zshrc'
|
||||
zstyle :compinstall filename "${HOME}/.zshrc"
|
||||
autoload -Uz compinit && compinit
|
||||
|
||||
DIRSTACKSIZE=16
|
||||
@@ -32,9 +32,14 @@ fi
|
||||
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
|
||||
source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
|
||||
fi
|
||||
# noglob scp is so annoying
|
||||
unalias scp
|
||||
|
||||
# Overrides to prezto
|
||||
unsetopt cdablevars
|
||||
|
||||
# .profile is universal
|
||||
# but after oh-my-zsh to use anything setup there
|
||||
# but after zprezto to use/override anything setup there
|
||||
. ~/.profile
|
||||
# Deduplicate the path
|
||||
typeset -U path
|
||||
@@ -43,8 +48,17 @@ typeset -U path
|
||||
# Keybindings
|
||||
bindkey '^[[A' history-search-backward
|
||||
bindkey '^[[B' history-search-forward
|
||||
# ctrl-arrow keys
|
||||
bindkey '^[[1;5C' forward-word
|
||||
bindkey '^[[1;5D' backward-word
|
||||
bindkey '^P' up-history
|
||||
bindkey '^N' down-history
|
||||
bindkey '^?' backward-delete-char
|
||||
bindkey '^h' backward-delete-char
|
||||
# ok, a few convenience bindings
|
||||
bindkey '^w' backward-kill-word
|
||||
bindkey '^r' history-incremental-search-backward
|
||||
|
||||
|
||||
# Source extras and aliases if interactive
|
||||
if [[ $- == *i* ]] ; then
|
||||
@@ -57,6 +71,9 @@ if [ -x /usr/bin/ack-grep ] ; then
|
||||
alias ack='/usr/bin/ack-grep'
|
||||
fi
|
||||
|
||||
# Setup PATH for tools
|
||||
PATH=${PATH}:${HOME}/bin/tools
|
||||
|
||||
# Most is nice, if we have it
|
||||
if command -v most >/dev/null 2>&1; then
|
||||
export PAGER="most"
|
||||
@@ -64,15 +81,3 @@ fi
|
||||
|
||||
# Load any local settings
|
||||
if [ -e $HOME/.zshrc.local ] ; then source $HOME/.zshrc.local ; fi
|
||||
|
||||
function start_esp {
|
||||
if [ ! -d ${HOME}/tools/esp ] ; then
|
||||
echo "ESP not installed!" >/dev/stderr
|
||||
return 1
|
||||
fi
|
||||
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"
|
||||
|
||||
36
install.sh
36
install.sh
@@ -129,9 +129,6 @@ postinstall() {
|
||||
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
|
||||
}
|
||||
|
||||
ssh_key_already_installed() {
|
||||
@@ -221,7 +218,7 @@ run_as_root() {
|
||||
if [ ${USER} = "root" ] ; then
|
||||
"$@"
|
||||
return $?
|
||||
elif groups | grep -q '\bsudo\b' ; then
|
||||
elif test -x $(which sudo 2>/dev/null) ; then
|
||||
verbose "Using sudo to run ${1}..."
|
||||
sudo "$@"
|
||||
return $?
|
||||
@@ -232,7 +229,10 @@ run_as_root() {
|
||||
install_pkg_set() {
|
||||
local pkg_file=${BASEDIR}/${1}
|
||||
local pkg_list=""
|
||||
if [ ! -f "${pkg_file}" ] ; then return 0 ; fi
|
||||
if [ ! -f "${pkg_file}" ] ; then
|
||||
echo "Package set $(basename ${pkg_file}) does not exist." 1>&2
|
||||
return 1
|
||||
fi
|
||||
while read line ; do
|
||||
if is_comment "${line}" ; then
|
||||
continue
|
||||
@@ -280,7 +280,11 @@ install_chrome() {
|
||||
|
||||
read_saved_prefs() {
|
||||
# Can't use basedir here as we don't have it yet
|
||||
local pref_file=`dirname $0`/installed-prefs
|
||||
local old_pref_file=`dirname $0`/installed-prefs
|
||||
local pref_file=`dirname $0`/.installed-prefs
|
||||
if [ -f ${old_pref_file} -a ! -f ${pref_file} ] ; then
|
||||
mv ${old_pref_file} ${pref_file}
|
||||
fi
|
||||
if [ -f ${pref_file} ] ; then
|
||||
verbose "Loading saved skel preferences from ${pref_file}"
|
||||
# source is a bashism
|
||||
@@ -290,7 +294,7 @@ read_saved_prefs() {
|
||||
|
||||
save_prefs() {
|
||||
test $SAVE = 1 || return 0
|
||||
local pref_file=${BASEDIR}/installed-prefs
|
||||
local pref_file=${BASEDIR}/.installed-prefs
|
||||
(echo_pref BASEDIR
|
||||
echo_pref MINIMAL
|
||||
echo_pref INSTALL_KEYS
|
||||
@@ -344,6 +348,13 @@ install_main() {
|
||||
cleanup
|
||||
}
|
||||
|
||||
install_dconf() {
|
||||
which dconf >/dev/null 2>&1 || return 1
|
||||
find "${BASEDIR}/dconf" -type f -printf '/%P\n' | while read dcpath ; do
|
||||
dconf load ${dcpath}/ < "${BASEDIR}/dconf/${dcpath}"
|
||||
done
|
||||
}
|
||||
|
||||
# Setup variables
|
||||
read_saved_prefs
|
||||
|
||||
@@ -384,11 +395,8 @@ case $OPERATION in
|
||||
install_dotfiles
|
||||
;;
|
||||
package*)
|
||||
if [ ${2:-default} != default ] ; then
|
||||
install_pkg_set packages.${2}
|
||||
else
|
||||
install_pkg_set packages
|
||||
fi
|
||||
PKG_SET=${2:-minimal}
|
||||
install_pkg_set packages.${PKG_SET}
|
||||
;;
|
||||
pwndbg)
|
||||
install_pwndbg
|
||||
@@ -397,6 +405,10 @@ case $OPERATION in
|
||||
# Do nothing, just sourcing
|
||||
set +o errexit
|
||||
;;
|
||||
dconf)
|
||||
# Load dconf
|
||||
install_dconf
|
||||
;;
|
||||
*)
|
||||
echo "Unknown operation $OPERATION." >/dev/stderr
|
||||
exit 1
|
||||
|
||||
1
keys/ssh/id_ecdsa_chromebook.pub
Normal file
1
keys/ssh/id_ecdsa_chromebook.pub
Normal file
@@ -0,0 +1 @@
|
||||
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIsFYLEsalNh/l6PtMZhi0f/eZ22uoMw/xYpgPy6vBU6OlpN2FjW7R0pwX29fZjjVQoF0eEG0K/9/CcYcnxtspw= chronos@localhost
|
||||
@@ -7,3 +7,4 @@ network-manager-openvpn-gnome
|
||||
vim-gtk
|
||||
wireshark
|
||||
wkhtmltopdf
|
||||
zeal
|
||||
|
||||
@@ -12,9 +12,11 @@ kpartx
|
||||
ldap-utils
|
||||
lvm2
|
||||
most
|
||||
nasm
|
||||
opensc
|
||||
openvpn
|
||||
p7zip-full
|
||||
psmisc
|
||||
python3
|
||||
python3-pip
|
||||
python3-virtualenv
|
||||
@@ -22,7 +24,6 @@ python-crypto
|
||||
python-dev
|
||||
python-hachoir-urwid
|
||||
python-html5lib
|
||||
python-imaging
|
||||
python-nwdiag
|
||||
python-pip
|
||||
python-scapy
|
||||
|
||||
Binary file not shown.
BIN
private_dotfiles/ssh/config.d/hosts
Normal file
BIN
private_dotfiles/ssh/config.d/hosts
Normal file
Binary file not shown.
2
udev/41-microchip.rules
Normal file
2
udev/41-microchip.rules
Normal file
@@ -0,0 +1,2 @@
|
||||
# Pickit 3
|
||||
ATTR{idVendor}=="04d8", ATTR{idProduct}=="900a", MODE="0666", GROUP="plugdev"
|
||||
Reference in New Issue
Block a user