mirror of
https://github.com/Matir/skel.git
synced 2026-05-25 21:19:09 -07:00
Compare commits
69 Commits
2022-05-08
...
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 |
2
.gitignore
vendored
2
.gitignore
vendored
@@ -4,3 +4,5 @@ installed-prefs
|
||||
*~
|
||||
*.bak
|
||||
local_dotfiles
|
||||
dotfile_overlays
|
||||
!dotfile_overlays/.keep
|
||||
|
||||
115
bin/install_tool
115
bin/install_tool
@@ -110,6 +110,18 @@ function makedest_or_die {
|
||||
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
|
||||
case ${TOOL} in
|
||||
john)
|
||||
@@ -154,7 +166,7 @@ case ${TOOL} in
|
||||
makedest_or_die
|
||||
gbase="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/"
|
||||
# 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
|
||||
tar zxf /tmp/gcloud.tar.gz --strip-components=1 -C "${DESTDIR}"
|
||||
rm /tmp/gcloud.tar.gz
|
||||
@@ -229,10 +241,27 @@ case ${TOOL} in
|
||||
/etc/udev/rules.d/77-mm-usb-device-blacklist.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)
|
||||
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"])')
|
||||
download "${src}" "${DESTDIR}/cyberchef.html"
|
||||
cd "${DESTDIR}"
|
||||
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)
|
||||
makedest_or_die
|
||||
@@ -285,7 +314,7 @@ case ${TOOL} in
|
||||
exploitdb)
|
||||
if test -d "${DESTDIR}" ; then
|
||||
echo "Already installed, updating instead..." >/dev/stderr
|
||||
"${DESTDIR}/searchsplit" -u
|
||||
"${DESTDIR}/searchsploit" -u
|
||||
else
|
||||
git clone --depth 1 \
|
||||
https://github.com/offensive-security/exploitdb.git \
|
||||
@@ -306,6 +335,7 @@ case ${TOOL} in
|
||||
add_bin_symlink "Cura.AppImage" cura
|
||||
;;
|
||||
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"])')
|
||||
echo "Latest rr is ${ver}"
|
||||
download \
|
||||
@@ -353,7 +383,7 @@ EOF
|
||||
;;
|
||||
gf)
|
||||
install_pkgs golang-go silversearcher-ag
|
||||
go get -u github.com/tomnomnom/gf
|
||||
go install github.com/tomnomnom/gf@latest
|
||||
mkdir -p ${HOME}/.config
|
||||
if test -d ${HOME}/.config/gf ; then
|
||||
git -C ${HOME}/.config/gf pull
|
||||
@@ -362,19 +392,19 @@ EOF
|
||||
fi
|
||||
;;
|
||||
gron)
|
||||
go get -u github.com/tomnomnom/gron
|
||||
go install github.com/tomnomnom/gron@latest
|
||||
;;
|
||||
httprobe)
|
||||
go get -u github.com/tomnomnom/httprobe
|
||||
go install github.com/tomnomnom/httprobe@latest
|
||||
;;
|
||||
ffuf)
|
||||
go get -u github.com/ffuf/ffuf
|
||||
go install github.com/ffuf/ffuf@latest
|
||||
;;
|
||||
gobuster)
|
||||
go get -u github.com/OJ/gobuster
|
||||
go install github.com/OJ/gobuster@latest
|
||||
;;
|
||||
amass)
|
||||
go get -u github.com/OWASP/Amass/v3/...
|
||||
go install github.com/OWASP/Amass/v3/...
|
||||
;;
|
||||
cht.sh)
|
||||
install_pkgs rlwrap
|
||||
@@ -384,8 +414,8 @@ EOF
|
||||
add_bin_symlink cht.sh
|
||||
;;
|
||||
age)
|
||||
go get -u filippo.io/age/cmd/age
|
||||
go get -u filippo.io/age/cmd/age-keygen
|
||||
go install filippo.io/age/cmd/age@latest
|
||||
go install filippo.io/age/cmd/age-keygen@latest
|
||||
;;
|
||||
docker-compose)
|
||||
mkdir -p ${DESTDIR}
|
||||
@@ -396,10 +426,12 @@ EOF
|
||||
add_bin_symlink docker-compose
|
||||
;;
|
||||
tldr)
|
||||
pip3 install --user tldr
|
||||
require_pipx
|
||||
pipx install tldr
|
||||
;;
|
||||
blint)
|
||||
pip3 install --user blint
|
||||
require_pipx
|
||||
pipx install blint
|
||||
;;
|
||||
dust)
|
||||
if ! command -v cargo >/dev/null 2>&1 ; then
|
||||
@@ -416,7 +448,8 @@ EOF
|
||||
cargo install bottom
|
||||
;;
|
||||
delta)
|
||||
if !check_sudo ; then
|
||||
deb_only
|
||||
if ! check_sudo ; then
|
||||
echo "Must be able to run as sudo."
|
||||
exit 1
|
||||
fi
|
||||
@@ -433,6 +466,15 @@ EOF
|
||||
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 \
|
||||
@@ -441,6 +483,49 @@ EOF
|
||||
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
|
||||
list_tools
|
||||
|
||||
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
|
||||
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
|
||||
if [ -f $HOME/.env ] ; then source $HOME/.env ; fi
|
||||
if [ -f $HOME/.shenv ] ; then source $HOME/.shenv ; fi
|
||||
|
||||
# History settings
|
||||
HISTCONTROL=ignoredups:ignorespace
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# This file contains fish universal variable definitions.
|
||||
# VERSION: 3.0
|
||||
SETUVAR EDITOR:vim
|
||||
SETUVAR __fish_initialized:3100
|
||||
SETUVAR __fish_initialized:3400
|
||||
SETUVAR fish_color_autosuggestion:586e75
|
||||
SETUVAR fish_color_cancel:\x2dr
|
||||
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_prefix:cyan\x1e\x2d\x2dunderline
|
||||
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.
|
||||
# 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
|
||||
sort_key=46
|
||||
sort_direction=-1
|
||||
tree_sort_key=0
|
||||
tree_sort_direction=1
|
||||
hide_kernel_threads=1
|
||||
hide_userland_threads=1
|
||||
hide_running_in_container=0
|
||||
shadow_other_users=0
|
||||
show_thread_names=0
|
||||
show_program_path=1
|
||||
highlight_base_name=0
|
||||
highlight_deleted_exe=1
|
||||
shadow_distribution_path_prefix=0
|
||||
highlight_megabytes=1
|
||||
highlight_threads=1
|
||||
highlight_changes=0
|
||||
@@ -18,9 +19,8 @@ highlight_changes_delay_secs=5
|
||||
find_comm_in_cmdline=1
|
||||
strip_exe_from_cmdline=1
|
||||
show_merged_command=0
|
||||
tree_view=0
|
||||
tree_view_always_by_pid=0
|
||||
header_margin=1
|
||||
screen_tabs=0
|
||||
detailed_cpu_time=0
|
||||
cpu_count_from_one=1
|
||||
show_cpu_usage=1
|
||||
@@ -32,8 +32,32 @@ account_guest_in_cpu_meter=0
|
||||
color_scheme=6
|
||||
enable_mouse=1
|
||||
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
|
||||
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="startup-notify" type="empty"/>
|
||||
</property>
|
||||
<property name="<Alt><Super>s" type="empty"/>
|
||||
</property>
|
||||
<property name="custom" type="empty">
|
||||
<property name="<Alt>F2" type="string" value="xfce4-appfinder --collapsed">
|
||||
<property name="startup-notify" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="<Alt>Print" type="string" value="xfce4-screenshooter -w"/>
|
||||
<property name="<Super>r" type="string" value="xfce4-appfinder -c">
|
||||
<property name="startup-notify" type="bool" value="true"/>
|
||||
</property>
|
||||
@@ -43,9 +43,7 @@
|
||||
<property name="<Alt>F3" type="string" value="xfce4-appfinder">
|
||||
<property name="startup-notify" type="bool" value="true"/>
|
||||
</property>
|
||||
<property name="Print" type="string" value="xfce4-screenshooter"/>
|
||||
<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>t" type="string" value="exo-open --launch TerminalEmulator"/>
|
||||
<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="override" type="bool" value="true"/>
|
||||
<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 name="xfwm4" type="empty">
|
||||
@@ -117,8 +117,8 @@
|
||||
<property name="<Primary>F12" type="empty"/>
|
||||
<property name="<Super>KP_Left" 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_Up" type="empty"/>
|
||||
<property name="<Super>KP_Page_Up" type="empty"/>
|
||||
<property name="<Super>KP_Home" type="empty"/>
|
||||
<property name="<Super>KP_End" type="empty"/>
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
<channel name="xfwm4" version="1.0">
|
||||
<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="box_move" 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_layout" type="bool" value="true"/>
|
||||
<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="zoom_desktop" type="bool" value="true"/>
|
||||
<property name="zoom_pointer" type="bool" value="true"/>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
use-agent
|
||||
# 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
|
||||
auto-key-locate keyserver
|
||||
personal-digest-preferences SHA256
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
# Should only use POSIX constructs.
|
||||
|
||||
# Always load ENV
|
||||
test -f "$HOME/.env" && . "$HOME/.env"
|
||||
test -f "$HOME/.shenv" && . "$HOME/.shenv"
|
||||
|
||||
# Setup GREP_COLORS
|
||||
export GREP_COLOR='01;31'
|
||||
@@ -34,4 +34,9 @@ if [ -z "${LIBVIRT_DEFAULT_URI}" ] ; then
|
||||
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"
|
||||
|
||||
@@ -2,31 +2,44 @@
|
||||
.Genymobile
|
||||
.Ticket to Ride*
|
||||
.android*
|
||||
.ansible
|
||||
.arduino*
|
||||
.aws
|
||||
.bundle
|
||||
.cache
|
||||
.cargo
|
||||
.config/discord
|
||||
.config/gcloud/logs
|
||||
.config/google-chrome
|
||||
.config/google-chrome-beta
|
||||
.config/unity3d/cache
|
||||
.dropbox-dist
|
||||
.gnupg.bak
|
||||
.gradle
|
||||
.histfile
|
||||
.kube/cache
|
||||
.local/lib
|
||||
.local/share/Steam
|
||||
.local/share/Trash
|
||||
.local/lib
|
||||
.m2
|
||||
.minikube
|
||||
.npm
|
||||
.p2
|
||||
.platformio
|
||||
.rustup
|
||||
.rvm*
|
||||
.sliver
|
||||
.sqlite_history
|
||||
.thumbnails
|
||||
.virtualenvs
|
||||
.wine
|
||||
.xsession-errors*
|
||||
.zcompdump
|
||||
.zcompdump*
|
||||
Audits
|
||||
Downloads
|
||||
SpiderOak Hive
|
||||
Unity
|
||||
VirtualBox VMs
|
||||
tmp
|
||||
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
|
||||
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
|
||||
export LC_CTYPE=${l}
|
||||
export LC_NUMERIC=${l}
|
||||
@@ -81,5 +81,11 @@ export LC_COLLATE=C
|
||||
# Opt out of .net telemetry
|
||||
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
|
||||
test -e "$HOME/.localenv" && . "$HOME/.localenv"
|
||||
@@ -29,7 +29,8 @@ Match canonical all
|
||||
ForwardAgent no
|
||||
ForwardX11 no
|
||||
ForwardX11Trusted no
|
||||
ServerAliveInterval 120
|
||||
ServerAliveInterval 30
|
||||
ServerAliveCountMax 3
|
||||
UpdateHostKeys yes
|
||||
User david
|
||||
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
|
||||
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...
|
||||
" It also does not play nicely with virtual envs, so we skip it then
|
||||
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
|
||||
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
|
||||
" From
|
||||
@@ -215,3 +220,6 @@ autocmd BufRead,BufNewFile Makefile* set noexpandtab
|
||||
" Enable filetype support
|
||||
" Needs to be at end of vimrc
|
||||
filetype plugin indent on
|
||||
|
||||
" Disable bell
|
||||
set belloff=all
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
setxkbmap -option ctrl:nocaps -option compose:ralt
|
||||
test -x /usr/bin/xsettingsd && /usr/bin/xsettingsd &
|
||||
test -f "$HOME/.env" && "$HOME/.env"
|
||||
test -f "$HOME/.shenv" && "$HOME/.shenv"
|
||||
test -f "$HOME/.profile" && . "$HOME/.profile"
|
||||
|
||||
@@ -66,7 +66,8 @@ zstyle ':completion::complete:*' use-cache on
|
||||
zstyle ':completion::complete:*' cache-path "${ZDOTDIR:-$HOME}/.zcompcache"
|
||||
|
||||
# .profile is universal
|
||||
. ~/.profile
|
||||
emulate sh -c '. /etc/profile'
|
||||
emulate sh -c '. ~/.profile'
|
||||
# Deduplicate the path
|
||||
typeset -U path
|
||||
|
||||
@@ -105,9 +106,11 @@ if [[ $- == *i* ]] ; then
|
||||
# Virtualenvwrapper
|
||||
if test -f /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh ; then
|
||||
source /usr/share/virtualenvwrapper/virtualenvwrapper_lazy.sh
|
||||
elif test -f /usr/bin/virtualenvwrapper_lazy.sh ; then
|
||||
source /usr/bin/virtualenvwrapper_lazy.sh
|
||||
fi
|
||||
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
|
||||
# Syntax highlighting and substring search
|
||||
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
|
||||
fi
|
||||
# Suggestions
|
||||
if test -f /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh ; then
|
||||
# Works well for solarized
|
||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=10"
|
||||
# Strategy -- note that 'completion' is slow AF
|
||||
ZSH_AUTOSUGGEST_STRATEGY=(history)
|
||||
source /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||
fi
|
||||
for sugg_path in /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh ; do
|
||||
if test -f "${sugg_path}"; then
|
||||
# Works well for solarized
|
||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=10"
|
||||
# Strategy -- note that 'completion' is slow AF
|
||||
ZSH_AUTOSUGGEST_STRATEGY=(history)
|
||||
source "${sugg_path}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
unset sugg_path
|
||||
# History
|
||||
alias fullhist="history 1"
|
||||
alias longhist="history -1000"
|
||||
fi # End interactive-only block
|
||||
|
||||
# In case ack is named ack-grep
|
||||
@@ -155,4 +165,7 @@ fi
|
||||
if [ -e $HOME/.zshrc.local ] ; then source $HOME/.zshrc.local ; fi
|
||||
|
||||
# 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
|
||||
|
||||
@@ -6,3 +6,12 @@ if ! command -v bat >/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
|
||||
|
||||
@@ -2,8 +2,26 @@ function dumpenv {
|
||||
tr '\0' '\n' < /proc/${1}/environ
|
||||
}
|
||||
|
||||
if test -x "${HOME}/tools/starship/starship" ; then
|
||||
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"
|
||||
42
install.sh
42
install.sh
@@ -6,6 +6,9 @@ set -o nounset
|
||||
set -o errexit
|
||||
set -o shwordsplit 2>/dev/null || true # Make zsh behave like bash
|
||||
|
||||
USER=${USER:-$(id -un)}
|
||||
HOME=${HOME:-$(cd ~ && pwd)}
|
||||
|
||||
case $(uname) in
|
||||
Linux)
|
||||
FINDTYPE="-xtype"
|
||||
@@ -65,7 +68,7 @@ install_dotfile_dir() {
|
||||
${submodule_prune} \) \
|
||||
-prune -o ${FINDTYPE} f -print | \
|
||||
while read -r dotfile ; do
|
||||
local TARGET="${HOME}/.${dotfile#${SRCDIR}/}"
|
||||
local TARGET="${HOME}/.${dotfile#"${SRCDIR}"/}"
|
||||
mkdir -p "$(dirname "${TARGET}")"
|
||||
ln -s -f "${dotfile}" "${TARGET}"
|
||||
done
|
||||
@@ -73,7 +76,7 @@ install_dotfile_dir() {
|
||||
awk '{print $2}' | \
|
||||
while read -r submodule ; do
|
||||
local FULLNAME="${BASEDIR}/${submodule}"
|
||||
local TARGET="${HOME}/.${FULLNAME#${SRCDIR}/}"
|
||||
local TARGET="${HOME}/.${FULLNAME#"${SRCDIR}"/}"
|
||||
mkdir -p "$(dirname "${TARGET}")"
|
||||
if test -L "${TARGET}" ; then
|
||||
if [ "$(readlink "${TARGET}")" != "${FULLNAME}" ] ; then
|
||||
@@ -93,7 +96,7 @@ install_basic_dir() {
|
||||
local file
|
||||
find "${SRCDIR}" ${FINDTYPE} f -print | \
|
||||
while read -r file ; do
|
||||
local TARGET="${2}/${file#${SRCDIR}/}"
|
||||
local TARGET="${2}/${file#"${SRCDIR}"/}"
|
||||
mkdir -p "$(dirname "${TARGET}")"
|
||||
ln -s -f "${file}" "${TARGET}"
|
||||
done
|
||||
@@ -351,22 +354,29 @@ verbose() {
|
||||
|
||||
install_dotfiles() {
|
||||
install_dotfile_dir "${BASEDIR}/dotfiles"
|
||||
# shellcheck disable=SC2015
|
||||
test -d "${BASEDIR}/private_dotfiles" && \
|
||||
test -d "${BASEDIR}/.git/git-crypt" && \
|
||||
install_dotfile_dir "${BASEDIR}/private_dotfiles" || \
|
||||
true
|
||||
# shellcheck disable=SC2015
|
||||
test -d "${BASEDIR}/local_dotfiles" && \
|
||||
install_dotfile_dir "${BASEDIR}/local_dotfiles" || \
|
||||
true
|
||||
if test -d "${BASEDIR}/private_dotfiles" && \
|
||||
test -d "${BASEDIR}/.git/git-crypt" ; then
|
||||
install_dotfile_dir "${BASEDIR}/private_dotfiles"
|
||||
fi
|
||||
if test -d "${BASEDIR}/local_dotfiles" ; then
|
||||
install_dotfile_dir "${BASEDIR}/local_dotfiles"
|
||||
fi
|
||||
if test -d "${BASEDIR}/dotfile_overlays" ; then
|
||||
for dotfiledir in "${BASEDIR}/dotfile_overlays/"* ; do
|
||||
if test -d "${dotfiledir}" ; then
|
||||
install_dotfile_dir "${dotfiledir}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
install_main() {
|
||||
test -d "${BASEDIR}/.git" && command -v git >/dev/null 2>&1 && \
|
||||
git -C "${BASEDIR}" pull --ff-only
|
||||
test "$MINIMAL" = 1 || ( command -v git >/dev/null 2>&1 && \
|
||||
git -C "${BASEDIR}" submodule update --init --recursive )
|
||||
if test -d "${BASEDIR}/.git" ; then
|
||||
command -v git >/dev/null 2>&1 && \
|
||||
git -C "${BASEDIR}" pull --ff-only
|
||||
test "$MINIMAL" = 1 || ( command -v git >/dev/null 2>&1 && \
|
||||
git -C "${BASEDIR}" submodule update --init --recursive )
|
||||
fi
|
||||
test "$MINIMAL" = 1 || prerequisites
|
||||
test "$INSTALL_PKGS" = 1 && is_deb_system && install_apt_pkgs
|
||||
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,17 +1,25 @@
|
||||
ack
|
||||
bat
|
||||
curl
|
||||
dnsutils
|
||||
exa
|
||||
fzf
|
||||
gdb
|
||||
git
|
||||
git-crypt
|
||||
git-delta
|
||||
glances
|
||||
gnupg2
|
||||
gnupg-agent
|
||||
httpie
|
||||
ltrace
|
||||
mosh
|
||||
ngrep
|
||||
nmap
|
||||
ripgrep
|
||||
strace
|
||||
tcpdump
|
||||
tldr-py
|
||||
tmux
|
||||
traceroute
|
||||
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