84 Commits

Author SHA1 Message Date
David Tomaschik
11ecbdaf04 Add hashall function 2023-08-20 13:56:49 -07:00
David Tomaschik
bc9150b592 shellcheck fixes 2023-08-14 21:41:12 -07:00
David Tomaschik
f81410cfc0 ensure $USER is set 2023-08-14 21:20:31 -07:00
David Tomaschik
87239b2034 fix up change 2023-08-14 20:57:47 -07:00
David Tomaschik
50011b1675 update keepalives for ssh 2023-08-09 10:24:48 -07:00
David Tomaschik
eb3392966a belloff 2023-08-08 01:45:37 -07:00
David Tomaschik
3188effbd3 update installer 2023-08-05 00:25:37 -07:00
David Tomaschik
80b119f6ad Add hak5 ssh config 2023-07-31 22:37:14 -07:00
David Tomaschik
e87b4cb3d4 add C.utf8 to shenv 2023-07-21 10:39:43 -07:00
David Tomaschik
0c08d4ebe7 xfce4 2023-06-19 17:26:27 -07:00
David Tomaschik
a7d59e971f bump 2023-06-19 17:23:49 -07:00
David Tomaschik
233b3e7a7b Update 2023-06-03 20:45:02 -07:00
David Tomaschik
691f64a477 Don't pass -C to ls in alias. 2023-05-26 10:18:42 -07:00
David Tomaschik
670875f227 Bump bsidessf 2023-05-23 18:05:54 -07:00
David Tomaschik
e90c014d88 Bump, add pipx 2023-05-16 19:55:40 -07:00
David Tomaschik
d76a278a95 Merge branch 'main' of github.com:Matir/skel 2023-04-28 21:12:51 -07:00
David Tomaschik
8eff002d55 Update skel 2023-04-28 21:12:42 -07:00
David Tomaschik
3015e7a1c0 Default disable SSH forwarding in earthly 2023-03-20 11:11:42 -07:00
David Tomaschik
a286795570 Merge branch 'main' of github.com:Matir/skel 2023-03-05 19:54:16 -08:00
David Tomaschik
99e8ff6f2b Add some packages 2023-02-14 11:22:28 -08:00
David Tomaschik
4a77c0e900 add refresh alias 2023-02-06 20:23:20 -08:00
David Tomaschik
35f494c3d4 Add unblob 2023-02-01 20:43:21 -08:00
David Tomaschik
f650d12efb Merge branch 'main' of github.com:Matir/skel 2023-01-31 14:14:10 -08:00
David Tomaschik
2c67b58ba6 Add history aliases 2023-01-31 14:13:59 -08:00
David Tomaschik
ba9534577a Add igrep, rustup to install_tool 2023-01-13 11:05:25 -08:00
David Tomaschik
193b22e0d1 Bump skel 2022-12-29 20:37:22 -08:00
David Tomaschik
b7353bd34e Setup rust paths for ycm 2022-12-02 17:23:36 -08:00
David Tomaschik
12b2ed211b deb_only marking 2022-11-26 15:30:18 -08:00
David Tomaschik
ee5a78b578 Merge branch 'main' of github.com:Matir/skel 2022-11-26 13:06:33 -08:00
David Tomaschik
25a9194480 Replace go get with go install 2022-11-26 13:06:16 -08:00
David Tomaschik
f4ea05681c Bump 2022-11-23 12:11:20 -08:00
David Tomaschik
eb193fe1de Remove unused keys 2022-10-22 13:59:56 -07:00
David Tomaschik
e02dc0be80 Update nerdfonts 2022-10-21 19:58:12 -07:00
David Tomaschik
6c3dea3721 Rename .env to .shenv.
Requires updating symlinks.

Fixes #13.
2022-10-20 11:04:27 -07:00
David Tomaschik
cb3ba03c49 Load profile in sh emulation mode. 2022-10-20 11:04:27 -07:00
David Tomaschik
d7cc6fd508 Add wfh chromebox key 2022-10-20 11:04:27 -07:00
David Tomaschik
b628453b10 Rename .env to .shenv.
Requires updating symlinks.

