8 Commits

Author SHA1 Message Date
7cfffc329b README 2025-12-11 12:01:01 -05:00
b654a7fdd0 Update Cursor 2025-12-09 10:02:15 -05:00
af7c255edd Transfer VSCode to Cursor 2025-12-07 16:35:35 -05:00
aeee782f58 Bearded dark theme 2025-12-07 16:21:53 -05:00
7c55fe9d22 VSCode init 2025-12-07 16:10:00 -05:00
13ab26afd9 Remove fix silent mouse 2025-11-04 09:18:15 -05:00
c970150de4 Update 2025-04-07 10:49:29 -04:00
7042aeb0f0 i3 secondary bar for GTX 1070 2025-03-30 18:57:57 -04:00
37 changed files with 1418 additions and 146 deletions

369
README.md
View File

@@ -1,33 +1,348 @@
<!--- Intro {{{ -->
# Kevin's Linux Setup
# KM's Linux Desktop Config (chezmoi dotfiles)
![desktop-screenshot](https://i.imgur.com/Fpsr8Fc.png)
*Screenshot from my dual-monitor setup.*
This is my **chezmoi-managed toolkit** for keeping a
consistent i3/terminal-focused Linux desktop across
machines: i3 + i3blocks + i3bar, fish/Zsh/Bash shells,
kitty/ST terminals, tmux, Neovim/Vim, Ranger, mpv, Zathura,
dunst, picom, taskwarrior/taskopen, calcurse, Neomutt/msmtp,
mgba, and a grab bag of helper scripts for wallpapers,
audio, finance tickers, backups, etc. Other coding projects
such as `hands-free-tools`, `psa` Arsenal, or `kogito` live
in their own repos — this repo is solely about the desktop
environment, shell tooling, and workflows that drive it.
This repository contains the dotfiles to increase my workflow efficiency. They
are also for my Linux
[rice](https://www.reddit.com/r/unixporn/comments/3iy3wd/stupid_question_what_is_ricing/cukxwog/).
<!--- }}} Intro -->
## Table of Contents
- [What This Repo Is](#what-this-repo-is)
- [Installation & Sync](#installation--sync)
- [Shells & Aliases](#shells--aliases)
- [Terminal & Editor Stack](#terminal--editor-stack)
- [Window Manager & Display](#window-manager--display)
- [Productivity Apps &
Services](#productivity-apps--services)
- [Scripts, Packages & Assets](#scripts-packages--assets)
- [Host Overrides & Secrets](#host-overrides--secrets)
- [Customization Tips](#customization-tips)
<!--- Main Programs {{{ -->
## Main Programs
* **OS**: [Arch Linux](https://www.archlinux.org/) ([packages](txt/nzxt-pkgs.txt))
```
> systemd-analyze
Startup finished in 2.341s (kernel) + 1.085s (userspace) = 3.426s
graphical.target reached after 1.085s in userspace
```
* **Terminal**: [rxvt-unicode-pixbuf](https://www.wikiwand.com/en/Rxvt)
* **Shell**: [Fish](https://fishshell.com/)
* **Window Manager**: [i3-gaps](https://github.com/Airblader/i3)
* **Editor**: [Neovim](https://github.com/neovim/neovim) ([plugins](dotfiles/.vimrc#L51))
* **File Manager**: [ranger](https://ranger.github.io/)
<!--- }}} Basic Info -->
## What This Repo Is
- A **chezmoi repo** with `dot_*` files targeting `$HOME`
(e.g. `dot_vimrc.tmpl` &rarr; `~/.vimrc`, `dot_tmux.conf`,
`dot_gitconfig.tmpl`, etc.) and `dot_config/**` mirroring
`~/.config`. Every `.tmpl` file runs through `chezmoi`
templating so `{{ .chezmoi.hostname }}` / `.linux_os` /
`.chezmoi.username` can tailor behavior.
- A place for **desktop-focused tooling**: i3/i3blocks, fish
+ shared aliases, kitty/ST terminals, tmux, Neovim/Vim,
mpv, Ranger, mpv, Zathura, dunst/picom/prefers,
taskwarrior/taskopen, and shell helpers such as
`executable_passmenu`, `dmenu-history`, `change-sink`,
`bg-chooser`, etc.
- A repository for configuration logic only — the bulk of
application/Project code lives in other repos. You can
treat this as the “rice” layer for Arch/Ubuntu machines,
not as a general diary of every coding sidequest.
<!--- Setup {{{ -->
## Installation & Sync
1. Install `chezmoi`, clone this repo, and run `chezmoi init
--apply <repo>` (or `chezmoi cd .` / `chezmoi apply`). The
repo assumes you have a basic Linux desktop already (i3,
fish, etc.).
2. Run `chezmoi apply` whenever you change templates. When
files touch the ones under `aliases/` (see below) run
`~/scripts/sync-shortcuts` (or let `fish` invoke it on
login) to regenerate `~/aliases/.key_aliases`,
`~/.config/fish/key_abbr.fish`, and
`~/.config/ranger/key_mappings.conf`.
3. After changing tmux config, reload (`tmux source
~/.tmux.conf`) and run the TPM installer
(`~/.tmux/plugins/tpm/bin/install_plugins`).
4. When you edit `dot_config/mgba/*.ini`, run
`dot_config/mgba/update-mgba-config.fish` (or your shell) to
keep the `~/.config/mgba/*.ini` copies and repo templates in
sync.
5. Use `chezmoi data set <key> <value>` (or edit
`~/.config/chezmoi/chezmoi.toml`) to tweak host data such as
`gui`, `ext_kb`, or `linux_os` — the template in
`dot_config/chezmoi/chezmoi-template.toml.tmpl` seeds those
values for conditional logic in templates.
## Setup
I use [chezmoi](https://github.com/twpayne/chezmoi) to manage varying
configs for different machines with a single branch.
## Shells & Aliases
- `dot_bashrc` and `dot_zshrc` both source
`~/aliases/.key_aliases` and share settings like `xset r
rate`, `xmodmap` tweaks, `wal` sequences,
`BASH_IT`/`oh-my-zsh` hooks, and `pywal` colors so all
interactive shells match.
- `aliases/key_aliases.tmpl`, `aliases/key_dirs.tmpl`, and
`aliases/key_files.tmpl` are the canonical
alias/directory/file lists. `~/scripts/sync-shortcuts`
consumes those to build shell-friendly alias files and
ranger mappings; editing a key file there and rerunning
that script keeps the shells/ranger in sync.
- Fish is the primary interactive shell
(`dot_config/fish/config.fish.tmpl`). It sets `spacefish`
prompt order, `PNPM`/`GraalVM`/`Java` paths,
`PASSWORD_STORE_CLIP_TIME`, `task` abbrs, and
automatically runs `~/scripts/sync-shortcuts` plus
`source`-ing every file in `dot_config/fish/functions`.
That directory contains dozens of helpers: git helpers
(`git/g*`), taskwarrior actions (`task/*.fish`), `watson`,
`timetrace`, `tmux-attach`, `pass`/`clipboard` helpers,
miniscripts for AWS/rsync, countdowns, `currency`
converters, and more.
- `dot_config/fish/completions` adds completions for `buku`,
`kogito`, `kubectl`, `minikube`, `pass`, `timetrace`, and
`watson` so these workflows stay tab-complete.
- Fish also watches for logins without a `$DISPLAY` to
auto-run `startx`, binds `GPG_TTY`, sources
`~/.cache/wal/colors.sh`, and respects host-specific
values such as `JENKINS_TOKEN` (for NZXT) or `ext_kb`.
<!--- }}} Setup -->
## Terminal & Editor Stack
- `dot_config/kitty/kitty.conf` and
`dot_config/st/config.def.h.tmpl` share `wal` colors
(`~/.cache/wal/colors-kitty.conf` / `colors-wal-st.h`) and
Nerd Font setups; kitty enables clipboard control and
opacity, st pulls fonts/opacity from the current theme.
- Terminal multiplexer: `dot_tmux.conf` rebinds prefix to
`C-Space`, enables mouse, uses a Powerline-style status
bar, and installs TPM plugins (`tmux-plugins/tpm`,
`tmux-sensible`, `vim-tmux-navigator`). Mouse/Vi copy mode
maps push selection to `xclip` via `copy-pipe-and-cancel`.
- `dot_vimrc.tmpl` is the canonical Vim/Neovim config. It
enables `autoindent`, autocommands for
markdown/Go/Jenkinsfiles, loads `vim-plug`, and wires up
plugins (`YouCompleteMe`, `UltiSnips`, `vimtex`,
`vim-fugitive`, `vim-auto-save`, `vim-instant-markdown`,
`vim-tmux-navigator`, `vim-go`, `vim-react`, `vim-latex`,
`vim-mark`, `vim-surround`, `rainbow`, `AutoPairs`,
`vim-indexed-search`, etc.). Leader mappings cover
yanking, folding, Git, formatting, NERDTree, and quick
plugin commands. `dot_config/nvim/init.vim` just sources
`~/.vimrc` plus Python host settings.
- `dot_config/mpv/mpv.conf` & `input.conf` configure
subtitles, mouse wheel volume, speed keys, seek commands,
zoom, and mark shortcuts for mpv so it works cleanly with
keyboard/VR-style controls.
## Window Manager & Display
- `dot_xinitrc.tmpl` loads `~/.Xresources`, applies
host-specific `xmodmap` (`dot_Xmodmap*`), sets `redshift`,
`xset r rate` (pumped from fish), starts
`notification-daemon`, `picom`, `imwheel`, `numlockx`, and
pains `wal -i $(scripts/shuffler ...)` backgrounds.
- `dot_Xresources.tmpl` keeps host DPI/font choices (high
DPI for `x1-carbon`, default for desktops), clickable
URLs, transparency, and `sxiv` colors; i3blocks and kitty
re-read it via `xrdb` + `wal`.
- There are multiple `dot_Xmodmap*` variants (`.`,
`-laptop`, `-laptop-old`, `-old`, `-ubuntu`, `-vm`) so
`xmodmap` can swap Caps/Esc/backspace depending on host;
`dot_xinitrc.tmpl` toggles between them via the `ext_kb`
variable and the helper
`scripts/executable_xmodmap-custom.tmpl`.
- `dot_config/i3/config.tmpl` wires up: Mod1/Mod4 split,
`kitty`/`urxvt` terminals, i3 startup apps (notification
daemon, picom, imwheel, `wal`, `xbacklight`), screenshot
bindings, workspace assignments (1/2/3 etc),
Slack/Signal/Chromium/Steam assignments, workspace
navigation, `passmenu`, `dmenu-history`, `ticker/fx`
shortcuts, `redshift` hotkeys, `wal` shuffle hotkeys,
`change-sink`, and `mod`-based layout resizing. It also
defines stacked/tabbed/floating rules, gap toggles, and
bar outputs for both main and secondary monitors. The
status command is `i3blocks -vvv -c
~/.config/i3blocks/i3blocks.conf` (primary) and
`i3blocks-secondary.conf` (secondary) with i3blocks piping
through `~/scripts/shuffler`/`pywal` colors.
- `dot_config/i3blocks/i3blocks.conf.tmpl` defines blocks
for `kraken` (ETH), Spotify controls, volume, and
conditional blocks for laptop (`battery`, `wifi`,
`backlight`), plus placeholders for
`dexscreener`/`ticker`/`memory`/`temperature`. Secondary/
display configs reuse the same script directory but focus
on `calendar`, `volume`, and additional
`temperature`/`name`/`cpu/memory` blocks. Every block
relies on scripts under `dot_config/i3blocks/scripts/`
(e.g. `executable_calendar`, `executable_volume`,
`executable_wifi`, `executable_kraken`,
`executable_dexscreener*`, `executable_spotify`,
`executable_name`, `executable_temperature`,
`executable_ticker`, etc.) which source
`~/.cache/wal/colors.sh` to stay on-theme.
- Display/notification stack also includes
`dot_config/picom/picom.conf` (shadows/fade/opacity rules)
and `dot_config/dunst/dunstrc` (compact, mouse-following
notifications, keyboard shortcuts, urgency colors) so
popups match the rest of the polished rice.
- `dot_config/neofetch/config.conf` keeps the `neofetch`
info streamlined to kernel, terminal,font, shell,
packages, WM, CPU/GPU, memory, disks, and resolution, with
ASCII color blocks and shorthanded kernel/distro strings.
## Productivity Apps & Services
- `dot_taskrc` configures `taskwarrior` (data location
`~/.task`, `taskd` server credentials, urgency
coefficients per project/tag, and default context
`sniper`). `dot_taskopenrc` tells `taskopen` to use
`nvim`, the `task` binary, and custom note / annotation
handling (`notes.regex = "Notes"`).
- `dot_qalcrc` forces `qalculate-gtk` to use decimal commas
for output. `dot_inputrc` turns readline `vi` mode on, and
`dot_imwheelrc` remaps vertical scroll for `imwheel`.
- Ranger customization lives under `dot_config/ranger/`:
`rc.conf.tmpl` tweaks view mode, preview pipeline (custom
`scope.sh`), bookmarks, colors, and dozens of keybindings
(vim-like navigation, copy/paste/paste symlink macros,
`fzf` integrations, lightning bookmarks, backgrounds via
`wal`, `dragon` drop, etc.). `ranger/commands.py` supplies
`fzf_select`, `fzf_locate`, `compress`, `extracthere`, and
other helper commands. Plugins include devicons, preview
scripts, and shared `key_mappings.conf` (referenced at the
bottom of `rc.conf`).
- Email is handled by `dot_config/neomutt/neomuttrc`
pointing at `~/mail/firemail`, calling `msmtp`, syncing
(`mbsync`), and a custom `<F5>` macro.
`dot_config/msmtp/config` defines a `firemail` account —
**replace the password with a secret manager or keep this
file private** (it currently contains a placeholder
password).
- `private_dot_calcurse/` stores Calcurse CalDAV
configs/credentials and `private_dot_gnupg/` holds GPG
configs/keys; treat those as `chezmoi` private files (they
live in `private_dot_*` in the repo and are decrypted on
each machine). Similarly, `dot_ssh/authorized_keys-all`
and `known_hosts-all` aggregate SSH entries for quick
deployment.
- `dot_config/zathura/zathurarc` forces dark mode, custom
colors, and clipboard syncing.
`dot_config/mgba/*-tmpl.ini` keeps emulator settings; run
`dot_config/mgba/update-mgba-config.fish` after editing
your local `~/.config/mgba/*.ini` so the template files
stay current.
- `dot_minikube/config/config.json` fixes the driver to
Docker (`"driver": "docker"`).
## Scripts, Packages & Assets
- The `scripts/` directory hosts dozens of `executable_*`
helpers that i3, fish, and launcher aliases depend on.
Highlights:
- `executable_sync-shortcuts` reads `aliases/key_*` and
rewrites `~/aliases/.key_aliases`,
`~/.config/fish/key_abbr.fish`, and rangers
`key_mappings.conf`, keeping shells/ranger consistent.
- Wallpaper helpers: `executable_shuffler` rolls a
directory of backgrounds, `executable_bg-chooser` picks
"bright"/"dim" sets through `dmenu`, and
`executable_dual-monitor-slideshow` uses
`feh`/ImageMagick to fill a single monitor while
temporarily disabling others.
- Audio/focus helpers: `executable_change-sink` reroutes
Pulseaudio sinks, `executable_ubuntu-start` is an
alternative startup script that replays
imwheel/picom/wal, and `executable_tex-clean` deletes
LaTeX build artefacts based on
`txt/tex-build-files.txt`.
- Productivity utilities: `executable_passmenu` wraps
`pass` with `dmenu`, `executable_dmenu-history` keeps
colorized dmenu launch history, `executable_vim-man`
pops man pages inside Neovim, `executable_currency` hits
`frankfurter.app`, `executable_glhf-metadata` queries an
NFT API, and
`executable_ticker`/`executable_dexscreener*`/`executable_kraken`
feed price data to the i3blocks bar.
- Misc scripts include `executable_backup-pc` (rsync/tar
backups using exclude lists under `txt/`),
`executable_install-arch-pkgs.sh` (installs from
`txt/pacman-pkgs/*.txt`), `executable_spotify-clean`
(VACUUM Spotify DB), and
`executable_spotify-now`/`dot_config/i3blocks/scripts/executable_spotify`
for play/pause+display via MPRIS.
- `scripts/colors/` contains playful ASCII color art used
for celebrations or just curiosity.
- `txt/` contains curated data:
- `txt/nzxt-pkgs.txt`, `txt/nzxt-aur.txt`,
`txt/nzxt-all.txt`, `txt/nzxt-new.txt`,
`txt/x1-carbon-pkgs.txt`, `txt/x1-carbon-aur.txt`,
`txt/arch-2-pkgs.txt`, `txt/arch-2-aur.txt`, and similar
lists for Ubuntu/Termux packages.
- `txt/exclude-dirs-backup*.txt` provide directory
exclusions for backups.
- `txt/tex-build-files.txt` enumerates LaTeX build
extensions for `executable_tex-clean`.
- `txt/todo.md` and `txt/terminal-art.txt` capture
personal notes.
- `txt/usbs.md` tracks mounted USBs.
## Host Overrides & Secrets
- `dot_config/chezmoi/chezmoi-template.toml.tmpl` flags
`gui`, `ext_kb`, and `linux_os` so templates can read
host-specific values (e.g., `ext_kb` decides whether
desktop laptops load `.Xmodmap` or `.Xmodmap-laptop`). Use
`chezmoi data set` (or edit
`~/.config/chezmoi/chezmoi.toml`) to change these values
per host.
- `dot_Xresources.tmpl` and `dot_Xmodmap*` swap DPI, fonts,
and key remaps depending on the machine (`x1-carbon` vs
`nzxt` vs `vm`). `i3` bindings invoke `xmodmap ~/.Xmodmap`
or the laptop variant depending on those template
variables.
- `private_dot_gnupg/` and `private_dot_calcurse/` are
`chezmoi` private directories — they contain real
keys/certs and are not committed in plaintext. Keep them
encrypted and use `chezmoi add --private` when tracking
new secrets.
- `dot_config/msmtp/config` currently stores a password. In
production, replace it with a `pass`-managed credential or
environment variable, and never push secrets to a public
repo.
- `dot_taskrc` embeds `taskd` credentials (host
`taskd.khkm.gq`), so treat `~/.taskrc` as private if you
edit it, and sync it via `chezmoi` private mode if needed.
- `dot_ssh/authorized_keys-all` and `known_hosts-all`
collect the SSH state that gets populated on every machine
you `chezmoi apply` to.
## Customization Tips
- **Adding aliases/dirs/files**: edit the `aliases/key_*`
templates, then run `~/scripts/sync-shortcuts` (or log in
through fish and let the config run it) to regenerate
shell aliases, fish abbrs, and ranger maps.
- **Changing colors/backgrounds**: the i3 config,
`dot_xinitrc`, and
`scripts/executable_bg-chooser`/`shuffler` call `wal -i`
on directories under `~/Pictures/Backgrounds`. Keep the
structure and `feh` call in
`scripts/executable_dual-monitor-slideshow` in sync when
you add new folders.
- **Updating mgba**: edit your local
`~/.config/mgba/config.ini`/`qt.ini`, then run
`dot_config/mgba/update-mgba-config.fish` to copy them
back into the repo templates before committing.
- **Updating i3blocks**: the configs reference scripts under
`dot_config/i3blocks/scripts/`. Editing or adding a script
should maintain the `command` naming convention and the
`color`/`pywal` sourcing shown in those scripts.
- **Neovim tweaks**: extend `dot_vimrc.tmpl` with new `Plug`
entries; after editing, run `nvim +PlugInstall +qall` and
keep the plugin list synchronized with `init.vim` sourcing
the same file.
- **Tmux tweaks**: change `dot_tmux.conf`, then reload
(`tmux source-file`) and reinstall packages via
`~/.tmux/plugins/tpm/bin/install_plugins` if you add TPM
plugins.
- **Taskwarrior contexts**: `dot_taskrc` defines contexts
(`sniper`, `pey`, `mny`, etc.) and urgency coefficients.
Edit them if you rename project tags, then run `task
sync`.
- **Backup scripts**: `scripts/executable_backup-pc` uses
`txt/exclude-dirs-backup*.txt`, so update those lists
whenever you add new directories to exclude from
`rsync`/`tar` backups.
- **Package installation**:
`scripts/executable_install-arch-pkgs.sh` reads
`txt/pacman-pkgs/*.txt`. Keep that tree up to date before
running the script.
Feel free to browse the scripts, `dot_config/*`, and `txt/*`
files when you need to understand how a feature works — they
are the single source of truth for this desktops
automation.

View File

@@ -33,7 +33,7 @@ whi "whereis"
# nvt "nvidia-settings --assign CurrentMetaMode='DVI-I-1: nvidia-auto-select +0+0 {ForceCompositionPipeline=On}, HDMI-0: nvidia-auto-select +3840+0 {ForceCompositionPipeline=On}'"
xra "xrandr --auto"
xrs "xrandr --auto && xrandr --output HDMI-0 --right-of DVI-I-1"
xrs "xrandr --auto && xrandr --output HDMI-0 --right-of DVI-D-0"
xrn "xrandr --output HDMI-0 --rotate normal && grep wallpaper ~/.cache/wal/colors.sh | cut -d\' -f2 | xargs wal -i > /dev/null"
xrr "xrandr --output HDMI-0 --rotate right && grep wallpaper ~/.cache/wal/colors.sh | cut -d\' -f2 | xargs wal -i > /dev/null"
@@ -134,6 +134,8 @@ ssaw "ssh -t kevin@3.147.85.36 tmux a"
# postgres ssh tunnel
sdt "ssh kevin@165.22.239.234 -L 5433:localhost:5432"
ssu "ssh -p 399 kevin@192.168.0.100"
# ]]] ssh #
wh "watch"
@@ -167,6 +169,7 @@ llb "lsd -lF --group-dirs first --size short | bat"
lld "lsd -lF --group-dirs first --size short -d */"
lls "lsd -lF --group-dirs first --size short -Sr"
llt "lsd -lF --group-dirs first --size short -tr"
llw "lsd -lF --group-dirs first --size short | wc -l"
lla "lsd -AlF --group-dirs first --size short"
{{ else }}
l "ls"
@@ -192,7 +195,7 @@ rsy "rsync --ignore-existing -Ptr"
lhd "sudo fdisk -l"
# get disc space for mounted drives
# ds "df -h | tee >(head -n 1) >(grep sd) >/dev/null"
dsp "df -h | head -n 1 && df -h | grep sd"
dsp "df -h | head -n 1 && df -h | grep nvm"
chownw "sudo chown -R kevin:wheel"
chwnm "sudo chown -R kevin:wheel /run/media/{{ .chezmoi.username }}"
# cd into backup folder and show backup sizes
@@ -207,7 +210,8 @@ uzl "unzip -l"
#s "systemctl suspend"
#s "xset dpms force off"
#s "~/linux-config/scripts/executable_dual-monitor-slideshow"
s "fdfind -t f -e jpg -e png -e jpeg -e gif -e webp . /mnt/linux-files-2/Pictures/hevin | shuf | sxiv -S 5 -s f -i &"
s "systemctl suspend"
ss "xset s off -dpms && fdfind -t f -e jpg -e png -e jpeg -e gif -e webp . /mnt/linux-files-3/slideshow | shuf | sxiv -S 5 -s f -i &"
# sl "i3lock-fancy && systemctl suspend"
# so "xset dpms force off"
xx "exit"
@@ -408,7 +412,7 @@ bh "buku -h | bat"
bi "buku --immutable 1 -zu"
bo "buku -o"
bp "buku -p"
br "buku -zd"
#br "buku -zd"
brp "buku --replace"
bs "buku --deep -n5 -s"
bsq "sqlitebrowser ~/.local/share/buku/bookmarks.db &"
@@ -536,7 +540,7 @@ wc "wc -l"
wcw "wc -w"
wch "weechat"
# wg "wego"
# wg "curl wttr.in"
wtr "curl wttr.in/Toronto"
# wg "curl -L wthr.ml"
wgm "curl -L wthr.ml/m"
wgt "curl -L wthr.ml/t"
@@ -558,6 +562,8 @@ pg "pass generate -c"
ps "pass show"
psr "pass rm"
psi "pass show info | bat"
pem "pass edit finances/metamask"
pes "pass edit finances/scotiabank"
pev "pass edit finances/visa-cash"
xc "xclip -selection clipboard"
@@ -624,7 +630,7 @@ tte "timetrace edit record latest"
# ttc "timetrace create"
ttc "timetrace create project"
ttp "timetrace create project"
ttl "timetrace list records today"
#ttl "timetrace list records today"
ttlp "timetrace list projects"
ttr "timetrace report"
tts "timetrace stop"
@@ -715,6 +721,7 @@ gds "git diff --stat"
gdsc "git diff --stat --cached -w"
gdt "git difftool -w --tool=vimdiff"
gdtc "git difftool -w --cached --tool=vimdiff"
gdx "git diff -w | xclip -selection clipboard"
gl "git log -5"
gl1 "git log --oneline"
gl1x "git log --oneline -1 | xclip -selection clipboard"
@@ -757,7 +764,7 @@ grso "git reset --soft orig/main"
grsh "git reset --hard"
grsho "git reset --hard origin/main"
grshh "git reset --hard HEAD"
grshh1 "git reset --hard HEAD~1"
grsh1 "git reset --hard HEAD~1"
# show files in git repo
# gls "git ls-tree -r HEAD --name-only"
gls "git ls-tree HEAD --name-only"
@@ -853,7 +860,7 @@ zp "chezmoi -v apply"
# spotify-lib-vis [[[ #
# start spv server outside dir
psv "source ../bin/activate.fish && python manage.py runserver"
#psv "source ../bin/activate.fish && python manage.py runserver"
# open spv db in psql
spvdb "psql -d spotifyvis -U django"
mig "python manage.py makemigrations && python manage.py migrate --run-syncdb && ssv"
@@ -937,7 +944,7 @@ rt "python ~/coding/rt-scraper/!rt-scraper.py"
# ada-mario [[[ #
mm "printf '\033c' && bear make clean move_mouse_with_head && ./move_mouse_with_head"
#mm "printf '\033c' && bear make clean move_mouse_with_head && ./move_mouse_with_head"
#med "printf '\033c' && bear make clean eye_detector && ./eye_detector"
mft "printf '\033c' && bear make clean face_detector && ./face_detector"
rft "~/coding/face-tracker/face_detector > /tmp/move_mouse_with_head.out"
@@ -1037,11 +1044,13 @@ twf "watch -n300 'twitchy-game Fortnite'"
lob "lsd -F --group-dirs first 2020*.mkv"
wob "watch -n60 'lsd -lF --group-dirs first --size short 2020*.mkv'"
fnpr "t timeline FNProgress | sed -n '2p'"
#fnpr "t timeline FNProgress | sed -n '2p'"
fnu "sxiv ~/Documents/fortnite/pics/maps/upgrade.png &"
fnl "python /mnt/linux-files-3/fortnite/show-level.py"
mip "ifuse /mnt/ipad"
umip "fusermount -u /mnt/ipad"
#umip "fusermount -u /mnt/ipad"
kip "fuser -km /mnt/ipad && fusermount -u /mnt/ipad"
fd1 "fd --changed-within 1d > cp.txt"
ofa "lsof | grep '101APPLE'"
@@ -1074,12 +1083,15 @@ xt "npm run type-check | tee logs/type-check.log"
#xsv "npx nodemon"
#xsv "nodemon --exec tsx src/server.ts"
xsv "npx nodemon --exitcrash --exec tsx src/server.ts"
cl "npx ts-node src/cli.ts list-nfts -p 5 -t 100"
#cl "npx ts-node src/cli.ts list-nfts -p 5 -t 100"
clw "watch npx ts-node src/cli.ts list-nfts -p 5 -t 100"
vp "vercel --prod"
cr "~/Applications/cursor.AppImage --no-sandbox &"
h ./start.sh
v ./start.sh voice
# ]]] work #
# red-hat [[[ #

View File

@@ -8,7 +8,7 @@ cfg ~/.config
cfgf ~/.config/fish
ch ~/Documents/chat
dc ~/Documents/chat/discord
da /mnt/ipad/DCIM/101APPLE
da /mnt/ipad/DCIM/106APPLE
dl ~/Downloads
# dw ~/dwm
D ~/Documents
@@ -23,16 +23,18 @@ lfv2 /mnt/linux-files-2/Videos
lfv2s /mnt/linux-files-2/Videos/shows
lfy /mnt/linux-files/Videos/yt
a2 /mnt/linux-files-2/arch-2/full/home/kevin
lf3 /mnt/linux-files-3
medi /media/kevin
o /
pd ~/.password-store
pfp /mnt/linux-files-2/arch-2/full/home/kevin/Pictures/profile-pics
pfpp ~/Pictures/profile-pics/profiles-by-moto
P ~/Pictures
ssu ~/Pictures/screenshots/desktop/unsorted
ssus ~/Pictures/screenshots/desktop/unsorted
std ~/st
# tm /tmp
tm ~/tmp
V ~/Videos
{{ if and (eq .chezmoi.username "root") (eq .linux_os "debian") }}
ng /etc/nginx/sites-available
@@ -78,10 +80,11 @@ b1 ~/coding/mf-site/themes/base16
ada ~/coding/ada-mario
# ft ~/coding/face-tracker
#hv ~/Documents/hevin
hv /mnt/linux-files-2/Pictures/hevin
#hv /mnt/linux-files-2/Pictures/hevin
hv ~/Pictures/hevin
hvs ~/Documents/hevin/shopping
j ~/Documents/journal
jt ~/Documents/journal/todo/24
jt ~/Documents/journal/todo/25
# lh ~/Documents/listening-history
mmd ~/coding/move-mouse-with-head
mh ~/coding/mf-site/layouts
@@ -101,7 +104,8 @@ swd ~/coding/swex
# tb ~/coding/trapbot/src/trapbot
tb ~/coding/twitter-bot
ur ~/coding/uranium-godot
# wo ~/Documents/workout-logs
wo ~/Documents/workout-logs/25/4
# gaming [[[ #
@@ -147,17 +151,19 @@ Css ~/Pictures/screenshots/mobile/codm
# fortnite [[[ #
fn ~/Documents/fortnite
#fn ~/Documents/fortnite
fnc /mnt/linux-files/Videos/yt/fortnite/clips/4
fni /mnt/ipad/DCIM/100APPLE
#fnm ~/Documents/fortnite/pics/maps
fnn ~/Documents/fortnite/notes
fnp ~/Documents/fortnite/pics
fns ~/Documents/fortnite/stats/api
fnsp ~/Documents/fortnite/stats/pics
fns ~/Videos/fortnite/stats
# fnsp ~/Documents/fortnite/stats/pics
fnv /mnt/linux-files/Videos/personal-fortnite-games/review
fnv2 /mnt/linux-files-2/Videos/ipad/fortnite/name
tcd /mnt/linux-files/Videos/yt/fortnite/clips/twitch-clip-downloader
#fn ~/Videos/fortnite
fn /mnt/linux-files-3/fortnite
tcd Videos/yt/fortnite/clips/twitch-clip-downloader
# ]]] fortnite #
@@ -169,8 +175,6 @@ twt ~/Documents/twitter
sdv ~/Documents/stardew-valley-aha
wo ~/Documents/workout-logs/7
dap /mnt/linux-files-2/Pictures/ipad
dau /mnt/linux-files-2/Videos/ipad/unsorted
@@ -182,6 +186,8 @@ sdvsvg ~/Documents/stardew-valley-sdv-saves/hevintales
snp ~/Documents/marvel-snap
snpv /mnt/linux-files-2/Videos/ipad/marvel-snap
dal /mnt/linux-files-3/ipad/106APPLE
# ]]] gaming #
# pey [[[ #
@@ -292,6 +298,12 @@ me2 ~/coding/me-sniper/backend-copy
kb ~/coding/kanban-calendar
ac ~/coding/astral-challenge-txt
rbc ~/coding/rbc-aml/src
cibc ~/school/job-hunt/interview-questions/cibc
psa ~/coding/psa-arb
hn ~/coding/hands-free-tools
# ]]] sch #
# personal [[[ #
@@ -308,5 +320,8 @@ sm /mnt/linux-files-2/Videos/sam-smith/named
wg /mnt/linux-files-2/Pictures/weed-grow-23
sdc /run/media/kevin/6339-3234
obs /mnt/linux-files-3/obs
br ~/Documents/fortnite/brainrot
# ]]] personal #

View File

@@ -46,7 +46,7 @@ hh ~/.habitctl/habits
hlg ~/coding/spotify-lib-vis/src/api/management/commands/update-history.log
id ~/Documents/journal/todo/ideas.md
ig ./.gitignore
jt ~/Documents/journal/todo/25/2.md
jt ~/Documents/journal/todo/25/8.md
k ~/linux-config/dot_config/kitty/kitty.conf
lh ~/Documents/listening-history/polarbier.csv
mc ~/coding/mf-site/assets/sass/main.scss
@@ -84,7 +84,8 @@ bn ~/Documents/discord-burners/burners.md
cmr ~/Documents/codm/discord-recruitment.md
cra ~/Documents/red-discord-bot/repos/gobcog-kevin/adventure/data/default/attribs.json
crm ~/Documents/red-discord-bot/repos/gobcog-kevin/adventure/data/default/monsters.json
fn ~/Documents/fortnite/notes/fortnite-notes.md
#fn ~/Documents/fortnite/notes/fortnite-notes.md
fn ~/Documents/fortnite/notes/vods.md
fb ~/Documents/fortnite/notes/building-drills.md
fw ~/Documents/fortnite/notes/warmup.md
fp ~/Documents/fortnite/notes/post.md
@@ -128,3 +129,6 @@ wd ~/Documents/journal/personal/weed.md
wo ~/Documents/workout-logs/7/running.md
str ~/Documents/workout-logs/stretching.md
be ~/Documents/workout-logs/25/4/back-exercises.md
ms ~/Documents/journal/personal/meds-sched.md
mg ~/Documents/journal/personal/meds-gpt.md

View File

@@ -1,9 +1,25 @@
clear Lock
! clear Lock
keycode 9 = Caps_Lock
keycode 66 = Escape
keycode 22 = BackSpace
! keycode 66 = Escape
! keycode 22 = BackSpace
pointer = 1 2 3 6 7 4 5 10 11 12 8 9
! pointer = 1 2 3 6 7 4 5 10 11 12 8 9
! side thumb button as middle click
! pointer = 1 10 3 6 7 4 5 2 11 12 8 9
! Clear the Caps Lock modifier logic first
clear Lock
! Map the physical Caps Lock key (66) to Escape
keycode 66 = Escape
! Optional: Map physical Escape (9) to Caps Lock if you really want to swap.
! If you comment out the line below, you will have two Escape keys (Safer).
! keycode 9 = Caps_Lock
! Important: If you did swap (uncommented line above), you must add the Lock modifier back
! add Lock = Caps_Lock
! Keep your mouse settings
pointer = 1 2 3 6 7 4 5 10 11 12 8 9

View File

@@ -0,0 +1,39 @@
[
// Map the physical 'CapsLock' key to act as the 'Escape' key
{
"key": "capslock",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "\u001b" // ASCII code for Escape
},
// Optional: you can restrict this to the terminal or use no 'when' condition
// "when": "terminalFocus"
},
{
"key": "capslock",
"command": "workbench.action.closeMessages",
"when": "notificationVisible"
},
{
"key": "capslock",
"command": "closeCommandCenter",
"when": "commandCenterVisible"
},
// The most important one: to exit common modes/menus/widgets
{
"key": "capslock",
"command": "workbench.action.closeAllGroups",
"when": "editorFocus"
},
{
"key": "capslock",
"command": "workbench.action.closeActiveEditor",
"when": "editorFocus"
},
{
"key": "capslock",
"command": "workbench.action.closePanel",
"when": "panelFocus"
}
// ... you may need to map it to several common "escape" actions
]

View File

@@ -0,0 +1,97 @@
{
// --- General Editor Settings ---
"keyboard.dispatch": "keyCode",
"editor.fontFamily": "'Hack', 'Droid Sans Mono', monospace",
"editor.lineNumbers": "relative",
"editor.tabSize": 4,
"editor.insertSpaces": true,
"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 60,
"editor.cursorSurroundingLines": 5,
"editor.mouseWheelZoom": true,
"files.insertFinalNewline": false,
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
// --- Terminal ---
"terminal.integrated.fontFamily": "'Hack', monospace",
// --- Theme & Colors (Universal Red Mode) ---
// This forces the red theme on top of ANY dark theme you select
"workbench.colorTheme": "Bearded Theme Monokai Black",
"workbench.colorCustomizations": {
// Global Red Overrides
"activityBar.background": "#1f2428",
"activityBar.activeBorder": "#f85149",
"activityBar.foreground": "#f85149",
"activityBar.inactiveForeground": "#6e7681",
"statusBar.background": "#da3633",
"statusBar.foreground": "#ffffff",
"titleBar.activeBackground": "#1f2428",
"tab.activeBorderTop": "#f85149",
"list.activeSelectionForeground": "#f85149",
"textLink.foreground": "#f85149",
"progressBar.background": "#f85149"
},
// --- Vim Settings ---
"vim.leader": " ",
"vim.useSystemClipboard": true,
"vim.hlsearch": true,
"vim.smartcase": true,
"vim.timeout": 350,
"vim.undofile": true,
"vim.handleKeys": {
"<C-a>": false,
"<C-f>": false,
"<C-p>": false
},
// --- Key Bindings ---
"vim.insertModeKeyBindings": [
{
"before": ["<Esc>"],
"after": ["<Esc>"],
"commands": ["workbench.action.files.save"]
}
],
"vim.insertModeKeyBindingsNonRecursive": [
{
"before": ["<Esc>"],
"after": ["<Esc>"],
"commands": ["workbench.action.files.save"]
}
],
"vim.normalModeKeyBindingsNonRecursive": [
{ "before": ["Y"], "after": ["y", "$"], "silent": true },
{ "before": ["Q"], "after": ["@", "@"], "silent": true },
{ "before": [","], "after": ["z", "a"], "silent": true },
{ "before": ["'"], "after": ["`"], "silent": true },
{ "before": ["<leader>", "d"], "after": ["d", "$"] },
{ "before": ["<leader>", "d", "l"], "after": ["0", "d", "$"] },
{ "before": ["<leader>", "k"], "after": ["<C-o>"] },
{ "before": ["<leader>", "j"], "after": ["<C-i>"] },
{ "before": ["<leader>", "s", "p"], "commands": [":split"] },
{ "before": ["<leader>", "v", "s"], "commands": [":vsplit"] },
{ "before": ["<leader>", "v", "v"], "commands": ["workbench.action.openSettingsJson"] },
{ "before": ["<leader>", "y", "o"], "commands": ["workbench.action.toggleZenMode"] }
],
// --- Language Specific Settings ---
"[css]": { "editor.tabSize": 2 },
"[scss]": { "editor.tabSize": 2 },
"[html]": { "editor.tabSize": 2 },
"[javascript]": { "editor.tabSize": 2 },
"[javascriptreact]": { "editor.tabSize": 2 },
"[json]": { "editor.tabSize": 2 },
"[typescript]": { "editor.tabSize": 2 },
"[typescriptreact]": { "editor.tabSize": 2 },
"[yaml]": { "editor.tabSize": 2 },
"[go]": { "editor.insertSpaces": false, "editor.tabSize": 4 },
"[markdown]": { "editor.wordWrap": "wordWrapColumn", "editor.wordWrapColumn": 55 },
"[groovy]": { "editor.wordWrap": "off" },
"[jenkinsfile]": { "editor.wordWrap": "off" }
}

View File

@@ -0,0 +1,39 @@
[
// Map the physical 'CapsLock' key to act as the 'Escape' key
{
"key": "capslock",
"command": "workbench.action.terminal.sendSequence",
"args": {
"text": "\u001b" // ASCII code for Escape
},
// Optional: you can restrict this to the terminal or use no 'when' condition
// "when": "terminalFocus"
},
{
"key": "capslock",
"command": "workbench.action.closeMessages",
"when": "notificationVisible"
},
{
"key": "capslock",
"command": "closeCommandCenter",
"when": "commandCenterVisible"
},
// The most important one: to exit common modes/menus/widgets
{
"key": "capslock",
"command": "workbench.action.closeAllGroups",
"when": "editorFocus"
},
{
"key": "capslock",
"command": "workbench.action.closeActiveEditor",
"when": "editorFocus"
},
{
"key": "capslock",
"command": "workbench.action.closePanel",
"when": "panelFocus"
}
// ... you may need to map it to several common "escape" actions
]

View File

@@ -0,0 +1,232 @@
// Cursor model tiers I like:
// - Low: gpt-5.1-codex-mini-low
// - High: gpt-5.1-codex-mini-high
{
"keyboard.dispatch": "keyCode",
"editor.fontFamily": "'Hack', 'Droid Sans Mono', monospace",
"editor.lineNumbers": "relative",
"editor.tabSize": 4,
"editor.insertSpaces": true,
"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 60,
"editor.cursorSurroundingLines": 5,
"editor.mouseWheelZoom": true,
"files.insertFinalNewline": false,
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
"terminal.integrated.fontFamily": "'Hack', monospace",
"workbench.colorTheme": "Bearded Theme Monokai Black",
"workbench.colorCustomizations": {
"activityBar.background": "#1f2428",
"activityBar.activeBorder": "#f85149",
"activityBar.foreground": "#f85149",
"activityBar.inactiveForeground": "#6e7681",
"statusBar.background": "#da3633",
"statusBar.foreground": "#ffffff",
"titleBar.activeBackground": "#1f2428",
"tab.activeBorderTop": "#f85149",
"list.activeSelectionForeground": "#f85149",
"textLink.foreground": "#f85149",
"progressBar.background": "#f85149"
},
"vim.leader": " ",
"vim.useSystemClipboard": true,
"vim.hlsearch": true,
"vim.smartcase": true,
"vim.timeout": 350,
"vim.undofile": true,
"vim.handleKeys": {
"<C-a>": false,
"<C-f>": false,
"<C-p>": false
},
"vim.insertModeKeyBindings": [
{
"before": [
"<Esc>"
],
"after": [
"<Esc>"
],
"commands": [
"workbench.action.files.save"
]
}
],
"vim.insertModeKeyBindingsNonRecursive": [
{
"before": [
"<Esc>"
],
"after": [
"<Esc>"
],
"commands": [
"workbench.action.files.save"
]
}
],
"vim.normalModeKeyBindingsNonRecursive": [
{
"before": [
"Y"
],
"after": [
"y",
"$"
],
"silent": true
},
{
"before": [
"Q"
],
"after": [
"@",
"@"
],
"silent": true
},
{
"before": [
","
],
"after": [
"z",
"a"
],
"silent": true
},
{
"before": [
"'"
],
"after": [
"`"
],
"silent": true
},
{
"before": [
"<leader>",
"d"
],
"after": [
"d",
"$"
]
},
{
"before": [
"<leader>",
"d",
"l"
],
"after": [
"0",
"d",
"$"
]
},
{
"before": [
"<leader>",
"k"
],
"after": [
"<C-o>"
]
},
{
"before": [
"<leader>",
"j"
],
"after": [
"<C-i>"
]
},
{
"before": [
"<leader>",
"s",
"p"
],
"commands": [
":split"
]
},
{
"before": [
"<leader>",
"v",
"s"
],
"commands": [
":vsplit"
]
},
{
"before": [
"<leader>",
"v",
"v"
],
"commands": [
"workbench.action.openSettingsJson"
]
},
{
"before": [
"<leader>",
"y",
"o"
],
"commands": [
"workbench.action.toggleZenMode"
]
}
],
"[css]": {
"editor.tabSize": 2
},
"[scss]": {
"editor.tabSize": 2
},
"[html]": {
"editor.tabSize": 2
},
"[javascript]": {
"editor.tabSize": 2
},
"[javascriptreact]": {
"editor.tabSize": 2
},
"[json]": {
"editor.tabSize": 2
},
"[typescript]": {
"editor.tabSize": 2
},
"[typescriptreact]": {
"editor.tabSize": 2
},
"[yaml]": {
"editor.tabSize": 2
},
"[go]": {
"editor.insertSpaces": false,
"editor.tabSize": 4
},
"[markdown]": {
"editor.wordWrap": "wordWrapColumn",
"editor.wordWrapColumn": 55
},
"[groovy]": {
"editor.wordWrap": "off"
},
"[jenkinsfile]": {
"editor.wordWrap": "off"
}
}

View File

@@ -71,7 +71,7 @@ set -x HASTE_SERVER https://pste.gq
set -x LD_LIBRARY_PATH $LD_LIBRARY_PATH /usr/local/lib /usr/local/lib64
set -x GOPATH ~/go
# set -x PATH $GRAALVM_BIN $PATH ~/.local/bin ~/scripts ~/scripts/colors ~/go/bin ~/.minetest/minetest/bin ~/.gem/ruby/2.6.0/bin
set -x PATH $PATH ~/.local/bin ~/scripts ~/scripts/colors $GOPATH/bin ~/.minetest/minetest/bin ~/.gem/ruby/*/bin ~/.yarn/bin ~/.linuxbrew/bin ~/.fnm/current/bin ~/.nimble/bin
set -x PATH $PATH ~/.local/bin ~/scripts ~/scripts/colors $GOPATH/bin ~/.minetest/minetest/bin ~/.gem/ruby/*/bin ~/.yarn/bin ~/.linuxbrew/bin ~/.fnm/current/bin ~/.nimble/bin ~/miniconda3/bin
set -x PKG_CONFIG_PATH $PKG_CONFIG_PATH /usr/lib/pkgconfig
# Java [[[ #
@@ -124,7 +124,7 @@ set -xU BROWSER "firefox"
set -xU FZF_DEFAULT_COMMAND "find ."
set -x LAPTOP_IP "192.168.0.19"
set -x PHONE_IP "192.168.0.104"
set -x PHONE_IP "192.168.0.241"
set -x PIXEL_IP "192.168.0.18"
set -x WORK_LAPTOP_IP "kmok@192.168.0.11"
@@ -142,7 +142,7 @@ set -x FLASK_DEBUG 1
set -x FULLNODE_API_INFO wss://api.chain.love
set -x IPAD_IMG 18
set -x IPAD_IMG 55
#source /home/kevin/coding/aws.fish
@@ -150,6 +150,9 @@ set -x LIBVIRT_DEFAULT_URI qemu:///system
set --erase DB_NAME
#set -x NODE_OPTIONS '--loader ts-node/esm'
#set NODE_OPTIONS '--loader ts-node/esm'
# ]]] universal var's #
# fish-specific [[[ #
@@ -226,7 +229,7 @@ abbr bun "backup nzxt"
abbr bupp "backup-phone-pics"
#abbr ca "cad-to-us"
abbr cccs "sync-alt-cal class"
#abbr cl "clip"
abbr cl "clip"
#abbr cli "clip-ipad"
abbr cpc "copy cat"
abbr cpe "copy echo"
@@ -239,6 +242,7 @@ abbr fd1 "fd --changed-within 1d"
abbr ens "enable-site"
abbr ev "evince-silent"
abbr ff "fzf-cd"
abbr fnpr "fn-progress"
# abbr fbg "find-bg"
# abbr fr "fzf-ranger"
abbr fv "fzf-vim"
@@ -266,6 +270,7 @@ abbr lo "libreoffice-silent"
abbr ma "man-vim task"
abbr mat "math"
abbr mi "mpv-ipad"
abbr mm "mpv-ipad-mov"
abbr mn "man-vim"
abbr mdf "mkdir-cd"
abbr mps "mpv-sub"
@@ -282,6 +287,7 @@ abbr rl "readlink-cp"
abbr rds "redshift-set"
abbr rmi "rm-ipad"
abbr rsi "rsync-ipad-vid"
abbr rsm "rsync-ipad-vid-mov"
abbr scf "scp-vid fn"
abbr sma "smol-add"
abbr smd "smol-delete"
@@ -297,7 +303,10 @@ abbr tam "tmux-attach misc"
abbr tan "tmux-attach nft"
abbr tan2 "tmux-attach nft-2"
abbr tao "tmux-attach obs"
abbr ttl "timetrace-list"
abbr thes "thesaurus"
abbr ubs "ubuntu-start"
abbr umip "unmount-ipad"
# abbr usc "us-to-cad"
#abbr us "us-to-cad"
abbr ut "unix-timestamp"
@@ -334,3 +343,16 @@ cat /home/kevin/.cache/wal/sequences
#ssh-add ~/.ssh/ai16z-test.pem > /dev/null
# keychain --agents ssh id_rsa
#set -Ux SSH_AUTH_SOCK (keychain --eval --agents ssh id_rsa | grep setenv | sed -E 's/setenv (\S+) (\S+);/\2/')
# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
#if test -f /home/kevin/miniconda3/bin/conda
#eval /home/kevin/miniconda3/bin/conda "shell.fish" "hook" $argv | source
#else
#if test -f "/home/kevin/miniconda3/etc/fish/conf.d/conda.fish"
#. "/home/kevin/miniconda3/etc/fish/conf.d/conda.fish"
#else
#set -x PATH "/home/kevin/miniconda3/bin" $PATH
#end
#end
# <<< conda initialize <<<

View File

@@ -0,0 +1,3 @@
function conda_activate
source ~/miniconda3/bin/activate $argv
end

View File

@@ -0,0 +1,39 @@
function fn-progress
# --- Season Dates (Fortnite Chapter 7 Season 1) ---
set SEASON_START "2025-11-29 00:00:00"
set SEASON_END "2026-03-04 00:00:00"
# --- Calculate Unix Timestamps ---
set START_SECONDS (date -d "$SEASON_START" +%s)
set END_SECONDS (date -d "$SEASON_END" +%s)
set CURRENT_SECONDS (date +%s)
set CURRENT_DATE_TIME (date)
# --- Check if the season is over or hasn't started ---
if test "$CURRENT_SECONDS" -lt "$START_SECONDS"
echo "🎯 Fortnite C7S1 hasn't started yet! (Starts on $SEASON_START)"
return
end
if test "$CURRENT_SECONDS" -ge "$END_SECONDS"
echo "🎉 Fortnite C7S1 has ended! (Ended on $SEASON_END)"
return
end
# --- Calculate Progress ---
set TOTAL_DURATION (math "$END_SECONDS - $START_SECONDS")
set TIME_PASSED (math "$CURRENT_SECONDS - $START_SECONDS")
# --- Calculate the ceiling percentage (The Critical Change) ---
# Setting scale=0 forces bc to output only the integer part (truncation),
# and adding 0.9999 before truncation implements the ceiling logic.
set PROGRESS_PERCENT (echo "scale=0; (($TIME_PASSED * 100) / $TOTAL_DURATION) + 0.9999" | bc)
# --- Output Result ---
echo "📅 Current Date/Time: $CURRENT_DATE_TIME"
echo "🚀 Season Start: $SEASON_START"
echo "🛑 Season End: $SEASON_END"
echo "---"
echo "✅ Fortnite C7S1 is **$PROGRESS_PERCENT%** complete!"
echo "---"
end

View File

@@ -0,0 +1,3 @@
function mpv-ipad-mov
mpv IMG_$IPAD_IMG$argv[1].MOV
end

View File

@@ -0,0 +1,3 @@
function rsync-ipad-vid-mov
rsync --ignore-existing -Ptr IMG_$IPAD_IMG$argv[1].MOV ~/Videos/fortnite/
end

View File

@@ -1,3 +1,5 @@
function rsync-ipad-vid
rsync --ignore-existing -Ptr IMG_$IPAD_IMG$argv[1].MP4 /mnt/linux-files-2/Videos/ipad/fortnite/name
#rsync --ignore-existing -Ptr IMG_$IPAD_IMG$argv[1].MP4 /mnt/linux-files-2/Videos/ipad/fortnite/name
rsync --ignore-existing -Ptr IMG_$IPAD_IMG$argv[1].MP4 /mnt/linux-files-3/fortnite
#rsync --ignore-existing -Ptr IMG_$IPAD_IMG$argv[1].MP4 ~/Videos/fortnite/
end

View File

@@ -0,0 +1,4 @@
function unmount-ipad
fuser -km /mnt/ipad
fusermount -u /mnt/ipad
end

View File

@@ -0,0 +1,12 @@
📅 Current Date/Time: Sat Dec 6 12:55:57 EST 2025
🚀 Season Start: 2025-11-29 00:00:00
🛑 Season End: 2026-03-04 00:00:00
---
✅ Fortnite C7S1 is **7.93%** complete!
---
]4;0;#0B0E12\]4;1;#671D22\]4;2;#722327\]4;3;#19453B\]4;4;#1B594F\]4;5;#51554A\]4;6;#99322C\]4;7;#82bcb1\]4;8;#5b837b\]4;9;#671D22\]4;10;#722327\]4;11;#19453B\]4;12;#1B594F\]4;13;#51554A\]4;14;#99322C\]4;15;#82bcb1\]10;#82bcb1\]11;#0B0E12\]12;#82bcb1\]13;#82bcb1\]17;#82bcb1\]19;#0B0E12\]4;232;#0B0E12\]4;256;#82bcb1\]708;#0B0E12\📅 Current Date/Time: Sat Dec 6 12:55:57 EST 2025
🚀 Season Start: 2025-11-29 00:00:00
🛑 Season End: 2026-03-04 00:00:00
---
✅ Fortnite C7S1 is **7.93%** complete!
---

View File

@@ -0,0 +1,5 @@
function timetrace-list
timetrace list records today | head -n 6
timetrace list records today | awk 'NR>6 && /^\+/{exit} NR>6' | sort -t '|' -k3,3
timetrace list records today | tail -n 3
end

View File

@@ -1,6 +1,7 @@
# startup [[[ #
set $term kitty
#set $term gnome-terminal
# set $term st
# set $term_alt urxvt
{{ if eq .chezmoi.hostname "x1-carbon" }}
@@ -21,6 +22,8 @@ exec wal -i $(/home/kevin/scripts/shuffler "$HOME/Pictures/Backgrounds/dim/editi
# exec --no-startup-id i3-msg 'workspace $ws1; exec $term'
# exec --no-startup-id i3-msg 'workspace $ws2; exec $term -e fish -c "tmux-attach fortnite"'
exec --no-startup-id i3-msg 'workspace $ws3; exec $browser'
exec --no-startup-id i3-msg 'workspace $ws6; exec vesktop'
exec --no-startup-id i3-msg 'workspace $ws6; exec signal-desktop'
# exec --no-startup-id i3-msg 'workspace $ws5; exec $term -e twitchy'
# exec --no-startup-id i3-msg 'workspace $ws5; exec firefox -P nft'
#exec --no-startup-id i3-msg workspace $ws6; exec discord
@@ -39,6 +42,8 @@ set $browser "google-chrome"
# set $browser "chromium"
set $browser_secondary "firefox"
set $scripts_path "/home/kevin/scripts"
# Path to the hands-free voice tooling repo (contains voice.sh).
set $hands_free_tools "$HOME/coding/hands-free-tools"
set $sch_dir "$HOME/Documents/School"
# app shortcuts [[[ #
@@ -116,6 +121,7 @@ set $scripts_path "/home/kevin/scripts"
bindsym Mod4+x exec notify-send "xmodmap" "$(~/scripts/xmodmap-custom)"
# bindsym Mod4+e exec notify-send "HPS Word Count" "$(pdftotext /home/kevin/school/latex-notes/hps/essay.pdf - | wc -w)"
#bindsym Print --release exec "scrot -s $screenshot_folder/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
#bindsym Print --release exec --no-startup-id scrot -s "/home/kevin/Pictures/screenshots/desktop/unsorted/screenshot-$(date +%F_%T).png" -e 'xclip -selection c -t image/png < $f'
bindsym Print --release exec "maim -su | tee ~/Pictures/screenshots/desktop/unsorted/screenshot-$(date +%F_%T).png | xclip -selection clipboard -t image/png"
bindsym Control+Print --release exec "scrot -u ~/Pictures/screenshots/desktop/unsorted/screenshot-$(date +%F_%T).png -e 'xclip -selection c -t image/png < $f'"
{{ else }}
@@ -337,7 +343,7 @@ set $secondary "DVI-I-1"
set $main "HDMI-0"
{{ end }}
set $secondary "DVI-I-1"
set $secondary "DVI-D-0"
set $main "HDMI-0"
# workspace $ws1 output $main
@@ -359,8 +365,8 @@ bindsym $mod+Shift+F2 workspace $ws2; exec $term -e mosh kmok@$work_laptop_ip --
# ws3 [[[ #
set $ws3 "3  "
# set $ws3 "3 "
#set $ws3 "3  "
set $ws3 "3 "
# workspace $ws3 output $main
# bindsym $mod+F3 workspace $ws3; exec $browser
# bindsym $mod+F3 exec $browser; move container to workspace $ws3; workspace $ws3
@@ -425,7 +431,7 @@ for_window [class="ada-mario"] move absolute position 640 0
set $ws6 "6  "
workspace $ws6 output $secondary
assign [class="Slack"] $ws6
bindsym Mod4+d workspace $ws6; exec discord
bindsym Mod4+d workspace $ws6; exec vesktop
bindsym Mod4+$mod+d workspace $ws6; exec element-desktop
bindsym Mod4+i workspace $ws6; exec signal-desktop
# bindsym Mod4+d workspace $ws6; exec firefox -new-window https://riot.im/app
@@ -482,7 +488,7 @@ workspace $ws11 output $secondary
bindsym $mod+F11 workspace $ws11; exec $term -e btop
# bindsym Mod4+$mod+F11 workspace $ws11; exec $term -e fish -c 'tmux-attach backup'
bindsym Control+Shift+F11 workspace $ws11; exec $term -e fish -c 'tmux-attach backup'
bindsym Mod4+t workspace $ws11; exec nordvpn connect && transmission-gtk
#bindsym Mod4+t workspace $ws11; exec nordvpn connect && transmission-gtk
# bindsym $mod+F11 workspace $ws11; exec $term -e gotop -m
# bindsym Mod4+a workspace $ws11; exec antimicro
@@ -589,7 +595,9 @@ bar {
font pango:$sb_font 17
{{ else }}
# font pango:$sb_font 17
font pango:$sb_font 16
#font pango:$sb_font 16:pixelsize=5
#font pango:$sb_font 16
font pango:$sb_font 30
{{ end }}
colors {
# 0 (transparent) -> 255 (opaque) in hex
@@ -621,8 +629,8 @@ bar {
font pango:$sb_font 18
{{ else }}
# font pango:$sb_font 21
#font pango:$sb_font 20
font pango:$sb_font 18
font pango:$sb_font 30
#font pango:$sb_font 18
{{ end }}
# output $main
i3bar_command i3bar -t
@@ -679,6 +687,17 @@ bindsym XF86AudioNext exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer
# ]]] fn key #
# voice dictation [[[ #
# One-tap toggle for voice dictation using Scroll Lock.
bindsym Scroll_Lock exec "$hands_free_tools/voice.sh toggle"
# (Optional panic kill, only if you still want it)
# bindsym Control+Scroll_Lock exec "$hands_free_tools/voice.sh quit"
# (Optional Vim-safe stop, only if stop-vim exists and you actually use it)
# bindsym $mod+Shift+v exec "$hands_free_tools/voice.sh stop-vim"
# ]]] media keys #
# vim: fdm=marker ft=i3.go-template

View File

@@ -35,8 +35,9 @@ markup=pango
[time]
label=
# command=date '+%H:%M.%a-%m-%d'
command=date '+%H:%M.%a-%m-%d'
interval=30
interval=1
color=#acc0cd
[spotify]

View File

@@ -19,34 +19,34 @@ color=#cbe4ff
# sys.monitoring [[[ #
[temperature]
label=
interval=5
#[temperature]
#label=
#interval=5
[cpu_usage]
label=
interval=5
#[cpu_usage]
#label=
#interval=5
[memory]
label=
# color=#3da061
interval=2
#[memory]
#label=
## color=#3da061
#interval=2
# ]]] sys.monitoring #
# volume/spotify [[[ #
[spotify]
#command=python ~/linux-config/configs/i3blocks-scripts/spotify.py
command=/home/kevin/.config/i3blocks/scripts/spotify
# label=
label=
# # label=🎧
# # green
# # color=#198c19
# # aqua
# # color=#2d7272
interval=5
#[spotify]
##command=python ~/linux-config/configs/i3blocks-scripts/spotify.py
#command=/home/kevin/.config/i3blocks/scripts/spotify
## label=
#label=
## # label=🎧
## # green
## # color=#198c19
## # aqua
## # color=#2d7272
#interval=5
# [spotify]
# label=
@@ -64,8 +64,8 @@ interval=60
# time [[[ #
[calendar]
interval=30
label=
interval=1
#label=
# DATEFMT=+%H:%M.%a-%m-%d
# DATEFMT=+%H:%M
#DATEFMT=+%H:%M

View File

@@ -30,24 +30,19 @@ color=#cbe4ff
# TICKER=ARBUSD
# interval=30
# [ticker]
# label=ETH
# TICKER=ETH-USD
# interval=30
#[dexscreener]
#label=HERO
##CHAIN=solana
##PAIR=B4Vwozy1FGtp8SELXSXydWSzavPUGnJ77DURV2k4MhUV
#command=/home/kevin/.config/i3blocks/scripts/dexscreener abstract 0x3771b51b5a705338fa19702f249afcaa94b0cd8c
#interval=5
[dexscreener]
label=HERO
#CHAIN=solana
#PAIR=B4Vwozy1FGtp8SELXSXydWSzavPUGnJ77DURV2k4MhUV
command=/home/kevin/.config/i3blocks/scripts/dexscreener abstract 0x3771b51b5a705338fa19702f249afcaa94b0cd8c
interval=5
[kraken]
label=BTC
#TICKER=BTCUSDC
#[kraken]
#label=BTC
##TICKER=BTCUSDC
##command=/home/kevin/.config/i3blocks/scripts/kraken BTCUSDC
#command=/home/kevin/.config/i3blocks/scripts/kraken BTCUSDC
command=/home/kevin/.config/i3blocks/scripts/kraken BTCUSDC
interval=30
#interval=30
[kraken]
label=ETH
@@ -55,28 +50,28 @@ label=ETH
command=/home/kevin/.config/i3blocks/scripts/kraken ETHUSDC
interval=30
# [ticker]
# label=btc
# ticker=btc-usd
# interval=30
## [ticker]
## label=btc
## ticker=btc-usd
## interval=30
[kraken]
label=SOL
#TICKER=SOLUSD
command=/home/kevin/.config/i3blocks/scripts/kraken SOLUSD
interval=30
#[kraken]
#label=SOL
##TICKER=SOLUSD
#command=/home/kevin/.config/i3blocks/scripts/kraken SOLUSD
#interval=30
# [kraken]
# label=SEI
# TICKER=SEIUSD
# interval=30
[dexscreener]
label=PIXL
#CHAIN=ethereum
#PAIR=0x31c0ba10e4e12be6cdceb612e5e829d977532bfc
command=/home/kevin/.config/i3blocks/scripts/dexscreener ethereum 0x31c0ba10e4e12be6cdceb612e5e829d977532bfc
interval=30
#[dexscreener]
#label=PIXL
##CHAIN=ethereum
##PAIR=0x31c0ba10e4e12be6cdceb612e5e829d977532bfc
#command=/home/kevin/.config/i3blocks/scripts/dexscreener ethereum 0x31c0ba10e4e12be6cdceb612e5e829d977532bfc
#interval=30
#[dexscreener]
#label=PENGU
@@ -177,8 +172,8 @@ interval=5
# time [[[ #
[calendar]
interval=5
label=
interval=1
#label=
# DATEFMT=+%H:%M
# DATEFMT=+%H:%M.%a-%m-%d
# SHORTFMT=+%H:%M:%S

View File

@@ -3,8 +3,10 @@
WIDTH=${WIDTH:-200}
HEIGHT=${HEIGHT:-200}
#DATEFMT=${DATEFMT:-"+%a %d.%m.%Y %H:%M:%S"}
DATEFMT=${DATEFMT:-"+ %a %-m/%d %H:%M"}
SHORTFMT=${SHORTFMT:-"+%H:%M:%S"}
#DATEFMT=${DATEFMT:-"+ %a %-m/%d %H:%M"}
#SHORTFMT=${SHORTFMT:-"+%H:%M:%S"}
DATEFMT=${DATEFMT:-"+%H:%M"}
SHORTFMT=${SHORTFMT:-"+%H:%M"}
OPTIND=1
while getopts ":f:W:H:" opt; do

View File

@@ -0,0 +1,4 @@
#!/bin/bash
. "/home/kevin/.cache/wal/colors.sh"
printf "Kevin\n\n%s\n" "$color7"

View File

@@ -1,6 +1,22 @@
#!/bin/bash
. "/home/kevin/.cache/wal/colors.sh"
printf "$(date '+%H:%M.%a-%m-%d')\n\n%s\n" "$color7"
#. "/home/kevin/.cache/wal/colors.sh"
#printf "$(date '+%H:%M.%a-%m-%d')\n\n%s\n" "$color7"
# echo "<span foreground=\"%s\">$(date '+%H:%M.%a-%m-%d')%s</span>" "$color2"
# printf "%s" "$color2"
# Load colors from pywal cache
. "/home/kevin/.cache/wal/colors.sh"
# Define the date format matching the output in your screenshot (e.g., Sat 12/06 12:46)
#DATE_FORMAT='+%a %m/%d %H:%M'
DATE_FORMAT='%H:%M'
# Use Pango markup to wrap the entire string, applying the color,
# and explicitly defining the icon () and the date output.
# The icon is U+F017.
printf "<span foreground=\"%s\"> %s</span>\n" "$color7" "$(date "$DATE_FORMAT")"
# The next two lines are optional for i3blocks but usually required for color output:
printf "\n" # Short text (optional)
printf "%s\n" "$color7" # Color (optional, but good practice)

View File

@@ -18,3 +18,12 @@ font_size 12
map ctrl+alt+up change_font_size all +1.0
map ctrl+alt+down change_font_size all -1.0
font_family Hack Nerd Font Mono
bold_font Hack Nerd Font Mono Bold
# Map PUA ranges to the Symbols Nerd Font (or your main Nerd Font)
# The Firefox icon (U+E2E9) is often in the Pomicons or Devicons range
symbol_map U+E000-U+EFFF Hack Nerd Font Mono
symbol_map U+F000-U+FFFF Hack Nerd Font Mono
symbol_map U+23FB-U+23FE,U+2B58,U+2EFE-U+3000 Hack Nerd Font Mono
# You can also use the symbols-only font if you have it installed:
# symbol_map U+E000-U+F8FF Symbols Nerd Font Mono

View File

@@ -19,6 +19,7 @@ image/png=sxiv.desktop
x-scheme-handler/discord-409416265891971072=discord-409416265891971072.desktop
x-scheme-handler/eclipse+command=_usr_lib_dbeaver_.desktop
video/mp4=mpv.desktop
x-scheme-handler/discord=vesktop.desktop
[Added Associations]
x-scheme-handler/http=firefox.desktop;

16
dot_config/msmtp/config Normal file
View File

@@ -0,0 +1,16 @@
defaults
logfile ~/.config/msmtp/msmtp.log
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
account firemail
host mail.cock.li
port 465
auth on
user vole@firemail.cc
password iavli3JYQT0bmuJlvL82ShQ
tls_starttls off
from vole@firemail.cc
account default : firemail

View File

@@ -0,0 +1,18 @@
set from = "vole@firemail.cc"
set realname = "Vole"
set mbox_type = Maildir
set folder = "~/mail/firemail"
set spoolfile = "+INBOX"
set record = "+Sent"
set postponed = "+Drafts"
set trash = "+Trash"
set sendmail = "/usr/bin/msmtp"
set sendmail_wait = 0
set editor = "nano"
set charset = "utf-8"
auto_view text/html
alternative_order text/plain text/html
macro index <F5> "<shell-escape>mbsync firemail<enter><enter>" "Sync mail"

View File

@@ -705,13 +705,15 @@ map v. shell $EDITOR %f
source {{ .chezmoi.homeDir }}/.config/ranger/key_mappings.conf
map dg shell dragon-drop -a -x %p
#map dg shell dragon-drop -a -x %p
map dg shell dragon -x %p
# map <C-d> shell dragon-drag-and-drop -a -x %p
# a plugin that adds file glyphs / icon support to Ranger:
# https://github.com/alexanderjeurissen/ranger_devicons
default_linemode devicons
set clipboard_program xclip
set clipboard_cmd xclip -selection clipboard
map tsx set editor nvim
set editor nvim

View File

@@ -1,7 +1,3 @@
".*"
/* None, Up, Button4, 3 */
/* None, Down, Button5, 3 */
/* None, Up, Button4, .5 */
/* None, Down, Button5, .5 */
None, Up, Button4, .01
None, Down, Button5, .01
"^.*"
None, Up, Button4, 7
None, Down, Button5, 7

View File

@@ -82,10 +82,13 @@ context.mny=project:mny
context.pey=project:pey
context.sch=project:sch
#context.sniper=project:sniper project:job
context.sniper=(project:sniper or project:job)
context.sniper=project:sniper
#context.sniper=(project:sniper or project:job)
context.linux=project:linux
#context=none
context=sniper
#context=linux
# context=home
# context=out
#context=sch

View File

@@ -18,7 +18,8 @@ xset r rate $XSET_DELAY $XSET_RATE
picom &
imwheel &
numlockx on &
start-pulseaudio-x11 &
#start-pulseaudio-x11 &
#sudo alsa force-reload
# wal -i "$(/home/kevin/scripts/shuffler \"$HOME/Pictures/Backgrounds/dim/non-editing\")" && /home/kevin/st/make-st.sh &
# wal -i $(/home/kevin/scripts/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing") &

View File

@@ -1,7 +1,8 @@
#!/bin/bash
# mount_dir="/run/media/kevin/backup-hd"
mount_dir="/mnt/linux-files-2"
#mount_dir="/mnt/linux-files-2"
mount_dir="/backup"
# Backup destination
case $1 in
nzxt )

View File

@@ -8,6 +8,11 @@ if [ "$1" = "BTCUSDC" ]; then
else
price=$(echo "$raw" | jq -r ".result.$1.b[0]")
fi
if [ "$1" = "BTCUSDC" ]; then
price=$(echo "$raw" | jq -r ".result.XBTUSDC.b[0]")
else
price=$(echo "$raw" | jq -r ".result.$1.b[0]")
fi
#if [ $(echo "$price < 1" | bc -l) -eq 1 ]; then
#printf "%0.3f\n" "$price" | cut -c 3-
#elif [ $(echo "$price < 10" | bc -l) -eq 1 ]; then

319
tree.txt Normal file
View File

@@ -0,0 +1,319 @@
.
├── aliases
│   ├── key_aliases.tmpl
│   ├── key_dirs.tmpl
│   └── key_files.tmpl
├── dot_bashrc
├── dot_config
│   ├── chezmoi
│   │   └── chezmoi-template.toml.tmpl
│   ├── Code
│   │   └── User
│   │   ├── keybindings.json
│   │   └── settings.json
│   ├── Cursor
│   │   └── User
│   │   ├── keybindings.json
│   │   └── settings.json
│   ├── dunst
│   │   └── dunstrc
│   ├── fish
│   │   ├── completions
│   │   │   ├── buku.fish
│   │   │   ├── kogito.fish
│   │   │   ├── kubectl.fish
│   │   │   ├── minikube.fish
│   │   │   ├── pass.fish
│   │   │   ├── timetrace.fish
│   │   │   └── watson.fish
│   │   ├── config.fish.tmpl
│   │   ├── functions
│   │   │   ├── 369
│   │   │   │   ├── a2
│   │   │   │   │   ├── carsim.fish
│   │   │   │   │   └── gdb-a2.fish
│   │   │   │   ├── a3
│   │   │   │   │   ├── gdb-a3-break.fish
│   │   │   │   │   └── run-a3.fish
│   │   │   │   ├── a4
│   │   │   │   │   ├── block-to-line.fish
│   │   │   │   │   ├── executable_revert-image.fish
│   │   │   │   │   ├── hex.fish
│   │   │   │   │   ├── mount-image.fish
│   │   │   │   │   └── run-a4.fish
│   │   │   │   ├── grep-c.fish
│   │   │   │   ├── grep-headers.fish
│   │   │   │   ├── rgc.fish
│   │   │   │   └── rg-headers.fish
│   │   │   ├── aws-attach-volume.fish
│   │   │   ├── backup-phone-pics.fish
│   │   │   ├── bc-qalc.fish
│   │   │   ├── benq-brightness.fish
│   │   │   ├── cad-to-us.fish
│   │   │   ├── cd.fish.tmpl
│   │   │   ├── certbot-ssl.fish
│   │   │   ├── clip.fish
│   │   │   ├── conda_activate.fish
│   │   │   ├── copy.fish
│   │   │   ├── create-fish-function.fish
│   │   │   ├── define.fish
│   │   │   ├── discord-burner.fish
│   │   │   ├── dump-rarity-check.fish
│   │   │   ├── enable-site.fish
│   │   │   ├── evince-silent.fish
│   │   │   ├── export-pkgs.fish
│   │   │   ├── find-bg.fish
│   │   │   ├── find-vim-filetype.fish
│   │   │   ├── fish_mode_prompt.fish
│   │   │   ├── fn-progress.fish
│   │   │   ├── fzf-cd.fish
│   │   │   ├── fzf-ranger.fish
│   │   │   ├── fzf-vim.fish
│   │   │   ├── gen-pass.fish
│   │   │   ├── git
│   │   │   │   ├── git-amend-push.fish
│   │   │   │   ├── git-clone-gitea.fish
│   │   │   │   ├── git-delete-branch.fish
│   │   │   │   ├── git-diff-files.fish
│   │   │   │   ├── git-mult-remotes.fish
│   │   │   │   ├── git-push-diff-name.fish
│   │   │   │   ├── git-push-initial.fish
│   │   │   │   ├── git-push-multiple.fish
│   │   │   │   ├── git-push-new-gitea.fish
│   │   │   │   ├── git-replace-origin.fish
│   │   │   │   └── git-replace-origin-gitea.fish
│   │   │   ├── git-log-short.fish
│   │   │   ├── git-submodule-branch.fish
│   │   │   ├── grep-aliases.fish
│   │   │   ├── grep-pdf-file.fish
│   │   │   ├── grep-pdf.fish
│   │   │   ├── ipad
│   │   │   │   ├── clip-ipad.fish
│   │   │   │   ├── mpv-ipad.fish
│   │   │   │   ├── mpv-ipad-mov.fish
│   │   │   │   ├── rm-ipad.fish
│   │   │   │   ├── rsync-ipad-vid.fish
│   │   │   │   ├── rsync-ipad-vid-mov.fish
│   │   │   │   └── unmount-ipad.fish
│   │   │   ├── java-compile-run.fish
│   │   │   ├── java-compile-test.fish
│   │   │   ├── libreoffice-silent.fish
│   │   │   ├── man-vim.fish
│   │   │   ├── maven-test-method.fish
│   │   │   ├── mkdir-cd.fish
│   │   │   ├── mpv-sub.fish
│   │   │   ├── mute-video.fish
│   │   │   ├── pastebin.fish
│   │   │   ├── qalc-history.fish
│   │   │   ├── qalc-update-amount.fish
│   │   │   ├── qalc-update.fish
│   │   │   ├── readlink-cp.fish
│   │   │   ├── redshift-set.fish
│   │   │   ├── refresh-config.fish
│   │   │   ├── refresh-config-task.fish
│   │   │   ├── reminder.fish
│   │   │   ├── scan-history.fish
│   │   │   ├── scp-cdf.fish
│   │   │   ├── scp-vid.fish
│   │   │   ├── server-pages.fish
│   │   │   ├── shred-rm.fish
│   │   │   ├── smol
│   │   │   │   ├── smol-add.fish
│   │   │   │   ├── smol-delete.fish
│   │   │   │   ├── smol-replace.fish
│   │   │   │   └── smol-slist.fish
│   │   │   ├── ssh-bandit.fish
│   │   │   ├── sudo.fish
│   │   │   ├── sxiv-silent.fish
│   │   │   ├── sync-alt-cal.fish
│   │   │   ├── systemctl-restart.fish
│   │   │   ├── task
│   │   │   │   ├── task-anno.fish
│   │   │   │   ├── task-context.fish
│   │   │   │   ├── task-delete.fish
│   │   │   │   ├── task-done.fish
│   │   │   │   ├── task-due.fish
│   │   │   │   ├── task-due-rm.fish
│   │   │   │   ├── task-edit.fish
│   │   │   │   ├── task-mod-pri.fish
│   │   │   │   ├── task-mod-proj.fish
│   │   │   │   ├── task-mod-tag.fish
│   │   │   │   ├── task-next.fish
│   │   │   │   ├── task-next-rm.fish
│   │   │   │   ├── task-notes.fish
│   │   │   │   ├── task-start.fish
│   │   │   │   └── task-wait.fish
│   │   │   ├── taskopen-new.fish
│   │   │   ├── test_output.txt
│   │   │   ├── thesaurus.fish
│   │   │   ├── timetrace-list.fish
│   │   │   ├── tmux-attach.fish
│   │   │   ├── unix-timestamp.fish
│   │   │   ├── unzip-rm.fish
│   │   │   ├── us-to-cad.fish
│   │   │   ├── video-to-gif.fish
│   │   │   ├── vim-snippet.fish
│   │   │   ├── vpn-red-hat.fish
│   │   │   ├── watson-add-fortnite.fish
│   │   │   ├── watson-add-game.fish
│   │   │   ├── wc-pdf.fish
│   │   │   ├── wget-all.fish
│   │   │   └── wget-name.fish
│   │   └── spotifyvis.bak\012abbr sv serve
│   ├── i3
│   │   └── config.tmpl
│   ├── i3blocks
│   │   ├── i3blocks.conf.tmpl
│   │   ├── i3blocks-display.conf
│   │   ├── i3blocks-secondary.conf.tmpl
│   │   └── scripts
│   │   ├── executable_backlight
│   │   ├── executable_battery
│   │   ├── executable_calendar
│   │   ├── executable_cpu_usage
│   │   ├── executable_dexscreener
│   │   ├── executable_dexscreener-fdv
│   │   ├── executable_dexscreener-mc
│   │   ├── executable_fn_level
│   │   ├── executable_kraken
│   │   ├── executable_load_average
│   │   ├── executable_memory
│   │   ├── executable_name
│   │   ├── executable_spotify
│   │   ├── executable_temperature
│   │   ├── executable_ticker
│   │   ├── executable_time
│   │   ├── executable_volume
│   │   └── executable_wifi
│   ├── kitty
│   │   └── kitty.conf
│   ├── mgba
│   │   ├── config-tmpl.ini
│   │   ├── qt-tmpl.ini
│   │   └── update-mgba-config.fish
│   ├── mimeapps-ffox.list
│   ├── mimeapps.list
│   ├── mpv
│   │   ├── input.conf
│   │   └── mpv.conf
│   ├── msmtp
│   │   └── config
│   ├── neofetch
│   │   └── config.conf
│   ├── neomutt
│   │   └── neomuttrc
│   ├── nvim
│   │   └── init.vim
│   ├── picom
│   │   └── picom.conf
│   ├── ranger
│   │   ├── commands.py
│   │   ├── executable_scope.sh
│   │   ├── plugins
│   │   │   ├── executable_devicons_linemode.py
│   │   │   ├── executable_devicons.py
│   │   │   └── __pycache__
│   │   │   ├── devicons.cpython-37.opt-1.pyc
│   │   │   ├── devicons_linemode.cpython-37.opt-1.pyc
│   │   │   └── __init__.cpython-37.opt-1.pyc
│   │   ├── rc.conf.tmpl
│   │   └── rifle.conf
│   ├── st
│   │   └── config.def.h.tmpl
│   └── zathura
│   └── zathurarc
├── dot_gdbinit
├── dot_gitconfig.tmpl
├── dot_imwheelrc
├── dot_inputrc
├── dot_minikube
│   └── config
│   └── config.json
├── dot_qalcrc
├── dot_ssh
│   ├── authorized_keys-all
│   └── known_hosts-all
├── dot_taskopenrc
├── dot_taskrc
├── dot_tmux.conf
├── dot_vimrc.tmpl
├── dot_xinitrc.tmpl
├── dot_Xmodmap
├── dot_Xmodmap-laptop
├── dot_Xmodmap-laptop-old
├── dot_Xmodmap-old
├── dot_Xmodmap-ubuntu
├── dot_Xmodmap-vm
├── dot_Xresources.tmpl
├── dot_zshrc
├── private_dot_calcurse
│   ├── caldav
│   │   └── config
│   ├── conf
│   └── keys
├── private_dot_gnupg
│   ├── gpg-agent.conf
│   ├── gpg-agent-template.conf
│   └── gpg.conf
├── README.md
├── scripts
│   ├── colors
│   │   ├── executable_arch
│   │   ├── executable_blocks
│   │   ├── executable_panes
│   │   ├── executable_rupees
│   │   ├── executable_space-invaders
│   │   └── executable_unowns
│   ├── executable_backup-pc
│   ├── executable_bg-chooser
│   ├── executable_burn-iso.sh
│   ├── executable_change-sink
│   ├── executable_currency
│   ├── executable_dexscreener
│   ├── executable_dexscreener-fdv
│   ├── executable_dexscreener-mc
│   ├── executable_dmenu-history
│   ├── executable_dmenu-twitch
│   ├── executable_dual-monitor-slideshow
│   ├── executable_glhf-metadata
│   ├── executable_install-arch-pkgs.sh
│   ├── executable_kraken
│   ├── executable_passmenu
│   ├── executable_qr-gif.sh
│   ├── executable_rick-roll
│   ├── executable_shuffler
│   ├── executable_spotify-clean
│   ├── executable_spotify-now
│   ├── executable_sync-shortcuts
│   ├── executable_tex-clean
│   ├── executable_ticker
│   ├── executable_twem
│   ├── executable_twitchy-game
│   ├── executable_ubuntu-start
│   ├── executable_vim-man
│   └── executable_xmodmap-custom.tmpl
├── tree.txt
└── txt
├── arch-2-aur.txt
├── arch-2-pkgs.txt
├── exclude-dirs-backup-full.txt
├── exclude-dirs-backup.txt.tmpl
├── gtk-themes.txt
├── nzxt-all.txt
├── nzxt-aur.txt
├── nzxt-new.txt
├── nzxt-pkgs.txt
├── terminal-art.txt
├── termux-pkgs.txt
├── tex-build-files.txt
├── todo.md
├── ubuntu
│   ├── apt-packages.txt
│   ├── npm-packages.txt
│   ├── pip-packages.txt
│   └── snap-packages.txt
├── usbs.md
├── x1-carbon-aur.txt
└── x1-carbon-pkgs.txt
46 directories, 271 files

View File

@@ -10,6 +10,7 @@
/home/kevin/Android
/home/kevin/coding/archived/opencv
/home/kevin/Downloads/build
/backup
/lost+found
/mnt
/opt
@@ -28,3 +29,4 @@
/var/lib/apt/lists
/var/lib/dpkg/info
/var/lib/snapd