mirror of
https://github.com/Matir/skel.git
synced 2026-05-26 05:29:09 -07:00
Compare commits
84 Commits
2022-03-11
...
2023-08-20
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
11ecbdaf04 | ||
|
|
bc9150b592 | ||
|
|
f81410cfc0 | ||
|
|
87239b2034 | ||
|
|
50011b1675 | ||
|
|
eb3392966a | ||
|
|
3188effbd3 | ||
|
|
80b119f6ad | ||
|
|
e87b4cb3d4 | ||
|
|
0c08d4ebe7 | ||
|
|
a7d59e971f | ||
|
|
233b3e7a7b | ||
|
|
691f64a477 | ||
|
|
670875f227 | ||
|
|
e90c014d88 | ||
|
|
d76a278a95 | ||
|
|
8eff002d55 | ||
|
|
3015e7a1c0 | ||
|
|
a286795570 | ||
|
|
99e8ff6f2b | ||
|
|
4a77c0e900 | ||
|
|
35f494c3d4 | ||
|
|
f650d12efb | ||
|
|
2c67b58ba6 | ||
|
|
ba9534577a | ||
|
|
193b22e0d1 | ||
|
|
b7353bd34e | ||
|
|
12b2ed211b | ||
|
|
ee5a78b578 | ||
|
|
25a9194480 | ||
|
|
f4ea05681c | ||
|
|
eb193fe1de | ||
|
|
e02dc0be80 | ||
|
|
6c3dea3721 | ||
|
|
cb3ba03c49 | ||
|
|
d7cc6fd508 | ||
|
|
b628453b10 | ||
|
|
157e6ee20e | ||
|
|
e375d7f472 | ||
|
|
373189f440 | ||
|
|
a719ca9972 | ||
|
|
4937a98ccc | ||
|
|
81093ab3d6 | ||
|
|
ab85cb5ecf | ||
|
|
cbb580fcdf | ||
|
|
aea9e50141 | ||
|
|
10ce6ff7f6 | ||
|
|
cd9bb5d6cc | ||
|
|
5cfbc4e88a | ||
|
|
44d981e3c3 | ||
|
|
3f509e17c1 | ||
|
|
af3365ad8e | ||
|
|
6888e8503f | ||
|
|
e52af2d21a | ||
|
|
a5a5c7d5df | ||
|
|
aca274d7df | ||
|
|
70cdfcdc07 | ||
|
|
9a38b456d7 | ||
|
|
a4196d7bc1 | ||
|
|
cbcc6e6fb6 | ||
|
|
f2ca693f7b | ||
|
|
da43e7533d | ||
|
|
9c9c56b030 | ||
|
|
747bc7becd | ||
|
|
c3c9714b8d | ||
|
|
5865f5130f | ||
|
|
6803ac2ce2 | ||
|
|
c512401acd | ||
|
|
dae254e240 | ||
|
|
2ab9bd3452 | ||
|
|
b68c1e2c65 | ||
|
|
3c8d8ca5e1 | ||
|
|
f6e6c42b26 | ||
|
|
7165e7c93f | ||
|
|
63f401c84b | ||
|
|
dea863ee35 | ||
|
|
d01a320de7 | ||
|
|
0564dbbb3d | ||
|
|
1efa61a9f4 | ||
|
|
77a01d2fda | ||
|
|
71711a5cc0 | ||
|
|
a49474fe60 | ||
|
|
2217cfb47b | ||
|
|
75b0c5db9e |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -4,3 +4,5 @@ installed-prefs
|
|||||||
*~
|
*~
|
||||||
*.bak
|
*.bak
|
||||||
local_dotfiles
|
local_dotfiles
|
||||||
|
dotfile_overlays
|
||||||
|
!dotfile_overlays/.keep
|
||||||
|
|||||||
154
bin/install_tool
154
bin/install_tool
@@ -110,6 +110,18 @@ function makedest_or_die {
|
|||||||
makedest || die "Aborting."
|
makedest || die "Aborting."
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function deb_only {
|
||||||
|
# Error if not on a debian or derivative
|
||||||
|
if ! test -f /etc/debian_version ; then
|
||||||
|
echo "This tool only available for debian." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function require_pipx {
|
||||||
|
command -v pipx >/dev/null 2>&1 || die "Requires pipx"
|
||||||
|
}
|
||||||
|
|
||||||
# Begin main tool selection
|
# Begin main tool selection
|
||||||
case ${TOOL} in
|
case ${TOOL} in
|
||||||
john)
|
john)
|
||||||
@@ -154,7 +166,7 @@ case ${TOOL} in
|
|||||||
makedest_or_die
|
makedest_or_die
|
||||||
gbase="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/"
|
gbase="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/"
|
||||||
# TODO: find a way to make this version independent
|
# TODO: find a way to make this version independent
|
||||||
gsdk="google-cloud-sdk-277.0.0-linux-x86_64.tar.gz"
|
gsdk="google-cloud-sdk-385.0.0-linux-x86_64.tar.gz"
|
||||||
download "${gbase}${gsdk}" /tmp/gcloud.tar.gz
|
download "${gbase}${gsdk}" /tmp/gcloud.tar.gz
|
||||||
tar zxf /tmp/gcloud.tar.gz --strip-components=1 -C "${DESTDIR}"
|
tar zxf /tmp/gcloud.tar.gz --strip-components=1 -C "${DESTDIR}"
|
||||||
rm /tmp/gcloud.tar.gz
|
rm /tmp/gcloud.tar.gz
|
||||||
@@ -229,10 +241,27 @@ case ${TOOL} in
|
|||||||
/etc/udev/rules.d/77-mm-usb-device-blacklist.rules &&
|
/etc/udev/rules.d/77-mm-usb-device-blacklist.rules &&
|
||||||
udevadm control --reload-rules"
|
udevadm control --reload-rules"
|
||||||
;;
|
;;
|
||||||
|
pm3iceman)
|
||||||
|
install_pkgs git ca-certificates build-essential pkg-config \
|
||||||
|
libreadline-dev gcc-arm-none-eabi libnewlib-dev qtbase5-dev \
|
||||||
|
libbz2-dev libbluetooth-dev libpython3-dev libssl-dev
|
||||||
|
src="https://github.com/RfidResearchGroup/proxmark3.git"
|
||||||
|
git clone "${src}" "${DESTDIR}"
|
||||||
|
cd "${DESTDIR}"
|
||||||
|
make clean && make -sj2
|
||||||
|
check_sudo && sudo /bin/sh -c \
|
||||||
|
"cp -rf ./driver/77-pm3-usb-device-blacklist.rules \
|
||||||
|
/etc/udev/rules.d/77-pm3-usb-device-blacklist.rules &&
|
||||||
|
udevadm control --reload-rules"
|
||||||
|
add_bin_symlink pm3
|
||||||
|
;;
|
||||||
cyberchef)
|
cyberchef)
|
||||||
makedest
|
makedest
|
||||||
src=$(python3 -c 'from urllib import request; import json; print(filter(lambda x: x["name"]=="cyberchef.htm", json.load(request.urlopen("https://api.github.com/repos/gchq/CyberChef/releases/latest"))["assets"])[0]["browser_download_url"])')
|
cd "${DESTDIR}"
|
||||||
download "${src}" "${DESTDIR}/cyberchef.html"
|
src=$(python3 -c 'from urllib import request; import json; print(json.load(request.urlopen("https://api.github.com/repos/gchq/CyberChef/releases/latest"))["assets"][0]["browser_download_url"])')
|
||||||
|
download "${src}" "${DESTDIR}/cyberchef.zip"
|
||||||
|
unzip -d "${DESTDIR}" "${DESTDIR}/cyberchef.zip"
|
||||||
|
ln -sf CyberChef*.html "${DESTDIR}/cyberchef.html"
|
||||||
;;
|
;;
|
||||||
apktool)
|
apktool)
|
||||||
makedest_or_die
|
makedest_or_die
|
||||||
@@ -285,7 +314,7 @@ case ${TOOL} in
|
|||||||
exploitdb)
|
exploitdb)
|
||||||
if test -d "${DESTDIR}" ; then
|
if test -d "${DESTDIR}" ; then
|
||||||
echo "Already installed, updating instead..." >/dev/stderr
|
echo "Already installed, updating instead..." >/dev/stderr
|
||||||
"${DESTDIR}/searchsplit" -u
|
"${DESTDIR}/searchsploit" -u
|
||||||
else
|
else
|
||||||
git clone --depth 1 \
|
git clone --depth 1 \
|
||||||
https://github.com/offensive-security/exploitdb.git \
|
https://github.com/offensive-security/exploitdb.git \
|
||||||
@@ -306,6 +335,7 @@ case ${TOOL} in
|
|||||||
add_bin_symlink "Cura.AppImage" cura
|
add_bin_symlink "Cura.AppImage" cura
|
||||||
;;
|
;;
|
||||||
rr)
|
rr)
|
||||||
|
deb_only
|
||||||
ver=$(python3 -c 'from urllib import request; import json; print(json.load(request.urlopen("https://api.github.com/repos/mozilla/rr/releases/latest"))["name"])')
|
ver=$(python3 -c 'from urllib import request; import json; print(json.load(request.urlopen("https://api.github.com/repos/mozilla/rr/releases/latest"))["name"])')
|
||||||
echo "Latest rr is ${ver}"
|
echo "Latest rr is ${ver}"
|
||||||
download \
|
download \
|
||||||
@@ -353,7 +383,7 @@ EOF
|
|||||||
;;
|
;;
|
||||||
gf)
|
gf)
|
||||||
install_pkgs golang-go silversearcher-ag
|
install_pkgs golang-go silversearcher-ag
|
||||||
go get -u github.com/tomnomnom/gf
|
go install github.com/tomnomnom/gf@latest
|
||||||
mkdir -p ${HOME}/.config
|
mkdir -p ${HOME}/.config
|
||||||
if test -d ${HOME}/.config/gf ; then
|
if test -d ${HOME}/.config/gf ; then
|
||||||
git -C ${HOME}/.config/gf pull
|
git -C ${HOME}/.config/gf pull
|
||||||
@@ -362,19 +392,19 @@ EOF
|
|||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
gron)
|
gron)
|
||||||
go get -u github.com/tomnomnom/gron
|
go install github.com/tomnomnom/gron@latest
|
||||||
;;
|
;;
|
||||||
httprobe)
|
httprobe)
|
||||||
go get -u github.com/tomnomnom/httprobe
|
go install github.com/tomnomnom/httprobe@latest
|
||||||
;;
|
;;
|
||||||
ffuf)
|
ffuf)
|
||||||
go get -u github.com/ffuf/ffuf
|
go install github.com/ffuf/ffuf@latest
|
||||||
;;
|
;;
|
||||||
gobuster)
|
gobuster)
|
||||||
go get -u github.com/OJ/gobuster
|
go install github.com/OJ/gobuster@latest
|
||||||
;;
|
;;
|
||||||
amass)
|
amass)
|
||||||
go get -u github.com/OWASP/Amass/v3/...
|
go install github.com/OWASP/Amass/v3/...
|
||||||
;;
|
;;
|
||||||
cht.sh)
|
cht.sh)
|
||||||
install_pkgs rlwrap
|
install_pkgs rlwrap
|
||||||
@@ -384,8 +414,8 @@ EOF
|
|||||||
add_bin_symlink cht.sh
|
add_bin_symlink cht.sh
|
||||||
;;
|
;;
|
||||||
age)
|
age)
|
||||||
go get -u filippo.io/age/cmd/age
|
go install filippo.io/age/cmd/age@latest
|
||||||
go get -u filippo.io/age/cmd/age-keygen
|
go install filippo.io/age/cmd/age-keygen@latest
|
||||||
;;
|
;;
|
||||||
docker-compose)
|
docker-compose)
|
||||||
mkdir -p ${DESTDIR}
|
mkdir -p ${DESTDIR}
|
||||||
@@ -396,7 +426,105 @@ EOF
|
|||||||
add_bin_symlink docker-compose
|
add_bin_symlink docker-compose
|
||||||
;;
|
;;
|
||||||
tldr)
|
tldr)
|
||||||
pip3 install --user tldr
|
require_pipx
|
||||||
|
pipx install tldr
|
||||||
|
;;
|
||||||
|
blint)
|
||||||
|
require_pipx
|
||||||
|
pipx install blint
|
||||||
|
;;
|
||||||
|
dust)
|
||||||
|
if ! command -v cargo >/dev/null 2>&1 ; then
|
||||||
|
echo "This needs cargo (for rust)!" >/dev/stderr
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cargo install du-dust
|
||||||
|
;;
|
||||||
|
bottom)
|
||||||
|
if ! command -v cargo >/dev/null 2>&1 ; then
|
||||||
|
echo "This needs cargo (for rust)!" >/dev/stderr
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cargo install bottom
|
||||||
|
;;
|
||||||
|
delta)
|
||||||
|
deb_only
|
||||||
|
if ! check_sudo ; then
|
||||||
|
echo "Must be able to run as sudo."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
dpkg_url=$(curl https://api.github.com/repos/dandavison/delta/releases/latest | \
|
||||||
|
jq -r '.assets[] | select(.name|test(".*_amd64.deb")) | select(.name|test(".*musl.*")|not) | .browser_download_url')
|
||||||
|
dpkg_name="/tmp/delta_amd64.deb"
|
||||||
|
download "${dpkg_url}" "${dpkg_name}"
|
||||||
|
sudo dpkg -i "${dpkg_name}"
|
||||||
|
;;
|
||||||
|
ropper)
|
||||||
|
install_pkgs python3-z3
|
||||||
|
pip3 install --user pyvex ropper
|
||||||
|
;;
|
||||||
|
kubeconform)
|
||||||
|
go install github.com/yannh/kubeconform/cmd/kubeconform@latest
|
||||||
|
;;
|
||||||
|
kubectx)
|
||||||
|
git clone https://github.com/ahmetb/kubectx.git "${DESTDIR}"
|
||||||
|
add_bin_symlink kubectx
|
||||||
|
add_bin_symlink kubens
|
||||||
|
COMPDIR="${HOME}/.zshrc.completions"
|
||||||
|
mkdir -p "${COMPDIR}"
|
||||||
|
ln -sf "${DESTDIR}/completion/_kubectx.zsh" "${COMPDIR}"
|
||||||
|
ln -sf "${DESTDIR}/completion/_kubens.zsh" "${COMPDIR}"
|
||||||
|
;;
|
||||||
|
starship)
|
||||||
|
mkdir -p ${DESTDIR}
|
||||||
|
download \
|
||||||
|
"https://github.com/starship/starship/releases/latest/download/starship-x86_64-unknown-linux-musl.tar.gz" \
|
||||||
|
/tmp/starship.tar.gz
|
||||||
|
tar -C ${DESTDIR} -zxf /tmp/starship.tar.gz starship
|
||||||
|
add_bin_symlink starship
|
||||||
|
;;
|
||||||
|
arduino-cli)
|
||||||
|
mkdir -p "${DESTDIR}"
|
||||||
|
download \
|
||||||
|
"https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz" \
|
||||||
|
/tmp/arduino-cli.tar.gz
|
||||||
|
tar -C "${DESTDIR}" -zxf /tmp/arduino-cli.tar.gz arduino-cli
|
||||||
|
add_bin_symlink arduino-cli
|
||||||
|
;;
|
||||||
|
ghidra)
|
||||||
|
zip_url=$(curl https://api.github.com/repos/NationalSecurityAgency/ghidra/releases/latest | \
|
||||||
|
jq -r '.assets[] | select(.name|test(".*.zip")) | .browser_download_url')
|
||||||
|
download "${zip_url}" /tmp/ghidra.zip
|
||||||
|
unzip -d "${DESTDIR}" /tmp/ghidra.zip
|
||||||
|
mv ${DESTDIR}/*/* ${DESTDIR}
|
||||||
|
add_bin_symlink ghidraRun ghidra
|
||||||
|
;;
|
||||||
|
doctl)
|
||||||
|
# TODO: other architectures
|
||||||
|
tar_url=$(curl https://api.github.com/repos/digitalocean/doctl/releases/latest | \
|
||||||
|
jq -r '.assets[] | select(.name|test(".*linux-amd64\\.tar\\.gz")) | .browser_download_url')
|
||||||
|
download "${tar_url}" /tmp/doctl.tar.gz
|
||||||
|
mkdir -p "${DESTDIR}"
|
||||||
|
tar -C "${DESTDIR}" -zxf /tmp/doctl.tar.gz "doctl"
|
||||||
|
add_bin_symlink doctl
|
||||||
|
;;
|
||||||
|
rustup)
|
||||||
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | \
|
||||||
|
sh -s -- --no-modify-path -y
|
||||||
|
;;
|
||||||
|
igrep)
|
||||||
|
if ! command -v cargo >/dev/null 2>&1 ; then
|
||||||
|
echo "This needs cargo (for rust)!" >/dev/stderr
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
cargo install igrep
|
||||||
|
;;
|
||||||
|
unblob)
|
||||||
|
require_pipx
|
||||||
|
pipx install unblob
|
||||||
|
;;
|
||||||
|
fq)
|
||||||
|
go install github.com/wader/fq@latest
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
echo "Unknown tool: ${TOOL}" >/dev/stderr
|
echo "Unknown tool: ${TOOL}" >/dev/stderr
|
||||||
|
|||||||
26
bin/setup/nerdfonts.sh
Executable file
26
bin/setup/nerdfonts.sh
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -ue
|
||||||
|
|
||||||
|
VER="v2.2.2"
|
||||||
|
|
||||||
|
FONTS=(
|
||||||
|
https://github.com/ryanoasis/nerd-fonts/releases/download/${VER}/DejaVuSansMono.zip
|
||||||
|
https://github.com/ryanoasis/nerd-fonts/releases/download/${VER}/FiraCode.zip
|
||||||
|
https://github.com/ryanoasis/nerd-fonts/releases/download/${VER}/FiraMono.zip
|
||||||
|
https://github.com/ryanoasis/nerd-fonts/releases/download/${VER}/Hack.zip
|
||||||
|
https://github.com/ryanoasis/nerd-fonts/releases/download/${VER}/Inconsolata.zip
|
||||||
|
https://github.com/ryanoasis/nerd-fonts/releases/download/${VER}/OpenDyslexic.zip
|
||||||
|
)
|
||||||
|
|
||||||
|
FPATH=${HOME}/.fonts/nerdfonts
|
||||||
|
mkdir -p ${FPATH}
|
||||||
|
cd ${FPATH}
|
||||||
|
|
||||||
|
for f in ${FONTS[@]}; do
|
||||||
|
BN=$(basename $f)
|
||||||
|
wget -O ${FPATH}/${BN} ${f}
|
||||||
|
unzip -o -d ${FPATH} ${FPATH}/${BN}
|
||||||
|
done
|
||||||
|
|
||||||
|
fc-cache -v
|
||||||
1
dotfiles/Xkbmap
Normal file
1
dotfiles/Xkbmap
Normal file
@@ -0,0 +1 @@
|
|||||||
|
-option ctrl:nocaps -option compose:ralt
|
||||||
@@ -53,3 +53,15 @@ alias bc="command bc -q"
|
|||||||
|
|
||||||
# Get a decently readable df
|
# Get a decently readable df
|
||||||
alias dfh="df -h -x tmpfs -x devtmpfs"
|
alias dfh="df -h -x tmpfs -x devtmpfs"
|
||||||
|
|
||||||
|
# Clear the GPG agent
|
||||||
|
alias clear-gpg-agent="echo RELOADAGENT | gpg-connect-agent"
|
||||||
|
|
||||||
|
# Battery details
|
||||||
|
alias bat-details='upower -i $(upower -e | grep battery)'
|
||||||
|
|
||||||
|
# Nvidia refresh rate
|
||||||
|
alias nvidia-refresh-rate='nvidia-settings --display=:0 -q RefreshRate -t'
|
||||||
|
|
||||||
|
# Earthly ssh
|
||||||
|
alias earthly='earthly --ssh-auth-sock ""'
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
# Load env first
|
# Load env first
|
||||||
if [ -f $HOME/.env ] ; then source $HOME/.env ; fi
|
if [ -f $HOME/.shenv ] ; then source $HOME/.shenv ; fi
|
||||||
|
|
||||||
# History settings
|
# History settings
|
||||||
HISTCONTROL=ignoredups:ignorespace
|
HISTCONTROL=ignoredups:ignorespace
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# This file contains fish universal variable definitions.
|
# This file contains fish universal variable definitions.
|
||||||
# VERSION: 3.0
|
# VERSION: 3.0
|
||||||
SETUVAR EDITOR:vim
|
SETUVAR EDITOR:vim
|
||||||
SETUVAR __fish_initialized:3100
|
SETUVAR __fish_initialized:3400
|
||||||
SETUVAR fish_color_autosuggestion:586e75
|
SETUVAR fish_color_autosuggestion:586e75
|
||||||
SETUVAR fish_color_cancel:\x2dr
|
SETUVAR fish_color_cancel:\x2dr
|
||||||
SETUVAR fish_color_command:93a1a1
|
SETUVAR fish_color_command:93a1a1
|
||||||
@@ -31,3 +31,4 @@ SETUVAR fish_pager_color_completion:B3A06D
|
|||||||
SETUVAR fish_pager_color_description:B3A06D
|
SETUVAR fish_pager_color_description:B3A06D
|
||||||
SETUVAR fish_pager_color_prefix:cyan\x1e\x2d\x2dunderline
|
SETUVAR fish_pager_color_prefix:cyan\x1e\x2d\x2dunderline
|
||||||
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
SETUVAR fish_pager_color_progress:brwhite\x1e\x2d\x2dbackground\x3dcyan
|
||||||
|
SETUVAR fish_pager_color_selected_background:\x2dr
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
# Beware! This file is rewritten by htop when settings are changed in the interface.
|
||||||
# The parser is also very primitive, and not human-friendly.
|
# The parser is also very primitive, and not human-friendly.
|
||||||
|
htop_version=3.2.2
|
||||||
|
config_reader_min_version=3
|
||||||
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
fields=0 48 17 18 38 39 40 2 46 47 49 1
|
||||||
sort_key=49
|
|
||||||
sort_direction=-1
|
|
||||||
tree_sort_key=0
|
|
||||||
tree_sort_direction=1
|
|
||||||
hide_kernel_threads=1
|
hide_kernel_threads=1
|
||||||
hide_userland_threads=1
|
hide_userland_threads=1
|
||||||
|
hide_running_in_container=0
|
||||||
shadow_other_users=0
|
shadow_other_users=0
|
||||||
show_thread_names=0
|
show_thread_names=0
|
||||||
show_program_path=1
|
show_program_path=1
|
||||||
highlight_base_name=0
|
highlight_base_name=0
|
||||||
|
highlight_deleted_exe=1
|
||||||
|
shadow_distribution_path_prefix=0
|
||||||
highlight_megabytes=1
|
highlight_megabytes=1
|
||||||
highlight_threads=1
|
highlight_threads=1
|
||||||
highlight_changes=0
|
highlight_changes=0
|
||||||
@@ -18,9 +19,8 @@ highlight_changes_delay_secs=5
|
|||||||
find_comm_in_cmdline=1
|
find_comm_in_cmdline=1
|
||||||
strip_exe_from_cmdline=1
|
strip_exe_from_cmdline=1
|
||||||
show_merged_command=0
|
show_merged_command=0
|
||||||
tree_view=0
|
|
||||||
tree_view_always_by_pid=0
|
|
||||||
header_margin=1
|
header_margin=1
|
||||||
|
screen_tabs=0
|
||||||
detailed_cpu_time=0
|
detailed_cpu_time=0
|
||||||
cpu_count_from_one=1
|
cpu_count_from_one=1
|
||||||
show_cpu_usage=1
|
show_cpu_usage=1
|
||||||
@@ -32,8 +32,32 @@ account_guest_in_cpu_meter=0
|
|||||||
color_scheme=6
|
color_scheme=6
|
||||||
enable_mouse=1
|
enable_mouse=1
|
||||||
delay=15
|
delay=15
|
||||||
left_meters=AllCPUs Memory Swap
|
|
||||||
left_meter_modes=1 1 1
|
|
||||||
right_meters=Tasks LoadAverage Uptime
|
|
||||||
right_meter_modes=2 2 2
|
|
||||||
hide_function_bar=0
|
hide_function_bar=0
|
||||||
|
header_layout=two_50_50
|
||||||
|
column_meters_0=AllCPUs Memory Swap
|
||||||
|
column_meter_modes_0=1 1 1
|
||||||
|
column_meters_1=Tasks LoadAverage Uptime
|
||||||
|
column_meter_modes_1=2 2 2
|
||||||
|
tree_view=0
|
||||||
|
sort_key=46
|
||||||
|
tree_sort_key=0
|
||||||
|
sort_direction=-1
|
||||||
|
tree_sort_direction=1
|
||||||
|
tree_view_always_by_pid=0
|
||||||
|
all_branches_collapsed=0
|
||||||
|
screen:Main=PID USER PRIORITY NICE M_VIRT M_RESIDENT M_SHARE STATE PERCENT_CPU PERCENT_MEM TIME Command
|
||||||
|
.sort_key=PERCENT_CPU
|
||||||
|
.tree_sort_key=PID
|
||||||
|
.tree_view=0
|
||||||
|
.tree_view_always_by_pid=0
|
||||||
|
.sort_direction=-1
|
||||||
|
.tree_sort_direction=1
|
||||||
|
.all_branches_collapsed=0
|
||||||
|
screen:I/O=PID USER IO_PRIORITY IO_RATE IO_READ_RATE IO_WRITE_RATE PERCENT_SWAP_DELAY PERCENT_IO_DELAY Command
|
||||||
|
.sort_key=IO_RATE
|
||||||
|
.tree_sort_key=PID
|
||||||
|
.tree_view=0
|
||||||
|
.tree_view_always_by_pid=0
|
||||||
|
.sort_direction=-1
|
||||||
|
.tree_sort_direction=1
|
||||||
|
.all_branches_collapsed=0
|
||||||
|
|||||||
19
dotfiles/config/starship.toml
Normal file
19
dotfiles/config/starship.toml
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
"$schema" = 'https://starship.rs/config-schema.json'
|
||||||
|
|
||||||
|
[directory]
|
||||||
|
fish_style_pwd_dir_length = 1
|
||||||
|
|
||||||
|
[gcloud]
|
||||||
|
# This is just too noisy
|
||||||
|
disabled = true
|
||||||
|
symbol = "️🇬️ "
|
||||||
|
|
||||||
|
[status]
|
||||||
|
disabled = false
|
||||||
|
symbol = "⛌"
|
||||||
|
|
||||||
|
[username]
|
||||||
|
show_always = true
|
||||||
|
|
||||||
|
[ruby]
|
||||||
|
detect_variables = []
|
||||||
@@ -29,12 +29,12 @@
|
|||||||
<property name="<Super>r" type="empty">
|
<property name="<Super>r" type="empty">
|
||||||
<property name="startup-notify" type="empty"/>
|
<property name="startup-notify" type="empty"/>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="<Alt><Super>s" type="empty"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="custom" type="empty">
|
<property name="custom" type="empty">
|
||||||
<property name="<Alt>F2" type="string" value="xfce4-appfinder --collapsed">
|
<property name="<Alt>F2" type="string" value="xfce4-appfinder --collapsed">
|
||||||
<property name="startup-notify" type="bool" value="true"/>
|
<property name="startup-notify" type="bool" value="true"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="<Alt>Print" type="string" value="xfce4-screenshooter -w"/>
|
|
||||||
<property name="<Super>r" type="string" value="xfce4-appfinder -c">
|
<property name="<Super>r" type="string" value="xfce4-appfinder -c">
|
||||||
<property name="startup-notify" type="bool" value="true"/>
|
<property name="startup-notify" type="bool" value="true"/>
|
||||||
</property>
|
</property>
|
||||||
@@ -43,9 +43,7 @@
|
|||||||
<property name="<Alt>F3" type="string" value="xfce4-appfinder">
|
<property name="<Alt>F3" type="string" value="xfce4-appfinder">
|
||||||
<property name="startup-notify" type="bool" value="true"/>
|
<property name="startup-notify" type="bool" value="true"/>
|
||||||
</property>
|
</property>
|
||||||
<property name="Print" type="string" value="xfce4-screenshooter"/>
|
|
||||||
<property name="<Primary>Escape" type="string" value="xfdesktop --menu"/>
|
<property name="<Primary>Escape" type="string" value="xfdesktop --menu"/>
|
||||||
<property name="<Shift>Print" type="string" value="xfce4-screenshooter -r"/>
|
|
||||||
<property name="<Primary><Alt>Delete" type="string" value="xfce4-session-logout"/>
|
<property name="<Primary><Alt>Delete" type="string" value="xfce4-session-logout"/>
|
||||||
<property name="<Primary><Alt>t" type="string" value="exo-open --launch TerminalEmulator"/>
|
<property name="<Primary><Alt>t" type="string" value="exo-open --launch TerminalEmulator"/>
|
||||||
<property name="<Primary><Alt>f" type="string" value="thunar"/>
|
<property name="<Primary><Alt>f" type="string" value="thunar"/>
|
||||||
@@ -59,6 +57,8 @@
|
|||||||
<property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/>
|
<property name="XF86Display" type="string" value="xfce4-display-settings --minimal"/>
|
||||||
<property name="override" type="bool" value="true"/>
|
<property name="override" type="bool" value="true"/>
|
||||||
<property name="<Super>l" type="string" value="xflock4"/>
|
<property name="<Super>l" type="string" value="xflock4"/>
|
||||||
|
<property name="Print" type="string" value="flameshot gui"/>
|
||||||
|
<property name="<Shift>Print" type="string" value="flameshot full"/>
|
||||||
</property>
|
</property>
|
||||||
</property>
|
</property>
|
||||||
<property name="xfwm4" type="empty">
|
<property name="xfwm4" type="empty">
|
||||||
@@ -117,8 +117,8 @@
|
|||||||
<property name="<Primary>F12" type="empty"/>
|
<property name="<Primary>F12" type="empty"/>
|
||||||
<property name="<Super>KP_Left" type="empty"/>
|
<property name="<Super>KP_Left" type="empty"/>
|
||||||
<property name="<Super>KP_Right" type="empty"/>
|
<property name="<Super>KP_Right" type="empty"/>
|
||||||
<property name="<Super>KP_Up" type="empty"/>
|
|
||||||
<property name="<Super>KP_Down" type="empty"/>
|
<property name="<Super>KP_Down" type="empty"/>
|
||||||
|
<property name="<Super>KP_Up" type="empty"/>
|
||||||
<property name="<Super>KP_Page_Up" type="empty"/>
|
<property name="<Super>KP_Page_Up" type="empty"/>
|
||||||
<property name="<Super>KP_Home" type="empty"/>
|
<property name="<Super>KP_Home" type="empty"/>
|
||||||
<property name="<Super>KP_End" type="empty"/>
|
<property name="<Super>KP_End" type="empty"/>
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<channel name="xfwm4" version="1.0">
|
<channel name="xfwm4" version="1.0">
|
||||||
<property name="general" type="empty">
|
<property name="general" type="empty">
|
||||||
<property name="activate_action" type="string" value="bring"/>
|
<property name="activate_action" type="string" value="switch"/>
|
||||||
<property name="borderless_maximize" type="bool" value="true"/>
|
<property name="borderless_maximize" type="bool" value="true"/>
|
||||||
<property name="box_move" type="bool" value="false"/>
|
<property name="box_move" type="bool" value="false"/>
|
||||||
<property name="box_resize" type="bool" value="false"/>
|
<property name="box_resize" type="bool" value="false"/>
|
||||||
@@ -77,7 +77,7 @@
|
|||||||
<property name="wrap_cycle" type="bool" value="true"/>
|
<property name="wrap_cycle" type="bool" value="true"/>
|
||||||
<property name="wrap_layout" type="bool" value="true"/>
|
<property name="wrap_layout" type="bool" value="true"/>
|
||||||
<property name="wrap_resistance" type="int" value="10"/>
|
<property name="wrap_resistance" type="int" value="10"/>
|
||||||
<property name="wrap_windows" type="bool" value="true"/>
|
<property name="wrap_windows" type="bool" value="false"/>
|
||||||
<property name="wrap_workspaces" type="bool" value="false"/>
|
<property name="wrap_workspaces" type="bool" value="false"/>
|
||||||
<property name="zoom_desktop" type="bool" value="true"/>
|
<property name="zoom_desktop" type="bool" value="true"/>
|
||||||
<property name="zoom_pointer" type="bool" value="true"/>
|
<property name="zoom_pointer" type="bool" value="true"/>
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
excludesfile = ~/.gitignore
|
excludesfile = ~/.gitignore
|
||||||
editor = vim
|
editor = vim
|
||||||
whitespace = trailing-space,space-before-tab
|
whitespace = trailing-space,space-before-tab
|
||||||
|
pager = command -v delta >/dev/null 2>&1 && delta || less -eFiJM~ -j3
|
||||||
|
|
||||||
[color]
|
[color]
|
||||||
diff = auto
|
diff = auto
|
||||||
@@ -13,6 +14,7 @@
|
|||||||
|
|
||||||
[diff]
|
[diff]
|
||||||
tool = vimdiff
|
tool = vimdiff
|
||||||
|
colorMoved = default
|
||||||
|
|
||||||
[difftool]
|
[difftool]
|
||||||
prompt = false
|
prompt = false
|
||||||
@@ -41,7 +43,7 @@
|
|||||||
user = matir
|
user = matir
|
||||||
|
|
||||||
# Site specific config
|
# Site specific config
|
||||||
[url "https://github.com./"]
|
[url "https://github.com/"]
|
||||||
insteadOf = "github:"
|
insteadOf = "github:"
|
||||||
insteadOf = "github://"
|
insteadOf = "github://"
|
||||||
|
|
||||||
@@ -58,16 +60,29 @@
|
|||||||
|
|
||||||
[credential]
|
[credential]
|
||||||
helper = cache --timeout=36000
|
helper = cache --timeout=36000
|
||||||
|
|
||||||
[receive]
|
[receive]
|
||||||
denyCurrentBranch = updateInstead
|
denyCurrentBranch = updateInstead
|
||||||
|
|
||||||
[merge]
|
[merge]
|
||||||
tool = vimdiff
|
tool = vimdiff
|
||||||
conflictstyle = diff3
|
conflictstyle = diff3
|
||||||
|
|
||||||
[mergetool]
|
[mergetool]
|
||||||
prompt = false
|
prompt = false
|
||||||
|
|
||||||
[include]
|
[include]
|
||||||
path = ~/.gitconfig.local
|
path = ~/.gitconfig.local
|
||||||
|
|
||||||
[pull]
|
[pull]
|
||||||
rebase = false
|
rebase = false
|
||||||
|
|
||||||
[init]
|
[init]
|
||||||
defaultBranch = main
|
defaultBranch = main
|
||||||
|
|
||||||
|
[interactive]
|
||||||
|
diffFilter = command -v delta >/dev/null 2>&1 && delta || cat
|
||||||
|
|
||||||
|
[delta]
|
||||||
|
navigate = true
|
||||||
|
line-numbers = true
|
||||||
|
|||||||
@@ -17,9 +17,13 @@ Thumbs.db
|
|||||||
# Try to avoid accidentally checking in private keys
|
# Try to avoid accidentally checking in private keys
|
||||||
id_rsa
|
id_rsa
|
||||||
id_ecdsa
|
id_ecdsa
|
||||||
|
id_ed25519
|
||||||
|
|
||||||
# Kicad backup files
|
# Kicad backup files
|
||||||
*.kicad_pcb-bak
|
*.kicad_pcb-bak
|
||||||
|
|
||||||
# Mypy cache path
|
# Mypy cache path
|
||||||
.mypy_cache
|
.mypy_cache
|
||||||
|
|
||||||
|
# These files should basically never be committed
|
||||||
|
.env
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
use-agent
|
use-agent
|
||||||
# HKPS requires gnupg-curl for gpg1
|
# HKPS requires gnupg-curl for gpg1
|
||||||
keyserver hkps://keys.openpgp.org
|
keyserver hkps://keyserver.ubuntu.com
|
||||||
keyserver-options auto-key-retrieve no-honor-keyserver-url
|
keyserver-options auto-key-retrieve no-honor-keyserver-url
|
||||||
auto-key-locate keyserver
|
auto-key-locate keyserver
|
||||||
personal-digest-preferences SHA256
|
personal-digest-preferences SHA256
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
# Should only use POSIX constructs.
|
# Should only use POSIX constructs.
|
||||||
|
|
||||||
# Always load ENV
|
# Always load ENV
|
||||||
test -f "$HOME/.env" && . "$HOME/.env"
|
test -f "$HOME/.shenv" && . "$HOME/.shenv"
|
||||||
|
|
||||||
# Setup GREP_COLORS
|
# Setup GREP_COLORS
|
||||||
export GREP_COLOR='01;31'
|
export GREP_COLOR='01;31'
|
||||||
@@ -34,4 +34,9 @@ if [ -z "${LIBVIRT_DEFAULT_URI}" ] ; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Got rust? (gvim, etc.)
|
||||||
|
if test -d "${HOME}/.cargo/bin" ; then
|
||||||
|
PATH="${PATH}:${HOME}/.cargo/bin"
|
||||||
|
fi
|
||||||
|
|
||||||
test -f "${HOME}/.profile.local" && . "${HOME}/.profile.local"
|
test -f "${HOME}/.profile.local" && . "${HOME}/.profile.local"
|
||||||
|
|||||||
@@ -2,31 +2,44 @@
|
|||||||
.Genymobile
|
.Genymobile
|
||||||
.Ticket to Ride*
|
.Ticket to Ride*
|
||||||
.android*
|
.android*
|
||||||
|
.ansible
|
||||||
.arduino*
|
.arduino*
|
||||||
|
.aws
|
||||||
.bundle
|
.bundle
|
||||||
.cache
|
.cache
|
||||||
|
.cargo
|
||||||
|
.config/discord
|
||||||
|
.config/gcloud/logs
|
||||||
|
.config/google-chrome
|
||||||
|
.config/google-chrome-beta
|
||||||
|
.config/unity3d/cache
|
||||||
.dropbox-dist
|
.dropbox-dist
|
||||||
|
.gnupg.bak
|
||||||
.gradle
|
.gradle
|
||||||
.histfile
|
.histfile
|
||||||
|
.kube/cache
|
||||||
|
.local/lib
|
||||||
.local/share/Steam
|
.local/share/Steam
|
||||||
.local/share/Trash
|
.local/share/Trash
|
||||||
.local/lib
|
.m2
|
||||||
|
.minikube
|
||||||
|
.npm
|
||||||
|
.p2
|
||||||
|
.platformio
|
||||||
|
.rustup
|
||||||
.rvm*
|
.rvm*
|
||||||
.sliver
|
.sliver
|
||||||
.sqlite_history
|
.sqlite_history
|
||||||
.thumbnails
|
.thumbnails
|
||||||
|
.virtualenvs
|
||||||
.wine
|
.wine
|
||||||
|
.xsession-errors*
|
||||||
.zcompdump
|
.zcompdump
|
||||||
.zcompdump*
|
.zcompdump*
|
||||||
Audits
|
Audits
|
||||||
Downloads
|
Downloads
|
||||||
SpiderOak Hive
|
SpiderOak Hive
|
||||||
|
Unity
|
||||||
VirtualBox VMs
|
VirtualBox VMs
|
||||||
tmp
|
tmp
|
||||||
tools
|
tools
|
||||||
.minikube
|
|
||||||
.config/unity3d/cache
|
|
||||||
.xsession-errors*
|
|
||||||
.config/google-chrome-beta
|
|
||||||
.config/google-chrome
|
|
||||||
Unity
|
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ export GPG_ID=7FD58D9A196DCEEEAD671F94F4D7A7915DEA789B
|
|||||||
|
|
||||||
# Setup locale
|
# Setup locale
|
||||||
if test -x /usr/bin/locale ; then
|
if test -x /usr/bin/locale ; then
|
||||||
for l in en_US.utf8 en_US.UTF-8 C.UTF-8 C ; do
|
for l in en_US.utf8 en_US.UTF-8 C.UTF-8 C.utf8 C ; do
|
||||||
if /usr/bin/locale -a | grep -q "${l}" ; then
|
if /usr/bin/locale -a | grep -q "${l}" ; then
|
||||||
export LC_CTYPE=${l}
|
export LC_CTYPE=${l}
|
||||||
export LC_NUMERIC=${l}
|
export LC_NUMERIC=${l}
|
||||||
@@ -81,5 +81,11 @@ export LC_COLLATE=C
|
|||||||
# Opt out of .net telemetry
|
# Opt out of .net telemetry
|
||||||
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
||||||
|
|
||||||
|
# Suppress lvm warnings
|
||||||
|
export LVM_SUPPRESS_FD_WARNINGS=1
|
||||||
|
|
||||||
|
# Default disable SSH forwarding in EARTHLY
|
||||||
|
export EARTHLY_SSH_AUTH_SOCK=""
|
||||||
|
|
||||||
# shellcheck source=/dev/null
|
# shellcheck source=/dev/null
|
||||||
test -e "$HOME/.localenv" && . "$HOME/.localenv"
|
test -e "$HOME/.localenv" && . "$HOME/.localenv"
|
||||||
@@ -29,7 +29,8 @@ Match canonical all
|
|||||||
ForwardAgent no
|
ForwardAgent no
|
||||||
ForwardX11 no
|
ForwardX11 no
|
||||||
ForwardX11Trusted no
|
ForwardX11Trusted no
|
||||||
ServerAliveInterval 120
|
ServerAliveInterval 30
|
||||||
|
ServerAliveCountMax 3
|
||||||
UpdateHostKeys yes
|
UpdateHostKeys yes
|
||||||
User david
|
User david
|
||||||
VerifyHostKeyDNS yes
|
VerifyHostKeyDNS yes
|
||||||
|
|||||||
7
dotfiles/ssh/config.d/hak5_config
Normal file
7
dotfiles/ssh/config.d/hak5_config
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
Host hak5squirrel
|
||||||
|
Hostname 172.16.32.1
|
||||||
|
User root
|
||||||
|
StrictHostKeyChecking no
|
||||||
|
UserKnownHostsFile /dev/null
|
||||||
|
HostKeyAlgorithms +ssh-rsa
|
||||||
|
PubkeyAcceptedAlgorithms +ssh-rsa
|
||||||
@@ -69,3 +69,10 @@ bind C-v run "tmux set-buffer -- \"$(xsel -o -b)\"; tmux paste-buffer"
|
|||||||
|
|
||||||
# Enable logging module, if available
|
# Enable logging module, if available
|
||||||
run-shell "~/.tmux/tmux-logging/logging.tmux || true"
|
run-shell "~/.tmux/tmux-logging/logging.tmux || true"
|
||||||
|
|
||||||
|
# Enable TMUX Plugin Manager
|
||||||
|
# install with:
|
||||||
|
# git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
|
||||||
|
set -g @plugin 'tmux-plugins/tpm'
|
||||||
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
||||||
|
run-shell "~/.tmux/plugins/tpm/tpm || true"
|
||||||
|
|||||||
@@ -154,10 +154,15 @@ nnoremap <silent> <F5> :SyntasticCheck<CR> :Errors<CR>
|
|||||||
" Currently only works on debian-based systems...
|
" Currently only works on debian-based systems...
|
||||||
" It also does not play nicely with virtual envs, so we skip it then
|
" It also does not play nicely with virtual envs, so we skip it then
|
||||||
if isdirectory("/usr/share/vim-youcompleteme") && empty($VIRTUAL_ENV)
|
if isdirectory("/usr/share/vim-youcompleteme") && empty($VIRTUAL_ENV)
|
||||||
let g:ycm_gopls_binary_path='gopls'
|
|
||||||
let g:ycm_autoclose_preview_window_after_insertion=1
|
|
||||||
set runtimepath+=/usr/share/vim-youcompleteme
|
set runtimepath+=/usr/share/vim-youcompleteme
|
||||||
endif
|
endif
|
||||||
|
let g:ycm_autoclose_preview_window_after_insertion=1
|
||||||
|
" Add rust settings
|
||||||
|
let g:tmp_rust_path=trim(system("rustc --print sysroot"))
|
||||||
|
if isdirectory(g:tmp_rust_path)
|
||||||
|
let g:ycm_rust_toolchain_root=g:tmp_rust_path
|
||||||
|
endif
|
||||||
|
unlet! g:tmp_rust_path
|
||||||
|
|
||||||
" Enable vim-bracketed-paste mode
|
" Enable vim-bracketed-paste mode
|
||||||
" From
|
" From
|
||||||
@@ -215,3 +220,6 @@ autocmd BufRead,BufNewFile Makefile* set noexpandtab
|
|||||||
" Enable filetype support
|
" Enable filetype support
|
||||||
" Needs to be at end of vimrc
|
" Needs to be at end of vimrc
|
||||||
filetype plugin indent on
|
filetype plugin indent on
|
||||||
|
|
||||||
|
" Disable bell
|
||||||
|
set belloff=all
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
setxkbmap -option ctrl:nocaps -option compose:ralt
|
setxkbmap -option ctrl:nocaps -option compose:ralt
|
||||||
test -x /usr/bin/xsettingsd && /usr/bin/xsettingsd &
|
test -x /usr/bin/xsettingsd && /usr/bin/xsettingsd &
|
||||||
test -f "$HOME/.env" && "$HOME/.env"
|
test -f "$HOME/.env" && "$HOME/.env"
|
||||||
|
test -f "$HOME/.shenv" && "$HOME/.shenv"
|
||||||
test -f "$HOME/.profile" && . "$HOME/.profile"
|
test -f "$HOME/.profile" && . "$HOME/.profile"
|
||||||
|
|||||||
@@ -66,7 +66,8 @@ zstyle ':completion::complete:*' use-cache on
|
|||||||
zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache"
|
zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache"
|
||||||
|
|
||||||
# .profile is universal
|
# .profile is universal
|
||||||
. ~/.profile
|
emulate sh -c '. /etc/profile'
|
||||||
|
emulate sh -c '. ~/.profile'
|
||||||
# Deduplicate the path
|
# Deduplicate the path
|
||||||
typeset -U path
|
typeset -U path
|
||||||
|
|
||||||
@@ -105,9 +106,11 @@ if [[ $- == *i* ]] ; then
|
|||||||
# Virtualenvwrapper
|
# Virtualenvwrapper
|
||||||
if test -f /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh ; then
|
if test -f /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh ; then
|
||||||
source /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh
|
source /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh
|
||||||
|
elif test -f /usr/bin/virtualenvwrapper_lazy.sh ; then
|
||||||
|
source /usr/bin/virtualenvwrapper_lazy.sh
|
||||||
fi
|
fi
|
||||||
if command ls --version >/dev/null 2>&1 ; then
|
if command ls --version >/dev/null 2>&1 ; then
|
||||||
alias ls="$(whence -p ls) --color=auto -C"
|
alias ls="$(whence -p ls) --color=auto"
|
||||||
fi
|
fi
|
||||||
# Syntax highlighting and substring search
|
# Syntax highlighting and substring search
|
||||||
if test -f /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ; then
|
if test -f /usr/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ; then
|
||||||
@@ -123,13 +126,20 @@ if [[ $- == *i* ]] ; then
|
|||||||
bindkey -M vicmd 'j' history-substring-search-down
|
bindkey -M vicmd 'j' history-substring-search-down
|
||||||
fi
|
fi
|
||||||
# Suggestions
|
# Suggestions
|
||||||
if test -f /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh ; then
|
for sugg_path in /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh ; do
|
||||||
# Works well for solarized
|
if test -f "${sugg_path}"; then
|
||||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=10"
|
# Works well for solarized
|
||||||
# Strategy -- note that 'completion' is slow AF
|
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=10"
|
||||||
ZSH_AUTOSUGGEST_STRATEGY=(history)
|
# Strategy -- note that 'completion' is slow AF
|
||||||
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
|
ZSH_AUTOSUGGEST_STRATEGY=(history)
|
||||||
fi
|
source "${sugg_path}"
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
unset sugg_path
|
||||||
|
# History
|
||||||
|
alias fullhist="history 1"
|
||||||
|
alias longhist="history -1000"
|
||||||
fi # End interactive-only block
|
fi # End interactive-only block
|
||||||
|
|
||||||
# In case ack is named ack-grep
|
# In case ack is named ack-grep
|
||||||
@@ -155,4 +165,7 @@ fi
|
|||||||
if [ -e $HOME/.zshrc.local ] ; then source $HOME/.zshrc.local ; fi
|
if [ -e $HOME/.zshrc.local ] ; then source $HOME/.zshrc.local ; fi
|
||||||
|
|
||||||
# Set prompt based on local settings
|
# Set prompt based on local settings
|
||||||
prompt "${THEME:-matir}"
|
if test -f "${HOME}/.zprompt" ; then
|
||||||
|
THEME=${THEME:=$(cat "${HOME}/.zprompt")}
|
||||||
|
fi
|
||||||
|
prompt "${THEME:-matir}" >/dev/null 2>&1
|
||||||
|
|||||||
17
dotfiles/zshrc.d/aliases.zsh
Normal file
17
dotfiles/zshrc.d/aliases.zsh
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
#!/usr/bin/env zsh
|
||||||
|
|
||||||
|
# On some systems, bat is batcat
|
||||||
|
if ! command -v bat >/dev/null 2>&1 ; then
|
||||||
|
if command -v batcat >/dev/null 2>&1 ; then
|
||||||
|
alias bat=$(command -v batcat)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# FFUF aliases
|
||||||
|
if command -v ffuf >/dev/null 2>&1 ; then
|
||||||
|
if test -d $HOME/tools/seclists ; then
|
||||||
|
alias ffuf-files="ffuf -c -w $HOME/tools/seclists/Discovery/Web-Content/raft-large-files.txt"
|
||||||
|
alias ffuf-dirs="ffuf -c -w $HOME/tools/seclists/Discovery/Web-Content/raft-large-directories.txt"
|
||||||
|
alias ffuf-quick="ffuf -c -w $HOME/tools/seclists/Discovery/Web-Content/quickhits.txt"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
@@ -1,3 +1,27 @@
|
|||||||
function dumpenv {
|
function dumpenv {
|
||||||
tr '\0' '\n' < /proc/${1}/environ
|
tr '\0' '\n' < /proc/${1}/environ
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if test -x "/sbin/starship" ; then
|
||||||
|
_STARSHIP_PATH="/sbin/starship"
|
||||||
|
function starship_prompt {
|
||||||
|
eval $(/sbin/starship init zsh)
|
||||||
|
}
|
||||||
|
elif test -x "${HOME}/tools/starship/starship" ; then
|
||||||
|
_STARSHIP_PATH="${HOME}/tools/starship/starship"
|
||||||
|
function starship_prompt {
|
||||||
|
eval $($HOME/tools/starship/starship init zsh)
|
||||||
|
}
|
||||||
|
fi
|
||||||
|
if test -f ${HOME}/.zprompt ; then
|
||||||
|
if test "$(cat ${HOME}/.zprompt)" = "starship" ; then
|
||||||
|
if test -n "${_STARSHIP_PATH:-}" ; then
|
||||||
|
eval $(${_STARSHIP_PATH} init zsh)
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
unset _STARSHIP_PATH
|
||||||
|
|
||||||
|
function hashall {
|
||||||
|
tee >(md5sum) | tee >(sha1sum) | sha256sum
|
||||||
|
}
|
||||||
|
|||||||
1
dotfiles/zshrc.d/rvm.zsh
Normal file
1
dotfiles/zshrc.d/rvm.zsh
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
function duf {
|
function duh {
|
||||||
du -sk "$@" | sort -n | while read size fname; do for unit in K M G T P E Z Y; do if [ $size -lt 1024 ]; then echo -e "${size}${unit}\t${fname}"; break; fi; size=$((size/1024)); done; done
|
du -sk "$@" | sort -n | while read size fname; do for unit in K M G T P E Z Y; do if [ $size -lt 1024 ]; then echo -e "${size}${unit}\t${fname}"; break; fi; size=$((size/1024)); done; done
|
||||||
}
|
}
|
||||||
|
|||||||
42
install.sh
42
install.sh
@@ -6,6 +6,9 @@ set -o nounset
|
|||||||
set -o errexit
|
set -o errexit
|
||||||
set -o shwordsplit 2>/dev/null || true # Make zsh behave like bash
|
set -o shwordsplit 2>/dev/null || true # Make zsh behave like bash
|
||||||
|
|
||||||
|
USER=${USER:-$(id -un)}
|
||||||
|
HOME=${HOME:-$(cd ~ && pwd)}
|
||||||
|
|
||||||
case $(uname) in
|
case $(uname) in
|
||||||
Linux)
|
Linux)
|
||||||
FINDTYPE="-xtype"
|
FINDTYPE="-xtype"
|
||||||
@@ -65,7 +68,7 @@ install_dotfile_dir() {
|
|||||||
${submodule_prune} \) \
|
${submodule_prune} \) \
|
||||||
-prune -o ${FINDTYPE} f -print | \
|
-prune -o ${FINDTYPE} f -print | \
|
||||||
while read -r dotfile ; do
|
while read -r dotfile ; do
|
||||||
local TARGET="${HOME}/.${dotfile#${SRCDIR}/}"
|
local TARGET="${HOME}/.${dotfile#"${SRCDIR}"/}"
|
||||||
mkdir -p "$(dirname "${TARGET}")"
|
mkdir -p "$(dirname "${TARGET}")"
|
||||||
ln -s -f "${dotfile}" "${TARGET}"
|
ln -s -f "${dotfile}" "${TARGET}"
|
||||||
done
|
done
|
||||||
@@ -73,7 +76,7 @@ install_dotfile_dir() {
|
|||||||
awk '{print $2}' | \
|
awk '{print $2}' | \
|
||||||
while read -r submodule ; do
|
while read -r submodule ; do
|
||||||
local FULLNAME="${BASEDIR}/${submodule}"
|
local FULLNAME="${BASEDIR}/${submodule}"
|
||||||
local TARGET="${HOME}/.${FULLNAME#${SRCDIR}/}"
|
local TARGET="${HOME}/.${FULLNAME#"${SRCDIR}"/}"
|
||||||
mkdir -p "$(dirname "${TARGET}")"
|
mkdir -p "$(dirname "${TARGET}")"
|
||||||
if test -L "${TARGET}" ; then
|
if test -L "${TARGET}" ; then
|
||||||
if [ "$(readlink "${TARGET}")" != "${FULLNAME}" ] ; then
|
if [ "$(readlink "${TARGET}")" != "${FULLNAME}" ] ; then
|
||||||
@@ -93,7 +96,7 @@ install_basic_dir() {
|
|||||||
local file
|
local file
|
||||||
find "${SRCDIR}" ${FINDTYPE} f -print | \
|
find "${SRCDIR}" ${FINDTYPE} f -print | \
|
||||||
while read -r file ; do
|
while read -r file ; do
|
||||||
local TARGET="${2}/${file#${SRCDIR}/}"
|
local TARGET="${2}/${file#"${SRCDIR}"/}"
|
||||||
mkdir -p "$(dirname "${TARGET}")"
|
mkdir -p "$(dirname "${TARGET}")"
|
||||||
ln -s -f "${file}" "${TARGET}"
|
ln -s -f "${file}" "${TARGET}"
|
||||||
done
|
done
|
||||||
@@ -351,22 +354,29 @@ verbose() {
|
|||||||
|
|
||||||
install_dotfiles() {
|
install_dotfiles() {
|
||||||
install_dotfile_dir "${BASEDIR}/dotfiles"
|
install_dotfile_dir "${BASEDIR}/dotfiles"
|
||||||
# shellcheck disable=SC2015
|
if test -d "${BASEDIR}/private_dotfiles" && \
|
||||||
test -d "${BASEDIR}/private_dotfiles" && \
|
test -d "${BASEDIR}/.git/git-crypt" ; then
|
||||||
test -d "${BASEDIR}/.git/git-crypt" && \
|
install_dotfile_dir "${BASEDIR}/private_dotfiles"
|
||||||
install_dotfile_dir "${BASEDIR}/private_dotfiles" || \
|
fi
|
||||||
true
|
if test -d "${BASEDIR}/local_dotfiles" ; then
|
||||||
# shellcheck disable=SC2015
|
install_dotfile_dir "${BASEDIR}/local_dotfiles"
|
||||||
test -d "${BASEDIR}/local_dotfiles" && \
|
fi
|
||||||
install_dotfile_dir "${BASEDIR}/local_dotfiles" || \
|
if test -d "${BASEDIR}/dotfile_overlays" ; then
|
||||||
true
|
for dotfiledir in "${BASEDIR}/dotfile_overlays/"* ; do
|
||||||
|
if test -d "${dotfiledir}" ; then
|
||||||
|
install_dotfile_dir "${dotfiledir}"
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
install_main() {
|
install_main() {
|
||||||
test -d "${BASEDIR}/.git" && command -v git >/dev/null 2>&1 && \
|
if test -d "${BASEDIR}/.git" ; then
|
||||||
git -C "${BASEDIR}" pull --ff-only
|
command -v git >/dev/null 2>&1 && \
|
||||||
test "$MINIMAL" = 1 || ( command -v git >/dev/null 2>&1 && \
|
git -C "${BASEDIR}" pull --ff-only
|
||||||
git -C "${BASEDIR}" submodule update --init --recursive )
|
test "$MINIMAL" = 1 || ( command -v git >/dev/null 2>&1 && \
|
||||||
|
git -C "${BASEDIR}" submodule update --init --recursive )
|
||||||
|
fi
|
||||||
test "$MINIMAL" = 1 || prerequisites
|
test "$MINIMAL" = 1 || prerequisites
|
||||||
test "$INSTALL_PKGS" = 1 && is_deb_system && install_apt_pkgs
|
test "$INSTALL_PKGS" = 1 && is_deb_system && install_apt_pkgs
|
||||||
install_dotfiles
|
install_dotfiles
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIsFYLEsalNh/l6PtMZhi0f/eZ22uoMw/xYpgPy6vBU6OlpN2FjW7R0pwX29fZjjVQoF0eEG0K/9/CcYcnxtspw= chronos@localhost
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKI+CwNBBoC1G9M2rRR0P0lWAU9uvEZpvDg+CpD+I9NQOLuy80YJMRwIYgTZVTWo8OUqsKSMzYywP6NdMKVdVGg= david@human
|
|
||||||
1
keys/ssh/id_ecdsa_zazu.pub
Normal file
1
keys/ssh/id_ecdsa_zazu.pub
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOP0EQthckpi83EoFXtbPnn4Ytd7FYW6Nb3W9ZahqOKhNAqv1owot957ihKHtGKFnYr0Jwgp0TNOdpz6nV9wwCo= david@zazu
|
||||||
@@ -1 +0,0 @@
|
|||||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHPlKI3Mt2Hm4YZ0WNOET7SEoXmAABR+eEZ3hnJnA9AJ davidtomaschik@davidtomaschik-glaptop3
|
|
||||||
1
keys/ssh/id_ed25519_glaptop6.pub
Normal file
1
keys/ssh/id_ed25519_glaptop6.pub
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJSM/GRj76roLHo0KV9SgNGNlFmnsiWpRm9r51XqSsnu davidtomaschik@davidtomaschik-glaptop6
|
||||||
1
keys/ssh/id_ed25519_wfh_chromebox.pub
Normal file
1
keys/ssh/id_ed25519_wfh_chromebox.pub
Normal file
@@ -0,0 +1 @@
|
|||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICvHatAcnYEJ2BXWGN+MaE40avyghYeEZDgfQD8WcRti david@wfh_chromebook
|
||||||
@@ -1 +0,0 @@
|
|||||||
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDi2AoHzzSd/xidvRKS1OE7Pe+aGgyEY1WmWJGJ3POHuaQSbGrp4g1En4QurhXwonPiLBtQ0w6Nbbi/3vrXxSnAkJJKd9LXQtjyXVN68285lRr3DWuWnyokhO3B5aGOb5/4b6Dn8YDRrTRefezjbVavgrTFarZ19PmPmJxH9h+ZPV/hNQ6rZjBjrvGerxpmB6CjgXbIxRdsUcnao3+gyPueBOkyHbfiy7QjQT+SgPjIqT/rza4Q0OqFBTk4D7Y96biE5yY31eNs8H7uvR3PfX0NN5zvP/EqJECPYr/B3vOzAr7B8BsqYbA5UFexrp6gYn+LDzr6jAILhEUp8SsC8UFn davidtomaschik@davidtomaschik-glaptop3
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
../id_ecdsa_chromebook.pub
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
../id_ecdsa_scar.pub
|
|
||||||
1
keys/ssh/trusted/id_ecdsa_zazu.pub
Symbolic link
1
keys/ssh/trusted/id_ecdsa_zazu.pub
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../id_ecdsa_zazu.pub
|
||||||
@@ -1,9 +1,14 @@
|
|||||||
|
bat
|
||||||
binfmt-support
|
binfmt-support
|
||||||
build-essential
|
build-essential
|
||||||
cryptsetup
|
cryptsetup
|
||||||
dsniff
|
dsniff
|
||||||
|
duf
|
||||||
ecryptfs-utils
|
ecryptfs-utils
|
||||||
|
exa
|
||||||
exuberant-ctags
|
exuberant-ctags
|
||||||
|
fd-find
|
||||||
|
fzf
|
||||||
httpie
|
httpie
|
||||||
iftop
|
iftop
|
||||||
iptraf
|
iptraf
|
||||||
|
|||||||
@@ -1,17 +1,25 @@
|
|||||||
ack
|
ack
|
||||||
|
bat
|
||||||
curl
|
curl
|
||||||
dnsutils
|
dnsutils
|
||||||
|
exa
|
||||||
|
fzf
|
||||||
gdb
|
gdb
|
||||||
git
|
git
|
||||||
git-crypt
|
git-crypt
|
||||||
|
git-delta
|
||||||
|
glances
|
||||||
gnupg2
|
gnupg2
|
||||||
gnupg-agent
|
gnupg-agent
|
||||||
|
httpie
|
||||||
ltrace
|
ltrace
|
||||||
mosh
|
mosh
|
||||||
ngrep
|
ngrep
|
||||||
nmap
|
nmap
|
||||||
|
ripgrep
|
||||||
strace
|
strace
|
||||||
tcpdump
|
tcpdump
|
||||||
|
tldr-py
|
||||||
tmux
|
tmux
|
||||||
traceroute
|
traceroute
|
||||||
tshark
|
tshark
|
||||||
|
|||||||
Binary file not shown.
Binary file not shown.
@@ -1 +1,2 @@
|
|||||||
BUS=="usb", SYSFS{idVendor}=="0403", SYSFS{idProduct}=="6014", GROUP="plugdev"
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", GROUP="plugdev"
|
||||||
|
SUBSYSTEMS=="usb", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", GROUP="plugdev"
|
||||||
|
|||||||
Reference in New Issue
Block a user