Fixes #13.
2022-10-19 10:08:21 -07:00
David Tomaschik
157e6ee20e Load profile in sh emulation mode. 2022-10-19 10:08:21 -07:00
David Tomaschik
e375d7f472 Merge branch 'main' of github.com:Matir/skel 2022-10-16 20:47:13 -07:00
David Tomaschik
373189f440 Add ffuf aliases 2022-10-16 20:47:00 -07:00
David Tomaschik
a719ca9972 Merge branch 'main' of https://github.com/Matir/skel 2022-10-16 11:55:35 -07:00
David Tomaschik
4937a98ccc Suppress LVM warnings 2022-10-16 11:55:27 -07:00
David Tomaschik
81093ab3d6 Add nerdfonts install script 2022-10-08 22:20:21 -07:00
David Tomaschik
ab85cb5ecf Merge branch 'main' of github.com:Matir/skel 2022-10-04 21:24:04 -07:00
David Tomaschik
cbb580fcdf Fix xfwm4.xml 2022-10-04 21:23:51 -07:00
David Tomaschik
aea9e50141 Bump skel 2022-10-03 19:48:28 -07:00
David Tomaschik
10ce6ff7f6 Rotate glaptop keys 2022-09-15 11:26:39 -07:00
David Tomaschik
cd9bb5d6cc Update cyberchef install_tool 2022-09-15 11:25:34 -07:00
David Tomaschik
5cfbc4e88a add pm3iceman 2022-09-03 18:42:17 -07:00
David Tomaschik
44d981e3c3 Add doctl to install_tool 2022-09-03 15:46:53 -07:00
David Tomaschik
3f509e17c1 Update trusted ssh keys 2022-08-26 22:09:03 -07:00
David Tomaschik
af3365ad8e Merge branch 'main' of https://github.com/Matir/skel 2022-08-26 16:54:46 -07:00
David Tomaschik
6888e8503f xfwm4 2022-08-26 16:54:27 -07:00
David Tomaschik
e52af2d21a Merge branch 'main' of github.com:Matir/skel 2022-08-25 22:29:39 -07:00
David Tomaschik
a5a5c7d5df Add ghidra to install_tool 2022-08-25 22:29:28 -07:00
David Tomaschik
aca274d7df Add rvm.zsh 2022-08-20 12:37:38 -07:00
David Tomaschik
70cdfcdc07 Update FTDI rules 2022-06-11 20:05:04 -07:00
David Tomaschik
9a38b456d7 install_tool: arduino-cli 2022-06-11 19:35:38 -07:00
David Tomaschik
a4196d7bc1 Don't depend on RUBY_VERSION in starship 2022-06-11 11:19:04 -07:00
David Tomaschik
cbcc6e6fb6 zshrc fix 2022-06-11 11:06:56 -07:00
David Tomaschik
f2ca693f7b Starship change glyph for status 2022-06-09 21:43:56 +00:00
David Tomaschik
da43e7533d Allow defaulting to starship 2022-06-09 20:14:51 +00:00
David Tomaschik
9c9c56b030 Add zazu key 2022-05-28 20:30:52 -07:00
David Tomaschik
747bc7becd Updates on arch 2022-05-23 21:56:45 -07:00
David Tomaschik
c3c9714b8d Add kubectx to install_tool. 2022-05-14 09:28:36 -07:00
David Tomaschik
5865f5130f Update starship config. 2022-05-14 00:38:16 -07:00
David Tomaschik
6803ac2ce2 Bump gcloud version 2022-05-14 00:38:01 -07:00
David Tomaschik
c512401acd Add starship.toml 2022-05-13 22:04:27 -07:00
David Tomaschik
dae254e240 Updates 2022-05-13 22:03:06 -07:00
David Tomaschik
2ab9bd3452 Update bsidessf config 2022-05-08 17:23:21 -07:00
David Tomaschik
b68c1e2c65 Update gitignore 2022-05-08 17:23:12 -07:00
David Tomaschik
3c8d8ca5e1 Starship support. 2022-05-08 16:01:23 -07:00
David Tomaschik
f6e6c42b26 kubeconform install_tool 2022-05-05 21:14:35 -07:00
David Tomaschik
7165e7c93f Revert "Add kubeval to install_tool."
This reverts commit dea863ee35.
2022-05-05 21:11:29 -07:00
David Tomaschik
63f401c84b Fix gitconfig 2022-05-05 21:11:09 -07:00
David Tomaschik
dea863ee35 Add kubeval to install_tool. 2022-05-05 18:38:28 -07:00
David Tomaschik
d01a320de7 ropper recipe 2022-05-01 16:40:44 -07:00
David Tomaschik
0564dbbb3d Bump config_bsidessf 2022-04-30 11:33:50 -07:00
David Tomaschik
1efa61a9f4 Add duf to packages.cli 2022-03-19 16:33:27 -07:00
David Tomaschik
77a01d2fda Enable delta line-numbers 2022-03-19 15:55:36 -07:00
David Tomaschik
71711a5cc0 Use delta when available 2022-03-19 15:53:34 -07:00
David Tomaschik
a49474fe60 Add more tools 2022-03-19 15:23:50 -07:00
David Tomaschik
2217cfb47b batcat -> bat alias 2022-03-19 14:21:00 -07:00
David Tomaschik
75b0c5db9e Update tools 2022-03-17 18:23:27 -07:00
43 changed files with 436 additions and 79 deletions

