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 {{{ --> # KM's Linux Desktop Config (chezmoi dotfiles)
# Kevin's Linux Setup
![desktop-screenshot](https://i.imgur.com/Fpsr8Fc.png) This is my **chezmoi-managed toolkit** for keeping a
*Screenshot from my dual-monitor setup.* 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 ## Table of Contents
are also for my Linux - [What This Repo Is](#what-this-repo-is)
[rice](https://www.reddit.com/r/unixporn/comments/3iy3wd/stupid_question_what_is_ricing/cukxwog/). - [Installation & Sync](#installation--sync)
<!--- }}} Intro --> - [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 {{{ --> ## What This Repo Is
## Main Programs - A **chezmoi repo** with `dot_*` files targeting `$HOME`
* **OS**: [Arch Linux](https://www.archlinux.org/) ([packages](txt/nzxt-pkgs.txt)) (e.g. `dot_vimrc.tmpl` &rarr; `~/.vimrc`, `dot_tmux.conf`,
``` `dot_gitconfig.tmpl`, etc.) and `dot_config/**` mirroring
> systemd-analyze `~/.config`. Every `.tmpl` file runs through `chezmoi`
Startup finished in 2.341s (kernel) + 1.085s (userspace) = 3.426s templating so `{{ .chezmoi.hostname }}` / `.linux_os` /
graphical.target reached after 1.085s in userspace `.chezmoi.username` can tailor behavior.
``` - A place for **desktop-focused tooling**: i3/i3blocks, fish
* **Terminal**: [rxvt-unicode-pixbuf](https://www.wikiwand.com/en/Rxvt) + shared aliases, kitty/ST terminals, tmux, Neovim/Vim,
* **Shell**: [Fish](https://fishshell.com/) mpv, Ranger, mpv, Zathura, dunst/picom/prefers,
* **Window Manager**: [i3-gaps](https://github.com/Airblader/i3) taskwarrior/taskopen, and shell helpers such as
* **Editor**: [Neovim](https://github.com/neovim/neovim) ([plugins](dotfiles/.vimrc#L51)) `executable_passmenu`, `dmenu-history`, `change-sink`,
* **File Manager**: [ranger](https://ranger.github.io/) `bg-chooser`, etc.
<!--- }}} Basic Info --> - 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 ## Shells & Aliases
I use [chezmoi](https://github.com/twpayne/chezmoi) to manage varying - `dot_bashrc` and `dot_zshrc` both source
configs for different machines with a single branch. `~/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}'" # 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" 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" 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" 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 # postgres ssh tunnel
sdt "ssh kevin@165.22.239.234 -L 5433:localhost:5432" sdt "ssh kevin@165.22.239.234 -L 5433:localhost:5432"
ssu "ssh -p 399 kevin@192.168.0.100"
# ]]] ssh # # ]]] ssh #
wh "watch" wh "watch"
@@ -167,6 +169,7 @@ llb "lsd -lF --group-dirs first --size short | bat"
lld "lsd -lF --group-dirs first --size short -d */" lld "lsd -lF --group-dirs first --size short -d */"
lls "lsd -lF --group-dirs first --size short -Sr" lls "lsd -lF --group-dirs first --size short -Sr"
llt "lsd -lF --group-dirs first --size short -tr" 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" lla "lsd -AlF --group-dirs first --size short"
{{ else }} {{ else }}
l "ls" l "ls"
@@ -192,7 +195,7 @@ rsy "rsync --ignore-existing -Ptr"
lhd "sudo fdisk -l" lhd "sudo fdisk -l"
# get disc space for mounted drives # get disc space for mounted drives
# ds "df -h | tee >(head -n 1) >(grep sd) >/dev/null" # 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" chownw "sudo chown -R kevin:wheel"
chwnm "sudo chown -R kevin:wheel /run/media/{{ .chezmoi.username }}" chwnm "sudo chown -R kevin:wheel /run/media/{{ .chezmoi.username }}"
# cd into backup folder and show backup sizes # cd into backup folder and show backup sizes
@@ -207,7 +210,8 @@ uzl "unzip -l"
#s "systemctl suspend" #s "systemctl suspend"
#s "xset dpms force off" #s "xset dpms force off"
#s "~/linux-config/scripts/executable_dual-monitor-slideshow" #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" # sl "i3lock-fancy && systemctl suspend"
# so "xset dpms force off" # so "xset dpms force off"
xx "exit" xx "exit"
@@ -408,7 +412,7 @@ bh "buku -h | bat"
bi "buku --immutable 1 -zu" bi "buku --immutable 1 -zu"
bo "buku -o" bo "buku -o"
bp "buku -p" bp "buku -p"
br "buku -zd" #br "buku -zd"
brp "buku --replace" brp "buku --replace"
bs "buku --deep -n5 -s" bs "buku --deep -n5 -s"
bsq "sqlitebrowser ~/.local/share/buku/bookmarks.db &" bsq "sqlitebrowser ~/.local/share/buku/bookmarks.db &"
@@ -536,7 +540,7 @@ wc "wc -l"
wcw "wc -w" wcw "wc -w"
wch "weechat" wch "weechat"
# wg "wego" # wg "wego"
# wg "curl wttr.in" wtr "curl wttr.in/Toronto"
# wg "curl -L wthr.ml" # wg "curl -L wthr.ml"
wgm "curl -L wthr.ml/m" wgm "curl -L wthr.ml/m"
wgt "curl -L wthr.ml/t" wgt "curl -L wthr.ml/t"
@@ -558,6 +562,8 @@ pg "pass generate -c"
ps "pass show" ps "pass show"
psr "pass rm" psr "pass rm"
psi "pass show info | bat" psi "pass show info | bat"
pem "pass edit finances/metamask"
pes "pass edit finances/scotiabank"
pev "pass edit finances/visa-cash" pev "pass edit finances/visa-cash"
xc "xclip -selection clipboard" xc "xclip -selection clipboard"
@@ -624,7 +630,7 @@ tte "timetrace edit record latest"
# ttc "timetrace create" # ttc "timetrace create"
ttc "timetrace create project" ttc "timetrace create project"
ttp "timetrace create project" ttp "timetrace create project"
ttl "timetrace list records today" #ttl "timetrace list records today"
ttlp "timetrace list projects" ttlp "timetrace list projects"
ttr "timetrace report" ttr "timetrace report"
tts "timetrace stop" tts "timetrace stop"
@@ -715,6 +721,7 @@ gds "git diff --stat"
gdsc "git diff --stat --cached -w" gdsc "git diff --stat --cached -w"
gdt "git difftool -w --tool=vimdiff" gdt "git difftool -w --tool=vimdiff"
gdtc "git difftool -w --cached --tool=vimdiff" gdtc "git difftool -w --cached --tool=vimdiff"
gdx "git diff -w | xclip -selection clipboard"
gl "git log -5" gl "git log -5"
gl1 "git log --oneline" gl1 "git log --oneline"
gl1x "git log --oneline -1 | xclip -selection clipboard" gl1x "git log --oneline -1 | xclip -selection clipboard"
@@ -757,7 +764,7 @@ grso "git reset --soft orig/main"
grsh "git reset --hard" grsh "git reset --hard"
grsho "git reset --hard origin/main" grsho "git reset --hard origin/main"
grshh "git reset --hard HEAD" grshh "git reset --hard HEAD"
grshh1 "git reset --hard HEAD~1" grsh1 "git reset --hard HEAD~1"
# show files in git repo # show files in git repo
# gls "git ls-tree -r HEAD --name-only" # gls "git ls-tree -r HEAD --name-only"
gls "git ls-tree HEAD --name-only" gls "git ls-tree HEAD --name-only"
@@ -853,7 +860,7 @@ zp "chezmoi -v apply"
# spotify-lib-vis [[[ # # spotify-lib-vis [[[ #
# start spv server outside dir # 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 # open spv db in psql
spvdb "psql -d spotifyvis -U django" spvdb "psql -d spotifyvis -U django"
mig "python manage.py makemigrations && python manage.py migrate --run-syncdb && ssv" 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 [[[ # # 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" #med "printf '\033c' && bear make clean eye_detector && ./eye_detector"
mft "printf '\033c' && bear make clean face_detector && ./face_detector" mft "printf '\033c' && bear make clean face_detector && ./face_detector"
rft "~/coding/face-tracker/face_detector > /tmp/move_mouse_with_head.out" 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" lob "lsd -F --group-dirs first 2020*.mkv"
wob "watch -n60 'lsd -lF --group-dirs first --size short 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 &" fnu "sxiv ~/Documents/fortnite/pics/maps/upgrade.png &"
fnl "python /mnt/linux-files-3/fortnite/show-level.py"
mip "ifuse /mnt/ipad" 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" fd1 "fd --changed-within 1d > cp.txt"
ofa "lsof | grep '101APPLE'" ofa "lsof | grep '101APPLE'"
@@ -1074,12 +1083,15 @@ xt "npm run type-check | tee logs/type-check.log"
#xsv "npx nodemon" #xsv "npx nodemon"
#xsv "nodemon --exec tsx src/server.ts" #xsv "nodemon --exec tsx src/server.ts"
xsv "npx nodemon --exitcrash --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" clw "watch npx ts-node src/cli.ts list-nfts -p 5 -t 100"
vp "vercel --prod" vp "vercel --prod"
cr "~/Applications/cursor.AppImage --no-sandbox &" cr "~/Applications/cursor.AppImage --no-sandbox &"
h ./start.sh
v ./start.sh voice
# ]]] work # # ]]] work #
# red-hat [[[ # # red-hat [[[ #

View File

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

View File

@@ -46,7 +46,7 @@ hh ~/.habitctl/habits
hlg ~/coding/spotify-lib-vis/src/api/management/commands/update-history.log hlg ~/coding/spotify-lib-vis/src/api/management/commands/update-history.log
id ~/Documents/journal/todo/ideas.md id ~/Documents/journal/todo/ideas.md
ig ./.gitignore ig ./.gitignore
jt ~/Documents/journal/todo/25/2.md jt ~/Documents/journal/todo/25/8.md
k ~/linux-config/dot_config/kitty/kitty.conf k ~/linux-config/dot_config/kitty/kitty.conf
lh ~/Documents/listening-history/polarbier.csv lh ~/Documents/listening-history/polarbier.csv
mc ~/coding/mf-site/assets/sass/main.scss mc ~/coding/mf-site/assets/sass/main.scss
@@ -84,7 +84,8 @@ bn ~/Documents/discord-burners/burners.md
cmr ~/Documents/codm/discord-recruitment.md cmr ~/Documents/codm/discord-recruitment.md
cra ~/Documents/red-discord-bot/repos/gobcog-kevin/adventure/data/default/attribs.json 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 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 fb ~/Documents/fortnite/notes/building-drills.md
fw ~/Documents/fortnite/notes/warmup.md fw ~/Documents/fortnite/notes/warmup.md
fp ~/Documents/fortnite/notes/post.md fp ~/Documents/fortnite/notes/post.md
@@ -128,3 +129,6 @@ wd ~/Documents/journal/personal/weed.md
wo ~/Documents/workout-logs/7/running.md wo ~/Documents/workout-logs/7/running.md
str ~/Documents/workout-logs/stretching.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 9 = Caps_Lock
keycode 66 = Escape ! keycode 66 = Escape
keycode 22 = BackSpace ! 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 ! side thumb button as middle click
! pointer = 1 10 3 6 7 4 5 2 11 12 8 9 ! 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 LD_LIBRARY_PATH $LD_LIBRARY_PATH /usr/local/lib /usr/local/lib64
set -x GOPATH ~/go 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 $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 set -x PKG_CONFIG_PATH $PKG_CONFIG_PATH /usr/lib/pkgconfig
# Java [[[ # # Java [[[ #
@@ -124,7 +124,7 @@ set -xU BROWSER "firefox"
set -xU FZF_DEFAULT_COMMAND "find ." set -xU FZF_DEFAULT_COMMAND "find ."
set -x LAPTOP_IP "192.168.0.19" 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 PIXEL_IP "192.168.0.18"
set -x WORK_LAPTOP_IP "kmok@192.168.0.11" 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 FULLNODE_API_INFO wss://api.chain.love
set -x IPAD_IMG 18 set -x IPAD_IMG 55
#source /home/kevin/coding/aws.fish #source /home/kevin/coding/aws.fish
@@ -150,6 +150,9 @@ set -x LIBVIRT_DEFAULT_URI qemu:///system
set --erase DB_NAME set --erase DB_NAME
#set -x NODE_OPTIONS '--loader ts-node/esm'
#set NODE_OPTIONS '--loader ts-node/esm'
# ]]] universal var's # # ]]] universal var's #
# fish-specific [[[ # # fish-specific [[[ #
@@ -226,7 +229,7 @@ abbr bun "backup nzxt"
abbr bupp "backup-phone-pics" abbr bupp "backup-phone-pics"
#abbr ca "cad-to-us" #abbr ca "cad-to-us"
abbr cccs "sync-alt-cal class" abbr cccs "sync-alt-cal class"
#abbr cl "clip" abbr cl "clip"
#abbr cli "clip-ipad" #abbr cli "clip-ipad"
abbr cpc "copy cat" abbr cpc "copy cat"
abbr cpe "copy echo" abbr cpe "copy echo"
@@ -239,6 +242,7 @@ abbr fd1 "fd --changed-within 1d"
abbr ens "enable-site" abbr ens "enable-site"
abbr ev "evince-silent" abbr ev "evince-silent"
abbr ff "fzf-cd" abbr ff "fzf-cd"
abbr fnpr "fn-progress"
# abbr fbg "find-bg" # abbr fbg "find-bg"
# abbr fr "fzf-ranger" # abbr fr "fzf-ranger"
abbr fv "fzf-vim" abbr fv "fzf-vim"
@@ -266,6 +270,7 @@ abbr lo "libreoffice-silent"
abbr ma "man-vim task" abbr ma "man-vim task"
abbr mat "math" abbr mat "math"
abbr mi "mpv-ipad" abbr mi "mpv-ipad"
abbr mm "mpv-ipad-mov"
abbr mn "man-vim" abbr mn "man-vim"
abbr mdf "mkdir-cd" abbr mdf "mkdir-cd"
abbr mps "mpv-sub" abbr mps "mpv-sub"
@@ -282,6 +287,7 @@ abbr rl "readlink-cp"
abbr rds "redshift-set" abbr rds "redshift-set"
abbr rmi "rm-ipad" abbr rmi "rm-ipad"
abbr rsi "rsync-ipad-vid" abbr rsi "rsync-ipad-vid"
abbr rsm "rsync-ipad-vid-mov"
abbr scf "scp-vid fn" abbr scf "scp-vid fn"
abbr sma "smol-add" abbr sma "smol-add"
abbr smd "smol-delete" abbr smd "smol-delete"
@@ -297,7 +303,10 @@ abbr tam "tmux-attach misc"
abbr tan "tmux-attach nft" abbr tan "tmux-attach nft"
abbr tan2 "tmux-attach nft-2" abbr tan2 "tmux-attach nft-2"
abbr tao "tmux-attach obs" abbr tao "tmux-attach obs"
abbr ttl "timetrace-list"
abbr thes "thesaurus" abbr thes "thesaurus"
abbr ubs "ubuntu-start"
abbr umip "unmount-ipad"
# abbr usc "us-to-cad" # abbr usc "us-to-cad"
#abbr us "us-to-cad" #abbr us "us-to-cad"
abbr ut "unix-timestamp" abbr ut "unix-timestamp"
@@ -334,3 +343,16 @@ cat /home/kevin/.cache/wal/sequences
#ssh-add ~/.ssh/ai16z-test.pem > /dev/null #ssh-add ~/.ssh/ai16z-test.pem > /dev/null
# keychain --agents ssh id_rsa # 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/') #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 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 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 [[[ # # startup [[[ #
set $term kitty set $term kitty
#set $term gnome-terminal
# set $term st # set $term st
# set $term_alt urxvt # set $term_alt urxvt
{{ if eq .chezmoi.hostname "x1-carbon" }} {{ 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 $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 $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 $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 $term -e twitchy'
# exec --no-startup-id i3-msg 'workspace $ws5; exec firefox -P nft' # exec --no-startup-id i3-msg 'workspace $ws5; exec firefox -P nft'
#exec --no-startup-id i3-msg workspace $ws6; exec discord #exec --no-startup-id i3-msg workspace $ws6; exec discord
@@ -39,6 +42,8 @@ set $browser "google-chrome"
# set $browser "chromium" # set $browser "chromium"
set $browser_secondary "firefox" set $browser_secondary "firefox"
set $scripts_path "/home/kevin/scripts" 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" set $sch_dir "$HOME/Documents/School"
# app shortcuts [[[ # # app shortcuts [[[ #
@@ -116,6 +121,7 @@ set $scripts_path "/home/kevin/scripts"
bindsym Mod4+x exec notify-send "xmodmap" "$(~/scripts/xmodmap-custom)" 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 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 "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 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'" 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 }} {{ else }}
@@ -337,7 +343,7 @@ set $secondary "DVI-I-1"
set $main "HDMI-0" set $main "HDMI-0"
{{ end }} {{ end }}
set $secondary "DVI-I-1" set $secondary "DVI-D-0"
set $main "HDMI-0" set $main "HDMI-0"
# workspace $ws1 output $main # workspace $ws1 output $main
@@ -359,8 +365,8 @@ bindsym $mod+Shift+F2 workspace $ws2; exec $term -e mosh kmok@$work_laptop_ip --
# ws3 [[[ # # ws3 [[[ #
set $ws3 "3  " #set $ws3 "3  "
# set $ws3 "3 " set $ws3 "3 "
# workspace $ws3 output $main # workspace $ws3 output $main
# bindsym $mod+F3 workspace $ws3; exec $browser # bindsym $mod+F3 workspace $ws3; exec $browser
# bindsym $mod+F3 exec $browser; move container to workspace $ws3; workspace $ws3 # 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  " set $ws6 "6  "
workspace $ws6 output $secondary workspace $ws6 output $secondary
assign [class="Slack"] $ws6 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+$mod+d workspace $ws6; exec element-desktop
bindsym Mod4+i workspace $ws6; exec signal-desktop bindsym Mod4+i workspace $ws6; exec signal-desktop
# bindsym Mod4+d workspace $ws6; exec firefox -new-window https://riot.im/app # 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 $mod+F11 workspace $ws11; exec $term -e btop
# bindsym Mod4+$mod+F11 workspace $ws11; exec $term -e fish -c 'tmux-attach backup' # 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 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 $mod+F11 workspace $ws11; exec $term -e gotop -m
# bindsym Mod4+a workspace $ws11; exec antimicro # bindsym Mod4+a workspace $ws11; exec antimicro
@@ -589,7 +595,9 @@ bar {
font pango:$sb_font 17 font pango:$sb_font 17
{{ else }} {{ else }}
# font pango:$sb_font 17 # 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 }} {{ end }}
colors { colors {
# 0 (transparent) -> 255 (opaque) in hex # 0 (transparent) -> 255 (opaque) in hex
@@ -621,8 +629,8 @@ bar {
font pango:$sb_font 18 font pango:$sb_font 18
{{ else }} {{ else }}
# font pango:$sb_font 21 # font pango:$sb_font 21
#font pango:$sb_font 20 font pango:$sb_font 30
font pango:$sb_font 18 #font pango:$sb_font 18
{{ end }} {{ end }}
# output $main # output $main
i3bar_command i3bar -t i3bar_command i3bar -t
@@ -679,6 +687,17 @@ bindsym XF86AudioNext exec "dbus-send --print-reply --dest=org.mpris.MediaPlayer
# ]]] fn key # # ]]] 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 # # ]]] media keys #
# vim: fdm=marker ft=i3.go-template # vim: fdm=marker ft=i3.go-template

View File

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

View File

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

View File

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

View File

@@ -3,8 +3,10 @@
WIDTH=${WIDTH:-200} WIDTH=${WIDTH:-200}
HEIGHT=${HEIGHT:-200} HEIGHT=${HEIGHT:-200}
#DATEFMT=${DATEFMT:-"+%a %d.%m.%Y %H:%M:%S"} #DATEFMT=${DATEFMT:-"+%a %d.%m.%Y %H:%M:%S"}
DATEFMT=${DATEFMT:-"+ %a %-m/%d %H:%M"} #DATEFMT=${DATEFMT:-"+ %a %-m/%d %H:%M"}
SHORTFMT=${SHORTFMT:-"+%H:%M:%S"} #SHORTFMT=${SHORTFMT:-"+%H:%M:%S"}
DATEFMT=${DATEFMT:-"+%H:%M"}
SHORTFMT=${SHORTFMT:-"+%H:%M"}
OPTIND=1 OPTIND=1
while getopts ":f:W:H:" opt; do 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 #!/bin/bash
. "/home/kevin/.cache/wal/colors.sh" #. "/home/kevin/.cache/wal/colors.sh"
printf "$(date '+%H:%M.%a-%m-%d')\n\n%s\n" "$color7" #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" # echo "<span foreground=\"%s\">$(date '+%H:%M.%a-%m-%d')%s</span>" "$color2"
# printf "%s" "$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+up change_font_size all +1.0
map ctrl+alt+down change_font_size all -1.0 map ctrl+alt+down change_font_size all -1.0
font_family Hack Nerd Font Mono 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/discord-409416265891971072=discord-409416265891971072.desktop
x-scheme-handler/eclipse+command=_usr_lib_dbeaver_.desktop x-scheme-handler/eclipse+command=_usr_lib_dbeaver_.desktop
video/mp4=mpv.desktop video/mp4=mpv.desktop
x-scheme-handler/discord=vesktop.desktop
[Added Associations] [Added Associations]
x-scheme-handler/http=firefox.desktop; 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 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 # map <C-d> shell dragon-drag-and-drop -a -x %p
# a plugin that adds file glyphs / icon support to Ranger: # a plugin that adds file glyphs / icon support to Ranger:
# https://github.com/alexanderjeurissen/ranger_devicons # https://github.com/alexanderjeurissen/ranger_devicons
default_linemode devicons default_linemode devicons
set clipboard_program xclip set clipboard_program xclip
set clipboard_cmd xclip -selection clipboard
map tsx set editor nvim map tsx set editor nvim
set editor nvim set editor nvim

View File

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

View File

@@ -82,10 +82,13 @@ context.mny=project:mny
context.pey=project:pey context.pey=project:pey
context.sch=project:sch context.sch=project:sch
#context.sniper=project:sniper project:job #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=none
context=sniper context=sniper
#context=linux
# context=home # context=home
# context=out # context=out
#context=sch #context=sch

View File

@@ -18,7 +18,8 @@ xset r rate $XSET_DELAY $XSET_RATE
picom & picom &
imwheel & imwheel &
numlockx on & 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\")" && /home/kevin/st/make-st.sh &
# wal -i $(/home/kevin/scripts/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing") & # wal -i $(/home/kevin/scripts/shuffler "$HOME/Pictures/Backgrounds/dim/non-editing") &

View File

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

View File

@@ -8,6 +8,11 @@ if [ "$1" = "BTCUSDC" ]; then
else else
price=$(echo "$raw" | jq -r ".result.$1.b[0]") price=$(echo "$raw" | jq -r ".result.$1.b[0]")
fi 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 #if [ $(echo "$price < 1" | bc -l) -eq 1 ]; then
#printf "%0.3f\n" "$price" | cut -c 3- #printf "%0.3f\n" "$price" | cut -c 3-
#elif [ $(echo "$price < 10" | bc -l) -eq 1 ]; then #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/Android
/home/kevin/coding/archived/opencv /home/kevin/coding/archived/opencv
/home/kevin/Downloads/build /home/kevin/Downloads/build
/backup
/lost+found /lost+found
/mnt /mnt
/opt /opt
@@ -28,3 +29,4 @@
/var/lib/apt/lists /var/lib/apt/lists
/var/lib/dpkg/info /var/lib/dpkg/info
/var/lib/snapd /var/lib/snapd