2
.gitignore vendored
View File

@@ -4,3 +4,5 @@ installed-prefs
*~
*.bak
local_dotfiles
dotfile_overlays
!dotfile_overlays/.keep

View File

@@ -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,7 +426,105 @@ EOF
add_bin_symlink docker-compose
;;
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

26
bin/setup/nerdfonts.sh Executable file
View 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
View File

@@ -0,0 +1 @@
-option ctrl:nocaps -option compose:ralt

View File

@@ -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 ""'

View File

@@ -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

View File

@@ -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

View File

@@ -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=49
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

View 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 = []

View File

@@ -29,12 +29,12 @@
<property name="&lt;Super&gt;r" type="empty">
<property name="startup-notify" type="empty"/>
</property>
<property name="&lt;Alt&gt;&lt;Super&gt;s" type="empty"/>
</property>
<property name="custom" type="empty">
<property name="&lt;Alt&gt;F2" type="string" value="xfce4-appfinder --collapsed">
<property name="startup-notify" type="bool" value="true"/>
</property>
<property name="&lt;Alt&gt;Print" type="string" value="xfce4-screenshooter -w"/>
<property name="&lt;Super&gt;r" type="string" value="xfce4-appfinder -c">
<property name="startup-notify" type="bool" value="true"/>
</property>
@@ -43,9 +43,7 @@
<property name="&lt;Alt&gt;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="&lt;Primary&gt;Escape" type="string" value="xfdesktop --menu"/>
<property name="&lt;Shift&gt;Print" type="string" value="xfce4-screenshooter -r"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;Delete" type="string" value="xfce4-session-logout"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;t" type="string" value="exo-open --launch TerminalEmulator"/>
<property name="&lt;Primary&gt;&lt;Alt&gt;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="&lt;Super&gt;l" type="string" value="xflock4"/>
<property name="Print" type="string" value="flameshot gui"/>
<property name="&lt;Shift&gt;Print" type="string" value="flameshot full"/>
</property>
</property>
<property name="xfwm4" type="empty">
@@ -117,8 +117,8 @@
<property name="&lt;Primary&gt;F12" type="empty"/>
<property name="&lt;Super&gt;KP_Left" type="empty"/>
<property name="&lt;Super&gt;KP_Right" type="empty"/>
<property name="&lt;Super&gt;KP_Up" type="empty"/>
<property name="&lt;Super&gt;KP_Down" type="empty"/>
<property name="&lt;Super&gt;KP_Up" type="empty"/>
<property name="&lt;Super&gt;KP_Page_Up" type="empty"/>
<property name="&lt;Super&gt;KP_Home" type="empty"/>
<property name="&lt;Super&gt;KP_End" type="empty"/>

View File

@@ -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"/>

View File

@@ -6,6 +6,7 @@
excludesfile = ~/.gitignore
editor = vim
whitespace = trailing-space,space-before-tab
pager = command -v delta >/dev/null 2>&1 && delta || less -eFiJM~ -j3
[color]
diff = auto
@@ -13,6 +14,7 @@
[diff]
tool = vimdiff
colorMoved = default
[difftool]
prompt = false
@@ -41,7 +43,7 @@
user = matir
# Site specific config
[url "https://github.com./"]
[url "https://github.com/"]
insteadOf = "github:"
insteadOf = "github://"
@@ -58,16 +60,29 @@
[credential]
helper = cache --timeout=36000
[receive]
denyCurrentBranch = updateInstead
[merge]
tool = vimdiff
conflictstyle = diff3
[mergetool]
prompt = false
[include]
path = ~/.gitconfig.local
[pull]
rebase = false
[init]
defaultBranch = main
[interactive]
diffFilter = command -v delta >/dev/null 2>&1 && delta || cat
[delta]
navigate = true
line-numbers = true

View File

@@ -17,9 +17,13 @@ Thumbs.db
# Try to avoid accidentally checking in private keys
id_rsa
id_ecdsa
id_ed25519
# Kicad backup files
*.kicad_pcb-bak
# Mypy cache path
.mypy_cache
# These files should basically never be committed
.env

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View File

@@ -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"

View File

@@ -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

View 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

View File

@@ -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"

View File

@@ -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

View File

@@ -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"

View File

@@ -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
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 /usr/share/zsh-autosuggestions/zsh-autosuggestions.zsh
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

View 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

View File

@@ -1,3 +1,27 @@
function dumpenv {
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
View File

@@ -0,0 +1 @@
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"

View File

@@ -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
}

View File

@@ -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 && \
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

View File

@@ -1 +0,0 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBIsFYLEsalNh/l6PtMZhi0f/eZ22uoMw/xYpgPy6vBU6OlpN2FjW7R0pwX29fZjjVQoF0eEG0K/9/CcYcnxtspw= chronos@localhost

View File

@@ -1 +0,0 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBKI+CwNBBoC1G9M2rRR0P0lWAU9uvEZpvDg+CpD+I9NQOLuy80YJMRwIYgTZVTWo8OUqsKSMzYywP6NdMKVdVGg= david@human

View File

@@ -0,0 +1 @@
ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBOP0EQthckpi83EoFXtbPnn4Ytd7FYW6Nb3W9ZahqOKhNAqv1owot957ihKHtGKFnYr0Jwgp0TNOdpz6nV9wwCo= david@zazu

View File

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

View File

@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJSM/GRj76roLHo0KV9SgNGNlFmnsiWpRm9r51XqSsnu davidtomaschik@davidtomaschik-glaptop6

View File

@@ -0,0 +1 @@
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICvHatAcnYEJ2BXWGN+MaE40avyghYeEZDgfQD8WcRti david@wfh_chromebook

View File

@@ -1 +0,0 @@
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDi2AoHzzSd/xidvRKS1OE7Pe+aGgyEY1WmWJGJ3POHuaQSbGrp4g1En4QurhXwonPiLBtQ0w6Nbbi/3vrXxSnAkJJKd9LXQtjyXVN68285lRr3DWuWnyokhO3B5aGOb5/4b6Dn8YDRrTRefezjbVavgrTFarZ19PmPmJxH9h+ZPV/hNQ6rZjBjrvGerxpmB6CjgXbIxRdsUcnao3+gyPueBOkyHbfiy7QjQT+SgPjIqT/rza4Q0OqFBTk4D7Y96biE5yY31eNs8H7uvR3PfX0NN5zvP/EqJECPYr/B3vOzAr7B8BsqYbA5UFexrp6gYn+LDzr6jAILhEUp8SsC8UFn davidtomaschik@davidtomaschik-glaptop3

View File

@@ -1 +0,0 @@
../id_ecdsa_chromebook.pub

View File

@@ -1 +0,0 @@
../id_ecdsa_scar.pub

View File

@@ -0,0 +1 @@
../id_ecdsa_zazu.pub

View File

@@ -1,9 +1,14 @@
bat
binfmt-support
build-essential
cryptsetup
dsniff
duf
ecryptfs-utils
exa
exuberant-ctags
fd-find
fzf
httpie
iftop
iptraf

View File

@@ -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

View File

@@ -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"