├── dot_xonshrc ├── dot_config ├── nushell │ ├── env.nu.tmpl │ ├── config.nu.tmpl │ └── scripts │ │ ├── pacman.nu.tmpl │ │ ├── gitAlias.nu.tmpl │ │ ├── systemctlAlias.nu.tmpl │ │ └── completions │ │ └── git-completions.nu.tmpl ├── git │ ├── attributes │ └── ignore ├── swaylock │ └── symlink_config ├── private_fish │ ├── conf.d │ │ ├── set_vars.fish │ │ ├── ext_path.fish │ │ ├── ext_rust.fish │ │ └── local_texlive.fish │ └── config.fish ├── shellrc │ ├── zsh.d │ │ ├── 98_endprof.zsh │ │ ├── symlink_05_platform.zsh.tmpl │ │ ├── 02_func_def.zsh │ │ ├── 00a_prof.zsh │ │ ├── 03_plugins.zsh │ │ ├── 05_linux.zsh.tmpl │ │ ├── 05_darwin.zsh.tmpl │ │ ├── 01_keys.zsh │ │ └── 04_sources.zsh │ ├── posix.d │ │ ├── 00_show_gre.sh │ │ ├── 01_alias_def.sh │ │ ├── 06_prog_conf.sh │ │ ├── 05_paths.sh.tmpl │ │ └── 03_exports.sh.tmpl │ └── bash.d │ │ ├── 99_activate_bin.bash │ │ └── 02_functions.bash.tmpl ├── nvim │ └── init.vim ├── asdf │ └── asdfrc ├── klfc │ ├── readme.org │ ├── is_altgr_Colevim.json │ ├── extendVIM.json │ └── colemak.json ├── chrome-flags.conf ├── chrome-beta-flags.conf ├── gdb │ └── eigen │ │ └── readme.org ├── ticktick-flags.conf ├── systemd │ └── user │ │ ├── tmux-server.service │ │ ├── gammastep.service │ │ ├── notes.org │ │ ├── kanshi.service │ │ ├── tmux-session-ms.service │ │ ├── tmux-session-subfloat.service │ │ ├── foot-ms.service │ │ ├── sway-session.target │ │ ├── foot-server.service │ │ ├── foot-subfloat.service │ │ └── swayidle.target ├── foot │ └── foot.d │ │ ├── font-intel-one-mono.ini │ │ ├── font-cascadia-code-pl.ini │ │ ├── theme-solarized-dark-normal-brights.ini │ │ ├── theme-solarized-dark-high-contrast.ini │ │ ├── theme-nord.ini │ │ ├── theme-darcula.ini │ │ ├── theme-tomorrow-night.ini │ │ ├── theme-acario-light.ini │ │ └── theme-solarized-light-high-contrast.ini ├── private_pulse │ └── default.pa ├── starship.toml ├── ripgrep │ └── dot_ripgreprc ├── pianobar │ └── encrypted_config.age ├── sway │ └── conf.d │ │ ├── scratchpads │ │ └── app_window_rules ├── gammastep │ └── config.ini ├── encrypted_isyncrc.age ├── i3rust │ ├── i3_top.toml │ └── i3_bottom.toml.tmpl ├── zathura │ ├── zathuraThemerc │ ├── zathurarc.tmpl │ └── zathuraColemak ├── private_karabiner │ └── private_assets │ │ └── private_complex_modifications │ │ └── hyper_caps.json ├── kanshi │ └── config └── atuin │ └── config.toml ├── AppData └── Roaming │ └── nushell │ ├── env.nu.tmpl │ ├── config.nu.tmpl │ └── scripts │ ├── gitAlias.nu.tmpl │ └── completions │ └── git-completions.nu.tmpl ├── colevimIS ├── pkl │ ├── pkl.exe │ ├── pkl.ini │ ├── pkl_mod-dh.ini │ └── layouts │ │ ├── colemak │ │ └── layout.ini │ │ └── colemak_mod-dh │ │ └── layout.ini ├── keylayout │ ├── executable_install-system.sh │ └── executable_install-user.sh ├── xkb │ ├── scripts │ │ ├── executable_uninstall-xcompose.sh │ │ ├── executable_install-xcompose.sh │ │ ├── executable_remove-layout-from-xml.py │ │ ├── executable_remove-models-from-xml.py │ │ ├── executable_add-models-to-xml.py │ │ ├── executable_add-layout-to-xml.py │ │ └── executable_functions.sh │ ├── executable_run-session.sh │ ├── executable_uninstall-system.sh │ └── executable_install-system.sh └── klc │ ├── colemak.klc │ └── colemak_mod-dh.klc ├── Pictures └── Walls │ ├── desktop.jpg │ └── lockscreen.png ├── private_Library └── private_Application Support │ ├── private_nushell │ ├── env.nu.tmpl │ ├── config.nu.tmpl │ └── scripts │ │ ├── gitAlias.nu.tmpl │ │ └── completions │ │ └── git-completions.nu.tmpl │ └── private_MailMate │ └── Resources │ └── KeyBindings │ └── ColemakVIM.plist ├── dot_local ├── share │ ├── private_icons │ │ └── ovito.png │ └── applications │ │ ├── journey-wayland.desktop │ │ ├── termius-wayland.desktop │ │ ├── kuro-wayland.desktop │ │ ├── pcloud-wayland.desktop │ │ ├── cryptomator-wayland.desktop │ │ ├── chromium-wayland.desktop │ │ ├── firefox-wayland.desktop │ │ ├── zulip-wayland.desktop │ │ ├── betterbird-wayland.desktop │ │ ├── enpass-wayland.desktop │ │ ├── thunderbird-wayland.desktop │ │ ├── mailspring-wayland.desktop │ │ ├── zotero-wayland.desktop │ │ ├── google-chrome-wayland.desktop │ │ ├── morgen-wayland.desktop │ │ ├── slack-wayland.desktop │ │ ├── CaliSync.desktop.tmpl │ │ ├── google-chrome-wayland-true.desktop │ │ ├── expandrive-wayland.desktop │ │ ├── vivaldi-wayland.desktop │ │ ├── obsidian-wayland.desktop │ │ ├── edge-stable-wayland.desktop │ │ ├── ovito-wayland.desktop │ │ ├── equibob-wayland.desktop │ │ ├── element-wayland.desktop │ │ ├── cozy-wayland.desktop │ │ └── wps-writer-wayland.desktop └── bin │ ├── executable_cliphist-rofi │ ├── executable_symlink_init.sh.tmpl │ ├── executable_calibre_and_sync.sh │ ├── executable_get_patched_font.sh │ ├── executable_cliphist-rofi-img │ ├── executable_init_rust.sh │ ├── executable_changeUser.sh │ └── executable_brightness_sync.sh ├── dot_R └── Makevars ├── dot_condarc ├── dot_jupyter └── jupyter_notebook_config.json ├── dot_gdbinit ├── dot_XCompose ├── dot_cargo └── config.toml ├── private_dot_gnupg └── gpg-agent.conf.tmpl ├── dot_lldbinit.tmpl ├── .chezmoiscripts ├── run_once_set_ssh_config_permissions.sh.tmpl ├── run_once_darwin_gccemacs.sh.tmpl ├── run_once_age.sh.tmpl ├── run_once_install_tpm.sh.tmpl ├── run_once_ble.sh.tmpl ├── run_once_setup_zi.sh.tmpl ├── run_once_x_bash.bash.tmpl ├── run_once_get_gre_words.sh.tmpl └── run_once_texlive.sh.tmpl ├── history.org ├── private_dot_ssh ├── encrypted_coderefinery.pub.age ├── encrypted_lumi_ed25519.pub.age ├── encrypted_orca_ed25519.pub.age ├── encrypted_hostinger.pub.age ├── encrypted_id_ed25519_amd_hlrs.pub.age ├── encrypted_ruhi_elja_ed25519.pub.age ├── encrypted_uta_compchem.pub.age ├── encrypted_id_ed25519.pub.age ├── encrypted_github_ed25519.pub.age ├── encrypted_gitlab_ed25519.pub.age ├── encrypted_hostinger_alpine.pub.age ├── encrypted_ruhiGit_ed25519.pub.age ├── encrypted_id_ed25519_quansight.pub.age ├── encrypted_private_environment-rgx1gen11.age ├── encrypted_private_environment-archiso.age ├── encrypted_private_environment-x86_64-conda-linux-gnu.age ├── encrypted_remarkable.pub.age ├── encrypted_private_coderefinery.age ├── encrypted_private_lumi_ed25519.age ├── encrypted_private_ruhi_elja_ed25519.age ├── encrypted_private_hostinger.age ├── encrypted_private_uta_compchem.age ├── encrypted_private_id_ed25519.age ├── encrypted_private_github_ed25519.age ├── encrypted_private_gitlab_ed25519.age ├── encrypted_private_ruhiGit_ed25519.age ├── encrypted_private_hostinger_alpine.age ├── encrypted_private_id_ed25519_quansight.age ├── encrypted_private_orca_ed25519.age ├── encrypted_private_id_ed25519_amd_hlrs.age ├── encrypted_private_remarkable.age ├── encrypted_cluster.pub.age ├── encrypted_ag_krafla.pub.age ├── encrypted_private_garpur.pub.age ├── encrypted_private_jotunn.pub.age ├── encrypted_private_garpur.age ├── encrypted_private_ag_krafla.age └── encrypted_private_cluster.age ├── encrypted_dot_notmuch-config.age ├── dot_shellrc.tmpl ├── dot_mail └── rg95ru.gmail │ └── encrypted_private_dot_gmailieer.json.age ├── readme.org ├── LICENSE ├── dot_bashrc.tmpl ├── .chezmoitemplates ├── dunst │ ├── tomorrow-night.conf │ └── fonts.conf └── nushell │ ├── scripts │ └── systemctlAlias.nu.tmpl │ ├── env.nu.tmpl │ └── config.nu.tmpl ├── dot_zshrc.tmpl ├── todo.org ├── .chezmoiignore ├── dot_inputrc ├── .gitignore ├── executable_dot_yabairc ├── dot_gitconfig.tmpl ├── dot_Rprofile └── dot_tmux.conf /dot_xonshrc: -------------------------------------------------------------------------------- 1 | xontrib load sh 2 | -------------------------------------------------------------------------------- /dot_config/nushell/env.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/env.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /AppData/Roaming/nushell/env.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/env.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /dot_config/nushell/config.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/config.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /AppData/Roaming/nushell/config.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/config.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /dot_config/git/attributes: -------------------------------------------------------------------------------- 1 | *.lisp diff=lisp 2 | *.el diff=lisp 3 | *.org diff=org 4 | -------------------------------------------------------------------------------- /colevimIS/pkl/pkl.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HaoZeke/Dotfiles/HEAD/colevimIS/pkl/pkl.exe -------------------------------------------------------------------------------- /dot_config/nushell/scripts/pacman.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/scripts/pacman.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /dot_config/nushell/scripts/gitAlias.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/scripts/gitAlias.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /AppData/Roaming/nushell/scripts/gitAlias.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/scripts/gitAlias.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /Pictures/Walls/desktop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HaoZeke/Dotfiles/HEAD/Pictures/Walls/desktop.jpg -------------------------------------------------------------------------------- /Pictures/Walls/lockscreen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HaoZeke/Dotfiles/HEAD/Pictures/Walls/lockscreen.png -------------------------------------------------------------------------------- /dot_config/nushell/scripts/systemctlAlias.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/scripts/systemctlAlias.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /dot_config/swaylock/symlink_config: -------------------------------------------------------------------------------- 1 | /home/rgoswami/Git/Github/Dotfiles/dotfiles/sway/.config/swaylock/config 2 | -------------------------------------------------------------------------------- /dot_config/private_fish/conf.d/set_vars.fish: -------------------------------------------------------------------------------- 1 | set -gx PIP_EXTRA_INDEX_URL "https://download.pytorch.org/whl/cpu" 2 | -------------------------------------------------------------------------------- /dot_config/shellrc/zsh.d/98_endprof.zsh: -------------------------------------------------------------------------------- 1 | # End Profiler 2 | if [[ "${ZSH_PROFILE}" == 1 ]]; then 3 | zprof 4 | fi 5 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/private_nushell/env.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/env.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/private_nushell/config.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/config.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /dot_config/nvim/init.vim: -------------------------------------------------------------------------------- 1 | set runtimepath^=~/.vim runtimepath+=~/.vim/after 2 | let &packpath = &runtimepath 3 | source ~/.vimrc 4 | -------------------------------------------------------------------------------- /dot_local/share/private_icons/ovito.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/HaoZeke/Dotfiles/HEAD/dot_local/share/private_icons/ovito.png -------------------------------------------------------------------------------- /dot_config/asdf/asdfrc: -------------------------------------------------------------------------------- 1 | # https://asdf-vm.com/manage/configuration.html 2 | legacy_version_file = yes 3 | always_keep_download = no 4 | -------------------------------------------------------------------------------- /dot_config/nushell/scripts/completions/git-completions.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/scripts/completions/git-completions.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/private_nushell/scripts/gitAlias.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/scripts/gitAlias.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /AppData/Roaming/nushell/scripts/completions/git-completions.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/scripts/completions/git-completions.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /dot_R/Makevars: -------------------------------------------------------------------------------- 1 | CFLAGS=-O3 -Wall -pedantic -march=native -mtune=native -pipe 2 | CXXFLAGS=-O3 -Wall -pedantic -march=native -mtune=native -pipe 3 | -------------------------------------------------------------------------------- /dot_config/klfc/readme.org: -------------------------------------------------------------------------------- 1 | * About 2 | This is meant for use with ~klfc~ as [[https://rgoswami.me/posts/remap-keys-xkb-klfc/][detailed here]]. 3 | -------------------------------------------------------------------------------- /dot_condarc: -------------------------------------------------------------------------------- 1 | channels: 2 | - conda-forge 3 | - nodefaults 4 | channel_priority: strict 5 | auto_activate_base: false 6 | envs_dirs: 7 | - ~/.micromamba/envs 8 | -------------------------------------------------------------------------------- /dot_local/bin/executable_cliphist-rofi: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [ -z "$1" ]; then 4 | cliphist list 5 | else 6 | cliphist decode <<<"$1" | wl-copy 7 | fi 8 | -------------------------------------------------------------------------------- /dot_config/shellrc/zsh.d/symlink_05_platform.zsh.tmpl: -------------------------------------------------------------------------------- 1 | {{ if ne .chezmoi.os "windows" }} 2 | {{ .chezmoi.homeDir }}/.config/shellrc/zsh.d/05_{{ .chezmoi.os }}.zsh 3 | {{ end }} 4 | -------------------------------------------------------------------------------- /dot_jupyter/jupyter_notebook_config.json: -------------------------------------------------------------------------------- 1 | { 2 | "ContentsManager": { 3 | "allow_hidden": true 4 | }, 5 | "FileContentsManager": { 6 | "allow_hidden": true 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/private_nushell/scripts/completions/git-completions.nu.tmpl: -------------------------------------------------------------------------------- 1 | {{- template "nushell/scripts/completions/git-completions.nu.tmpl" . -}} 2 | -------------------------------------------------------------------------------- /dot_config/private_fish/conf.d/ext_path.fish: -------------------------------------------------------------------------------- 1 | # Generic stuff 2 | fish_add_path /home/rgoswami/.local/bin/ 3 | if command -q pixi 4 | fish_add_path /home/rgoswami/.pixi/bin 5 | end 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/journey-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Journey Wayland 4 | Exec=env DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 journey 5 | Icon=journey 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/termius-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Termius Wayland 4 | Exec=env DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 termius 5 | Icon=termius 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/kuro-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Kuro Wayland 4 | Exec=kuro --enable-features=UseOzonePlatform --ozone-platform=wayland 5 | Icon=kuro 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/pcloud-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=PCloud Wayland 4 | Exec=env GDK_BACKEND=x11 DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 pcloud 5 | Icon=pcloud 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/cryptomator-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Cryptomator Wayland 4 | Exec=env DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 cryptomator 5 | Icon=cryptomator 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/chromium-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Chromium Wayland 4 | Exec=chromium --enable-features=UseOzonePlatform --ozone-platform=wayland 5 | Icon=chromium 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/firefox-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Firefox Wayland 4 | Exec=env DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 MOZ_ENABLE_WAYLAND=1 firefox 5 | Icon=firefox 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/zulip-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Zulip Wayland 4 | Exec=env DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 ELECTRON_OZONE_PLATFORM_HINT="auto" zulip 5 | Icon=zulip 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/betterbird-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Betterbird Wayland 4 | Exec=env DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 MOZ_ENABLE_WAYLAND=1 betterbird 5 | Icon=betterbird 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/enpass-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Enpass Wayland 4 | Exec=env QT_QPA_PLATFORM=xcb QT_SCALE_FACTOR=1.5 DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 enpass 5 | Icon=enpass 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/thunderbird-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Thunderbird Wayland 4 | Exec=env DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 MOZ_ENABLE_WAYLAND=1 thunderbird 5 | Icon=thunderbird 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/mailspring-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Mailspring Wayland 4 | Exec=env QT_QPA_PLATFORM=xcb QT_SCALE_FACTOR=1.5 DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 mailspring 5 | Icon=mailspring 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/zotero-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Zotero Wayland 4 | Exec=env DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 ELECTRON_OZONE_PLATFORM_HINT="wayland" GDK_BACKEND=wayland zotero 5 | Icon=zotero 6 | -------------------------------------------------------------------------------- /dot_config/chrome-flags.conf: -------------------------------------------------------------------------------- 1 | # Enable wayland support 2 | --enable-features=UseOzonePlatform 3 | --ozone-platform=wayland 4 | --ozone-platform-hint=auto 5 | --enable-features=WaylandWindowDecorations 6 | --disable-features=WaylandFractionalScaleV1 7 | -------------------------------------------------------------------------------- /dot_config/chrome-beta-flags.conf: -------------------------------------------------------------------------------- 1 | # Enable wayland support 2 | --enable-features=UseOzonePlatform 3 | --ozone-platform=wayland 4 | --ozone-platform-hint=auto 5 | --enable-features=WaylandWindowDecorations 6 | --disable-features=WaylandFractionalScaleV1 7 | -------------------------------------------------------------------------------- /dot_gdbinit: -------------------------------------------------------------------------------- 1 | python 2 | import sys 3 | import os 4 | # For eigen 5 | eigprint = f"{os.environ['HOME']}/.config/gdb/eigen" 6 | sys.path.insert(0, eigprint) 7 | from printers import register_eigen_printers 8 | register_eigen_printers(None) 9 | end 10 | -------------------------------------------------------------------------------- /dot_local/bin/executable_symlink_init.sh.tmpl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # TODO: Include nix in this mix 4 | $HOME/.local/bin/init_{{ .chezmoi.os }}.sh 5 | 6 | # Emacs Stuff (cross platform) 7 | # Local Variables: 8 | # mode: shell-script 9 | # End: 10 | -------------------------------------------------------------------------------- /dot_local/share/applications/google-chrome-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Google Chrome Wayland Proxy 4 | Exec=env QT_QPA_PLATFORM=xcb QT_SCALE_FACTOR=1.5 DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 google-chrome-stable 5 | Icon=google-chrome 6 | -------------------------------------------------------------------------------- /dot_XCompose: -------------------------------------------------------------------------------- 1 | # include "%L" 2 | 3 | : "α" 4 | : "β" 5 | : "γ" 6 | 7 | # Icelandic 8 | : "æ" 9 | : "ö" 10 | 11 | # Local Variables: 12 | # mode: conf 13 | # End: 14 | -------------------------------------------------------------------------------- /dot_local/share/applications/morgen-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Morgen Wayland 4 | Exec=morgen --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations 5 | Icon=morgen 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/slack-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Slack Wayland 4 | Exec=slack --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations 5 | Icon=slack 6 | -------------------------------------------------------------------------------- /dot_config/gdb/eigen/readme.org: -------------------------------------------------------------------------------- 1 | * About 2 | These are scripts and other pretty-printers for making GDB more 3 | tractable. 4 | 5 | ** Eigen 6 | The `printers.py` is sourced from the [[https://gitlab.com/libeigen/eigen/-/blob/master/debug/gdb/printers.py][Eigen GitLab]] repository. 7 | -------------------------------------------------------------------------------- /dot_config/private_fish/conf.d/ext_rust.fish: -------------------------------------------------------------------------------- 1 | if command -q atuin 2 | atuin init fish --disable-up-arrow | source 3 | end 4 | 5 | if command -q starship 6 | starship init fish | source 7 | end 8 | 9 | if command -q zoxide 10 | zoxide init fish | source 11 | end 12 | -------------------------------------------------------------------------------- /dot_config/ticktick-flags.conf: -------------------------------------------------------------------------------- 1 | # Works with the AUR ticktick package 2 | # Enable wayland support 3 | --enable-features=UseOzonePlatform 4 | --ozone-platform=wayland 5 | --ozone-platform-hint=auto 6 | --enable-features=WaylandWindowDecorations 7 | --disable-features=WaylandFractionalScaleV1 8 | -------------------------------------------------------------------------------- /dot_cargo/config.toml: -------------------------------------------------------------------------------- 1 | # https://doc.rust-lang.org/cargo/reference/config.html#netgit-fetch-with-cli 2 | [net] 3 | retry = 2 # network retries 4 | git-fetch-with-cli = true # use the `git` executable for git operations 5 | offline = false # do not access the network 6 | -------------------------------------------------------------------------------- /dot_local/share/applications/CaliSync.desktop.tmpl: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=CaliSync 4 | Exec={{ .chezmoi.homeDir }}/.local/bin/calibre_and_sync.sh 5 | Icon=calibre-gui 6 | GenericName=Start Calibre and sync library with pCloud 7 | Terminal=false 8 | Categories=Office;Utility; 9 | -------------------------------------------------------------------------------- /dot_local/share/applications/google-chrome-wayland-true.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Google Chrome Wayland 4 | Exec=google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations 5 | Icon=google-chrome 6 | -------------------------------------------------------------------------------- /private_dot_gnupg/gpg-agent.conf.tmpl: -------------------------------------------------------------------------------- 1 | # TODO: Maybe add nix? 2 | # pinentry-program {{ .chezmoi.homeDir }}/.nix-profile/bin/pinentry 3 | {{ if eq .chezmoi.os "darwin" }} 4 | pinentry-program /usr/local/bin/pinentry-mac 5 | {{ else if eq .chezmoi.os "linux" }} 6 | pinentry-program /usr/bin/pinentry 7 | {{ end }} 8 | -------------------------------------------------------------------------------- /dot_lldbinit.tmpl: -------------------------------------------------------------------------------- 1 | # Eigen pretty printers 2 | command script import {{ joinPath .chezmoi.homeDir ".config/lldb/eigenlldb.py" }} 3 | # Allows executing project specific .lldbinit files 4 | settings set target.load-cwd-lldbinit true 5 | # Builds a clang module for the STL 6 | settings set target.import-std-module true 7 | -------------------------------------------------------------------------------- /dot_config/systemd/user/tmux-server.service: -------------------------------------------------------------------------------- 1 | # -*- systemd -*- 2 | [Unit] 3 | Description=Tmux server 4 | After=network.target 5 | 6 | [Service] 7 | Type=forking 8 | ExecStart=/usr/bin/tmux start-server 9 | ExecStop=/usr/bin/tmux kill-server 10 | RemainAfterExit=yes 11 | 12 | [Install] 13 | WantedBy=default.target 14 | -------------------------------------------------------------------------------- /dot_local/share/applications/expandrive-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=ExpanDrive Wayland 3 | Exec=env DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 /opt/ExpanDrive/expandrive %U 4 | Terminal=false 5 | Type=Application 6 | Icon=expandrive 7 | StartupWMClass=ExpanDrive 8 | Comment=ExpanDrive 9 | Categories=Utility; 10 | -------------------------------------------------------------------------------- /dot_config/shellrc/zsh.d/02_func_def.zsh: -------------------------------------------------------------------------------- 1 | # Functions 2 | ############ 3 | 4 | # Reload complete functions 5 | reloadzsh() { 6 | source ~/.zshrc 7 | if [ -d ~/.zsh/comp ]; then 8 | local f 9 | f=(~/.zsh/comp/*(.)) 10 | unfunction $f:t 2> /dev/null 11 | autoload -U $f:t 12 | fi 13 | } 14 | -------------------------------------------------------------------------------- /dot_config/systemd/user/gammastep.service: -------------------------------------------------------------------------------- 1 | # -*- systemd -*- 2 | [Unit] 3 | Description=Gammastep for bluelight adjustment 4 | After=graphical.target 5 | 6 | [Service] 7 | ExecStart=/usr/bin/gammastep -c %h/.config/gammastep/config.ini 8 | Restart=on-failure 9 | RestartSec=5 10 | 11 | [Install] 12 | WantedBy=default.target 13 | -------------------------------------------------------------------------------- /dot_local/share/applications/vivaldi-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Vivaldi Wayland 4 | Categories=Network;WebBrowser; 5 | Terminal=false 6 | Exec=vivaldi-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations 7 | Icon=vivaldi 8 | -------------------------------------------------------------------------------- /dot_config/private_fish/conf.d/local_texlive.fish: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env fish 2 | 3 | set -l base_path "$HOME/.local/share/" 4 | set -l texlive_dir (ls -d -1 "$base_path"/texlive-*/bin/x86_64-linux/ 2>/dev/null)[1] 5 | 6 | if test -d "$texlive_dir" 7 | if not contains "$texlive_dir" $PATH 8 | fish_add_path "$texlive_dir" 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /dot_local/share/applications/obsidian-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Obsidian Wayland 4 | Exec=env DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 obsidian --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=UseOzonePlatform --enable-features=WaylandWindowDecorations 5 | Icon=obsidian 6 | -------------------------------------------------------------------------------- /dot_config/systemd/user/notes.org: -------------------------------------------------------------------------------- 1 | - One socket (for the server) will suffice, and ~foot~ will just need to be aware of it correctly 2 | + In any case the service is going to be running constantly, so the scratchpads don't need to have a socket 3 | - Use the default ~foot.sock~ file so it is more easily compatible with ~sway~ 4 | and standard invocations of ~foot~ 5 | -------------------------------------------------------------------------------- /dot_local/share/applications/edge-stable-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Microsoft Edge Stable Wayland 4 | Categories=Network;WebBrowser; 5 | Terminal=false 6 | Exec=microsoft-edge-stable --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations 7 | Icon=microsoft-edge 8 | -------------------------------------------------------------------------------- /dot_config/systemd/user/kanshi.service: -------------------------------------------------------------------------------- 1 | # -*- systemd -*- 2 | [Unit] 3 | Description=Kanshi for automatically applying display profiles 4 | After=graphical.target 5 | BindsTo=sway-session.target 6 | 7 | [Service] 8 | ExecStart=/usr/bin/kanshi -c %h/.config/kanshi/config 9 | Restart=on-failure 10 | RestartSec=5 11 | 12 | [Install] 13 | WantedBy=sway-session.target 14 | -------------------------------------------------------------------------------- /dot_local/share/applications/ovito-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=OVITO 3 | Type=Application 4 | Exec=/usr/bin/tmux new-session -d -s ovito "bash --init-file <(echo '$HOME/.local/bin/ovito && tmux kill-session -t ovito')" 5 | Icon=ovito 6 | Terminal=false 7 | StartupNotify=false 8 | Categories=Education;Science;Mathematics; 9 | Comment=Open Visualization Tool 10 | -------------------------------------------------------------------------------- /dot_config/systemd/user/tmux-session-ms.service: -------------------------------------------------------------------------------- 1 | # -*- systemd -*- 2 | [Unit] 3 | Description=Tmux session mS 4 | After=tmux-server.service 5 | Requires=tmux-server.service 6 | 7 | [Service] 8 | Type=oneshot 9 | RemainAfterExit=yes 10 | ExecStart=/usr/bin/tmux new-session -s mS -d 11 | ExecStop=/usr/bin/tmux kill-session -t mS 12 | 13 | [Install] 14 | WantedBy=default.target 15 | -------------------------------------------------------------------------------- /dot_config/systemd/user/tmux-session-subfloat.service: -------------------------------------------------------------------------------- 1 | # -*- systemd -*- 2 | [Unit] 3 | Description=Tmux session subFloat 4 | After=tmux-server.service 5 | Requires=tmux-server.service 6 | 7 | [Service] 8 | Type=oneshot 9 | RemainAfterExit=yes 10 | ExecStart=/usr/bin/tmux new-session -s subFloat -d 11 | ExecStop=/usr/bin/tmux kill-session -t subFloat 12 | 13 | [Install] 14 | WantedBy=default.target 15 | -------------------------------------------------------------------------------- /.chezmoiscripts/run_once_set_ssh_config_permissions.sh.tmpl: -------------------------------------------------------------------------------- 1 | {{ if ne .chezmoi.os "windows" -}} 2 | #!/usr/bin/env sh 3 | 4 | # Details: https://superuser.com/questions/215504/permissions-on-private-key-in-ssh-folder 5 | find $HOME/.ssh/ -type f -not -name "*.pub" -exec chmod 600 {} \;; 6 | find $HOME/.ssh/ -type d -exec chmod 700 {} \;; 7 | find $HOME/.ssh/ -type f -name "*.pub" -exec chmod 644 {} \; 8 | 9 | {{ end }} 10 | -------------------------------------------------------------------------------- /dot_config/shellrc/zsh.d/00a_prof.zsh: -------------------------------------------------------------------------------- 1 | ####################### 2 | # Startup debugging # 3 | # tools for profiling # 4 | ####################### 5 | 6 | # Start Profiler 7 | # Test with: 8 | # time zsh -i -c exit 9 | # To check without results try: 10 | # for i in $(seq 1 10); do time zsh -i -c exit; done 11 | if [[ "${ZSH_PROFILE}" == 1 ]]; then 12 | zmodload zsh/zprof 13 | else 14 | ZSH_PROFILE=0 15 | fi 16 | -------------------------------------------------------------------------------- /colevimIS/keylayout/executable_install-system.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eu 3 | 4 | dir_from=$(dirname "$0") 5 | dir_to="/Library/Keyboard Layouts" 6 | layout="colemak" 7 | 8 | OPTIND=1 9 | 10 | while getopts "d:i:l:" opt; do 11 | case "$opt" in 12 | d|i) dir_from="$OPTARG";; 13 | o) dir_to="$OPTARG";; 14 | l) layout="$OPTARG";; 15 | *) exit 1;; 16 | esac 17 | done 18 | 19 | cp "$dir_from/$layout"*.keylayout "$dir_to" 20 | -------------------------------------------------------------------------------- /colevimIS/keylayout/executable_install-user.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eu 3 | 4 | dir_from=$(dirname "$0") 5 | dir_to="$HOME/Library/Keyboard Layouts" 6 | layout="colemak" 7 | 8 | OPTIND=1 9 | 10 | while getopts "d:i:l:" opt; do 11 | case "$opt" in 12 | d|i) dir_from="$OPTARG";; 13 | o) dir_to="$OPTARG";; 14 | l) layout="$OPTARG";; 15 | *) exit 1;; 16 | esac 17 | done 18 | 19 | cp "$dir_from/$layout"*.keylayout "$dir_to" 20 | -------------------------------------------------------------------------------- /colevimIS/pkl/pkl.ini: -------------------------------------------------------------------------------- 1 | ; Generated by KLFC 1.5.7 2 | ; https://github.com/39aldo39/klfc 3 | 4 | [pkl] 5 | layout = colemak 6 | language = auto 7 | displayHelpImage = no 8 | compactMode = no 9 | altGrEqualsAltCtrl = no 10 | suspendTimeOut = 0 11 | exitTimeOut = 0 12 | 13 | [extend] 14 | SC023 = Left 15 | SC024 = Down 16 | SC025 = Up 17 | SC026 = Right 18 | SC027 = Enter 19 | SC02f = ) 20 | SC031 = ( 21 | -------------------------------------------------------------------------------- /dot_config/foot/foot.d/font-intel-one-mono.ini: -------------------------------------------------------------------------------- 1 | font=Intel One Mono:size=14:style:Regular 2 | font-bold=Intel One Mono:size=14:style:Bold 3 | font-italic=Intel One Mono:size=14:style:Italic 4 | font-bold-italic=Intel One Mono:size=14:style:Bold Italic 5 | # line-height=10 6 | # letter-spacing=-.4 7 | # horizontal-letter-offset=0 8 | # vertical-letter-offset=0 9 | # underline-offset=0 10 | box-drawings-uses-font-glyphs=yes 11 | dpi-aware=yes 12 | -------------------------------------------------------------------------------- /dot_config/shellrc/zsh.d/03_plugins.zsh: -------------------------------------------------------------------------------- 1 | # Plugin Management 2 | ##################### 3 | 4 | ZINIT_HOME="${XDG_DATA_HOME:-${HOME}/.local/share}/zinit/zinit.git" 5 | [ ! -d $ZINIT_HOME ] && mkdir -p "$(dirname $ZINIT_HOME)" 6 | [ ! -d $ZINIT_HOME/.git ] && git clone https://github.com/zdharma-continuum/zinit.git "$ZINIT_HOME" 7 | source "${ZINIT_HOME}/zinit.zsh" 8 | 9 | autoload -Uz _zinit 10 | (( ${+_comps} )) && _comps[zinit]=_zinit 11 | -------------------------------------------------------------------------------- /dot_config/systemd/user/foot-ms.service: -------------------------------------------------------------------------------- 1 | # -*- systemd -*- 2 | [Unit] 3 | Description=Foot client for tmux session mS 4 | After=foot-server.service tmux-session-ms.service 5 | Requires=foot-server.service tmux-session-ms.service 6 | 7 | [Service] 8 | ExecStart=/usr/bin/footclient --server-socket=/run/user/%U/foot-server.sock --app-id="mS" -e tmux attach-session -t mS 9 | Restart=on-failure 10 | 11 | [Install] 12 | WantedBy=default.target 13 | -------------------------------------------------------------------------------- /dot_config/systemd/user/sway-session.target: -------------------------------------------------------------------------------- 1 | # -*- systemd -*- 2 | # Kanged from https://github.com/kuhy/.dotfiles/blob/master/system/systemd.org 3 | # exec "systemctl --user import-environment; systemctl --user start sway-session.target" 4 | 5 | [Unit] 6 | Description=Sway compositor session 7 | Documentation=man:systemd.special 8 | BindsTo=graphical-session.target 9 | Wants=graphical-session-pre.target 10 | After=graphical-session-pre.target 11 | -------------------------------------------------------------------------------- /dot_config/foot/foot.d/font-cascadia-code-pl.ini: -------------------------------------------------------------------------------- 1 | font=Cascadia Code PL:size=16:style:Regular 2 | font-bold=Cascadia Code PL:size=16:style:Bold 3 | font-italic=Cascadia Code PL:size=16:style:Italic 4 | font-bold-italic=Cascadia Code PL:size=16:style:Bold Italic 5 | # line-height=10 6 | # letter-spacing=-.4 7 | # horizontal-letter-offset=0 8 | # vertical-letter-offset=0 9 | # underline-offset=0 10 | box-drawings-uses-font-glyphs=yes 11 | dpi-aware=yes 12 | -------------------------------------------------------------------------------- /colevimIS/pkl/pkl_mod-dh.ini: -------------------------------------------------------------------------------- 1 | ; Generated by KLFC 1.5.7 2 | ; https://github.com/39aldo39/klfc 3 | 4 | [pkl] 5 | layout = colemak_mod-dh 6 | language = auto 7 | displayHelpImage = no 8 | compactMode = no 9 | altGrEqualsAltCtrl = no 10 | suspendTimeOut = 0 11 | exitTimeOut = 0 12 | 13 | [extend] 14 | SC023 = Left 15 | SC024 = Down 16 | SC025 = Up 17 | SC026 = Right 18 | SC027 = Enter 19 | SC02f = ) 20 | SC031 = ( 21 | -------------------------------------------------------------------------------- /dot_config/systemd/user/foot-server.service: -------------------------------------------------------------------------------- 1 | # -*- systemd -*- 2 | [Unit] 3 | Description=Foot terminal server 4 | After=graphical.target 5 | BindsTo=sway-session.target 6 | ConditionEnvironment=WAYLAND_DISPLAY 7 | 8 | [Service] 9 | ExecStart=/usr/bin/foot --server=/run/user/%U/foot-server.sock 10 | UnsetEnvironment=LISTEN_PID LISTEN_FDS LISTEN_FDNAMES 11 | NonBlocking=true 12 | Restart=on-failure 13 | 14 | [Install] 15 | WantedBy=sway-session.target 16 | -------------------------------------------------------------------------------- /dot_config/private_fish/config.fish: -------------------------------------------------------------------------------- 1 | # Commands to run in interactive sessions can go here 2 | if status is-interactive 3 | function fish_greeting 4 | if test -d "$HOME/.local/greWords/gre-cli-words" 5 | "$HOME/.local/greWords/gre-cli-words/random_gre.sh" "$HOME/.local/greWords/gre-cli-words/custom_gre_word_list" 6 | else 7 | echo "You don't have gre-cli-words setup, try running getGREwords" 8 | end 9 | end 10 | end 11 | -------------------------------------------------------------------------------- /dot_local/share/applications/equibob-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Equibop Wayland 3 | Exec=equibop %U --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto 4 | Terminal=false 5 | Type=Application 6 | Icon=equibop 7 | StartupWMClass=Equibop 8 | GenericName=Internet Messenger 9 | Categories=Network; 10 | Keywords=discord;equibop;vesktop;vencord;equicord;electron;chat; 11 | Comment=A fork of Vesktop pre-packaged with Equicord 12 | -------------------------------------------------------------------------------- /dot_config/shellrc/posix.d/00_show_gre.sh: -------------------------------------------------------------------------------- 1 | # GRE Word List 2 | if [[ $- = *i* ]]; then 3 | if [[ -d $HOME/.local/greWords/gre-cli-words ]]; then 4 | $HOME/.local/greWords/gre-cli-words/random_gre.sh $HOME/.local/greWords/gre-cli-words/custom_gre_word_list 5 | else 6 | echo "You don't have gre-cli-words setup, try running getGREwords" 7 | fi 8 | fi 9 | 10 | # Emacs Stuff (cross platform) 11 | # Local Variables: 12 | # mode: shell-script 13 | # End: 14 | -------------------------------------------------------------------------------- /dot_config/systemd/user/foot-subfloat.service: -------------------------------------------------------------------------------- 1 | # -*- systemd -*- 2 | [Unit] 3 | Description=Foot client for tmux session subFloat 4 | After=foot-server.service tmux-session-subfloat.service 5 | Requires=foot-server.service tmux-session-subfloat.service 6 | 7 | [Service] 8 | ExecStart=/usr/bin/footclient --server-socket=/run/user/%U/foot-server.sock --app-id="subFloat" -e tmux attach-session -t subFloat 9 | Restart=on-failure 10 | 11 | [Install] 12 | WantedBy=default.target 13 | -------------------------------------------------------------------------------- /dot_config/shellrc/zsh.d/05_linux.zsh.tmpl: -------------------------------------------------------------------------------- 1 | # This file will only be included on macOS machines, it is managed by a 2 | # conditional chezmoi symlink template 3 | # The main sections are: 4 | # - Aliases 5 | # - Exports 6 | 7 | # Aliases 8 | ########## 9 | 10 | # Remove all items safely, to Trash (`pacman -S trash-cli`). 11 | [[ -z "$commands[trash]" ]] || alias rm='trash' 2>&1 > /dev/null 12 | 13 | # Emacs Stuff (cross platform) 14 | # Local Variables: 15 | # mode: shell-script 16 | # End: 17 | -------------------------------------------------------------------------------- /dot_local/bin/executable_calibre_and_sync.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # $HOME/.local/bin/calibre_and_sync.sh 3 | 4 | # Start Calibre and wait 5 | calibre 6 | 7 | # Setup and run sync 8 | zenity --notification --text="Start syncing" 9 | RCLONE_PASSWORD_COMMAND='secret-tool lookup service "rclone" user "calisync"' 10 | foot -- sh -c "rclone sync -P ~/CalibreLibs/Synced pCloud:/Calibre --ask-password=false --password-command=\"$RCLONE_PASSWORD_COMMAND\"" 11 | zenity --notification --text="Sync completed" 12 | -------------------------------------------------------------------------------- /dot_local/share/applications/element-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Type=Application 3 | Name=Element Wayland 4 | Comment=Official client for Matrix, with Wayland flags 5 | Exec=element-desktop %u --enable-features=UseOzonePlatform --ozone-platform=wayland --ozone-platform-hint=auto --enable-features=WaylandWindowDecorations 6 | Terminal=false 7 | Icon=io.element.Element 8 | StartupWMClass=ElementWayland 9 | Categories=Network;InstantMessaging;Chat;IRCClient 10 | MimeType=x-scheme-handler/element; 11 | -------------------------------------------------------------------------------- /dot_config/private_pulse/default.pa: -------------------------------------------------------------------------------- 1 | # Mostly from here: 2 | # https://wiki.archlinux.org/title/PulseAudio/Troubleshooting 3 | # Get the defaults 4 | .include /etc/pulse/default.pa 5 | # Try to prevent pops and scratches 6 | .nofail 7 | unload-module module-suspend-on-idle 8 | .fail 9 | # For fixing the sound after sleep 10 | unload-module module-switch-on-port-available 11 | # Don't interrupt 12 | unload-module module-role-cork 13 | # Emacs Stuff (cross platform) 14 | # Local Variables: 15 | # mode: conf-space 16 | # End: 17 | -------------------------------------------------------------------------------- /colevimIS/xkb/scripts/executable_uninstall-xcompose.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eu 3 | 4 | dir=$(dirname "$0") 5 | layout="colemak" 6 | layout=${1:-$layout} 7 | xcompose_file=${XCOMPOSEFILE:-$HOME/.XCompose} 8 | include_klfc="include \"%H/.XCompose-klfc-$layout\"" 9 | 10 | if [ -f "$xcompose_file" ]; then 11 | { grep -Fxv "$include_klfc" "$xcompose_file" || [ "$?" = 1 ]; } > "$xcompose_file.tmp" 12 | mv "$xcompose_file.tmp" "$xcompose_file" 13 | fi 14 | 15 | [ -f "$HOME/.XCompose-klfc-$layout" ] && rm "$HOME/.XCompose-klfc-$layout" 16 | -------------------------------------------------------------------------------- /dot_local/bin/executable_get_patched_font.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | if [ ! -d $HOME/save/nerd-fonts ]; then 4 | 5 | # With some inputs from https://github.com/pandoc-extras/pandoc-portable 6 | 7 | # Make the folder 8 | mkdir -p $HOME/save 9 | 10 | cd $HOME/save 11 | 12 | git clone https://github.com/ryanoasis/nerd-fonts.git 13 | 14 | else 15 | cd $HOME/save/nerd-fonts 16 | chmod +x install.sh 17 | if [[ $1 == "all" ]]; then 18 | ./install.sh 19 | else 20 | ./install.sh $1 21 | fi 22 | 23 | fi 24 | -------------------------------------------------------------------------------- /history.org: -------------------------------------------------------------------------------- 1 | * History 2 | - December 2021, switched to ~chezmoi~. 3 | - As of the 11th of April, 2019, the configuration for my ~emacs~ setup, with 4 | ~doom-emacs~ has been moved to [[https://github.com/HaoZeke/dotDoom][a repository of its own]]. 5 | - As of the 7th of August, 2020, the HPC cluster [[https://lmod.readthedocs.io][Lmod]] configuration has been 6 | moved to [[https://github.com/HaoZeke/hzHPC_lmod][a repository of its own]]. 7 | - December 18, 2017, migration to ~dotgit~. 8 | - January 9, 2017, initialize with manual symlinks. 9 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_coderefinery.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB0VkduaVJTY05Id1MzQkxx 3 | cE4xdmlZc25VYmd4enlKV05iY0cxNDcxWFdBCnlHTUo4M0dRODRIRDdxZkJvaDR2 4 | bU9NLy82NW8vOSszVVlXT1lad2JpMzgKLS0tICtLQWNxazFrU0xDN0ZoV25XQXZK 5 | V0ZBMlpPYTNlR1lWTDVzVW5jYngvV0EKl73NcOUCHSgrCKVyIy+goP+qQ0kWxuzs 6 | gNnaPFnrui6tqrzi0EQAeMCWFXRWksXPb7PAMC9hlEteyE39H0afQkztPgMmgxNS 7 | Z/bfO5GZg9vym9dgqObGgKMTyh1XxX62JVRO8Bwc7i3LL+CsYg/S0gLizA91gv7/ 8 | 0q7xPLc= 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_lumi_ed25519.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGY1R3YlBiLzJDWWx2dHRX 3 | V2YyS2NlUW04aHFtY2cxUVBEUTRQWGRaU3dzCi9Rc3BZeS85ek1VSjRRS1RmN2RU 4 | UzBTQWFET05RVFNYZVNsN0tnY3k0OXMKLS0tIHRVT29pcFFDN2cvN1F1N0FkYk0y 5 | aGFBcnJ1MGJNZC9rMm50TTFCQ3RKbFUKIhZam/rIBugmOy08OInYBKaLROBbPwUD 6 | /a2PFv+v3QsUvgLZPw5gptULr5NkL6PW034AQUsYPGdp/E6vh68lmme50vYweScF 7 | sKDMU7EwZE0dpiZ0ie4zAdWjrpz77inGUosXsCcROo/kokEcpYBNGoEg6+DqetGP 8 | 0FnvuvU= 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_orca_ed25519.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGUUN2RlhIQnJXYi9ac2du 3 | cHNaQlNHUC9jMFZHdmxVamFkZXF5dDNHUlhRCjNJc0s3S3h6cDBjOU1VeVM2Y1VH 4 | ejBaOXBYT3F2UGxEVFQ4dW9Kayt4VVEKLS0tIGpWaHFFU2N5ekRPT0E3RTBwcm00 5 | S1NpVFVjbkdGYmdkZnd4NyszdHFCRFEKnhjqH/zZ38k5T+s3a68Qdo614Rov4rAj 6 | zyU9YpGUHcuZCOI8YmeeLGVc2tjfuXq0tF9Q9nQJQCkn7L/X8E6MwVQuMLgZ9Us+ 7 | XR/8H6tdGGUfJgvhgSLa+sBP2CjX3l11RbthGbbA2fK83lYxOu82Le5aawgbm9bd 8 | HzWUZpU= 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_hostinger.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA4T2ZoekEvWGZNSU1HVlVD 3 | UmFFZjhVekcrMTNJRTY3MlZLWHllTVd0YnlnCjB2ZEQ4QmEyNmU3cE5CSzE1TWRx 4 | RUZVN1FqdFZReU5NWnZzY3V0TGpEazQKLS0tIHo3cTMrUnpEdUxSaWd5MVlXSkJD 5 | N0JCTGkyY1BCK3FXa1RYV1hKMXh6cWMKsJWOHRozd/rVLV6ZgmQtitcInUAjXjPO 6 | gY0htAMBsN+CvpIf+tSJXeOTikGFupaYauYdP8mg4kBdn+Ay1DscEDfmfa0i5r+x 7 | iaWpi9HPwR2QycyO8bEtzLoN/TsEKNWddO20gmHYk14H5e57M4tIgli4JJd+MeZa 8 | 8923J+kOP6a6Hg== 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_id_ed25519_amd_hlrs.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmd0VJOUVpS2dnZE1TdnRx 3 | aFBaVEs2alVhY3VaUXV4dXlJQlA1M1N1dTFRCmhLOVNabDlkMk5sdDFJWm9scENl 4 | V2o0OVVXRmE3ZnFtM2l5aXpJNzM2clkKLS0tIDVQbGttS3RBUDR6TDNXc0lJK0JQ 5 | Y0c0amg5bWg4TjZpK1RkQm56dVpxbVkKluN2K+CkRlXph+5+O7gHZdLqublTo+J+ 6 | 8Xa0R1986tkl1v60vF+9WSpC28D9+ifhJ2jN34LRWsyLRfz9eiXEYIm+eXWNE1Hh 7 | oJZrZWHGzKss8sSm84nZMJlf1gMxJ9JJgdKtMb6N1BykNtStAERaEkkheRwHlPIu 8 | xkHPTw4= 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_ruhi_elja_ed25519.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBNaE8rQ2lTVGdnbSs3U1pu 3 | MGhhemVVdk1rQk5QNDRwbjJQa3F2VmpTSVVRCmhqYytOaFg1TXhPKzMxcTh4VUln 4 | UFJWcFV5R2ovZ3I4MktGN0NGbUtoRzQKLS0tIHlCTmpuTzdOK2o4djFFc1dxQmxV 5 | K2c4WE1ERkZFMWN1Y055a205WjBMckUKEoErADdTA4J0yIYU4cx4f73/oECa/0N2 6 | RAzPY/TlzVDxeXRoZOEW+XOwgemORx4n6gn82Uv8EnNHwcAvovbEmCdd6xQfK/cQ 7 | jxADCO2aiRsFgJvBfbOatcq2Td/g0qwzBUPL+IwbOEZyaMer6wOyJtawngQeobjZ 8 | E8Lu7zpp 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_uta_compchem.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0bWpEcFBBMHhLZ1RxeGhz 3 | YmtBUFE3Y2Ivc25RZXptQ1pmaTV5MHU0QWtzCnhDT2QzMmEyU0dYMndudWQzNkNi 4 | Ui9pZHZCNnFRbjY1bmVhZG1DRU16TzgKLS0tIEFTbyswVDc1RjQrKys2dnArVE8y 5 | Smh0aG5FYkF3UHhKVzZJUHdTcThhbUEKis1eSrKwfZNwZLqA1oCr+8ejPBmH9jxe 6 | +26GAte+zHeelSsXbYWfSMUHXylutK1aDC7jhH8m3DT5eypT3dRy5Z2NBvF2jNTO 7 | AaGWh5geqQvhkc+0wN3wKehXJ3QAq12NEpKWQ87oKjW+vs8MDaoR68GplUEIjWAx 8 | pH+VhnTOMlcq1rY= 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_id_ed25519.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQUTlaT3p1azI5MDZpM3dH 3 | QWVPUTVqeDN2YTdPOGFDZE1vNGVCbStzQm00CkIzNWVKQ3dRa1BYa2NwVjdLdytT 4 | MGl5UmtjYlNNalF4ZU5IN25zcEwxcTgKLS0tIFB6UU5QblJ0SS8wNFhEd3R1VnY5 5 | dS9GK2ZpN3YxbWdZWUZzLzdHNGVlM0EKKeW7lzUjQ5ZKJIvcscwed5yd2Rc8Cdzw 6 | 8cUF9ZpCShcD8JHnJmFBkNPpI8yky0VlNhGNEp8s7EIupNilw80ye4kZxW6WeGLv 7 | 4h2kNDPmDwu6RCHUddLFvwS9vt3qfPoaMvaiqpwwvLa4OM9oe4C9SD2nPD6JUtkR 8 | 5VNGLqAuMQ7x0WoGHQaNhD0= 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_github_ed25519.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAxMDdFVDRINU9rV2pqL0x4 3 | N2VPemF5ZFNYS29NMkVOUWF5MHhZMXpMd0ZRCllPSEVHVVR0Y3VYOGZhMmxKV0Ir 4 | dUVlbDcvT3FEeDk5T0FCcmp2WnQ2SHcKLS0tIEgvSklBaVdkcDFMT2h0N0o4V25W 5 | MWtsbUdhaDZWM1k1czVFNzlmSFVmSjgKRuvEdF8x8hZugJDQ35foh3AfFt4WUz1Q 6 | 1pBVdQROSo8nLqIfXpymXuwUEnwZKb6NO43dTwhkeiSdHI3r50OQwyDQsOJ0R7qA 7 | tPhSQmqwW00kqVrVxSlrUtiZP3OjRW9Qgs6HhcSrj2rw/Hwy0fzCybTklAcMbVOU 8 | Ck8baVGEq0f3l3A8aJYwFsE= 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_gitlab_ed25519.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0VGNBVVFxR3J1ZEErVnBL 3 | Zi9ON1E5S1hZUGlGZlFKRXF6TGpyOWRzN0ZvCmY4aGoyYTR6aUQ0V09KOUZMOXl1 4 | aWI0MnNZeWlkTWNVZ1F0cUMxNis2UjAKLS0tIFluVjhHMXFiU281emo3UHdPNGpL 5 | TkFOdnNEQmJYa0VSQWpsc3kvZU56Mk0Kd7zxUcYVmU5zOe6GBB8YHw9/8al1F71T 6 | TxZXYqjO6Vcc5sWGm2rVIZUpj6Cq8OdhH6a5jXbDAkm/SkTGOmnxpdnbBh9hrdtP 7 | RbLOuTmE5yVoKcreO56YAB9ayWH/3z8bzL7+48qKbc1WY4E3NpjQvOvI81pt35H+ 8 | TvfChBpbrVSEtOS4uEU0d9o= 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_hostinger_alpine.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtMXNNMjViU1hiMGcrWVd2 3 | WHFqUE1WekR2dVM0S3p5YzFtZWxlVURCcFFnCnEvYldWakZkdFl3am10OWJLQy9l 4 | bUhoSmllbnBiNk0xQnY5dWxXbUVDVEUKLS0tIHVULzB3dWlhRTdnVUtkRkZOM2xX 5 | VHpZRTVaclhHTE9lUUxIZE1XRmdEa00KPu5B9mU9Kd4+dqaGAMlo1i8QQh1iFFpS 6 | jrCmL8QIdnVBDXPa67SM3zkz/Iudjv06AhKjSaX7qDV6nqNY9gwz1sM60T1cMtKa 7 | uRJsxMcGrAaKqLBF5ubZMob4NojqZjBETpaIlZZ87Bey8bqC/8ae/71qwGet4fUa 8 | z9otPRjswCYL7vJZVuHe5A== 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_ruhiGit_ed25519.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvbm5OUGZaWEV4K0pxSmJI 3 | YitiQWg3VXdFQVE5MHFRNTBxYm5kckxHaGxJCjJjaWg1b1NOazhQd2dxZmQ1dmF4 4 | S3ZtSGhteDRIUkk1TWdpbythcktOV0UKLS0tIG4xaW5rbHZTZGRQd1daTDhwaTlD 5 | blJLZ1RSeHJEanRiYkZsdkZDWEtnK3MKucx8M2nmLDzhvE4URYYUaiXFzKJMrLN9 6 | ElqS8Wnm/Mc8K9273xx7ktJniiaIJx2CC0MOEGTYjXML+DVLRteIDQctlRkQ6VIP 7 | tY4/nBs72OvrWwNd8zph6dB832v9vWRKJTzOAiVoZPmiPO44oKIG9DCG9TorJcNd 8 | oPxufGzwNn5XYu+SL6uKWUEFaqRm 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /dot_config/starship.toml: -------------------------------------------------------------------------------- 1 | # Get editor completions based on the config schema 2 | "$schema" = 'https://starship.rs/config-schema.json' 3 | 4 | # Inserts a blank line between shell prompts 5 | add_newline = true 6 | 7 | # Replace the '❯' symbol in the prompt with '➜' 8 | [character] # The name of the module we are configuring is 'character' 9 | success_symbol = '[➜](bold green)' # The 'success_symbol' segment is being set to '➜' with the color 'bold green' 10 | 11 | # Disable the package module, hiding it from the prompt completely 12 | [package] 13 | disabled = true 14 | -------------------------------------------------------------------------------- /dot_local/share/applications/cozy-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Name=Cozy 3 | GenericName=Audio Book Player 4 | Comment=Play and organize your audio book collection 5 | Icon=com.github.geigi.cozy 6 | Exec=/usr/bin/flatpak run --branch=stable --arch=x86_64 --command=com.github.geigi.cozy --file-forwarding com.github.geigi.cozy @@u %U @@ 7 | Terminal=false 8 | Type=Application 9 | Categories=GNOME;GTK;AudioVideo;Player;Audio; 10 | StartupNotify=true 11 | MimeType=x-content/audio-player; 12 | X-Purism-FormFactor=Workstation;Mobile; 13 | X-Flatpak=com.github.geigi.cozy 14 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_id_ed25519_quansight.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBxZEVsenpqeEZ5OEdtU3Jk 3 | NEowUHBrYWFwQm15RnpvaGlxQ2lWV3BsRHk4CjF0NDlGVkdobXlFV3hLSXNyTVNq 4 | bjQ4bjdSYjlXSlJ5cUk0Y2tvaHZZN28KLS0tIDZ1c3dJUTMvUFhVRWw3ckpKTG50 5 | RTdPWmxJS0liVXMzV1V1Q2VuYVJFbHMK4/vNMvvG+TL5TgxRs7YcXPPuRHi4pWI+ 6 | h2xKUME7lGLQI1xpZ6vhcthvr4uotfBA0daQKOnHqRwxAyY19DkdsyV17HENrgY/ 7 | dU4Mnd+QqOxIzBlzDR8c/Oz42XZIUAbFL/ljKaJOKud3udEuiAc98BgxU5trJG3c 8 | /TJmxSnk8DGGwozvfK7AmmD4XQiaYlVtoA== 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /dot_config/ripgrep/dot_ripgreprc: -------------------------------------------------------------------------------- 1 | # Don't let ripgrep vomit really long lines to my terminal, and show a preview. 2 | --max-columns=150 3 | --max-columns-preview 4 | 5 | # Add my 'web' type. 6 | --type-add 7 | web:*.{html,css,js}* 8 | 9 | # Search hidden files / directories (e.g. dotfiles) by default 10 | --hidden 11 | 12 | # Using glob patterns to include/exclude files or folders 13 | --glob=!.git/* 14 | 15 | # or 16 | --glob 17 | !.git/* 18 | 19 | # Set the colors. 20 | --colors=line:none 21 | --colors=line:style:bold 22 | 23 | # Because who cares about case!? 24 | --smart-case 25 | -------------------------------------------------------------------------------- /dot_config/shellrc/bash.d/99_activate_bin.bash: -------------------------------------------------------------------------------- 1 | ###################### 2 | # Activation Scripts # 3 | ###################### 4 | 5 | # Rust 6 | ####### 7 | 8 | # https://www.x-cmd.com/ 9 | [ ! -f "$HOME/.x-cmd.root/X" ] || . "$HOME/.x-cmd.root/X" 10 | 11 | # Almost all of these are with cargo install blah blah 12 | programs=(zoxide atuin) 13 | 14 | for prog in "${programs[@]}"; do 15 | if command -v "$prog" &>/dev/null; then 16 | eval "$("$prog" init bash)" 17 | fi 18 | done 19 | 20 | # Emacs Stuff (cross platform) 21 | # Local Variables: 22 | # mode: shell-script 23 | # End: 24 | -------------------------------------------------------------------------------- /dot_local/bin/executable_cliphist-rofi-img: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | tmp_dir="/tmp/cliphist" 4 | rm -rf "$tmp_dir" 5 | 6 | if [[ -n "$1" ]]; then 7 | cliphist decode <<<"$1" | wl-copy 8 | exit 9 | fi 10 | 11 | mkdir -p "$tmp_dir" 12 | 13 | read -r -d '' prog <$tmp_dir/"grp[1]"."grp[3]) 17 | print \$0"\0icon\x1f$tmp_dir/"grp[1]"."grp[3] 18 | next 19 | } 20 | 1 21 | EOF 22 | cliphist list | gawk "$prog" 23 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_environment-rgx1gen11.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBsNUQrRk5UNEIyN0xjbXdC 3 | RkZQQ0hsdVB3blhrYkhHQnlBNTlyVk14OEQ0CjNoY2ZyalU1cXBURkFQL0xXWDBw 4 | THczNzFQeTdoWkE0YzUzTFdPZFhwanMKLS0tIEIwd1VXdjJCS0lZN1VMcnVORWh0 5 | YllrVFM0T05kNVhXZGpRQmdRa3dIZFkK/4wLjTuR/mlbj2Puz9N2njg1MwjfQTLC 6 | hyOKeVL2QQS0BO63PV/Dk9llO0wX1xmfdSDI74ZC30sgTAcp4rbQ0lSUFxdMMFKD 7 | wYTE11QSf2nxAGDK8Fn6plDPl5f3qzGaF+CZwiLiDvEbxRgc1Jz2RGiT0lKaHlWf 8 | VwCMGzNUri5QoLTs1SL3WRxXWiu3ox/pGUVpN0uonmB6TSyqmbx+edi/nN2s8w== 9 | -----END AGE ENCRYPTED FILE----- 10 | -------------------------------------------------------------------------------- /.chezmoiscripts/run_once_darwin_gccemacs.sh.tmpl: -------------------------------------------------------------------------------- 1 | {{ if eq .chezmoi.os "darwin" -}} 2 | #!/usr/bin/env bash 3 | 4 | if command -v nix >/dev/null 2>&1; then 5 | nix-env -iA cachix -f https://cachix.org/api/v1/install 6 | cachix use gccemacs-darwin 7 | nix-env -iA emacsGccDarwin -f https://github.com/twlz0ne/nix-gccemacs-darwin/archive/master.zip 8 | else 9 | echo "nix wasn't found, re-run later" 10 | fi 11 | 12 | # References 13 | # [1] https://github.com/twlz0ne/nix-gccemacs-darwin 14 | 15 | # Emacs Stuff (cross platform) 16 | # Local Variables: 17 | # mode: shell-script 18 | # End: 19 | 20 | {{ end }} 21 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_environment-archiso.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBXQzJjcXhhY1F0RWVhcDB0 3 | azdpb0V0RHNlWDZGOFcxQ3dzbHVSNlVBZ2dVCjVPb0Rybyt3S2Zmb3F1ZFk2ckp0 4 | LzRVdjQ0ZmRFV1ZmZzZaT1IzK2RDR2sKLS0tIFplLzNQSE5WZFJuM0dITzNzcEV2 5 | ZEg5ZkVFTlllWHFkUEE5R3BKNWVYUkkKH+/xTDWQU6RJzrXJ6eDiDPbDwaKF/X/6 6 | n6cmGDdtNTBVdu3Ise47h7eWstfO+yZnH5cJiOQSJPyE/Fk9jAkR7e7r8nkQeeYN 7 | F7nGNN9HhGrXRsJS8iQGR+D3lC5yhc3VvQcvHDFw3AsO1Y/ZsJOhY3KsdmF+poT+ 8 | wjmSsPb6SfGBE+4scIzIMQ+YMkvgAJ5//JuU/XXYx31T+RBgl0ZTgfrgJBoJWsiq 9 | 2Q== 10 | -----END AGE ENCRYPTED FILE----- 11 | -------------------------------------------------------------------------------- /dot_config/pianobar/encrypted_config.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZd0F2aUtYUGRnM21aZnRU 3 | b2hhd2ZxSm96TjFRUzZQendXQmZXdGJsVkJ3CmhUcFBWbUV3UXdXZS95WktQSzVq 4 | RmpKRVg3aHVGdGVZQURDWkFTYnlmWVEKLS0tIG9PajMwbmZwWjlDT0JVejN0SDdT 5 | WEM1aXc5aDdYWTJsZk95bHVUcUp4S3cKisX+AsdBpD29g3B+75XWtmRhhWqOPtO+ 6 | MBRyzV9jgue6E7cxbWU+nBHjSrebABxVv5CPDiyqiaz0BOGdRLVUAh1dxoPoZk91 7 | TT3bJG6B/RspvCRSwDISjqkp6aGCFZ6LYBRMZwZtQtwtFU3vTv5Na0L/Q1tdYvQa 8 | 28vOoxI/2TrtoPtYw66HOgYHoi5oaJ3IBoceGeOEETCHjUvx6V03AUMG3qttQ1ij 9 | Hj0SWENYfxngY9SQYAQCEys= 10 | -----END AGE ENCRYPTED FILE----- 11 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_environment-x86_64-conda-linux-gnu.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSNys3ZmN3MmxnOE9kRWZJ 3 | a0YzZWtJV0tROG0ydnlSR3ZFck5peW0vV2hrCkwvZW1La0ZzM0ZEaFNGU2RxZ3Rj 4 | RW1oSGU2cFdnT05JSnlQMkcxdFBZcUkKLS0tIGJ2Y2g1TWlISnZ6K05SU0pFMUNl 5 | R1h1RDFQckxXTDUvNWJnM1Q3NnZSdmcKAOqktSFS64EwxjtLM6rcGoOXBWsfWP05 6 | Ntn0Uqk1r3NYeFLKQm0AwijA/TzEZ5yc4r4HTnYfH2zSX3NVLBiagJif/VAjsvP/ 7 | kK4AM8YUKirQYkWnsYuldfjH+TNOdRM9EIYD6BbSVGjICSCVpYp02fxKKAbaegAa 8 | kGJYVjnBwFCAGFnZZc1UNOs7kzsPbeYSaQ0XvwngqokSRbUeBoQDDCxHgic22PiT 9 | 84TDlOpstw== 10 | -----END AGE ENCRYPTED FILE----- 11 | -------------------------------------------------------------------------------- /colevimIS/xkb/scripts/executable_install-xcompose.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eu 3 | 4 | dir=$(dirname "$0") 5 | layout="colemak" 6 | layout=${1:-$layout} 7 | xcompose_file=${XCOMPOSEFILE:-$HOME/.XCompose} 8 | include_klfc="include \"%H/.XCompose-klfc-$layout\"" 9 | 10 | if ! [ -f "$dir/../XCompose" ]; then 11 | "$dir/uninstall-xcompose.sh" "$layout" 12 | exit 13 | fi 14 | 15 | if ! [ -f "$xcompose_file" ]; then 16 | echo 'include "%L"' > "$xcompose_file" 17 | fi 18 | 19 | if ! grep -qFx "$include_klfc" "$xcompose_file"; then 20 | echo "$include_klfc" >> "$xcompose_file" 21 | fi 22 | 23 | cp "$dir/../XCompose" "$HOME/.XCompose-klfc-$layout" 24 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_remarkable.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUckwyTmxZd0YyMHBwby9L 3 | eUJ4clNlY1QydmNrZGNsb1lVU0RVd2wxNXpNCktiMm1sanBQRmJHMDQyeDgralg3 4 | Q2JjNHBxK05Bam5wc0tEc2FFQ1V6cEEKLS0tIGV4d1dzRTNLQURsR2wyOU50NFp2 5 | SXN3SmQ5L3VjemNXWElpT1U2WXFMV00KqFOpQC0mz3hPn+ihsInvaxK1ajg25rvV 6 | I6qe34GQpiKjOjw2mpXIDdHD0Q+0glvSg7z4/DVpBrBE1/HNiOUTkoIKljQ6qoHi 7 | /zkd+F0YxkbK5PmlGDPOegcxxWkXLygQPBwJbDJM4vEc0pgQY84RbMnqfzsb8Fkf 8 | /J5LWknwnUVJ5DinrlWObVSqGpicXSZ53CcG3+KvQ1ocSUZ8BTxBqvOp2qzSgw4h 9 | zp4LCgRs24eakkQUdhQRkVVrAGLaGkdT8XZfDtoOsu7oVMSA/xoWRn6s 10 | -----END AGE ENCRYPTED FILE----- 11 | -------------------------------------------------------------------------------- /dot_config/shellrc/posix.d/01_alias_def.sh: -------------------------------------------------------------------------------- 1 | # Aliases 2 | ########### 3 | 4 | if [ ! -f ~/blank/ ]; then 5 | mkdir -p ~/blank/ 6 | fi 7 | 8 | alias foldel='time rsync -avv --delete /home/$USER/blank/ ' 9 | 10 | # Copy anything [ command | copy ] 11 | alias copy='xclip -sel clip' 12 | 13 | # Termbin (use to pipe output, eg. ls | tb) 14 | alias tb="nc termbin.com 9999" 15 | 16 | # Make directory 17 | alias md='mkdir -p' 18 | 19 | # Emacs for the terminal 20 | alias emacs='emacs -nw' 21 | 22 | # Better ls 23 | if which exa >/dev/null 2>&1; then 24 | alias ls=exa 25 | fi 26 | 27 | # Indian Time 28 | alias indiaTime="TZ=Asia/Kolkata date +'Asia/Kolkata %a, %b %d, %Y %r'" 29 | -------------------------------------------------------------------------------- /colevimIS/xkb/scripts/executable_remove-layout-from-xml.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | from __future__ import print_function 4 | import sys 5 | import xml.etree.ElementTree as ET 6 | 7 | if len(sys.argv) != 3: 8 | print('remove-layout-from-xml needs exactly 2 argument', file=sys.stderr) 9 | sys.exit(1) 10 | fname = sys.argv[1] 11 | layout = sys.argv[2] 12 | 13 | tree = ET.parse(fname) 14 | root = tree.getroot() 15 | layoutList = root.find('layoutList') 16 | layoutList[:] = [layoutXml for layoutXml in layoutList if layoutXml.find('configItem').find('name').text != layout] 17 | layoutList[-1].tail = '\n ' 18 | root.tail = '\n' 19 | tree.write(fname) 20 | -------------------------------------------------------------------------------- /dot_config/klfc/is_altgr_Colevim.json: -------------------------------------------------------------------------------- 1 | // Colemak Icelandic VIM layout 2 | // Note that these are still relative to the base QWERTY 3 | { 4 | "filter": "no tmk", 5 | "singletonKeys": [ 6 | [ "Alt_L", "AltGr" ] 7 | ], 8 | "shiftlevels": [ "AltGr", "Shift+AltGr" ], 9 | "keys": [ 10 | { "pos": "A", "letters": [ "á", "Á" ] }, 11 | { "pos": "F", "letters": [ "þ", "Þ" ] }, 12 | { "pos": "G", "letters": [ "ð", "Ð" ] }, 13 | { "pos": "K", "letters": [ "é", "É" ] }, 14 | { "pos": "L", "letters": [ "í", "Í" ] }, 15 | { "pos": ";", "letters": [ "ó", "Ó" ] }, 16 | { "pos": "I", "letters": [ "ú", "Ú" ] }, 17 | { "pos": "O", "letters": [ "ý", "Ý" ] } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /dot_local/bin/executable_init_rust.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # Installer 4 | command -v rustup >/dev/null || { 5 | echo "Installing rustup" && 6 | curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh 7 | } 8 | 9 | # Grab the nightly 10 | command -v rustc >/dev/null || { 11 | rustup install nightly 12 | } 13 | 14 | # Install things 15 | # No OpenSSL + Requires OpenSSL/OpenSSH 16 | # Most of these are now with x cmd but the ones with features need to be here 17 | set -- "ripgrep --features pcre2" \ 18 | "toml-cli" 19 | for item in "$@"; do 20 | cargo binstall "$item" 21 | done 22 | 23 | # Emacs Stuff (cross platform) 24 | # Local Variables: 25 | # mode: shell-script 26 | # End: 27 | -------------------------------------------------------------------------------- /private_Library/private_Application Support/private_MailMate/Resources/KeyBindings/ColemakVIM.plist: -------------------------------------------------------------------------------- 1 | { 2 | "c" = "newMessage:"; 3 | "/" = "searchAllMessages:"; 4 | "n" = "nextMessage:"; 5 | "e" = "previousMessage:"; 6 | "h" = "collapseThread:"; 7 | "i" = "expandThread:"; 8 | "H" = "rootOfThread:"; 9 | "I" = "lastOfThread:"; 10 | "N" = "nextThread:"; 11 | "E" = "previousThread:"; 12 | "o" = "openMessages:"; 13 | "x" = ( "deleteMessage:", "nextMessage:" ); // Defaults to going to the previous message 14 | "a" = "archive:"; 15 | "s" = "toggleFlag:"; 16 | "!" = "moveToJunk:"; 17 | "r" = "reply:"; 18 | "R" = "replyAll:"; 19 | "f" = "forwardMessage:"; 20 | "^s" = "saveDocument:"; 21 | "u" = "toggleReadState:"; 22 | } 23 | -------------------------------------------------------------------------------- /dot_config/klfc/extendVIM.json: -------------------------------------------------------------------------------- 1 | // Colemak VIM layout 2 | // Details here: https://rgoswami.me/posts/remap-keys-xkb-klfc/ 3 | // Relative to the base QWERTY 4 | { 5 | "filter": "no klc,keylayout", 6 | "singletonKeys": [ 7 | [ "CapsLock", "Extend" ], 8 | [ "Alt_L", "AltGr" ] 9 | ], 10 | "shiftlevels": [ "Extend", "Shift+Extend", "AltGr+Extend" ], 11 | "keys": [ 12 | { "pos": "H", "letters": [ "Left", "", "Backspace" ] }, 13 | { "pos": "J", "letters": [ "Down" ] }, 14 | { "pos": "K", "letters": [ "Up" ] }, 15 | { "pos": "L", "letters": [ "Right", "", "Delete" ] }, 16 | { "pos": ";", "letters": [ "Enter" ] }, 17 | { "pos": "N", "letters": [ "(", "[", "{" ] }, 18 | { "pos": "V", "letters": [ ")", "]" , "}"] } 19 | ] 20 | } 21 | 22 | -------------------------------------------------------------------------------- /colevimIS/xkb/scripts/executable_remove-models-from-xml.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | from __future__ import print_function 4 | import sys 5 | import xml.etree.ElementTree as ET 6 | 7 | if len(sys.argv) != 3: 8 | print('remove-models-from-xml needs exactly 2 argument', file=sys.stderr) 9 | sys.exit(1) 10 | fname = sys.argv[1] 11 | mods = sys.argv[2].split('\n') if sys.argv[2] else sys.exit(0) 12 | modsWithPrefix = ['mod_' + mod for mod in mods] 13 | 14 | tree = ET.parse(fname) 15 | root = tree.getroot() 16 | modelList = root.find('modelList') 17 | modelList[:] = [modelXml for modelXml in modelList if modelXml.find('configItem').find('name').text not in modsWithPrefix] 18 | modelList[-1].tail = '\n ' 19 | root.tail = '\n' 20 | tree.write(fname) 21 | -------------------------------------------------------------------------------- /.chezmoiscripts/run_once_age.sh.tmpl: -------------------------------------------------------------------------------- 1 | {{ if eq .encrypted "age" -}} 2 | {{ if ne .chezmoi.os "windows" -}} 3 | #!/usr/bin/env bash 4 | # This is problematic, and necessary 5 | # Will try, in order: 6 | # - brew 7 | # - source build (with go) 8 | # - prebuilt binaries 9 | 10 | 11 | if command -v age >/dev/null 2>&1; then 12 | echo "got age, good to go" 13 | # has age, continue 14 | else 15 | if command -v brew >/dev/null 2>&1; then 16 | brew install age # Typically MacOS 17 | fi 18 | if command -v go >/dev/null 2>&1; then 19 | git clone https://filippo.io/age && cd age 20 | go build -o . filippo.io/age/cmd/... 21 | mkdir -p ~/.local/bin 22 | mv age age-keygen ~/.local/bin 23 | export PATH=$PATH:$HOME/.local/bin 24 | fi 25 | fi 26 | 27 | {{ end }} 28 | {{ end }} 29 | -------------------------------------------------------------------------------- /dot_config/sway/conf.d/scratchpads: -------------------------------------------------------------------------------- 1 | # -*- conf -*- 2 | # Settings 3 | set { 4 | $ms_pos border pixel 1, move position 1px 1px, resize set 50 ppt 35 ppt 5 | $sf_pos border pixel 1, move position center 6 | $start_ms systemctl --user start foot-ms.service 7 | $start_sf systemctl --user start foot-subfloat.service 8 | } 9 | # The main scratchpad in the upper left 10 | for_window [app_id="mS"] { 11 | move to scratchpad 12 | floating enable 13 | sticky disable 14 | $ms_pos 15 | } 16 | bindsym F1 exec swaymsg [app_id="mS"] scratchpad show || $start_ms, $ms_pos 17 | 18 | # The secondary scratchpad in the center 19 | for_window [app_id="subFloat"] { 20 | move to scratchpad 21 | floating enable 22 | sticky disable 23 | $sf_pos 24 | } 25 | bindsym F5 exec swaymsg [app_id="subFloat"] scratchpad show || $start_sf, $sf_pos 26 | -------------------------------------------------------------------------------- /.chezmoiscripts/run_once_install_tpm.sh.tmpl: -------------------------------------------------------------------------------- 1 | {{ if ne .chezmoi.os "windows" -}} 2 | #!/usr/bin/env bash 3 | 4 | dumbDown() { 5 | if command -v aria2c >/dev/null 2>&1; then 6 | aria2c -j2 "$1" 7 | elif command -v wget >/dev/null 2>&1; then 8 | wget -v -c "${1}" 9 | wget --trust-server-names -v -c "${1}" 10 | else 11 | curl -L -J -O "${1}" --progress-bar 12 | fi 13 | } 14 | 15 | if [[ ! -d $HOME/.tmux/plugins/tpm ]]; then 16 | echo "You have tmux so you're getting tpm" 17 | if command -v git >/dev/null 2>&1; then 18 | git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm 19 | else 20 | mkdir -p ~/.tmux/plugins 21 | cd ~/.tmux/plugins 22 | dumbDown https://github.com/tmux-plugins/tpm/archive/master.zip 23 | unzip tpm-master.zip 24 | mv tpm-master tpm 25 | fi 26 | fi 27 | 28 | {{ end }} 29 | -------------------------------------------------------------------------------- /dot_config/gammastep/config.ini: -------------------------------------------------------------------------------- 1 | ;-*- mode: conf -*- 2 | ; See https://gitlab.com/chinstrap/gammastep/-/blob/master/gammastep.conf.sample 3 | ; for more options 4 | ; Global settings 5 | [general] 6 | temp-day=5700 7 | temp-night=4500 8 | 9 | ; Disable the smooth fade between temperatures when Redshift starts and stops. 10 | ; 0 will cause an immediate change between screen temperatures. 11 | ; 1 will gradually apply the new screen temperature over a couple of seconds. 12 | fade=1 13 | 14 | ; Set the location-provider: 'geoclue2', 'manual'. 15 | ; The location provider settings are in a different section. 16 | location-provider=manual 17 | 18 | ; Set the adjustment-method: 'randr', 'vidmode', 'drm', 'wayland'. 19 | adjustment-method=wayland 20 | 21 | ; Configuration of the location-provider: 22 | [manual] 23 | ; Reykjavik 24 | lat=64.140461 25 | lon=-21.961226 26 | -------------------------------------------------------------------------------- /dot_config/shellrc/zsh.d/05_darwin.zsh.tmpl: -------------------------------------------------------------------------------- 1 | # This file will only be included on macOS machines, it is managed by a 2 | # conditional chezmoi symlink template 3 | # The main sections are: 4 | # - Aliases 5 | # - Exports 6 | 7 | # Aliases 8 | ########## 9 | 10 | # Remove all items safely, to Trash (`brew install trash`). 11 | [[ -z "$commands[trash]" ]] || alias rm='trash' 2>&1 > /dev/null 12 | 13 | # Exports 14 | ########### 15 | 16 | export HOMEBREW_CACHE="$HOME/.cache/Homebrew" 17 | 18 | # Use bat instead of cat if possible 19 | [[ -z "$commands[bat]" ]] || export HOMEBREW_BAT=true 20 | 21 | # References 22 | # [1] https://github.com/paulmillr/dotfiles/blob/master/home/.zshrc.sh 23 | # [2] https://github.com/webpro/dotfiles/blob/master/macos/defaults.sh 24 | 25 | # Emacs Stuff (cross platform) 26 | # Local Variables: 27 | # mode: shell-script 28 | # End: 29 | -------------------------------------------------------------------------------- /encrypted_dot_notmuch-config.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBUdmVNU25VRHdpTWR0Zy83 3 | OHdHQVBHMXlQL3EvSHpTcEVDNUJKejU5QjJBCkxKRG93NWVDeGlUMUdXQVdqU2M0 4 | L0pCVVB0ZnJOcDQzWlRqM3RIc3pYc28KLS0tIDVpNGVhbTNHUVoyNDBJSUJHVXBI 5 | aEhyWWl0U3BkYjB2YXRqdDVFNEo1U0EKWSjQ/N5MldgMS83i2Mr5H4BhjXRqHmLm 6 | ffBEOwBOlJjfM0heSCS6eOAUejjVIpmDoArbeFNQtESN/9BlOlZXJQ/zAbzkZHIz 7 | 5smJApH40H6gnCVEnuOiwk8f/+VFGaSBVherjsIiAsE3zcPfGjWHY5FqyCyuyUOQ 8 | Skd0U+ZNhgo5bp4fNbiqBnBHxRiu44cSno+m1HHOAXF+N+lZkpbA9wCyNZCimJ1y 9 | dvvYL8PTXKM/+xNvzyWQNSqQTum5fEKa6pqsFQeKgub56pWlzaDO1Nxaad1MRlap 10 | EBQxMcf8u5XbLW6BNQey1L6fBCmzJmp0jnDoTkW8VRHKQv3feKngdQL/aSOUKRO8 11 | TaJYR5nLFiILMmPauzhpTBCivZvgrnXyLqUV6NIziwjtOS9rCyK6oli7CRXPsFCI 12 | Eu5YRjv4lJ+2ll4Q1wVZqtCdikuW8Rt0H5v2yRSZMuV9kxkxmfFqonTXrJM8/Hjw 13 | imtC9+GVAVWRgQ4f15SO3f/xYXLihWqQidn6i9x82GIRyBI= 14 | -----END AGE ENCRYPTED FILE----- 15 | -------------------------------------------------------------------------------- /dot_config/foot/foot.d/theme-solarized-dark-normal-brights.ini: -------------------------------------------------------------------------------- 1 | # -*- conf -*- 2 | # From https://github.com/DanteAlighierin/foot/blob/master/themes/solarized-dark-normal-brights 3 | # Solarized dark 4 | 5 | [colors] 6 | background= 002b36 7 | foreground= 839496 8 | regular0= 073642 9 | regular1= dc322f 10 | regular2= 859900 11 | regular3= b58900 12 | regular4= 268bd2 13 | regular5= d33682 14 | regular6= 2aa198 15 | regular7= eee8d5 16 | 17 | # regularN brightened by increasing luminance by 20% 18 | bright0= 08404f 19 | bright1= e35f5c 20 | bright2= 9fb700 21 | bright3= d9a400 22 | bright4= 4ba1de 23 | bright5= dc619d 24 | bright6= 32c1b6 25 | bright7= ffffff 26 | 27 | # [cursor.color] is deprecated 28 | cursor= 002b36 93a1a1 29 | 30 | # Enable if prefer solarized colors instead of inverterd fg/bg for 31 | # highlighting (mouse selection) 32 | # selection-foreground=93a1a1 33 | # selection-background=073642 34 | -------------------------------------------------------------------------------- /dot_shellrc.tmpl: -------------------------------------------------------------------------------- 1 | ########################### 2 | # Shell Agnostic Commands # 3 | ########################### 4 | 5 | 6 | # Platform 7 | ############# 8 | 9 | if [ -f ~/.shellPlatform ]; then 10 | . ~/.shellPlatform 11 | fi 12 | 13 | # Specifics 14 | ############# 15 | 16 | if [ -f ~/.shellSpecifics ]; then 17 | . ~/.shellSpecifics 18 | fi 19 | 20 | # Wayland 21 | ############# 22 | 23 | if [ -f ~/.waylandEnv ]; then 24 | . ~/.waylandEnv 25 | fi 26 | 27 | # XKB 28 | ###### 29 | 30 | if [ -f ~/.xkbEnv ]; then 31 | . ~/.xkbEnv 32 | fi 33 | 34 | # Nix 35 | ###### 36 | 37 | if [ -f ~/.nixEnv ]; then 38 | . ~/.nixEnv 39 | fi 40 | 41 | # SDKMan 42 | #THIS MUST BE AT THE END OF THE FILE FOR SDKMAN TO WORK!!! 43 | export SDKMAN_DIR="$HOME/.sdkman" 44 | [[ -s "$HOME/.sdkman/bin/sdkman-init.sh" ]] && source "$HOME/.sdkman/bin/sdkman-init.sh" 45 | 46 | # Emacs Stuff (cross platform) 47 | # Local Variables: 48 | # mode: shell-script 49 | # End: 50 | -------------------------------------------------------------------------------- /dot_config/foot/foot.d/theme-solarized-dark-high-contrast.ini: -------------------------------------------------------------------------------- 1 | # -*- conf -*- 2 | # From https://github.com/doomemacs/themes/blob/master/themes/doom-solarized-dark-high-contrast-theme.el 3 | # Solarized dark high contrast 4 | 5 | [colors] 6 | background= 002732 7 | foreground= 8d9fa1 8 | regular0= 01323d 9 | regular1= ec423a 10 | regular2= 93a61a 11 | regular3= c49619 12 | regular4= 3c98e0 13 | regular5= e2468f 14 | regular6= 3cafa5 15 | regular7= eee8d5 16 | 17 | # regularN brightened by increasing luminance by 20% 18 | bright0= 08404f 19 | bright1= e35f5c 20 | bright2= 9fb700 21 | bright3= d9a400 22 | bright4= 4ba1de 23 | bright5= dc619d 24 | bright6= 32c1b6 25 | bright7= ffffff 26 | 27 | # [cursor.color] is deprecated 28 | cursor= 002732 8d9fa1 29 | 30 | # Enable if prefer solarized colors instead of inverted fg/bg for 31 | # highlighting (mouse selection) 32 | # selection-foreground=93a1a1 33 | # selection-background=073642 34 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_coderefinery.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtUDFYWnR1Vk5yNzQ3QzZR 3 | dHcxTElUd3hvZTBBL3lsSkJCeTc1cldyM2tvCko1dGhzeU0zQkthV0xVQnV0R0FT 4 | Yyt2Q05iUmMrVVhEVzhQYVB2MGFoWDAKLS0tIE50Z3JmeFhHYS8rZ3JUTDFqcmVz 5 | V1FyY3NOVDlRaWpza0EzeVlDTElZejgKdW7APcgNxE/6W8b9r2Peu3l1AJmMQFLG 6 | SwvzjpIuk7Ir5PF9/YqGa920ArYe/2ajqmLir/2UuBMnbLdxRBU0JWV1wrYVU80l 7 | bsMAjeNNDQu0l7sdR/C6Neg96OgvCIBFQU4YPX/XWieBSfeCfDA3aaXyEh5Zp4Jp 8 | nSXlX22ZAxkzr9WaDMEdJsZN5RW/LhEFtcUpGDtpyci4TZGoseDhz2jcvhKXhOi7 9 | 3wqY5j4lShhA/gZdZHGP/ohUVz91n1N7DJEE0cidlMI5I2ZoNTtCS+Zov974Sk4b 10 | h12cQ0LHfAIfVrYX1Zu6elSp6/0zNWWoI0rxMIsGUYun1Fe61mSZacIEDqm1k9Il 11 | qwm7sGwApRRc0p9XtuzPskZ6OSl79EakwXk1FfXOIMy1eyPxXXzFKpX0GQ8JZpLC 12 | pLCubSBNxBmXSszeLrnPCIOwj5ID+sVVpYW+ogzb0gChrgkUkJhz+2HR+D4uXLYj 13 | 1JR+mUAs12NSA9bqQ2MHhRfxG8zBc719VbTeWXasvramFiCvlQzkVI85O6SGB7qu 14 | IjAL0RUyz3kHDFZMeQUaOoyll+95CUM= 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_lumi_ed25519.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBZS0FBVTFNN1lMMm1XeU5G 3 | UG90cW5FN2VTYm96YWhvVGtwckcza3NsNEIwCnZpVWFMNTQ1RFdxUXBEWDNaWEtl 4 | MzJxbzdMdkNIeFJKVW1kZkVSblJNMTAKLS0tIGFjQ2hWckU4cFJCZ3FJZjhLL0hZ 5 | bkZ6cjc1MXByVlFIMlRia0dxS21GR28K/I27RoykVk7KpYRHsG2yzBN6XrcyhWZ4 6 | RiTUvG6UmVEr6IytOKTODd9juTRRTofKAFYtOfwxHw2ldzxRCmPaDyKDAVTmT6m9 7 | C/wBanTzQZDxwriR3kXu43MIxZa0eAq03tVRV2k/ll6hd4hxUFo6zksP9z7rK/qa 8 | 5VSHa7kcr+O8CSueIv9GhXnGUlIGOagoi2mOwXq4+EGVvcmIWjmaEbKIPW60xSFr 9 | MhOkOT6KhiO5QoSt6DLEaAS5tldjTzEsWv0yd2+YGFVsCod5/4GVMNmxidv6Yv0V 10 | wMf08kbThvyK49fU/9h6elNoLw+O6jSQbOw5HP+4w+UdgUYqRg+8NK0fIgxvL2Dt 11 | DUNhPZoVUnZ68k1XGecmhctHgg4kXArvvlxxB/NL+tAlzlBmTTo7lNeYHZc4Cg1p 12 | 2hnwz2def9iUFMDLgPaMzmC0bFzkygyCwyGvkNQ2Emy8gvOs71pd1KSglAxP9dE7 13 | iv1ZD+ZxanhBXElnGmK/ulIcprx0GFHDH1FsvtSDvIl5fLpbdiAjR1vi16uekRHR 14 | FWSV7fz15nSQ7FtZj6AphGumwdRXe5Y= 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /dot_config/foot/foot.d/theme-nord.ini: -------------------------------------------------------------------------------- 1 | # From https://github.com/lauroro/hyprland-dotfiles/blob/master/.config/foot/foot.ini 2 | 3 | [colors] 4 | alpha=1.0 5 | 6 | foreground = d8dee9 7 | background = 0c0c0c 8 | 9 | regular0 = 3b4252 10 | regular1 = bf616a 11 | regular2 = a3be8c 12 | regular3 = ebcb8b 13 | regular4 = 81a1c1 14 | regular5 = b48ead 15 | regular6 = 88c0d0 16 | regular7 = e5e9f0 17 | 18 | bright0 = 4c566a 19 | bright1 = bf616a 20 | bright2 = a3be8c 21 | bright3 = ebcb8b 22 | bright4 = 81a1c1 23 | bright5 = b48ead 24 | bright6 = 8fbcbb 25 | bright7 = eceff4 26 | 27 | dim0 = 373e4d 28 | dim1 = 94545d 29 | dim2 = 809575 30 | dim3 = b29e75 31 | dim4 = 68809a 32 | dim5 = 8c738c 33 | dim6 = 6d96a5 34 | dim7 = aeb3bb 35 | 36 | ## Misc colors 37 | # selection-foreground= 38 | # selection-background= 39 | # jump-labels= 40 | # urls= 41 | # scrollback-indicator= 42 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_ruhi_elja_ed25519.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBwYk9DMnFVMVZqUTFNMVFL 3 | WkgvdUk1UXhsRW9KVVc2enpPS1dZWVhnNlVNCkptS21vYkhOQ2UyY1RpTUZHSFkz 4 | RHo3c1k1dkdoR1M3WXVjeGRVSVNDY2MKLS0tIEx5ZHpDNVdMUTlmYVN0ZkVnaG50 5 | blNFcWJnRWxFc0J2a1duUFRtbTRIWDQKAKbu1N7vvftHeGOpK/i240V/6nO1CRET 6 | LMJ5iMmVeIbs66OM+3S7aO4a50NikIAX3yznwcYnFAwyKxMSD4X3PQwyHOODgzle 7 | BlnhsoVv0VpUu84hGKTwhDvMhq2zAvGO0NLlrLUZTFLPziAZWexsr+n4oAxH465X 8 | jZoTYZAgqGz0/79JfLbzEo9dKOaJizshecGu+jHEEqmMa+FmxeSj811UfCuP7vN7 9 | mKtJWTknbgo4buF0qUCT1ulmGlcpoS0VeYbw6pJgHlm/e81us3oV+CEK3r+7wZMT 10 | hQEQS033UUaQ/G90iY38CO8AG7wwDng6SPRjDYvfxxMOXZNFSKe/i5yqJAE+Z+P3 11 | b6Hy2AJCX4cocP8OPUE/oqPdY5vVP1DyNt9gBkMkbOaBEgoUszs9c81VnY9owzNv 12 | uK6j9P+Xh7PmJxnfVy8b/Q9tCeCYw6OiTwCSfcYJpWkOIwIwP9JCR/G9NMyOFoG9 13 | kBWYVVXd1E0vBol8oV2pHC6AWCRlMhUzxr5ignjFbtxlhZHnWOcly3MOEzGOYsvn 14 | xG5ZrKZbaGFfOJ9PCMsQ5Hf3AX6wTf0= 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /dot_config/encrypted_isyncrc.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTRDlzTjdnd2hDQVZmUFVN 3 | VWU0Y1BEOWd2MDdFZmE3Y2F4VDlFU2h2bXpNCmJuNTBWRXZTcWc2bVZMS1d2aGRx 4 | TkY3bFkvalk1Z1UwNDR4cVhTZjg4M3cKLS0tIHdoKzY5R1p0MVlTTVNnOUZ4QU5J 5 | VE10NkVHUFZwamxJcmwrb3VISnBKS1UKlpMdbDkBLkpgUFp+df5iLIMin3fjq29j 6 | HftHzhevJLcM6fl4WADfxAaTdlZovIaLLm/ebb66Cbirlh61BHfLVRjLdz6IJJVz 7 | rXEbZK+yWscU0Xjbd3SwYFgiqp4RChdOaweja6R2m9Fqoeo2fHaXi97zGFjTPuZN 8 | EzqgIIxnjW4R2RhtCOOVSDTHGvqKQcj6RLqHcYc6Q8uO7mWDml+2eHhZDLnBim70 9 | fbaE6F5TxQ8Vi06Ludch/1zMPFrPX9QbqM01riNvvC7X2MtuQnq8AV44JMUi2Z8s 10 | j8eHQhoMRAI9sqUXM8CdXcqLtNEwIbA8OjAy4HBf8dFl8ABn0qYSFsXXI9acJjzy 11 | xCC6RPMLjWFT6kXyY7nBdEPLjxEIjaw5e7KJR00oSLEmFZLya5Ph5garm33P4zS1 12 | LJ7yFTf40ocjSDtLy7HZFwLWfF2JbexevaSx01iEliZ34/VMgUsliWqxEA0d5RCN 13 | A6i9B0JBxPi693JFZ74gUIbnGkjM8njAshOYvt1GVZzfkyUEZaY2aHJMiO8bkMYB 14 | +PZUjwasUwDSfEqGseeGoRNsa/abfOhrMQfqXK7aLwKmfCXNt+co8kpBXF+m 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_hostinger.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaS1NPNExTalR0SjhLNlhZ 3 | SnprRy8xT0c1RTNmbVlkeStLeG5WSE44bUgwCmpCRldpNE4xS24vTU9JeFhHSitH 4 | aDg1R1dETFl2c3cvQmJEeXphYmVoZzQKLS0tIE5aTUdEWU1iYnMwaXJodVd1V29J 5 | OCtQUFN6c0JRLzlycFZ1aVNtb0g0cHMKjUodapqWfghOI4P8ezOsau08qvpFx+gy 6 | C31vZD+2OjMlmV/BOLn1D107qul78fg+pdjLEVNIO/jUazbeuh75VuA6hkhzNXGC 7 | BHm1lc3wSKzNfWsrTgvXn+vgrfssBxnSy075yruhZ34svrolFYQWN2YfFfENFmqc 8 | SoXUIBZEN3e49kb9SnHdWpg7X58udToT0tHQkroNJTBhdy1ROsOMZF3BS49i3Ik0 9 | Bso4J3leGVEHcH5M2BLl1/mqAFDNF+cdCS1/NYlGkim1mpZZV6Z+mDcQl7PKewEv 10 | Dk+I8dxAlEGZ4Pw6SNSF0p2247W9R3qIvnU/DhU753aTAbIxJHWdLvsERVplDL+h 11 | xuNmxn1qIKptuVCWA39YgbbXYIgb/lH3S67lBEfcBTk0nW6X0x5Nn+YYz6Kg39+1 12 | wRAHZT51Vmnh2Vn1WDAHdunywfPu0V2nnb5vpYEJl2+xvwmGwM8hV0FPKK/xm6LN 13 | msfnvclQeSYLC1vLeKY2lxZUai+ZtiqbJJIi6N4cmW30x39QZPwBkInxxcQ1vzld 14 | GAg2kBXewAZ6q8WeiT0+3QBPCAgXt8EYTwmreLc67oSTj+0= 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_uta_compchem.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzaFpqWFoyNzlJd1FSUGp1 3 | R09zaTN5QzhybSs2cGFRWDFPS3ZHR1d0YlVnCkJqamU4N3huUG5tQ0wwZmQwTFpK 4 | SG5HRjRHdHNEQUpHdjkvbVJnVk1WZVEKLS0tIFZWTTZvQzg2M3JuTkN2Q3dQcmlt 5 | Rm1uaFhieEh3TzdxMUI4MXA3V09RL1EK8Da7TKZwGyUlNCsEc3bxLiSPlXmBwlzR 6 | RWUFYQ9S5rJe1mViX5JM7r10j6gdH/qrGLzHqSNIBmgSiBoFHQQIoN/vPjo02saL 7 | mNiXpU93puJy5dkC8Pq62dHbR8gz1AIte0Dyrxlkc1k5jd4chx8Abr6vxzSu+kSl 8 | DxCMpvNeoaiL+kLN7lQAOpk4qSKwNaNYXp+JQ7bVES6psUjyfgQevHBXRYmXZELM 9 | p77N+PNe8V5wld2vBbsT9Mb9PKcrzWjRwIPNz9hr6/mlH/s3MMqRY5C8x917ACoD 10 | rWvto1GC6PHxLkiy8cpBLaR3V4u1QL9xeX2m+IiHccLcpxF5t5Mo9NA9DgJaUMHq 11 | fuuQYqnsHGxYP74OtBYdsds1aJXnKOEWzSPXYOxFtDK3nGagYbUvX3jj9Nk82S0U 12 | ifiw6Y90o++J+/bcRLb/BmQU4kxgbXTRb9j+15Iay2jB0qkv7nu4TfzDiGaD4pNd 13 | aQrRTSOff+41/w3H1euPeTMvhJ6GEgCCMQPC8NibcA450T+5lQeS5uZPlLr+r2kH 14 | yUeNR7JbFpse5Jvx0qmr1+dBzhjQAi/XjkxJSQHM+Ntv3EY= 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /dot_config/foot/foot.d/theme-darcula.ini: -------------------------------------------------------------------------------- 1 | # https://github.com/lilithium-hydride/dotfiles/blob/master/stow/.config/foot/foot.d/theme-dracula.ini 2 | [colors] 3 | foreground=f8f8f8 4 | background=282a36 5 | regular0=21222c # black 6 | regular1=ff5555 # red 7 | regular2=50fa7b # green 8 | regular3=f1fa8c # yellow 9 | regular4=bd93f9 # blue 10 | regular5=ff79c6 # magenta 11 | regular6=8be9fd # cyan 12 | regular7=f8f8f8 # white 13 | bright0=6272a4 # bright black 14 | bright1=ff6e6e # bright red 15 | bright2=69ff94 # bright green 16 | bright3=ffffa5 # bright yellow 17 | bright4=d6acff # bright blue 18 | bright5=ff92df # bright magenta 19 | bright6=a4ffff # bright cyan 20 | bright7=ffffff # bright white 21 | 16 = ff79c6 22 | 17 = f1fa8c 23 | 18 = 3a3c4e 24 | 19 = 4d4f68 25 | 20 = 8be9fd 26 | 21 = fbfbfb 27 | #selection-foreground= 28 | #selection-background= 29 | #jump-labels= 30 | #urls= 31 | 32 | -------------------------------------------------------------------------------- /dot_mail/rg95ru.gmail/encrypted_private_dot_gmailieer.json.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA0aVRFRmxKNEMycWdldzRw 3 | eWdMdnhBbW9tblNsTUt2RXRpeHQ1ZnNYaVE0CkEvSFJUSW8raGpIOTE5cHM4UUZQ 4 | Rm50ZEI4dFQrRXhIK0JjelVQYzZGUmsKLS0tIGFaTHRHaS80d1YveGgzM3M2NVZW 5 | cFJKcWF1cVZvQzRYRGdVQTY2bCtvMnMKrNqc5gsw7tvqyZWqGh/67XCTQu2/Gl7q 6 | G8Pk5Xyiw/xR8o5Tv9zPvTxNiFKYFgsZcIzvdD7LYY0p2rZIQ/91SZs5mNrwEV8G 7 | XrqNcXTl8aSG0yy6Zb7ylovH1+EVmTeNVQg85oATemRumCX7pavMH9h71vUmMP8F 8 | 6aasbnij1puZHXm2SMuL6tr4T2Uqfr9CbtM+kIzCo2RX+XgQeD/E6IyDYTEhzlgS 9 | mNiChLYlH1HKZNKMFCOebKAHdFoyqxI02WyjRLorRjGSJ3v6A9/p8pWO8LMK59VC 10 | HMk9GspypBgxCaKPuWC2/6y9NQjaKDdpvjwds+7cc+AAqTOrkeGJgv+5KcyDmUio 11 | ytPenhzYDm/E64FisSAkN6Wop8W2Z2PV6gu7kFZ4WsEmzIffo6wMJEBWp3E93iVS 12 | y0Oh3BOvvHbsZf2sajvcBnJ0fZ5wbvt89WrVxAxNY9mbRKgUxUlAjG0SoxldzmOS 13 | J9hiW01+OZXv8IIDKuoK2ZPaJcSXnUUeOFbJ0AIMJJu2LpHokSd6Tbu3WNK/qa9F 14 | jqSnLfV143i2Io/ozSChjSNVz/WVNkPYwe3pr/vqfigv 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_id_ed25519.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSektudWxFd0hneCtsRlNo 3 | b1A0NlQ3aU9LdzlWOFp5SDc1cldnK1VMa0FNCnUxTTErL1NFNnZkNEpCOVBjZ3Fj 4 | dHRmaWVPVUhNZ0hRNTB4UEdRS1FrUDAKLS0tIDg1K2MwVHNOTkkzYWZoaWlkLzNI 5 | SEJ1NVpMRWI3aWFhMnc1ZHZDUkZEMlUK2ua4v39zK/ubWqnBvd/ocgK7fYaWLfnt 6 | GEADgy0r4OlYTHfKF9tqNPkWT+/JEZ3BsiYugOE31ODxySEooHBnIbPlNjVr6YG/ 7 | LNEb8Q+VF6g1MyVJaICFZQx7xjrjbMVXTrv2OrwG0skg5R54VED+DKter+KQdbF3 8 | Sh9UfzfXDKlNKjm5zJYUM+NdaVArbaK94q3B8LtM5+dCbatxLVKa07pu2WylmSy8 9 | IBwtDeg9m65X1+3tm42M6bMweUyNVqujLKK6HFgn+l1vRfi9G5tQ05QJCXmYWrWZ 10 | rheOfTpV9Iu86VaBT1ulJ3TKNvoGW8rD9aiLseuuXpBBrk6fizJoIAuFDRKwVsUt 11 | PksbkGgwJIRJk8a592JvnsQhOeHaaksXcy6UILZ6FRG5S7s7HYZOHBs2wMQTSkQn 12 | d5ykqf0l7k/bb8tZ2FwxOFr35DJ6f7B9kB+ZE5vT+ZV3Nf1Op/aOiiqSn5oXR+XZ 13 | p4AZZmxI0TncY6PJt6TsTxQt00rlPrjns4nOdlZOHKc1ZanHCnJtm6jo2cQT6rQJ 14 | pXTm4iX6R4kvEXxVOn1igHti7KME+ITCN/GdxQ/ZDBajOZDDFezeQ6WUKw== 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /readme.org: -------------------------------------------------------------------------------- 1 | * About 2 | For historical purposes, the older versions of my Dotfiles are 3 | retained as branches. However, the ~chezmoi~ approach is current. 4 | 5 | A key understanding of the workflow here is that Dotfiles should be 6 | per machine, and not generically per configuration. 7 | 8 | By leveraging template substitution, conditionals can be eliminated from the 9 | actual shell scripts, which allows for a faster shell. This does come at the 10 | cost of portability, without the backing ~chezmoi~ machinery, the scripts are no 11 | longer very portable. 12 | 13 | ** Usage 14 | To get started, we need: 15 | #+begin_src bash 16 | sh -c "$(curl -fsLS chezmoi.io/get)" -- init --apply HaoZeke --branch chezmoi 17 | chezmoi init 18 | #+end_src 19 | Note that the ~chezmoi init~ command is being run twice, to grab some sensitive 20 | information which needs the encryption settings, as [[https://github.com/twpayne/chezmoi/pull/1521#issuecomment-940840570][discussed here]]. 21 | 22 | * License 23 | MIT. 24 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_github_ed25519.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB2U2tpdnhkVmRqWkFzVGpN 3 | L0RkTzhmUXI0UXJyRlhGakdwTy9qdkdPYjNrCmdGZTB1NjVSUmF5ZWZTcmhLNzgw 4 | a2xsK2ZjbXoxZlVEeGE1dGpRQ1ArOVEKLS0tIEdaSGJEbjFjdEtyK09yb0tRUWFo 5 | OGFXQ2QvTFlNVjhxY3ZZZW9kL0tWNlkKpKQK1JNVh0h6Zfsx1f59CN5kmtJD6vAU 6 | K5NLd/KVc8jaogBRMHKGFoEABvQPhPV/Y3CEFSFG+oUJzO75rX4tBU2GRf5BymbP 7 | 7a+fvMfmFyTiFIVkxFNEGdkQXQ+5R7cZ0OvZB3fY5VLUMjWIFVh0Puui4c8Qiudv 8 | k+RW2HoiZ7O+vap3ijq6GhXuf43gcXYAX5ZJWTTKyVvtF9Gt4PXA9Zf/9EaCXtFq 9 | U1cVOnbYbTSalcUvr/OnR5dzYBx0imuBAiWYSsI0yqb0y8NZiMUT42zp8A2emX5Z 10 | yjZJh/VhLmwwnhNiDdFoplApCHPbgvc1GjPnyt7bowyZa9VDzLzbpAvH1+/fWg1V 11 | npf/hdY85u+6afpsw3JHUqj72TF4EHGD5zpMa8w8KsZhQQ6QSiHWq39UqfPP1bA4 12 | udmOvEMgi0gGTseg62d5Xu7JI47wS6hZObwnsEnDEqyPN9fXkQObRSwO5TS1Czku 13 | eoAmthdBQAMWQXkfUYXk60F0sMlXfXezLRLkPQIY2V+g7GbHpQMw+4X0QwXRr2Gi 14 | 2itp6n/uzMC0zwAAKLA5ymZmpvxPeJZmHMtlf14FxQVPsfK/iWVyrYd9+w== 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_gitlab_ed25519.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBFVnhUR0dvNEdlaVJMNmc5 3 | dGpHM1BURmdjTmhGWUlpbFZUWDBISWhvYjBjCmM2d1ZNZGJVY2NTVkcveEdET3Nw 4 | cUdxWS9hcnNyRnBwN3E0OEZUZGF3ZFkKLS0tIGMrSTNHOXJ0UHgxVzZwNGRJaWJ5 5 | TnpZQytpbVRBL0U3anJpcUFRbkVSYncKA1r/Rq7T+Q/3Wwxvc/HalN1lMnnEyGFJ 6 | CeNbC0kgS+fjh2Xja25DGHKMW4g3XO9HA68OVut8/+RN30dBn75CNfJFFwMTIhNh 7 | tumg4Og0Mu76mktI6UGP/34MAGiwxt68fp8ZjRtK8toKjpsos/CZ2kIjegIT353r 8 | 9j1dEzABRuHl9CEL8BQN3wKn46X1vngUMLNOjniKQZd/Qqm2Yla8h4cgdNtu/bn4 9 | kbgZbTZAunZSkJG4g3gr+grSUkIqDhEBxU4qfwFt3UK3FdF81RGmJ0ExZyeRAsaQ 10 | uU5sQQYfMVejPz5sLBHv2TN7F4DQW7gaNnsrXFiTJ697YnwKjnQvYP9DxZnR0r2T 11 | j23lDppn+uT4MK+47cb/wsArOdvcmYJMUXKu/klyBA5wAOTlr2NrYbTzYR52dbaJ 12 | FhBBl/AIgUSHRl9YNTfuBEWuXMnsRxYBSw/hKYe08X4NaYooFq0Up9rVwJVoiU6e 13 | yU39R7tlqkqTDGKKUhuFoObNbv/dhk/DNbUvLSQiPOasFXwFv6TQoLSKQd1gSPZi 14 | zGlm2z0Uaq8y+aanAzzOv9IgzZRAQd+5UmXuqqK+eNEtuyCiMdsixJBaFQ== 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_ruhiGit_ed25519.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBDelYxaktxT21nZDRKSUNs 3 | aHZMckp4amVxRTc3RzFqV3RtdWdZU0Q3Q0RrCmQ4Y2ZmVlczSyt5QmlPdG9KMDVM 4 | aXhIRE9mQjFCTnZScmphNmFQR1IwUUEKLS0tIFNEMnREb2dCV21rQjE2d2RHQjdF 5 | SjJKc3c3SHd3V2hMSnZnTGcyWnpZNGsK73wH0CWptnzaToZwlUK3sQVc8mMrol1d 6 | HT75L8TN6kIR8TzyjDYwuaIXo99YcRH98lbIfuTU8Z53BB3H9zOiDNBRBAt6UJj/ 7 | hLpZD0hGkeDryCvKusvhHX2TqR+MMkFjptOMujp7P7FDQa1+1HodPCNgi0Acsm9D 8 | 79TVyJTsu7hV94nqvllg95cmqED2VmEvDqAQdYC5ty85RNAdPSxt/IcESomdhExF 9 | OWNI7gtjK3OVMNuHqy8SKYtEHE/iRafj5cFoX7Hwxow0Cwu98j6DDr43LnLFqY9/ 10 | ZOjtly5ZSyRVQZAybrWTmA5K/eYB6D+u+85FOKVEyq/g+rV5eI/ZvvXKZBkqUSXx 11 | mvgOx+8q7H3xHO8t4SCACMBBOXmMcMS9grhP2EqsYt7cjSADSQPMAd1P7lFbgF5A 12 | rrjP3xeruE4oWgqrTYGwcxmpB+BiO8NubdJzJ9+zXzTCyowQ9BWlz2RUCK6vU9Hh 13 | QI3b7K3b1I6c3PvuXGJ49AaI5eG3sl5xjKuxv7rcc+jQTDoOu2Is7aoiTk4kHQTN 14 | jHGUo6aUnHpnlKOpbwNb1YXNhaeEZZqLqtFdaTA0pMDXZmCxVLCgGa916g== 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_hostinger_alpine.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBnS0RJbWZKMDM0bFhNaGZm 3 | M2FXaDVQQTUwNkRJZ0NhSlJ5NElHUkt5U0NrCngxZnExb0F3QnVmbUdDamo5WmZX 4 | MkJKRi9pSzk5WWN2UWk4bUpSN3hQMmcKLS0tIEFNZ3pJYnVOVnlsSVFtRFhHMWtG 5 | WDVjam5USHpnWDJMWTVOVXlLY2drM3MKnHouxCI6QIM9V1MpkPalVAdQf+kfMoLG 6 | jkEOl/lnTqFfnA5t90p+7McYL3U71RWvb6HWix/PF0j9X7LK6Unq43EMdsIeK9Us 7 | tavjyzIfwIF0zjfmjXZYdVK+yKD9LIv2a+7vdc9lsw+DxKkQDJDe5YRVPdJTx6NJ 8 | 8wFOK6S7t/2m1CvbypVlQHubFcLqYMa72ZX+gGy1IiOVbZYeZG+CSnx4w43xYYQD 9 | 8NXYVo31ZhvIbivza2BjplN6iw1z+l4ArhKoEAWjkW2C4iQVdvqIPRs97RbHUsfT 10 | jykxbIRl6K8Pag6s0ksegEamFDzDQBAu9NOJ7QzMOEkiqt9p9DlxdnWUUa3pKWN3 11 | d4n2rCDf8XYRKETuQco9E+tyOoaKDEw7Byu9Gh913jvG3RyaWh+GawHsKfvxEFXN 12 | 657hT0Y+pdMrAmXbxxMnL2etaNZ0lTs/H66ksvy+SORHBKaSW66xxKXpszkdj6xT 13 | ghHE8kqW4uNReiHhR41ZaBhUayjofNg6qd7aMpC6QawFyCCJ+FqhjcGEPgA+4QWE 14 | 8sLqUCdmDWAerfWzPK00ihN6/9VYKPwAgSOEGVllwajs07ENctZR03U9dw== 15 | -----END AGE ENCRYPTED FILE----- 16 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_id_ed25519_quansight.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSAzSGdmaGZ5ekw1RXpqT1Rz 3 | akUzOUtjUE5qN2ZUeGdpQ2F3alJvbnQrWFZ3CldYdjgvU1QvMlo1ejNhdSs2Y200 4 | NXBhK0lUN1IvN0x3YjZ3ZHNDa0NySDgKLS0tIElZT1dqd3gzdk5LMXo0K005SU4x 5 | Z3BmOHJuNGRpQkZLSDh1YkYxNndyS1kKmjXejRQveJVMs0ClbkmZHpRq0TZreshx 6 | +LnZA8/zAV6YxH0FUnYskfMpkX7od0FJ1qV+s2eb4vHhDi3S9RR5zgd2KSM4gCCi 7 | mpKW9xQmPDPviWradqt2a5Mf/runSmyqtX8EI2f5uxNDizqRJVdR37firY0zM1Pk 8 | WLjwtTB6gwlJxWUIEH4lxti2IhwfTGS8LZrKfOVpfK68+Wfafwg1ZsEiN3V3ABWZ 9 | RFLMFyCR3BgNWEDjrMYuSE2T7/5GgxDOLsD82wKNn+nOW8LcXqccR0xJ2PeKkM41 10 | akoTSA9OMmefow+eqMjZnG9yL1jeG7x4FTuEGPJVR1ogaaxDwmZDrkH2SY9WprXH 11 | rRRif1pEuZ9Tl85/rEcNiBit/8cJ2OWsUw2o90kVQsiziA5WK8cUvNLwO41FTbEn 12 | bsZacYf0o53mKvv4gpV1IohO40OI2dvd8s3OFpKmHQxQZCxx/ne8QnksmezWFLqh 13 | og31O8O3ElOkvweYX8bx9yUBtbeTyXjIF8FsJFSvO7/kxTLVQGNuZkGqaqvjcjqv 14 | BrneliIWC2qcNHNRbUO96KFlL75qvZOXpOkIVslEcssvLCZuCKMkMU5Z68EJV97b 15 | P2Q5xUPSduE= 16 | -----END AGE ENCRYPTED FILE----- 17 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_orca_ed25519.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4ZHduelhsZmdzUjcrRnVo 3 | WUxVRW5Gekl3Vnh1NkgzNnBCMFM1QzAxVHl3CmsrUnJkaFM4TEl0enh2N2tLaXdV 4 | YnhOa3FoTDhmNnJ3am56QSsrRzloZjgKLS0tIGFzcVpQbitJQlhrTXVWd2RJekgv 5 | NlhSWGZ3WGRFQTNmS0R2NUlKK2FSZTQKncaKWcINPLsOWpJTSwdXTEZiqZ9urUyi 6 | 9rkQjo9SSpYb/vTyYdNdm1JTSNwvlDX6stXAUivg4/Slqu7y+IoKoha4owgILM23 7 | yOSoxDK0Pzt1LbDGa88iFmLwa9ShtGwZWWnHc7SPi2epvb5D4pprJogwH2vFUs+9 8 | 1QS2nqGH2Ie1qL4UJmKqOZYoTMNid1IiiKO/Eddr81oIh6RVP0/5AGRxNUSPvcs2 9 | kMjZFH07ySWBC0Mzf0TFTIsdghT/URja4UqtLUgfRYMjCxZXdMQ5NomJA8i4k0Bi 10 | 5J0C/fU14lVWufvx+yD/tUiWkKHHneE7YlVLIGySjwRYDqsXmSg97WnmD2Z32bAP 11 | ilk9U+//XFZ7ZLM8u1eKW/RhSbkeShzckX7kWoGhOHuO9NsPqWAfxIS+vQhIgZ2m 12 | a0tAlZNImtf/U3d0Gaa9ZlaLcVRFPZEX1G0Qp+cAMMDTWE6PaAqOqSxvhyrR2rlb 13 | Ifx37Ubw+LCpEFQcwfy8uFFEzrEpWQi+0w63vZi4CXm6yczh8JdRa3Xn/zqG1p9D 14 | XSz9KmW1NJXs23DGCv88qWhlFd9fbpuBtujpW5bFPAMJlJ8cQW+WuJ5u9SiqlQuN 15 | N89nc/sl52cNfVAOwyg+PoQBwoo= 16 | -----END AGE ENCRYPTED FILE----- 17 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_id_ed25519_amd_hlrs.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBiTjFLQlZtVXNLSzUzM0pv 3 | WmdhTGs1RnM1UWgrTEhJZThabVd6bWN6OHg0Ckl0UytvaldoTFhwQ1JSWFp3K1cw 4 | V3JoVXRIeEhuRWNoRW5FcTZKRHd6TEUKLS0tIFgrQ1hIeTRianNzNTVocjFmd29Y 5 | U2NsUFY1S3ZLMkFHNzZXYzNEZitZMXcKqbZRR8VTSC31zZsyy8HxK8kEvXA2tXvO 6 | yvH6Fz4QHUm/nFDTjKzyVT/VQkRHwvLWuSjxS202N4dHfnnTAScA1f5ZgWxcPiqx 7 | v/cU8cxxfNv9tkRtkI2TTfI2cdbwRlI9XQJVdAZl4Zt8S4wE4csBYx3Q86OYhF/x 8 | 96cxgG21A+sk/IixL5jzBvcFl2UEsi+LzqvllyvPG4ATnTzaa4DjAaG0VnJp14CS 9 | ustmrWOf1Ni+vq3IiEhPECf1wEGve1leVccyUhzGDm0k6iHI4gi6oUwwIIUL3RDI 10 | 9+mBUGJJH09fdUNWWRMjGSOot6uqSQh/H2ACEVpECQuBpSLxo5w1utNqk1H2Mbet 11 | aadhyN1dR4QxQrbgLSFETwu+DJeLprwVaexGtK9xFLPDdZX9Li+oJiaWKEQMAm2U 12 | xWWHMUFUauy5sYI5hkfPvC/RlxIgVf+nxLg701QoFxoIi7vDEuwMIlwLj0W8G+vJ 13 | AyO17jKUeR2N5kSOR4bDI0AcKyRDvVbeSgN/Uf1NraDLD3JR73J9EZu3NSU+u2fp 14 | o0BdtoksGgvgVddJkjhwT734oFkoH4vb8+FkULG9x9cWlEkgZWgB1yOwj16CIuFR 15 | K3dSQmoS2npNLyGa7G4RAEThqeM= 16 | -----END AGE ENCRYPTED FILE----- 17 | -------------------------------------------------------------------------------- /dot_config/git/ignore: -------------------------------------------------------------------------------- 1 | # https://git-scm.com/docs/gitignore 2 | # Typically these are no subsititue for a project .gitignore These are meant to 3 | # be kept short since the behavior becomes increasingly less reproducible 4 | # A real scenario where these are useful is when dealing with projects where 5 | # full control to freely update the .gitignore file is not present 6 | 7 | # Project stuff 8 | yarn.lock 9 | package-lock.json 10 | .yarn/ 11 | .tmp*/ 12 | .*.* 13 | .yarnrc.yml 14 | .pnp.cjs 15 | 16 | # Numerous always-ignore extensions 17 | *.diff 18 | *.err 19 | *.orig 20 | *.log 21 | *.swp 22 | *~ 23 | 24 | # OS or Editor folders 25 | .DS_Store 26 | .cache 27 | 28 | # Folders to ignore 29 | .hg 30 | .svn 31 | 32 | # Node.js package manager 33 | /bower_components 34 | /node_modules 35 | /npm-debug.log 36 | 37 | # Other stuff 38 | *.pyc 39 | /tmp 40 | 41 | # RStudio additions 42 | .Rproj.user 43 | .Rhistory 44 | .Rdata 45 | .httr-oauth 46 | .quarto 47 | 48 | # References 49 | # [1] https://github.com/paulmillr/dotfiles/blob/master/home/.gitignore 50 | -------------------------------------------------------------------------------- /dot_config/systemd/user/swayidle.target: -------------------------------------------------------------------------------- 1 | # -*- systemd -*- 2 | # Kanged from https://github.com/kuhy/.dotfiles/blob/master/system/systemd.org 3 | # scu-enable-now swayidle.target 4 | [Unit] 5 | Description=Idle manager for Wayland 6 | Documentation=man:swayidle(1) 7 | PartOf=graphical-session.target 8 | 9 | [Service] 10 | Type=simple 11 | # This will lock your screen after 300 seconds of inactivity, then turn off 12 | # your displays after another 300 seconds, and turn your screens back on when 13 | # resumed. Also pauses media before locking. 14 | # It will also lock your screen before your computer goes to sleep. 15 | ExecStart=/usr/bin/swayidle -w \ 16 | timeout 300 'swaylock -f --clock --image ~/Pictures/Walls/lockscreen.png --daemonize' \ 17 | timeout 450 'swaymsg "output * dpms off"' resume 'swaymsg "output * dpms on"' \ 18 | before-sleep 'playerctl pause' \ 19 | before-sleep 'swaylock -f --clock --image ~/Pictures/Walls/lockscreen.png --daemonize' \ 20 | idlehint 780 21 | 22 | [Install] 23 | WantedBy=sway-session.target 24 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_remarkable.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBQOWZKeTdKTCtwL05lbUNF 3 | N1BYVVBSUHlWUGZQZ2NRS1ZsVUZSSmVDZVU0CmluWlJpNmxXSVlxQ0M4MmN5UG1r 4 | aGptSVJMaFVyWlJFbk9wUkRTTnVPSUkKLS0tIHJEbzFWNEdQZ1VIditvNERYZXFJ 5 | a1RFMVExMHpVTjBkV1NIenlUdHdJTHcK4/Rvkr9HqocLM1PKKLIyAyhUjbUIbgea 6 | arBA4xyIorctFpgagxekZ+HfclxLBi36Z0EegmLX7dWzPIPXK3hUoVlQwXDToTK2 7 | TJEZvOob7J1ZDvaSFP5xkS0zikKqu3tCQqq+4J+Fdq+8CBDfCi3irHTF9fipypGz 8 | QaxtMPAY/jEdDfYgJaWZRp24gLlYeTZzLwQZEVvM+IFfsiZxUy1rQHWVurgCfZuG 9 | mZ6VhIMBN6L9CH7dUJPE5xfE25rgmralaN+ajvM97dFa8MSjBYshMNVxSGhDHak+ 10 | qhbbugN/rTypLlpwatceqLnjHCvQVl0LQitnp1nak7/FnyPB7z5hjt1wFv/aJV/J 11 | oUWqfbp2yzD3fyD67wbg04DBFt2vVwNgq29xjQ2mEV26msGkMgnXt8j7w2XxJ47L 12 | TR0WI5/Q3usgPmiFCmjsJu2In0n9V6SHQJiJH+d5fqB/6YKxFKVaBYeyKeYTvEsg 13 | UvEPDWwzigh0mkYaO2rZo/yR36xqXpMLR3b6lpeDnDlUUguuz0JP8cCF70JtRtnc 14 | Zs5SN6FEAEFYYY+F6oBz30HOaVSLzJ7VAQ/I83xRe1nl/eeIt24ZHFJT9ENjMWYX 15 | XCvoCzTZefYdTVCTrPUu8KL2QpRW3ZQdaeiuU1H4qgXQaY1tAftex8J/UQgQbwuE 16 | /8qGak2IaAUdWAMyn1sDBUpcLMOq0SlZFTEKzO6V39Uv 17 | -----END AGE ENCRYPTED FILE----- 18 | -------------------------------------------------------------------------------- /dot_config/shellrc/posix.d/06_prog_conf.sh: -------------------------------------------------------------------------------- 1 | # For ssh-add 2 | if ! pgrep -x "ssh-agent" >/dev/null; then 3 | # Start ssh-agent only if it's not already running 4 | eval "$(ssh-agent -s)" 5 | echo "Started ssh-agent with PID: $SSH_AGENT_PID" 6 | fi 7 | 8 | # Rclone Config 9 | RCLONE_STATS=5s 10 | 11 | # Common Configuration 12 | ###################### 13 | 14 | export SSH_ASKPASS=lxqt-openssh-askpass 15 | export PAGER=less 16 | # Less status line 17 | export LESS='-R -f -X -i -P ?f%f:(stdin). ?lb%lb?L/%L.. [?eEOF:?pb%pb\%..]' 18 | export LESSCHARSET='utf-8' 19 | 20 | # LESS man page colors (makes Man pages more readable). 21 | export LESS_TERMCAP_mb=$'\E[01;31m' 22 | export LESS_TERMCAP_md=$'\E[01;31m' 23 | export LESS_TERMCAP_me=$'\E[0m' 24 | export LESS_TERMCAP_se=$'\E[0m' 25 | export LESS_TERMCAP_so=$'\E[00;44;37m' 26 | export LESS_TERMCAP_ue=$'\E[0m' 27 | export LESS_TERMCAP_us=$'\E[01;32m' 28 | 29 | # ls command colors 30 | export LSCOLORS=exfxcxdxbxegedabagacad 31 | 32 | # declare the environment variables 33 | export CORRECT_IGNORE='_*' 34 | export CORRECT_IGNORE_FILE='.*' 35 | 36 | export WORDCHARS='*?_-.[]~=&;!#$%^(){}<>' 37 | export WORDCHARS='*?.[]~&;!#$%^(){}<>' 38 | -------------------------------------------------------------------------------- /colevimIS/xkb/executable_run-session.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eu 3 | 4 | xkb_dir=$(dirname "$0") 5 | layout="colemak" 6 | mod="" 7 | variant="basic" 8 | warning_level=0 9 | 10 | OPTIND=1 11 | 12 | while getopts "i:l:m:v:w:" opt; do 13 | case "$opt" in 14 | i) xkb_dir="$OPTARG";; 15 | l) layout="$OPTARG";; 16 | m) mod="$OPTARG";; 17 | v) variant="$OPTARG";; 18 | w) warning_level="$OPTARG";; 19 | *) exit 1;; 20 | esac 21 | done 22 | 23 | if [ -z "$layout" ]; then 24 | echo "Empty layout" 25 | exit 2 26 | fi 27 | 28 | keycodes="evdev" 29 | types="complete" 30 | 31 | if ! [ -z "$mod" ]; then 32 | keycodes="$keycodes+$layout($mod)" 33 | fi 34 | 35 | if [ -f "$xkb_dir/types/$layout" ]; then 36 | types="$types+$layout" 37 | fi 38 | 39 | setxkbmap \ 40 | -I "$xkb_dir" \ 41 | -layout "$layout" \ 42 | -variant "$variant" \ 43 | -keycodes "$keycodes" \ 44 | -types "$types" \ 45 | -print \ 46 | | xkbcomp \ 47 | -w "$warning_level" \ 48 | -I"$xkb_dir" \ 49 | -o /tmp/temp.xkb \ 50 | - -xkb 51 | xkbcomp /tmp/temp.xkb -w "$warning_level" -o "$DISPLAY" 52 | rm /tmp/temp.xkb 53 | 54 | "$xkb_dir/scripts/install-xcompose.sh" "$layout" 55 | -------------------------------------------------------------------------------- /dot_config/foot/foot.d/theme-tomorrow-night.ini: -------------------------------------------------------------------------------- 1 | # -*- conf -*- 2 | # Converted from the doom-tomorrow-night Emacs theme 3 | # xref: https://github.com/doomemacs/themes/blob/3152c60bb55365ebd3b042a40aa68c9b756667f7/themes/doom-tomorrow-night-theme.el 4 | # Turns out regular0 and bright0 are used for deselected text which messes with 5 | # the nchat text, so they are brighter than normal 6 | 7 | [colors] 8 | background= 1d1f21 9 | foreground= c5c8c6 10 | 11 | # The regular colors are mapped from the Emacs theme's base colors 12 | regular0= 5c5e5e # Changed from 0d0d0d to a much brighter gray 13 | regular1= cc6666 14 | regular2= b5bd68 15 | regular3= f0c674 16 | regular4= 81a2be 17 | regular5= b294bb 18 | regular6= 8abeb7 19 | regular7= c5c8c6 20 | 21 | # The bright colors are mapped to their brighter counterparts or the next base color 22 | bright0= 757878 # Changed from 292b2b to a brighter gray 23 | bright1= de935f 24 | bright2= b5bd68 25 | bright3= f0c674 26 | bright4= 81a2be 27 | bright5= c9b4cf 28 | bright6= 8abeb7 29 | bright7= ffffff 30 | 31 | # Highlight colors 32 | selection-foreground= 1d1f21 33 | selection-background= 3f4040 34 | 35 | # Cursor color 36 | cursor= 002732 8d9fa1 37 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License Copyright (c) 2022--present Rohit Goswami 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is furnished 8 | to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice (including the next 11 | paragraph) shall be included in all copies or substantial portions of the 12 | Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 15 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 16 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS 17 | OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 18 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF 19 | OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 20 | -------------------------------------------------------------------------------- /.chezmoiscripts/run_once_ble.sh.tmpl: -------------------------------------------------------------------------------- 1 | {{ if and (ne .chezmoi.os "windows") (lookPath "bash") -}} 2 | #!/usr/bin/env bash 3 | 4 | set -euo pipefail 5 | 6 | # Check for dependencies first 7 | for cmd in git make; do 8 | if ! command -v "$cmd" >/dev/null 2>&1; then 9 | echo "Error: Required command '$cmd' is not installed for ble.sh. Aborting." >&2 10 | exit 1 11 | fi 12 | done 13 | 14 | # Only run for interactive shells that are not "dumb" 15 | if [[ $- != *i* || $TERM == "dumb" ]]; then 16 | exit 0 17 | fi 18 | 19 | # If ble.sh is not installed, download and build it in a temporary directory 20 | if [[ ! -d $HOME/.local/share/blesh/ ]]; then 21 | echo "Installing ble.sh for a more powerful prompt..." 22 | 23 | TMP_DIR=$(mktemp -d) 24 | ( 25 | cd "$TMP_DIR" 26 | git clone --recursive --depth 1 \ 27 | --shallow-submodules \ 28 | https://github.com/akinomyoga/ble.sh.git 29 | make -C ble.sh install PREFIX="$HOME/.local" 30 | ) 31 | rm -rf "$TMP_DIR" 32 | echo "ble.sh installation complete." 33 | fi 34 | 35 | {{ end }} 36 | 37 | # Emacs Stuff (cross platform) 38 | # Local Variables: 39 | # mode: shell-script 40 | # End: 41 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_cluster.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB3Z0ZVcUxydmhjSDFDaHJz 3 | OHliZUExckpyNjBhUHdUS0ZUeU5aeDRoQkFRCnhQM0xDSkxiT2o2UUFYUlZaN0xt 4 | ZThvU3RuTUxyRSs2R3UveWQ5OGpDeG8KLS0tIGZEekdkMk9hWDI4ajMyT1JDc2Nk 5 | VWFuTHc2bGFsUmpaWEk0THdmR1hzajgKiZNxPeRVoRbB9nwN9o4k36VDq/z63Uyr 6 | oFuTSkAYwwLJTP0ne/uK/I55Zx5CLcBlqCMjN01EdWwbN7fh86ikNNOYk1LfR+5c 7 | Uv3rA8agDYJQPFxLuPYfXG+sIxjZkh4FLQV/e19KKH3CtJbXCGJVfhKED6cggq+x 8 | B1Fy3DzY7o7HgDvcdGpncCWaM5zbVTkOWrm3qEjY1xw/tXVAwntfgWxmdwWn5IgN 9 | UbPjWuz3J2hT22oEojgDnT9+8ZMptNxe3/FimK0OIuFS8jqurF6mansh4yf56vdp 10 | N2MPc2JD37nheGnnsX0Dna/MYiSfW+Xz2RXq/7ugf9NTIbZNazX1WHotDffSISHJ 11 | Yi7JoYHTUOBX0dHxym9CSLJRTdxYYh5LUzVKBMaegNJhgK+VgcMOCoU2EB64rTBI 12 | ke457FAhOy2Lt2gQAksbGDeol/5yNS5RdtDmpzqU7xJpdgN7UauYiGX2u1sBOw6R 13 | wSbsMFmxkjsQvwLMZdQ3wXodZajZKnvlgwPyXjShWHlV+ua/VPr9YM61hM1hqw2U 14 | z7iw+HCFSG9vMMoIRGiQCQUmkkQz8X81C9t9U05yqaBhltNo4YahCiX/VyZcxRrL 15 | P3/V09aoXH1sj8fo7WMZB+GUceXDUMi43KUlB1W17IS6K1EiobLh5vBR2hbxlBP+ 16 | X/igyVOrUvfBVwpgJSJoY9YQEZsNbdYKQ/Tm8XXSrOqLisGguhYZAXGI2kUR8Jy0 17 | hpFtmIQsfu62rY9FQ0ZVH3IGLkk/LF46i8hu7NHgWNT6UCFu87K0TQ0Z6uFhPw+G 18 | yR/GUYnM 19 | -----END AGE ENCRYPTED FILE----- 20 | -------------------------------------------------------------------------------- /dot_config/i3rust/i3_top.toml: -------------------------------------------------------------------------------- 1 | # TOML Ref: https://github.com/toml-lang/toml 2 | # Example: https://raw.githubusercontent.com/greshake/i3status-rust/master/examples/config.toml 3 | # Block Doc: https://greshake.github.io/i3status-rust/i3status_rs/blocks/index.html 4 | # Repo: https://github.com/greshake/i3status-rust 5 | 6 | [theme] 7 | theme = "solarized-dark" 8 | [icons] 9 | icons = "awesome5" 10 | 11 | [[block]] 12 | block = "disk_space" 13 | path = "/" 14 | info_type = "available" 15 | alert_unit = "GB" 16 | interval = 20 17 | warning = 20.0 18 | alert = 10.0 19 | 20 | [[block]] 21 | block = "memory" 22 | format = " $icon $mem_total_used_percents.eng(w:2) " 23 | format_alt = " $icon_swap $swap_used_percents.eng(w:2) " 24 | 25 | [[block]] 26 | block = "cpu" 27 | interval = 1 28 | 29 | [[block]] 30 | block = "load" 31 | interval = 1 32 | format = "$1m" 33 | 34 | [[block]] 35 | block = "net" 36 | device = "wlan0" 37 | interval = 1 38 | 39 | [[block]] 40 | block = "time" 41 | interval = 60 42 | [block.format] 43 | # full = " $icon $timestamp.datetime(f:'%a %R %Z') " 44 | short = " $icon $timestamp.datetime(f:%R) " 45 | 46 | [[block]] 47 | block = "sound" 48 | [[block.click]] 49 | button = "left" 50 | cmd = "pavucontrol" 51 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_ag_krafla.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTUFB0c1VCOWwyaXBsR0NZ 3 | WEhrdFpvUllvRjdZRHNyZmtWYVpDVnUxUWxNClV4QTBqUUdEWHdHZHlWc3piR2d3 4 | Rm5WbGs0cjBOSkJRTENOVXVZMWNTUzQKLS0tIHVoMGM2d1d6dzlHN3k2WnRHSjg4 5 | TVVHbWZvLytFZ1dpMG1LZ1h6eVhXQmsKMbfY2fz1sdY2N9g4nXDCydmrG08gg9eE 6 | BkVawdmEgZ+UNESaocCrHVEyD0a6TlQuhu/BL9fFwz8Hr4/OESCVLkzsy46GCKmR 7 | 2L5/YQdjzi9eHf2seDzLCwdveG4TqWgcOrMxaKMRC+Ht1eiTY7IuhAAeAVETi+iB 8 | wE/956QALE0boEclFxQLVV0xMdcCRdcKHEHffHPlpuIMnqihgPaszC7nXlaOBx8Q 9 | J867Zvnphj+qfkfDK5zT1+vNigUAZpIlSkHxyyTWX4Yd8WwRzb6bz7rAsshkB9nQ 10 | FEOT+RRFteyu2pfgo/kNk7eVwWDck0t9Hf+goBvgBeAIKkIK9/Q2sfbSnODDtlHw 11 | oMW184ngBqe6txZ/3s1jICKQGaHhpMGhrfOpmSCyvtiGTpTFvo1AeB9Fwne6Izha 12 | 8wd6s+DqgO666X/G73Og4ipGB8hd0gzg+42EMluTWlx8ttSNReo/nvAPwA0WUc0V 13 | mpR6K21A55bNxDJ+6p/l+R9PC0NYMARilzKP8iA2bTkqIqyOqs1TscWiuQou2ntA 14 | ZxHG3f8EnJZ0KmEP88v84E9ma0WOhEzfp60icglvioWpGAoighDakO+GYDFFJmt6 15 | i2MCfTX0KGJGZYkEhQP1K2aJ43CUPxSGTzusYudGzRrBIj7OyuP6SEVqs37eyJjp 16 | gleQWDbO8T31yXgbgQLvhbEhXQij4alAErZJ5uGuqJHfpPGXmqc6d65DiT008yQb 17 | ZBXZ3rxMyZyZhOcmiynO5J08A9dThRANqGtyUe1M6tc+44IDzg1OM7ojBhQJVKrO 18 | CxKFWaj9wDHm 19 | -----END AGE ENCRYPTED FILE----- 20 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_garpur.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6QXg4Q2Ixa3k4OWFkYWk3 3 | ejg4VDM0aTAwRXArcXk0QVc1QXF4MVFEUFhFClR4RjFpL2lVa3o2ckQ1eTl0Nngx 4 | NEtBWkhUZGJWbm5kcmxCenIrVlhaS2cKLS0tIGhyVXBCakVFSmc2dXAzTWZIQ2lj 5 | VXBRSjIvWlFKR011R0xvbjkvVWZidmsKAhEqzRtfFOPxcKrDdo0l/e+aQ5/adKv3 6 | utfPWaCdR/V+gEKVRzjOOClv4nyb7t0CKQw4Ss585fMmHDCg3v3YUBCR7q7MnWc8 7 | LuRNpDWWIr2jO9cEdFydfemI5sKTREh+2O+TNxTSqBXQNf6Yy1Eru13hRI2exS7W 8 | Sfw6YYXsmkAGJsye03Rdr19oTWQBUf7SDvB+2ALDfj52tT0gdKIXy8ASPI0uEIYe 9 | cdPe7aVz4yNUTWRZx+p3Nia+WEoSTlP6dlj9f4yRSn1h07Ch9dViX+NRvLB2Y6NH 10 | lyqtTYjOsMkg+G1I5BIpeUfEJ7E4WFlQKWsZ8A/glpmhw7DW+B9KK1oKXlfDdE9l 11 | X+iBi5VB0K/ulj2rae1MsdACW1wVbIUGeeQwoFHekCC4BqQn1iAXSLCmE2M1XMcS 12 | xx8rp9Rkx2KZhiIdBwdIQy2iCKfumYUN6QrDL5XXfL6FGQApm5ZmuYR2VVit3Tqs 13 | fFDa4Z4lJ35eTxH5ukzH65PIFpzV9ZJnT4elRWL6x89aJbbTYroWE5LxjNqnN8Uc 14 | M792J+TOIj0VbhL3RbsAm8q3aj/a8dgLKyIroqDpA4XuRi1ponvxCXz/M8k8CM1m 15 | RFIDjr9b1qVm7gxpBqXu0nTAdH+f2t6g/kQCZmAbQr5+M2unHnDyMukDlDzhMGOB 16 | zorctwwFeUEy2lP6UnoZQwmDucy4xC4W12xIfR1HxVBMP3KPLsS/YFWbBIojFvXS 17 | zcmWQqRldimi1WpjkJlkDLg/OnNHPiRZydQZQkkRF2idlnLvNT7RbjACRk2v3mwd 18 | f3TmvA== 19 | -----END AGE ENCRYPTED FILE----- 20 | -------------------------------------------------------------------------------- /dot_bashrc.tmpl: -------------------------------------------------------------------------------- 1 | if [[ $- != *i* ]]; then 2 | # shell is non-interactive. Do nothing and return 3 | return 4 | else 5 | BLE_SH_PATH="$HOME/.local/share/blesh/ble.sh" 6 | if [ -f "$BLE_SH_PATH" ]; then 7 | source "$BLE_SH_PATH" --attach=none 8 | fi 9 | fi 10 | 11 | if [[ $TERM = dumb ]]; then 12 | return # fixes TRAMP 13 | fi 14 | 15 | export shellHome=$HOME/.config/shellrc 16 | 17 | # Load all files from the posix.d directory 18 | if [ -d $shellHome/posix.d ]; then 19 | source "$shellHome/posix.d/00_show_gre.sh" 20 | source "$shellHome/posix.d/01_alias_def.sh" 21 | source "$shellHome/posix.d/02_func_def.sh" 22 | source "$shellHome/posix.d/03_exports.sh" 23 | # XXX(rg): Is slow. 24 | source "$shellHome/posix.d/05_paths.sh" 25 | source "$shellHome/posix.d/06_prog_conf.sh" 26 | fi 27 | 28 | # Load all files from the bashrc.d directory 29 | if [ -d $shellHome/bash.d ]; then 30 | # for file in $shellHome/bash.d/*.bash; do 31 | # source $file 32 | # done 33 | source "$shellHome/bash.d/02_functions.bash" 34 | source "$shellHome/bash.d/99_activate_bin.bash" 35 | fi 36 | 37 | [[ ! ${BLE_VERSION-} ]] || ble-attach 38 | 39 | # Emacs Stuff (cross platform) 40 | # Local Variables: 41 | # mode: shell-script 42 | # End: 43 | -------------------------------------------------------------------------------- /dot_local/share/applications/wps-writer-wayland.desktop: -------------------------------------------------------------------------------- 1 | [Desktop Entry] 2 | Comment=Use WPS Writer to edit articles and reports. 3 | Exec=env DISPLAY=:0 WAYLAND_DISPLAY=wayland-1 /usr/bin/wps %U 4 | GenericName=WPS Writer 5 | MimeType=application/wps-office.wps;application/wps-office.wpt;application/wps-office.wpso;application/wps-office.wpss;application/wps-office.doc;application/wps-office.dot;application/vnd.ms-word;application/msword;application/x-msword;application/msword-template;application/wps-office.docx;application/wps-office.dotx;application/rtf;application/vnd.ms-word.document.macroEnabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.document;x-scheme-handler/ksoqing;x-scheme-handler/ksowps;x-scheme-handler/ksowpp;x-scheme-handler/ksoet;x-scheme-handler/ksowpscloudsvr;x-scheme-handler/ksowebstartupwps;x-scheme-handler/ksowebstartupet;x-scheme-handler/ksowebstartupwpp;application/wps-office.uot; 6 | Name=WPS Writer Wayland 7 | StartupNotify=false 8 | Terminal=false 9 | Type=Application 10 | Categories=Office;WordProcessor;Qt; 11 | X-DBUS-ServiceName= 12 | X-DBUS-StartupType= 13 | X-KDE-SubstituteUID=false 14 | X-KDE-Username= 15 | Icon=wps-office2019-wpsmain 16 | InitialPreference=3 17 | StartupWMClass=wps 18 | -------------------------------------------------------------------------------- /.chezmoiscripts/run_once_setup_zi.sh.tmpl: -------------------------------------------------------------------------------- 1 | {{ if and (ne .chezmoi.os "windows") (lookPath "zsh") -}} 2 | #!/usr/bin/env zsh 3 | 4 | # Check if running interactively and not a dumb terminal 5 | if [[ $- == *i* && $TERM != "dumb" ]]; then 6 | # Check if ZI is installed 7 | if [[ ! -d ~/.zi ]]; then 8 | echo "ZI not found. Installing..." 9 | # Install ZI (consider adding error handling for curl) 10 | source <(curl -sL git.io/zi-loader) 11 | 12 | # Initialize ZI (check if successful) 13 | if ! zzinit; then 14 | echo "Error: ZI initialization failed." 15 | exit 1 16 | fi 17 | fi 18 | 19 | # Check if ZI is initialized, source it if not. 20 | if (( ! $+functions[zi] )); then 21 | echo "ZI not sourced. Sourcing..." 22 | source "$HOME/.zi/bin/zi.zsh" 23 | fi 24 | 25 | # Load completion for ZI 26 | autoload -Uz _zi 27 | (( ${+_comps} )) && _comps[zi]=_zi 28 | 29 | echo "ZI setup complete." 30 | else 31 | echo "Non-interactive shell or dumb terminal detected. Skipping ZI setup." 32 | fi 33 | 34 | # Continue with the rest of your script or launch a new zsh shell 35 | # If you want to always launch a new zsh shell, uncomment the following line: 36 | # exec zsh 37 | 38 | {{ else -}} 39 | {{ end -}} 40 | -------------------------------------------------------------------------------- /.chezmoitemplates/dunst/tomorrow-night.conf: -------------------------------------------------------------------------------- 1 | # Defines color of the frame around the notification window. 2 | frame_color = "#81a2be" 3 | # Define a color for the separator. 4 | # possible values are: 5 | # * auto: dunst tries to find a color fitting to the background; 6 | # * foreground: use the same color as the foreground; 7 | # * frame: use the same color as the frame; 8 | # * anything else will be interpreted as a X color. 9 | separator_color = frame 10 | 11 | [urgency_low] 12 | # IMPORTANT: colors have to be defined in quotation marks. 13 | # Otherwise the "#" and following would be interpreted as a comment. 14 | background = "#1d1f21" 15 | foreground = "#81a2be" 16 | timeout = 10 17 | # Icon for notifications with low urgency, uncomment to enable 18 | #icon = /path/to/icon 19 | 20 | [urgency_normal] 21 | background = "#1d1f21" 22 | foreground = "#c5c8c6" 23 | timeout = 10 24 | # Icon for notifications with normal urgency, uncomment to enable 25 | #icon = /path/to/icon 26 | 27 | [urgency_critical] 28 | background = "#cc6666" 29 | foreground = "#ffffff" 30 | frame_color = "#cc6666" 31 | timeout = 0 32 | # Icon for notifications with critical urgency, uncomment to enable 33 | #icon = /path/to/icon 34 | -------------------------------------------------------------------------------- /dot_zshrc.tmpl: -------------------------------------------------------------------------------- 1 | if [[ ! -o interactive ]]; then 2 | # non-interactive, return 3 | return 4 | fi 5 | 6 | export shellHome=$HOME/.config/shellrc 7 | 8 | # Load all files from the posix.d directory 9 | if [ -d $shellHome/posix.d ]; then 10 | for file in $shellHome/posix.d/*.sh; do 11 | source $file 12 | done 13 | fi 14 | 15 | # Load all files from the zsh.d directory 16 | if [ -d $shellHome/zsh.d ]; then 17 | for file in $shellHome/zsh.d/*.zsh; do 18 | source $file 19 | done 20 | fi 21 | 22 | # Environment helpers 23 | {{ if eq .setup_mamba "yes" }} 24 | eval "$(micromamba shell hook --shell=zsh)" 25 | {{ end }} 26 | 27 | 28 | {{ if eq .use_rust "yes" -}} 29 | eval "$(starship init zsh)" 30 | eval "$(zoxide init zsh --cmd Z)" 31 | {{ end }} 32 | 33 | # Common Zsh # 34 | if [ ! -f ~/.zshrc.zwc -o ~/.zshrc -nt ~/.zshrc.zwc ]; then 35 | zcompile ~/.zshrc 36 | fi 37 | 38 | # Platform 39 | ############# 40 | 41 | if [ -f ~/.zshPlatform ]; then 42 | . ~/.zshPlatform 43 | fi 44 | 45 | 46 | # Specifics 47 | ############# 48 | 49 | if [ -f ~/.zshSpecifics ]; then 50 | . ~/.zshSpecifics 51 | fi 52 | 53 | # HPC 54 | ####### 55 | if [ -f ~/.zshlmod ]; then 56 | . ~/.zshlmod 57 | fi 58 | 59 | # Emacs Stuff (cross platform) 60 | # Local Variables: 61 | # mode: shell-script 62 | # End: 63 | -------------------------------------------------------------------------------- /todo.org: -------------------------------------------------------------------------------- 1 | #+TITLE: Dotfiles TODO 2 | 3 | * TODO [#C] Generalize the Gaussian part 4 | * TODO [#B] Add keybindings for the new emacs packages 5 | * TODO [#B] Switch to [[https://github.com/GetStream/vg][virtualGo]] instead of direnv golang 6 | * TODO [#A] Make zsh load faster 7 | ** Look into using [[https://github.com/getantibody/antibody][antibody]] or something to speed things up 8 | * TODO [#C] Use Ansible to setup targets like [[https://github.com/eoli3n/dotfiles][here]] 9 | * TODO Use tabbed and jumpapp to run zathura tabs 10 | * TODO Setup spacemacs keybindings for zathura 11 | * TODO Fix caveats for the export 12 | * TODO Use modules instead of one private module 13 | ** DONE Switch to using XDG config stuff 14 | * TODO [#A] Make everything literate! 15 | * TODO Fix sublime text 16 | Atleast change the target so it doesn't keep breaking things. 17 | * TODO Add a better way of detecting ruby gems 18 | * TODO Clean up the dotfiles 19 | Remember, ~.zshenv~ and ~.profile~ things are loaded in a specific order. 20 | Random commands kill ssh. 21 | * TODO Configure org-noter 22 | * TODO Also setup biblatex and moreover setup cdlatex. The org version. Pull it in infact. 23 | * Do more org math 24 | * Setup private configs for pianobar and proxychains 25 | 26 | * XKB 27 | Most of this needs to be generalized significantly. 28 | -------------------------------------------------------------------------------- /dot_local/bin/executable_changeUser.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | set -e 4 | 5 | usage() { 6 | echo "Usage: $0" 7 | echo "Changes the git configuration for the current repository." 8 | exit 1 9 | } 10 | 11 | if [ "$#" -ne 0 ]; then 12 | usage 13 | fi 14 | 15 | if ! git rev-parse --is-inside-work-tree > /dev/null 2>&1; then 16 | echo "Error: Not inside a Git repository" 17 | exit 1 18 | fi 19 | 20 | # Print current user details 21 | echo "Current Git Configuration:" 22 | echo "User Name: $(git config --get user.name)" 23 | echo "User Email: $(git config --get user.email)" 24 | 25 | # List SSH keys from ~/.ssh and ask user to choose one 26 | echo "Available SSH keys in ~/.ssh:" 27 | select SSH_KEY in ~/.ssh/*_rsa ~/.ssh/*_ed25519; do 28 | case "$SSH_KEY" in 29 | *_rsa|*_ed25519 ) 30 | break;; 31 | * ) 32 | echo "Invalid choice";; 33 | esac 34 | done 35 | 36 | # Ask user for new name and email 37 | read -p "Enter new Git user name: " NEW_NAME 38 | read -p "Enter new Git user email: " NEW_EMAIL 39 | 40 | # Set new git configurations 41 | git config core.SshCommand "ssh -i $SSH_KEY -F /dev/null" 42 | git config user.name "$NEW_NAME" 43 | git config user.email "$NEW_EMAIL" 44 | git config commit.gpgsign false 45 | 46 | echo "Git configuration updated for this repository." 47 | -------------------------------------------------------------------------------- /dot_config/zathura/zathuraThemerc: -------------------------------------------------------------------------------- 1 | # Colors 2 | # From https://github.com/nicodebo/base16-zathura 3 | # Base16 Spacemacs 4 | # Author: Nasser Alshammari (https://github.com/nashamri/spacemacs-theme) 5 | 6 | set default-bg "#1f2022" 7 | set default-fg "#282828" 8 | 9 | set statusbar-fg "#b8b8b8" 10 | set statusbar-bg "#444155" 11 | 12 | set inputbar-bg "#1f2022" 13 | set inputbar-fg "#f8f8f8" 14 | 15 | set notification-bg "#1f2022" 16 | set notification-fg "#f8f8f8" 17 | 18 | set notification-error-bg "#1f2022" 19 | set notification-error-fg "#f2241f" 20 | 21 | set notification-warning-bg "#1f2022" 22 | set notification-warning-fg "#f2241f" 23 | 24 | set highlight-color "#b1951d" 25 | set highlight-active-color "#4f97d7" 26 | 27 | set completion-bg "#282828" 28 | set completion-fg "#4f97d7" 29 | 30 | set completion-highlight-fg "#f8f8f8" 31 | set completion-highlight-bg "#4f97d7" 32 | 33 | set recolor-lightcolor "#1f2022" 34 | set recolor-darkcolor "#e8e8e8" 35 | 36 | set recolor "false" 37 | set recolor-keephue "false" 38 | 39 | # Emacs Stuff (cross platform) 40 | # Local Variables: 41 | # mode: conf-space 42 | # End: 43 | -------------------------------------------------------------------------------- /.chezmoiignore: -------------------------------------------------------------------------------- 1 | {{ if ne .chezmoi.os "darwin" }} 2 | # These are only to be placed on darwin 3 | .config/shellrc/zsh.d/05_darwin.zsh 4 | dot_local/bin/init_darwin.sh 5 | encrypted_chezmoi_darwin.toml.asc 6 | *hammerspoon 7 | *karabiner 8 | *yabai 9 | *skhd 10 | {{ end }} 11 | {{ if ne .chezmoi.os "linux" }} 12 | # Only on linux 13 | encrypted_chezmoi_toml_linux 14 | {{ if eq .display_manager "none" }} 15 | **/sway/* 16 | **/i3rust/* 17 | **/swaylock/* 18 | **/share/applications/* 19 | {{ end }} 20 | {{ end }} 21 | # No encryption, so don't try to restore.. 22 | {{ if eq .encrypted "no" }} 23 | **/*.age 24 | {{ end }} 25 | # Always ignore 26 | readme.org 27 | todo.org 28 | LICENSE 29 | # These are essentially templates 30 | {{ if ne .chezmoi.os "darwin" }} 31 | Library/Application Support/nushell/config.nu 32 | Library/Application Support/nushell/env.nu 33 | Library/Application Support/nushell/scripts/gitAlias.nu 34 | {{ end }} 35 | {{ if ne .chezmoi.os "linux" }} 36 | .config/nushell/config.nu 37 | .config/nushell/env.nu 38 | .config/nushell/scripts/gitAlias.nu 39 | .config/nushell/scripts/systemctlAlias.nu 40 | {{ end }} 41 | 42 | {{ if ne .chezmoi.os "windows" -}} 43 | AppData/Roaming/nushell/config.nu 44 | AppData/Roaming/nushell/env.nu 45 | AppData/Roaming/nushell/scripts/gitAlias.nu 46 | {{ end }} 47 | # Local Variables: 48 | # mode: gitignore 49 | # End: 50 | -------------------------------------------------------------------------------- /dot_config/shellrc/zsh.d/01_keys.zsh: -------------------------------------------------------------------------------- 1 | # Keys 2 | ############# 3 | 4 | typeset -A key 5 | 6 | key[Home]=${terminfo[khome]} 7 | 8 | key[End]=${terminfo[kend]} 9 | key[Insert]=${terminfo[kich1]} 10 | key[Delete]=${terminfo[kdch1]} 11 | key[Up]=${terminfo[kcuu1]} 12 | key[Down]=${terminfo[kcud1]} 13 | key[Left]=${terminfo[kcub1]} 14 | key[Right]=${terminfo[kcuf1]} 15 | key[PageUp]=${terminfo[kpp]} 16 | key[PageDown]=${terminfo[knp]} 17 | 18 | # setup key accordingly 19 | [[ -n "${key[Home]}" ]] && bindkey "${key[Home]}" beginning-of-line 20 | [[ -n "${key[End]}" ]] && bindkey "${key[End]}" end-of-line 21 | [[ -n "${key[Insert]}" ]] && bindkey "${key[Insert]}" overwrite-mode 22 | [[ -n "${key[Delete]}" ]] && bindkey "${key[Delete]}" delete-char 23 | [[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-history 24 | [[ -n "${key[Down]}" ]] && bindkey "${key[Down]}" down-line-or-history 25 | [[ -n "${key[Left]}" ]] && bindkey "${key[Left]}" backward-char 26 | [[ -n "${key[Right]}" ]] && bindkey "${key[Right]}" forward-char 27 | [[ -n "${key[PageUp]}" ]] && bindkey "${key[PageUp]}" beginning-of-buffer-or-history 28 | [[ -n "${key[PageDown]}" ]] && bindkey "${key[PageDown]}" end-of-buffer-or-history 29 | 30 | # Line end and begin 31 | bindkey "^A" vi-beginning-of-line 32 | bindkey "^E" vi-end-of-line 33 | -------------------------------------------------------------------------------- /dot_inputrc: -------------------------------------------------------------------------------- 1 | # Readline bindings 2 | # Note that zsh uses ZLE and ignores this 3 | # For places where this is sourced from see References at the bottom 4 | 5 | # Case insensitive completion 6 | set completion-ignore-case on 7 | 8 | # Hyphens and underscores are the same 9 | set completion-map-case on 10 | 11 | # Display matches for ambiguous patterns at first tab press 12 | set show-all-if-ambiguous on 13 | 14 | # Immediately add a trailing slash when autocompleting symlinks to directories 15 | set mark-symlinked-directories on 16 | 17 | # Do not autocomplete hidden files unless the pattern explicitly begins with a dot 18 | set match-hidden-files off 19 | 20 | # Show extra file information when completing, like `ls -F` does 21 | set visible-stats on 22 | 23 | # Be more intelligent when autocompleting by also looking at the text after 24 | # the cursor. For example, when the current line is "cd ~/src/mozil", and 25 | # the cursor is on the "z", pressing Tab will not autocomplete it to "cd 26 | # ~/src/mozillail", but to "cd ~/src/mozilla". (This is supported by the 27 | # Readline used by Bash 4.) 28 | set skip-completed-text on 29 | 30 | # Allow UTF-8 input and output, instead of showing stuff like $'\0123\0456' 31 | set input-meta on 32 | set output-meta on 33 | set convert-meta off 34 | 35 | # References 36 | # [1] https://github.com/paulirish/dotfiles/blob/master/.inputrc 37 | -------------------------------------------------------------------------------- /dot_config/foot/foot.d/theme-acario-light.ini: -------------------------------------------------------------------------------- 1 | # Kanged from https://github.com/doomemacs/themes/blob/master/themes/doom-acario-light-theme.el 2 | [colors] 3 | foreground = 0F1019 4 | background = F5F5F9 5 | 6 | regular0 = 4E4E4E # black 7 | regular1 = D70000 # red 8 | regular2 = 005F00 # green 9 | regular3 = AF8700 # yellow 10 | regular4 = 1F55A0 # blue 11 | regular5 = AF005F # magenta 12 | regular6 = 007687 # cyan 13 | regular7 = 0F1019 # white 14 | 15 | bright0 = 303030 # bright black 16 | bright1 = D70000 # bright red 17 | bright2 = 005F00 # bright green 18 | bright3 = AF8700 # bright yellow 19 | bright4 = 1F55A0 # bright blue 20 | bright5 = AF005F # bright magenta 21 | bright6 = 007687 # bright cyan 22 | bright7 = 0F1019 # bright white 23 | 24 | dim0 = 373e4d # dim black 25 | dim1 = 94545d # dim red 26 | dim2 = 809575 # dim green 27 | dim3 = b29e75 # dim yellow 28 | dim4 = 68809a # dim blue 29 | dim5 = 8c738c # dim magenta 30 | dim6 = 6d96a5 # dim cyan 31 | dim7 = aeb3bb # dim white 32 | 33 | 16 = AF005F # extra color 1 34 | 17 = AF8700 # extra color 2 35 | 18 = E9E9F2 # base1 36 | 19 = D0D0E3 # base0 37 | 20 = 007687 # cyan 38 | 21 = 0F1019 # foreground 39 | 40 | #selection-foreground= 41 | #selection-background= 42 | jump-labels=4E4E4E AF8700 43 | urls=AF8700 44 | -------------------------------------------------------------------------------- /dot_config/zathura/zathurarc.tmpl: -------------------------------------------------------------------------------- 1 | ########### 2 | # Zathura # 3 | ########### 4 | 5 | # Values from http://manpages.ubuntu.com/manpages/trusty/man5/zathurarc.5.html 6 | # Also here https://pwmt.org/projects/zathura/documentation/ 7 | 8 | # best-fit width 9 | set adjust-open width 10 | 11 | # Use the X11 clipboard 12 | # primary clipboard 13 | # primary uses Shift+Insert to paste 14 | # clipboard uses the traditional method to paste 15 | set selection-clipboard clipboard 16 | 17 | # Try the database 18 | # plain null sql 19 | set database sqlite 20 | 21 | # Defines if scrolling by half or full pages stops at page boundaries. 22 | # true false 23 | set scroll-page-aware true 24 | 25 | # En/Disables the ability of changing zoom when following links. 26 | # true false 27 | set link-zoom false 28 | 29 | # Use basename of the file in the window title. 30 | # true false 31 | set window-title-basename true 32 | 33 | # Display a short version of the file path, which replaces $HOME with ~, in the statusbar. 34 | # true false 35 | set statusbar-home-tilde true 36 | 37 | # Put themes in a separate file 38 | include zathuraThemerc 39 | 40 | # If colemak: {{ if eq .key_layout "colemak" }} 41 | # Put colemak bindings in a separate file 42 | include zathuraColemak 43 | # End colemak: {{ end}} 44 | 45 | # Emacs Stuff (cross platform) 46 | # Local Variables: 47 | # mode: conf-space 48 | # End: 49 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_jotunn.pub.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBtRUQ5RlZYZis2LyszaXdt 3 | cHZYaWhnRGk3b0lkUll3c0FOWVk4RTdrWVNRClQ5UjZZNVJrWTgzUjVUNmh1Q0Fw 4 | WmlTYk8vcFV3K1RYbTczaTJoam9HZFEKLS0tIGdheHllYTBvRUFJbGhkN1dScUN1 5 | ZDNMWkRraDZSUXFiWU5GbjBQN1MxZXMKFGYpvfQWMLxoYCfdClFdOPH14QwOrvtH 6 | nqTcJl2vNY7OuCqhKBQ9Xrit/pN9uPaDc3QiPd3DRgJZb4O61g5ZbWn/RpDd1aca 7 | Ru3qDnrJs5z70+46Yx3C4G4W9660dzCIqfBIE66RzsVCj8x5oAAFk3GhNFJAB6hn 8 | ev87VHUdcCf+ht3egvuhemFiy1oAOH7jnepSk5JMNisb6ZZB8Q98M9JLKoV2llVq 9 | cqBpaDe93vzTZ8M7+Wth/R+LQHJz/sdiJY0RhZwwJum/lizh3LOSjow1WnkiIaeS 10 | vOVz8nsMOTTqaQXvn+wGBzR74y5EaqPXEbxotD6Rq8rbomcJKVmQJnMCDqQoAOMR 11 | X2F2eXvG7UTpQlQfqHWt3+yW+e65GA0RMXBRAO/ToU9+1N/v1qsCeR5ZxZOU8rJw 12 | CHR5Zowiy/dppSR2giWFVsj/cB/vnBPPyUy8bIBY86O31bDDzbDP4EUF3JWzhlzw 13 | GeMHrCk/VAacfPoZQSbvb0UVhFIUOsmHSaJWGdXWRSTS4sBBNdfoeGb9qhf4Gsaz 14 | g+KbvtlePVpv94quvYaT7rZ7tWn8pEcFN+oFOAVM3cay9I15ouLKfQWtzsJHIrXE 15 | 0DALcwAL9Q6vQ5MzoWCyxGDYD8OCYYvYqP9zzthyck6oGKDEDlA3Q/X7qF/iT4c+ 16 | ap/qUKv3uePbPhego2QQGqNRPIxPNRPUaJUKX8fpnxDxdtaffzngrf5RAoWj3h64 17 | yvwOAmEs6c5hEukw0AQTeN8WUqplIGbWGTGEyiWkarR3zqLjM15LnTHUfAO4VrI8 18 | Rt+Dw4s0JPgs/oiWDbFtHmIyPTDqH8wG/Pzh7vZvW/tPsgKFD3UMsu3d70GcCK3t 19 | YVniyZFDvs+rQIdOXb0KoydNQ4k9SMppGm03n1vWWcMxRy/DsslYfLU1iZDpdGB9 20 | QgSbxwWa/5eQV4/FNGI3O24wu37rJA5HAC6/auPAZt4zgB4XtoDZ3dfO3vlaJBFe 21 | xQ+aSjxq47tMLzFeJ9SrA81h59OOTCfNQQ== 22 | -----END AGE ENCRYPTED FILE----- 23 | -------------------------------------------------------------------------------- /dot_config/zathura/zathuraColemak: -------------------------------------------------------------------------------- 1 | ########## 2 | # Normal # 3 | ########## 4 | # Normal mode is the default 5 | 6 | # hjkl → hnei 7 | map h scroll left 8 | map n scroll down 9 | map e scroll up 10 | map i scroll right 11 | 12 | map N scroll half-down 13 | map E scroll half-up 14 | 15 | map k search forward 16 | map K search backward 17 | 18 | map navigate previous 19 | map navigate next 20 | 21 | # Harmonize with Emacs 22 | unmap o 23 | map o toggle_index 24 | 25 | # Quit with intent 26 | unmap q 27 | map Q quit 28 | 29 | ######### 30 | # Index # 31 | ######### 32 | # For TOC navigation 33 | map [index] o toggle_index 34 | 35 | # hjkl → hnei 36 | map [index] n navigate_index down 37 | map [index] e navigate_index up 38 | map [index] h navigate_index collapse 39 | map [index] i navigate_index expand 40 | 41 | map [index] H navigate_index collapse-all 42 | map [index] I navigate_index expand-all 43 | 44 | unmap [index] q 45 | map [index] Q quit 46 | 47 | ############## 48 | # References # 49 | ############## 50 | # https://github.com/pwmt/zathura/blob/develop/doc/man/zathurarc.5.rst 51 | # https://github.com/igwan/dotfiles/blob/66d9eee0ffe4e4f67dedbbc5a28167559cbfa056/zathura/.config/zathura/zathurarc 52 | # https://github.com/deterenkelt/dotfiles/blob/9674e4c974f0c2cb52302c36bcae7f3cfa4aa3d5/.config/zathura/zathurarc 53 | # https://wiki.archlinux.org/index.php/Zathura 54 | 55 | # Emacs Stuff (cross platform) 56 | # Local Variables: 57 | # mode: conf-space 58 | # End: 59 | -------------------------------------------------------------------------------- /colevimIS/xkb/scripts/executable_add-models-to-xml.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | from __future__ import print_function 4 | import sys 5 | import xml.etree.ElementTree as ET 6 | 7 | def getModelXml(mod, description): 8 | modelXml = ET.Element('model') 9 | configItem = ET.SubElement(modelXml, 'configItem') 10 | ET.SubElement(configItem, 'name').text = 'mod_' + mod 11 | ET.SubElement(configItem, 'description').text = description 12 | ET.SubElement(configItem, 'vendor').text = 'Generic' 13 | indent(modelXml, 2) 14 | modelXml.tail = '\n ' 15 | return modelXml 16 | 17 | def indent(element, level): 18 | if list(element): 19 | element.text = '\n' + 2*(level+1)*' ' 20 | for child in element[:-1]: 21 | indent(child, level+1) 22 | child.tail = '\n' + 2*(level+1)*' ' 23 | indent(element[-1], level+1) 24 | element[-1].tail = '\n' + 2*level*' ' 25 | 26 | if len(sys.argv) != 4: 27 | print('add-model-to-xml needs exactly 3 arguments', file=sys.stderr) 28 | sys.exit(1) 29 | fname = sys.argv[1] 30 | mods = sys.argv[2].split('\n') if sys.argv[2] else sys.exit(0) 31 | descriptions = sys.argv[3].split('\n') if sys.argv[3] else sys.exit(0) 32 | 33 | tree = ET.parse(fname) 34 | root = tree.getroot() 35 | modelList = root.find('modelList') 36 | for mod, description in zip(mods, descriptions): 37 | modelList[-1].tail = '\n ' 38 | modelList.append(getModelXml(mod, description)) 39 | root.tail = '\n' 40 | tree.write(fname) 41 | -------------------------------------------------------------------------------- /.chezmoitemplates/dunst/fonts.conf: -------------------------------------------------------------------------------- 1 | # From ttf-atkinson-hyperlegible-nerd 2 | font = AtkinsonHyperlegibleMono Nerd Font 16 3 | # The spacing between lines. If the height is smaller than the 4 | # font height, it will get raised to the font height. 5 | line_height = 0 6 | # Possible values are: 7 | # full: Allow a small subset of html markup in notifications: 8 | # bold 9 | # italic 10 | # strikethrough 11 | # underline 12 | # 13 | # For a complete reference see 14 | # . 15 | # 16 | # strip: This setting is provided for compatibility with some broken 17 | # clients that send markup even though it's not enabled on the 18 | # server. Dunst will try to strip the markup but the parsing is 19 | # simplistic so using this option outside of matching rules for 20 | # specific applications *IS GREATLY DISCOURAGED*. 21 | # 22 | # no: Disable markup parsing, incoming notifications will be treated as 23 | # plain text. Dunst will not advertise that it has the body-markup 24 | # capability if this is set as a global setting. 25 | # 26 | # It's important to note that markup inside the format option will be parsed 27 | # regardless of what this is set to. 28 | markup = full 29 | # Alignment of message text. 30 | # Possible values are "left", "center" and "right". 31 | alignment = left 32 | # Vertical alignment of message text and icon. 33 | # Possible values are "top", "center" and "bottom". 34 | vertical_alignment = center 35 | # Split notifications into multiple lines if they don't fit into 36 | # geometry. 37 | word_wrap = yes 38 | -------------------------------------------------------------------------------- /dot_config/shellrc/zsh.d/04_sources.zsh: -------------------------------------------------------------------------------- 1 | # Common zinit stuff 2 | ###################### 3 | 4 | # OMZ Plugins 5 | zinit snippet OMZP::git/git.plugin.zsh 6 | zinit snippet OMZP::github/github.plugin.zsh 7 | zinit snippet OMZP::systemadmin 8 | zinit snippet OMZP::sudo 9 | zinit snippet OMZP::systemd 10 | zinit snippet OMZP::rsync 11 | zinit snippet OMZP::common-aliases/common-aliases.plugin.zsh 12 | zinit ice silent wait"0" 13 | 14 | # Colors and Highlighting 15 | zinit light "zdharma-continuum/fast-syntax-highlighting" 16 | zinit light "zlsun/solarized-man" 17 | 18 | # Nix shell 19 | # zinit light "chisui/zsh-nix-shell" 20 | 21 | # Misc 22 | zinit light "mollifier/cd-gitroot" 23 | zinit light "urbainvaes/fzf-marks" 24 | zinit light "changyuheng/zsh-interactive-cd" 25 | zinit ice pick'ssh-agent.zsh'; zinit light bobsoppe/zsh-ssh-agent 26 | 27 | # Completions 28 | zinit ice blockf 29 | zinit light "zsh-users/zsh-completions" 30 | zinit light "ascii-soup/zsh-url-highlighter" 31 | zinit light "molovo/tipz" 32 | 33 | # Suggestions 34 | zinit ice wait lucid atload'_zsh_autosuggest_start' 35 | zinit light zsh-users/zsh-autosuggestions 36 | 37 | # Settings for plugins # 38 | 39 | # enhancd 40 | zinit ice wait'1' lucid pick'init.sh' 41 | zinit light "b4b4r07/enhancd" 42 | # export ENHANCD_FILTER="fzf --height 50% --reverse --ansi --preview 'ls -l {}' --preview-window down" 43 | export ENHANCD_COMPLETION_BEHAVIOR=list 44 | export ENHANCD_FILTER="fzf --height 50% --reverse --ansi --info=inline --margin=1 --padding=1" 45 | # export ENHANCD_DOT_SHOW_FULLPATH=1 46 | TIPZ_TEXT='Alias:' 47 | 48 | 49 | # Common Aliases (Plugin based) 50 | ################################ 51 | 52 | alias cdg=cd-gitroot 53 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | 2 | # Created by https://www.toptal.com/developers/gitignore/api/zsh 3 | # Edit at https://www.toptal.com/developers/gitignore?templates=zsh 4 | 5 | ### Zsh ### 6 | # Zsh compiled script + zrecompile backup 7 | *.zwc 8 | *.zwc.old 9 | 10 | # Zsh completion-optimization dumpfile 11 | *zcompdump* 12 | 13 | # Zsh zcalc history 14 | .zcalc_history 15 | 16 | # A popular plugin manager's files 17 | ._zinit 18 | .zinit_lstupd 19 | 20 | # zdharma/zshelldoc tool's files 21 | zsdoc/data 22 | 23 | # robbyrussell/oh-my-zsh/plugins/per-directory-history plugin's files 24 | # (when set-up to store the history in the local directory) 25 | .directory_history 26 | 27 | # MichaelAquilina/zsh-autoswitch-virtualenv plugin's files 28 | # (for Zsh plugins using Python) 29 | .venv 30 | 31 | # Zunit tests' output 32 | /tests/_output/* 33 | !/tests/_output/.gitkeep 34 | 35 | # End of https://www.toptal.com/developers/gitignore/api/zsh 36 | 37 | # Created by https://www.toptal.com/developers/gitignore/api/macos 38 | # Edit at https://www.toptal.com/developers/gitignore?templates=macos 39 | 40 | ### macOS ### 41 | # General 42 | .DS_Store 43 | .AppleDouble 44 | .LSOverride 45 | 46 | # Icon must end with two \r 47 | Icon 48 | 49 | # Thumbnails 50 | ._* 51 | 52 | # Files that might appear in the root of a volume 53 | .DocumentRevisions-V100 54 | .fseventsd 55 | .Spotlight-V100 56 | .TemporaryItems 57 | .Trashes 58 | .VolumeIcon.icns 59 | .com.apple.timemachine.donotpresent 60 | 61 | # Directories potentially created on remote AFP share 62 | .AppleDB 63 | .AppleDesktop 64 | Network Trash Folder 65 | Temporary Items 66 | .apdisk 67 | 68 | # End of https://www.toptal.com/developers/gitignore/api/macos 69 | 70 | -------------------------------------------------------------------------------- /dot_config/shellrc/bash.d/02_functions.bash.tmpl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # Fuzzy cd from https://github.com/NicolaiRuckel/dotfiles/blob/master/zshrc 4 | fcd() { 5 | while true; do 6 | local lsd=$(echo ".." && ls -p | grep '/$' | sed 's;/$;;') 7 | local dir="$(printf '%s\n' "${lsd[@]}" | 8 | fzf --reverse --preview ' 9 | __cd_nxt="$(echo {})"; 10 | __cd_path="$(echo $(pwd)/${__cd_nxt} | sed "s;//;/;")"; 11 | echo $__cd_path; 12 | echo; 13 | ls -p --color=always "${__cd_path}"; 14 | ')" 15 | [[ ${#dir} != 0 ]] || return 0 16 | builtin cd "$dir" &>/dev/null 17 | done 18 | } 19 | 20 | 21 | {{- if eq .machine_name "elja-slogin" -}} 22 | zsh() { 23 | # This is only necessary on elja because of 24 | # https://stackoverflow.com/a/71866174 25 | unset FPATH 26 | # elja doesn't zsh for some reason.. 27 | spack load zsh 28 | exec zsh "$@" 29 | } 30 | {{- end }} 31 | 32 | 33 | {{- if eq .setup_nix "yes" }} 34 | if [[ "$HAS_NIX" == "yes" || "$HAS_NIX" == "true" ]]; then 35 | export LOCALE_ARCHIVE="$(nix-build --no-out-link "" -A glibcLocales)/lib/locale/locale-archive" 36 | fi 37 | 38 | # Nix 39 | if [[ $- = *i* ]]; then 40 | if [[ -f /etc/profile.d/nix.sh ]]; then 41 | . /etc/profile.d/nix.sh 42 | elif [[ -d /nix ]]; then 43 | if [[ ! $(uname)=="Darwin" ]]; then 44 | source "$HOME/.nix-profile/etc/profile.d/nix.sh" 45 | fi 46 | else 47 | if [[ -v DEBUG_RGDOTS ]]; then 48 | echo "You don't have nix installed" 49 | fi 50 | fi 51 | fi 52 | {{- end }} 53 | 54 | # Emacs Stuff (cross platform) 55 | # Local Variables: 56 | # mode: shell-script 57 | # End: 58 | -------------------------------------------------------------------------------- /dot_config/private_karabiner/private_assets/private_complex_modifications/hyper_caps.json: -------------------------------------------------------------------------------- 1 | { 2 | "title": "CAPS to fake hyper (f19) and Shift CAPS", 3 | "rules": [ 4 | { 5 | "description": "CAPS_LOCK : (HYPER)", 6 | "manipulators": [ 7 | { 8 | "from": { 9 | "key_code": "caps_lock", 10 | "modifiers": { 11 | "optional": ["any"] 12 | } 13 | }, 14 | "to": 15 | { 16 | "key_code": "f19" 17 | }, 18 | "type": "basic" 19 | } 20 | ] 21 | }, 22 | { 23 | "description": "Toggle CAPS_LOCK with LEFT_SHIFT + RIGHT_SHIFT", 24 | "manipulators": [ 25 | { 26 | "from": { 27 | "key_code": "left_shift", 28 | "modifiers": { 29 | "mandatory": ["right_shift"], 30 | "optional": ["caps_lock"] 31 | } 32 | }, 33 | "to": [ 34 | { 35 | "key_code": "caps_lock" 36 | } 37 | ], 38 | "to_if_alone": [ 39 | { 40 | "key_code": "left_shift" 41 | } 42 | ], 43 | "type": "basic" 44 | }, 45 | { 46 | "from": { 47 | "key_code": "right_shift", 48 | "modifiers": { 49 | "mandatory": ["left_shift"], 50 | "optional": ["caps_lock"] 51 | } 52 | }, 53 | "to": [ 54 | { 55 | "key_code": "caps_lock" 56 | } 57 | ], 58 | "to_if_alone": [ 59 | { 60 | "key_code": "right_shift" 61 | } 62 | ], 63 | "type": "basic" 64 | } 65 | ] 66 | } 67 | ] 68 | } 69 | -------------------------------------------------------------------------------- /dot_config/i3rust/i3_bottom.toml.tmpl: -------------------------------------------------------------------------------- 1 | #-*- mode: conf-toml -*- 2 | # TOML Ref: https://github.com/toml-lang/toml 3 | # Example: https://raw.githubusercontent.com/greshake/i3status-rust/master/examples/config.toml 4 | # Block Doc: https://greshake.github.io/i3status-rust/i3status_rs/blocks/index.html 5 | # Repo: https://github.com/greshake/i3status-rust 6 | 7 | [theme] 8 | theme = "solarized-dark" 9 | [icons] 10 | icons = "awesome5" 11 | 12 | [[block]] 13 | block = "weather" 14 | format = "$weather ($location) $temp, $wind m/s $direction" 15 | [block.service] 16 | name = "openweathermap" 17 | lang = "en" 18 | {{ if ne .encrypted "no" }} 19 | api_key = "{{ pass "OPENWEATHER_API_KEY" }}" 20 | {{ end }} 21 | city_id = "3413829" # Reykjavík 22 | # city_id = "1267995" # Kanpur 23 | units = "metric" 24 | 25 | [[block]] 26 | block = "weather" 27 | format = "IITK $weather $temp" 28 | [block.service] 29 | name = "openweathermap" 30 | lang = "en" 31 | {{ if ne .encrypted "no" }} 32 | api_key = "{{ pass "OPENWEATHER_API_KEY" }}" 33 | {{ end }} 34 | units = "metric" 35 | # coordinates = ["30.66361594277602","76.72912558319638"] # IISER-M 36 | # coordinates = ["64.140461", "-21.961226"] # Reykjavik 37 | coordinates = ["26.512530794602895", "80.2330716579492"] # IITK 38 | 39 | [[block]] 40 | block = "time" 41 | format = "Kingston: $timestamp.datetime(f:'%I:%M %p')" 42 | timezone = "Canada/Eastern" 43 | interval = 60 44 | 45 | [[block]] 46 | block = "time" 47 | format = "Reykjavík: $timestamp.datetime(f:'%I:%M %p')" 48 | timezone = "Iceland" 49 | interval = 60 50 | 51 | [[block]] 52 | block = "time" 53 | format = "Kanpur: $timestamp.datetime(f:'%I:%M %p')" 54 | timezone = "Asia/Kolkata" 55 | interval = 60 56 | 57 | [[block]] 58 | block = "battery" 59 | interval = 10 60 | format = "$percentage $time $power|N/A" 61 | 62 | [[block]] 63 | block = "music" 64 | format = " $icon {$combo.str(max_w:20,rot_interval:0.5) $play $next |}" 65 | interface_name_exclude = [".*kdeconnect.*", "mpd"] 66 | -------------------------------------------------------------------------------- /dot_config/foot/foot.d/theme-solarized-light-high-contrast.ini: -------------------------------------------------------------------------------- 1 | # -*- conf -*- 2 | # Solarized light high contrast 3 | 4 | [colors] 5 | foreground=002732 # Dark text for high contrast 6 | background=eee8d5 # Light background for a clean look 7 | 8 | # Standard ANSI colors 9 | regular0=002b36 # Black 10 | regular1=dc322f # Red 11 | regular2=859900 # Green 12 | regular3=b58900 # Yellow 13 | regular4=268bd2 # Blue 14 | regular5=d33682 # Magenta 15 | regular6=2aa198 # Cyan 16 | regular7=eee8d5 # White 17 | 18 | # Bright ANSI colors for better visibility 19 | bright0=073642 # Bright Black (slightly lighter for visibility) 20 | bright1=cb4b16 # Bright Red 21 | bright2=586e75 # Bright Green 22 | bright3=657b83 # Bright Yellow 23 | bright4=839496 # Bright Blue 24 | bright5=6c71c4 # Bright Magenta 25 | bright6=93a1a1 # Bright Cyan 26 | bright7=fdf6e3 # Bright White 27 | 28 | # Dimmed ANSI colors (optional, for when the terminal dims text) 29 | dim0=002b36 # Dimmed Black 30 | dim1=990a1b # Dimmed Red 31 | dim2=586e75 # Dimmed Green 32 | dim3=655600 # Dimmed Yellow 33 | dim4=445588 # Dimmed Blue 34 | dim5=84426b # Dimmed Magenta 35 | dim6=406c68 # Dimmed Cyan 36 | dim7=e5e2cc # Dimmed White 37 | 38 | # Selection colors for when text is highlighted 39 | selection-foreground=002732 # Keep the text dark on selection 40 | selection-background=cfcac0 # Light background for selection 41 | 42 | # Jump labels for quick navigation (optional) 43 | jump-labels=268bd2 b58900 # Blue text on a yellow background 44 | 45 | # Search box colors for match and no-match scenarios 46 | search-box-no-match=dc322f eee8d5 # Red text on light background for no matches 47 | search-box-match=859900 fdf6e3 # Green text on bright white background for matches 48 | 49 | # Flash for visual feedback in terminal 50 | flash=7f7f00 # Use a subdued yellow for the flash 51 | flash-alpha=0.5 # Make the flash semi-transparent 52 | 53 | # [cursor.color] is deprecated 54 | cursor= eee8d5 002732 55 | -------------------------------------------------------------------------------- /colevimIS/xkb/executable_uninstall-system.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eu 3 | 4 | xkb_dir_from=$(dirname "$0") 5 | xkb_dir_to="/usr/share/X11/xkb" 6 | layout="colemak" 7 | description="Colemak" 8 | mods="" 9 | 10 | OPTIND=1 11 | 12 | while getopts "i:o:l:d:m:" opt; do 13 | case "$opt" in 14 | i) xkb_dir_from="$OPTARG";; 15 | o) xkb_dir_to="$OPTARG";; 16 | l) layout="$OPTARG";; 17 | d) description="$OPTARG";; 18 | m) mods="$OPTARG";; 19 | *) exit 1;; 20 | esac 21 | done 22 | 23 | if [ -z "$layout" ]; then 24 | echo "Empty layout" 25 | exit 2 26 | fi 27 | 28 | . "$xkb_dir_from/scripts/functions.sh" 29 | 30 | if [ "$(id -u)" -ne 0 ] && command -v sudo > /dev/null 2>&1; then 31 | sudo klfc_child=true "$0" "$@" 32 | else 33 | remove_file "$xkb_dir_to/symbols/$layout" 34 | remove_file "$xkb_dir_to/types/$layout" 35 | remove_file "$xkb_dir_to/keycodes/$layout" 36 | 37 | remove_type "$xkb_dir_to/rules/base" "$layout" 38 | remove_type "$xkb_dir_to/rules/evdev" "$layout" 39 | 40 | remove_models "$xkb_dir_to/rules/base" "$mods" "$layout" 41 | remove_models "$xkb_dir_to/rules/evdev" "$mods" "$layout" 42 | 43 | remove_description "$xkb_dir_to/rules/base.lst" "$layout" "$description" 44 | remove_description "$xkb_dir_to/rules/evdev.lst" "$layout" "$description" 45 | 46 | "$xkb_dir_from/scripts/remove-layout-from-xml.py" "$xkb_dir_to/rules/base.xml" "$layout" 47 | "$xkb_dir_from/scripts/remove-layout-from-xml.py" "$xkb_dir_to/rules/evdev.xml" "$layout" 48 | 49 | "$xkb_dir_from/scripts/remove-models-from-xml.py" "$xkb_dir_to/rules/base.xml" "$mods" 50 | "$xkb_dir_from/scripts/remove-models-from-xml.py" "$xkb_dir_to/rules/evdev.xml" "$mods" 51 | fi 52 | 53 | if [ "$(id -u)" -eq 0 ]; then 54 | if [ "${klfc_child-false}" = false ] && [ -f "$xkb_dir_from/XCompose" ]; then 55 | echo "Run scripts/uninstall-xcompose.sh as user to uninstall the XCompose file." 56 | fi 57 | else 58 | "$xkb_dir_from/scripts/uninstall-xcompose.sh" "$layout" 59 | fi 60 | -------------------------------------------------------------------------------- /dot_local/bin/executable_brightness_sync.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # brightness_sync.sh: Sync brightness across internal and external displays 3 | # Usage: brightness_sync.sh AMT WOBSOCK 4 | 5 | # Parameters 6 | BRIGHTNESS_CHANGE=$1 7 | WOBSOCK=$2 8 | CACHE_FILE="/tmp/ddc_monitors_cache" 9 | 10 | # 1. Clean up concurrency 11 | # Kill previous instances to prevent I2C bus pile-ups. 12 | pgrep -f "brightness_sync.sh" | grep -v $$ | xargs -r kill 13 | 14 | # 2. IMMEDIATE ACTION: Internal Screen & UI 15 | # We do this first so the laptop feels responsive instantly. 16 | NEW_BRIGHTNESS=$(brightnessctl set "$BRIGHTNESS_CHANGE" -m | cut -d, -f4 | tr -d '%') 17 | 18 | if [ -z "$NEW_BRIGHTNESS" ]; then 19 | exit 1 20 | fi 21 | 22 | # Update WOBSOCK immediately if it exists 23 | if [ -n "$WOBSOCK" ]; then 24 | echo "$NEW_BRIGHTNESS" > "$WOBSOCK" 25 | fi 26 | 27 | # 3. Monitor Discovery (Lazy Loading) 28 | # Change: We use -f (file exists) instead of -s (file has content). 29 | # If the file exists but is empty, it means we scanned and found NO screens. 30 | # We respect that empty state and do not re-scan. 31 | if [ ! -f "$CACHE_FILE" ]; then 32 | ddcutil detect --terse | \ 33 | awk '/^Display/ {valid=1} /^Invalid/ {valid=0} valid && /I2C bus:/ {print $NF}' | \ 34 | sed 's/.*i2c-//' > "$CACHE_FILE" 35 | fi 36 | 37 | # 4. Adjust External Monitors (Background) 38 | # If CACHE_FILE is empty (no screens), this loop simply doesn't run. 39 | while read -r bus_id; do 40 | ddcutil setvcp 10 "$NEW_BRIGHTNESS" --bus "$bus_id" --noverify & 41 | done < "$CACHE_FILE" 42 | 43 | # TODO(rg): write up as a short post / blog 44 | # Addenum :: udev hotplug 45 | # sudo nano /etc/udev/rules.d/99-ddc-cache-reset.rules 46 | # ACTION=="change", SUBSYSTEM=="drm", ENV{HOTPLUG}=="1", RUN+="/usr/bin/rm -f /tmp/ddc_monitors_cache" 47 | # sudo udevadm control --reload-rules && sudo udevadm trigger 48 | # To control 49 | # ls -l /tmp/ddc_monitors_cache 50 | # Could alternatively use kanshi but that needs a profile for every single one 51 | -------------------------------------------------------------------------------- /colevimIS/xkb/scripts/executable_add-layout-to-xml.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # -*- coding: utf-8 -*- 3 | from __future__ import print_function 4 | import sys 5 | import xml.etree.ElementTree as ET 6 | 7 | def getLayoutXml(layout, description, variants, description_variants): 8 | layoutXml = ET.Element('layout') 9 | configItem = ET.SubElement(layoutXml, 'configItem') 10 | ET.SubElement(configItem, 'name').text = layout 11 | ET.SubElement(configItem, 'shortDescription').text = layout 12 | ET.SubElement(configItem, 'description').text = description 13 | if zip(variants, description_variants): 14 | variantList = ET.SubElement(layoutXml, 'variantList') 15 | for variant, description_variant in zip(variants, description_variants): 16 | variantXml = ET.SubElement(variantList, 'variant') 17 | variantConfigItem = ET.SubElement(variantXml, 'configItem') 18 | ET.SubElement(variantConfigItem, 'name').text = variant 19 | ET.SubElement(variantConfigItem, 'description').text = description + " (" + description_variant + ")" 20 | indent(layoutXml, 2) 21 | layoutXml.tail = '\n ' 22 | return layoutXml 23 | 24 | def indent(element, level): 25 | if list(element): 26 | element.text = '\n' + 2*(level+1)*' ' 27 | for child in element[:-1]: 28 | indent(child, level+1) 29 | child.tail = '\n' + 2*(level+1)*' ' 30 | indent(element[-1], level+1) 31 | element[-1].tail = '\n' + 2*level*' ' 32 | 33 | if len(sys.argv) != 6: 34 | print('add-layout-to-xml needs exactly 5 argument', file=sys.stderr) 35 | sys.exit(1) 36 | fname = sys.argv[1] 37 | layout = sys.argv[2] 38 | description = sys.argv[3] 39 | variants = sys.argv[4].split('\n') if sys.argv[4] else [] 40 | description_variants = sys.argv[5].split('\n') if sys.argv[5] else [] 41 | 42 | tree = ET.parse(fname) 43 | root = tree.getroot() 44 | layoutList = root.find('layoutList') 45 | layoutList[-1].tail = '\n ' 46 | layoutList.append(getLayoutXml(layout, description, variants, description_variants)) 47 | root.tail = '\n' 48 | tree.write(fname) 49 | -------------------------------------------------------------------------------- /.chezmoiscripts/run_once_x_bash.bash.tmpl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # TODO(rg): Technically x-cmd can be run on windows too, and can also handle zsh 3 | # and friends 4 | {{ if and (ne .chezmoi.os "windows") (lookPath "bash") -}} 5 | set -euo pipefail 6 | 7 | if [[ ! -d "$HOME/.x-cmd.root/" ]]; then 8 | echo "x-cmd not found. Installing..." 9 | if command -v curl >/dev/null 2>&1; then 10 | eval "$(curl -fsSL https://get.x-cmd.com)" 11 | # Use wget as a fallback. 12 | elif command -v wget >/dev/null 2>&1; then 13 | eval "$(wget -qO- https://get.x-cmd.com)" 14 | else 15 | echo "Error: Neither curl nor wget is available. Cannot install x-cmd." >&2 16 | exit 1 17 | fi 18 | echo "x-cmd installation complete." 19 | fi 20 | 21 | [ ! -f "$HOME/.x-cmd.root/X" ] || . "$HOME/.x-cmd.root/X" 22 | 23 | tools=( 24 | "atuin" 25 | "bat" 26 | "btm" 27 | "delta" # git-delta 28 | "difft" # TODO(rg): setup 29 | "dust" # du-dust 30 | "eza" # like exa but maintained 31 | "fd" 32 | "grex" 33 | "hyperfine" 34 | "hexyl" 35 | "navi" 36 | "ouch" 37 | "pueue" # TODO(rg): test 38 | "starship" 39 | "tokei" 40 | "watchexec" 41 | "zoxide" 42 | ) 43 | # Non Rust tools work too 44 | tools+=( 45 | "bun" 46 | "chezmoi" 47 | "czg" # TODO(rg): setup 48 | "fzf" 49 | "gopass" # TODO(rg): setup 50 | "hadolint" 51 | "mermaid-cli" 52 | "miller" 53 | "pandoc" 54 | "shfmt" 55 | "upx" # TODO(rg): test 56 | "uv" 57 | "vale" 58 | # NOTE(rg): khal? 59 | ) 60 | 61 | for item in "${tools[@]}"; do 62 | x env use "$item" 63 | done 64 | 65 | # installables=( 66 | # "amber" 67 | # "pixi" 68 | # "silicon" 69 | # "tealdeer" 70 | # ) 71 | 72 | # XXX(rg): ble.sh needs to be disabled for the interactive aspect to work 73 | # for item in "${installables[@]}"; do 74 | # x install "$item" 75 | # done 76 | 77 | # For whatever reason this is only run once 78 | x starship use bracketed-segments 79 | 80 | {{ end }} 81 | 82 | # Emacs Stuff (cross platform) 83 | # Local Variables: 84 | # mode: shell-script 85 | # End: 86 | -------------------------------------------------------------------------------- /.chezmoiscripts/run_once_get_gre_words.sh.tmpl: -------------------------------------------------------------------------------- 1 | {{ if ne .chezmoi.os "windows" -}} 2 | #!/bin/bash 3 | 4 | # Make the creation of the GRE words directory and setup optional 5 | if [ "$SETUP_GRE_WORDS" = "true" ]; then 6 | echo "Setting up GRE word list..." 7 | 8 | # Create the directory if it doesn't exist 9 | mkdir -p "$HOME/.local/greWords" 10 | 11 | # Check if already cloned 12 | if [ ! -d "$HOME/.local/greWords/gre-cli-words" ]; then 13 | echo "Cloning gre-cli-words repository..." 14 | git clone https://github.com/mcaceresb/gre-cli-words "$HOME/.local/greWords/gre-cli-words" 15 | else 16 | echo "gre-cli-words repository already cloned. Skipping." 17 | fi 18 | 19 | cd "$HOME/.local/greWords/gre-cli-words" 20 | 21 | # Install Julia dependencies only if Julia is available and DataFrames is not installed. 22 | if command -v julia >/dev/null 2>&1; then 23 | if ! julia -e "using Pkg; println(isinstalled(\"DataFrames\"))" | grep -q "true"; then 24 | echo "Installing Julia DataFrames package..." 25 | julia -e "using Pkg; Pkg.add(\"DataFrames\")" 26 | else 27 | echo "Julia DataFrames package already installed. Skipping." 28 | fi 29 | 30 | # Make the script executable 31 | chmod +x ./generate_gre_words.jl 32 | 33 | # Generate the word list only if it doesn't exist 34 | if [ ! -f "custom_gre_word_list" ]; then 35 | echo "Generating GRE word list..." 36 | ./generate_gre_words.jl 37 | else 38 | echo "GRE word list already generated. Skipping." 39 | fi 40 | else 41 | echo "Julia not found. Skipping Julia-related steps." 42 | fi 43 | else 44 | echo "Skipping GRE word list setup. SETUP_GRE_WORDS is not 'true'." 45 | fi 46 | 47 | # Check if the custom word list exists before trying to use it 48 | if [ -f "$HOME/.local/greWords/gre-cli-words/custom_gre_word_list" ]; then 49 | echo "Displaying a random GRE word:" 50 | "$HOME/.local/greWords/gre-cli-words/random_gre.sh" "$HOME/.local/greWords/gre-cli-words/custom_gre_word_list" 51 | else 52 | echo "Custom GRE word list not found. Please set SETUP_GRE_WORDS to 'true' and re-run to generate it." 53 | fi 54 | {{ end }} 55 | -------------------------------------------------------------------------------- /.chezmoitemplates/nushell/scripts/systemctlAlias.nu.tmpl: -------------------------------------------------------------------------------- 1 | # References 2 | # [1]: https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/systemd/systemd.plugin.zsh 3 | 4 | # Define which subcommands require sudo. 5 | let sudo_commands = [ 6 | "add-requires", "add-wants", "cancel", "daemon-reexec", "daemon-reload", 7 | "default", "disable", "edit", "emergency", "enable", "halt", "hibernate", 8 | "hybrid-sleep", "import-environment", "isolate", "kexec", "kill", "link", 9 | "list-machines", "load", "mask", "poweroff", "preset", "preset-all", "reboot", 10 | "reenable", "reload", "reload-or-restart", "reset-failed", "rescue", "restart", 11 | "revert", "set-default", "set-environment", "set-property", "start", "stop", 12 | "suspend", "switch-root", "try-reload-or-restart", "try-restart", "unmask", 13 | "unset-environment" 14 | ] 15 | 16 | # A dispatcher command for system-wide systemctl. 17 | # It automatically uses 'sudo' for commands that need root privileges. 18 | # It uses `run-external` to correctly pass all flags and arguments. 19 | export def sc [...rest: string] { 20 | let subcommand = ($rest | first) 21 | 22 | if ($subcommand in $sudo_commands) { 23 | run-external "sudo" "systemctl" ...$rest 24 | } else { 25 | run-external "systemctl" ...$rest 26 | } 27 | } 28 | 29 | # A dispatcher command for user-specific systemctl. 30 | export def scu [...rest: string] { 31 | run-external "systemctl" "--user" ...$rest 32 | } 33 | 34 | 35 | # --- Explicit Command Definitions for Aliases --- 36 | # --now commands 37 | export def "sc-enable-now" [...rest: string] { sudo systemctl enable --now ...$rest } 38 | export def "sc-disable-now" [...rest: string] { sudo systemctl disable --now ...$rest } 39 | export def "sc-mask-now" [...rest: string] { sudo systemctl mask --now ...$rest } 40 | 41 | export def "scu-enable-now" [...rest: string] { systemctl --user enable --now ...$rest } 42 | export def "scu-disable-now" [...rest: string] { systemctl --user disable --now ...$rest } 43 | export def "scu-mask-now" [...rest: string] { systemctl --user mask --now ...$rest } 44 | 45 | 46 | # --failed commands 47 | export def "sc-failed" [...rest: string] { systemctl --failed ...$rest } 48 | export def "scu-failed" [...rest: string] { systemctl --user --failed ...$rest } 49 | -------------------------------------------------------------------------------- /colevimIS/pkl/layouts/colemak/layout.ini: -------------------------------------------------------------------------------- 1 | ; Generated by KLFC 1.5.7 2 | ; https://github.com/39aldo39/klfc 3 | 4 | [informations] 5 | layoutname = Colemak 6 | layoutcode = colemak 7 | localeid = 00000409 8 | 9 | copyright = Public Domain 10 | company = 2006-01-01 Shai Coleman 11 | homepage = http://pkl.sourceforge.net/ 12 | version = 1.0 13 | 14 | generated_at = 2024-03-08 00:08:38 15 | 16 | 17 | [global] 18 | extend_key = CapsLock 19 | shiftstates = 0:1:6:7 20 | 21 | 22 | [layout] 23 | SC029 = OEM_3 0 ` ~ ` ` ; QWERTY ~ 24 | SC002 = 1 0 1 ! 1 1 ; QWERTY 1 25 | SC003 = 2 0 2 @ 2 2 ; QWERTY 2 26 | SC004 = 3 0 3 # 3 3 ; QWERTY 3 27 | SC005 = 4 0 4 $ 4 4 ; QWERTY 4 28 | SC006 = 5 0 5 % 5 5 ; QWERTY 5 29 | SC007 = 6 0 6 ^ 6 6 ; QWERTY 6 30 | SC008 = 7 0 7 & 7 7 ; QWERTY 7 31 | SC009 = 8 0 8 * 8 8 ; QWERTY 8 32 | SC00a = 9 0 9 ( 9 9 ; QWERTY 9 33 | SC00b = 0 0 0 ) 0 0 ; QWERTY 0 34 | SC00c = OEM_MINUS 0 - _ - - ; QWERTY - 35 | SC00d = OEM_PLUS 0 = + = = ; QWERTY + 36 | SC010 = Q 1 q Q q q ; QWERTY Q 37 | SC011 = W 1 w W w w ; QWERTY W 38 | SC012 = F 1 f F f f ; QWERTY E 39 | SC013 = P 1 p P p p ; QWERTY R 40 | SC014 = G 1 g G g g ; QWERTY T 41 | SC015 = J 1 j J j j ; QWERTY Y 42 | SC016 = L 1 l L l l ; QWERTY U 43 | SC017 = U 1 u U ú Ú ; QWERTY I 44 | SC018 = Y 1 y Y ý Ý ; QWERTY O 45 | SC019 = OEM_1 0 ; : ; ; ; QWERTY P 46 | SC01a = OEM_4 0 [ { [ [ ; QWERTY [ 47 | SC01b = OEM_6 0 ] } ] ] ; QWERTY ] 48 | SC02b = OEM_5 0 \ | \ \ ; QWERTY \ 49 | SC01e = A 1 a A á Á ; QWERTY A 50 | SC01f = R 1 r R r r ; QWERTY S 51 | SC020 = S 1 s S s s ; QWERTY D 52 | SC021 = T 1 t T þ Þ ; QWERTY F 53 | SC022 = D 1 d D ð Ð ; QWERTY G 54 | SC023 = H 1 h H h h ; QWERTY H 55 | SC024 = N 1 n N n n ; QWERTY J 56 | SC025 = E 1 e E é É ; QWERTY K 57 | SC026 = I 1 i I í Í ; QWERTY L 58 | SC027 = O 1 o O ó Ó ; QWERTY ; 59 | SC028 = OEM_7 0 ' " ' ' ; QWERTY ' 60 | SC02c = Z 1 z Z z z ; QWERTY Z 61 | SC02d = X 1 x X x x ; QWERTY X 62 | SC02e = C 1 c C c c ; QWERTY C 63 | SC02f = V 1 v V v v ; QWERTY V 64 | SC030 = B 1 b B b b ; QWERTY B 65 | SC031 = K 1 k K k k ; QWERTY N 66 | SC032 = M 1 m M m m ; QWERTY M 67 | SC033 = OEM_COMMA 0 , < , , ; QWERTY , 68 | SC034 = OEM_PERIOD 0 . > . . ; QWERTY . 69 | SC035 = OEM_2 0 / ? / / ; QWERTY / 70 | SC03a = disabled ; QWERTY CapsLock 71 | SC038 = disabled ; QWERTY Alt_L 72 | -------------------------------------------------------------------------------- /colevimIS/pkl/layouts/colemak_mod-dh/layout.ini: -------------------------------------------------------------------------------- 1 | ; Generated by KLFC 1.5.7 2 | ; https://github.com/39aldo39/klfc 3 | 4 | [informations] 5 | layoutname = Colemak (mod-dh) 6 | layoutcode = colemak_mod-dh 7 | localeid = 00000409 8 | 9 | copyright = Public Domain 10 | company = 2006-01-01 Shai Coleman 11 | homepage = http://pkl.sourceforge.net/ 12 | version = 1.0 13 | 14 | generated_at = 2024-03-08 00:08:38 15 | 16 | 17 | [global] 18 | extend_key = CapsLock 19 | shiftstates = 0:1:6:7 20 | 21 | 22 | [layout] 23 | SC029 = OEM_3 0 ` ~ ` ` ; QWERTY ~ 24 | SC002 = 1 0 1 ! 1 1 ; QWERTY 1 25 | SC003 = 2 0 2 @ 2 2 ; QWERTY 2 26 | SC004 = 3 0 3 # 3 3 ; QWERTY 3 27 | SC005 = 4 0 4 $ 4 4 ; QWERTY 4 28 | SC006 = 5 0 5 % 5 5 ; QWERTY 5 29 | SC007 = 6 0 6 ^ 6 6 ; QWERTY 6 30 | SC008 = 7 0 7 & 7 7 ; QWERTY 7 31 | SC009 = 8 0 8 * 8 8 ; QWERTY 8 32 | SC00a = 9 0 9 ( 9 9 ; QWERTY 9 33 | SC00b = 0 0 0 ) 0 0 ; QWERTY 0 34 | SC00c = OEM_MINUS 0 - _ - - ; QWERTY - 35 | SC00d = OEM_PLUS 0 = + = = ; QWERTY + 36 | SC010 = Q 1 q Q q q ; QWERTY Q 37 | SC011 = W 1 w W w w ; QWERTY W 38 | SC012 = F 1 f F f f ; QWERTY E 39 | SC013 = P 1 p P p p ; QWERTY R 40 | SC014 = B 1 b B b b ; QWERTY T 41 | SC015 = J 1 j J j j ; QWERTY Y 42 | SC016 = L 1 l L l l ; QWERTY U 43 | SC017 = U 1 u U ú Ú ; QWERTY I 44 | SC018 = Y 1 y Y ý Ý ; QWERTY O 45 | SC019 = OEM_1 0 ; : ; ; ; QWERTY P 46 | SC01a = OEM_4 0 [ { [ [ ; QWERTY [ 47 | SC01b = OEM_6 0 ] } ] ] ; QWERTY ] 48 | SC02b = OEM_5 0 \ | \ \ ; QWERTY \ 49 | SC01e = A 1 a A á Á ; QWERTY A 50 | SC01f = R 1 r R r r ; QWERTY S 51 | SC020 = S 1 s S s s ; QWERTY D 52 | SC021 = T 1 t T þ Þ ; QWERTY F 53 | SC022 = G 1 g G ð Ð ; QWERTY G 54 | SC023 = K 1 k K k k ; QWERTY H 55 | SC024 = N 1 n N n n ; QWERTY J 56 | SC025 = E 1 e E é É ; QWERTY K 57 | SC026 = I 1 i I í Í ; QWERTY L 58 | SC027 = O 1 o O ó Ó ; QWERTY ; 59 | SC028 = OEM_7 0 ' " ' ' ; QWERTY ' 60 | SC02c = Z 1 z Z z z ; QWERTY Z 61 | SC02d = X 1 x X x x ; QWERTY X 62 | SC02e = C 1 c C c c ; QWERTY C 63 | SC02f = D 1 d D d d ; QWERTY V 64 | SC030 = V 1 v V v v ; QWERTY B 65 | SC031 = M 1 m M m m ; QWERTY N 66 | SC032 = H 1 h H h h ; QWERTY M 67 | SC033 = OEM_COMMA 0 , < , , ; QWERTY , 68 | SC034 = OEM_PERIOD 0 . > . . ; QWERTY . 69 | SC035 = OEM_2 0 / ? / / ; QWERTY / 70 | SC03a = disabled ; QWERTY CapsLock 71 | SC038 = disabled ; QWERTY Alt_L 72 | -------------------------------------------------------------------------------- /executable_dot_yabairc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # 4 | # for this to work you must configure sudo such that 5 | # it will be able to run the command without password 6 | # 7 | # see this wiki page for information: 8 | # - https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)#configure-scripting-addition 9 | # 10 | yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa" 11 | sudo yabai --load-sa 12 | # 13 | 14 | # global settings 15 | yabai -m config \ 16 | mouse_follows_focus off \ 17 | focus_follows_mouse off \ 18 | window_origin_display default \ 19 | window_placement second_child \ 20 | window_zoom_persist on \ 21 | window_topmost off \ 22 | window_shadow on \ 23 | window_animation_duration 0.0 \ 24 | window_animation_frame_rate 120 \ 25 | window_opacity_duration 0.0 \ 26 | active_window_opacity 1.0 \ 27 | normal_window_opacity 0.90 \ 28 | window_opacity off \ 29 | insert_feedback_color 0xffd75f5f \ 30 | active_window_border_color 0xff775759 \ 31 | normal_window_border_color 0xff555555 \ 32 | window_border_width 4 \ 33 | window_border_radius 12 \ 34 | window_border_blur off \ 35 | window_border_hidpi on \ 36 | window_border off \ 37 | split_ratio 0.50 \ 38 | split_type auto \ 39 | auto_balance off \ 40 | top_padding 12 \ 41 | bottom_padding 12 \ 42 | left_padding 12 \ 43 | right_padding 12 \ 44 | window_gap 06 \ 45 | layout bsp \ 46 | mouse_modifier fn \ 47 | mouse_action1 move \ 48 | mouse_action2 resize \ 49 | mouse_drop_action swap 50 | 51 | echo "yabai configuration loaded.." 52 | -------------------------------------------------------------------------------- /dot_gitconfig.tmpl: -------------------------------------------------------------------------------- 1 | [user] 2 | name = Rohit Goswami 3 | email = rog32@hi.is # If encrypted: {{ if eq .encrypted "yes" }} 4 | signingkey = 9CCCE36402CB49A6 5 | 6 | [commit] 7 | gpgsign = true 8 | 9 | [tag] 10 | gpgsign = true 11 | # End encrypted {{ end }} 12 | 13 | # Merge commits by default 14 | [pull] 15 | rebase = false 16 | 17 | # Politically correct 18 | [init] 19 | defaultBranch = main 20 | 21 | # MacOS only {{ if eq .chezmoi.os "darwin" }} 22 | [gpg] 23 | program = /usr/local/MacGPG2/bin/gpg2 24 | # End MacOS {{ end }} 25 | 26 | [core] 27 | # false ignores permissions changes 28 | filemode = false 29 | # The default is $XDG_CONFIG_HOME/git/ignore 30 | excludesFile = ~/.config/git/ignore 31 | 32 | [diff] 33 | # Git diff will use (i)ndex, (w)ork tree, (c)ommit and (o)bject 34 | # instead of a/b/c/d as prefixes for patches 35 | mnemonicprefix = true 36 | # The patience algorithm seems pretty reasonable 37 | # See: https://github.com/peter-evans/patience 38 | algorithm = patience 39 | compactionHeuristic = true 40 | colorMoved = default 41 | # Pretty outputs 42 | # https://github.com/dandavison/delta 43 | [pager] 44 | diff = delta 45 | log = delta 46 | reflog = delta 47 | show = delta 48 | 49 | [interactive] 50 | diffFilter = delta --color-only --features=interactive 51 | 52 | [delta] 53 | features = side-by-side line-numbers decorations dark 54 | syntax-theme = Monokai Extended # Solarized (light) 55 | navigate = true 56 | 57 | [delta "interactive"] 58 | keep-plus-minus-markers = false 59 | 60 | [delta "magit-delta"] 61 | whitespace-error-style = green reverse 62 | 63 | # Keys over passwords 64 | [url "git@github.com:"] 65 | insteadOf = https://github.com/ 66 | 67 | [url "git@gitlab.com:"] 68 | insteadOf = https://gitlab.com/ 69 | 70 | [credential] 71 | helper = cache 72 | 73 | [alias] 74 | mr = !sh -c 'git fetch $1 merge-requests/$2/head:mr-$1-$2 && git checkout mr-$1-$2' - 75 | # Kanged: https://github.com/alrra/dotfiles/blob/main/src/git/gitconfig 76 | # https://help.github.com/en/articles/creating-a-commit-with-multiple-authors 77 | credit-co-author = "!f() { \ 78 | if [ -n \"$1\" ] && [ -n \"$2\" ]; then \ 79 | GIT_EDITOR=\"git interpret-trailers --in-place --trailer='Co-authored-by: 1<2>'\" git commit --amend; \ 80 | fi \ 81 | }; f" 82 | 83 | [http "https://gitea.mpi-muelheim.mpg.de:3000"] 84 | proxy=socks5h://127.0.0.1:9998 85 | 86 | # xref: https://git-scm.com/book/en/v2/Git-Tools-Rerere 87 | [rerere] 88 | enabled = true 89 | 90 | # Emacs Stuff (cross platform) 91 | # Local Variables: 92 | # mode: gitconfig 93 | # End: 94 | -------------------------------------------------------------------------------- /colevimIS/klc/colemak.klc: -------------------------------------------------------------------------------- 1 | // Generated by KLFC 1.5.7 2 | // https://github.com/39aldo39/klfc 3 | 4 | KBD colemak "Colemak" 5 | 6 | COPYRIGHT "Public Domain" 7 | 8 | COMPANY "2006-01-01 Shai Coleman" 9 | 10 | LOCALEID "00000409" 11 | 12 | VERSION 1.0 13 | 14 | SHIFTSTATE 15 | 16 | 0 17 | 1 18 | 6 19 | 7 20 | 21 | LAYOUT 22 | 23 | 29 OEM_3 0 0060 007e 0060 0060 // QWERTY ~: `, ~, `, ` 24 | 02 1 0 1 0021 1 1 // QWERTY 1: 1, !, 1, 1 25 | 03 2 0 2 0040 2 2 // QWERTY 2: 2, @, 2, 2 26 | 04 3 0 3 0023 3 3 // QWERTY 3: 3, #, 3, 3 27 | 05 4 0 4 0024 4 4 // QWERTY 4: 4, $, 4, 4 28 | 06 5 0 5 0025 5 5 // QWERTY 5: 5, %, 5, 5 29 | 07 6 0 6 005e 6 6 // QWERTY 6: 6, ^, 6, 6 30 | 08 7 0 7 0026 7 7 // QWERTY 7: 7, &, 7, 7 31 | 09 8 0 8 002a 8 8 // QWERTY 8: 8, *, 8, 8 32 | 0a 9 0 9 0028 9 9 // QWERTY 9: 9, (, 9, 9 33 | 0b 0 0 0 0029 0 0 // QWERTY 0: 0, ), 0, 0 34 | 0c OEM_MINUS 0 002d 005f 002d 002d // QWERTY -: -, _, -, - 35 | 0d OEM_PLUS 0 003d 002b 003d 003d // QWERTY +: =, +, =, = 36 | 10 Q 1 q Q q q // QWERTY Q: q, Q, q, q 37 | 11 W 1 w W w w // QWERTY W: w, W, w, w 38 | 12 F 1 f F f f // QWERTY E: f, F, f, f 39 | 13 P 1 p P p p // QWERTY R: p, P, p, p 40 | 14 G 1 g G g g // QWERTY T: g, G, g, g 41 | 15 J 1 j J j j // QWERTY Y: j, J, j, j 42 | 16 L 1 l L l l // QWERTY U: l, L, l, l 43 | 17 U 1 u U 00fa 00da // QWERTY I: u, U, ú, Ú 44 | 18 Y 1 y Y 00fd 00dd // QWERTY O: y, Y, ý, Ý 45 | 19 OEM_1 0 003b 003a 003b 003b // QWERTY P: ;, :, ;, ; 46 | 1a OEM_4 0 005b 007b 005b 005b // QWERTY [: [, {, [, [ 47 | 1b OEM_6 0 005d 007d 005d 005d // QWERTY ]: ], }, ], ] 48 | 2b OEM_5 0 005c 007c 005c 005c // QWERTY \: \, |, \, \ 49 | 1e A 1 a A 00e1 00c1 // QWERTY A: a, A, á, Á 50 | 1f R 1 r R r r // QWERTY S: r, R, r, r 51 | 20 S 1 s S s s // QWERTY D: s, S, s, s 52 | 21 T 1 t T 00fe 00de // QWERTY F: t, T, þ, Þ 53 | 22 D 1 d D 00f0 00d0 // QWERTY G: d, D, ð, Ð 54 | 23 H 1 h H h h // QWERTY H: h, H, h, h 55 | 24 N 1 n N n n // QWERTY J: n, N, n, n 56 | 25 E 1 e E 00e9 00c9 // QWERTY K: e, E, é, É 57 | 26 I 1 i I 00ed 00cd // QWERTY L: i, I, í, Í 58 | 27 O 1 o O 00f3 00d3 // QWERTY ;: o, O, ó, Ó 59 | 28 OEM_7 0 0027 0022 0027 0027 // QWERTY ': ', ", ', ' 60 | 2c Z 1 z Z z z // QWERTY Z: z, Z, z, z 61 | 2d X 1 x X x x // QWERTY X: x, X, x, x 62 | 2e C 1 c C c c // QWERTY C: c, C, c, c 63 | 2f V 1 v V v v // QWERTY V: v, V, v, v 64 | 30 B 1 b B b b // QWERTY B: b, B, b, b 65 | 31 K 1 k K k k // QWERTY N: k, K, k, k 66 | 32 M 1 m M m m // QWERTY M: m, M, m, m 67 | 33 OEM_COMMA 0 002c 003c 002c 002c // QWERTY ,: ,, <, ,, , 68 | 34 OEM_PERIOD 0 002e 003e 002e 002e // QWERTY .: ., >, ., . 69 | 35 OEM_2 0 002f 003f 002f 002f // QWERTY /: /, ?, /, / 70 | 71 | 72 | ENDKBD 73 | -------------------------------------------------------------------------------- /colevimIS/klc/colemak_mod-dh.klc: -------------------------------------------------------------------------------- 1 | // Generated by KLFC 1.5.7 2 | // https://github.com/39aldo39/klfc 3 | 4 | KBD colemak_mod-dh "Colemak (mod-dh)" 5 | 6 | COPYRIGHT "Public Domain" 7 | 8 | COMPANY "2006-01-01 Shai Coleman" 9 | 10 | LOCALEID "00000409" 11 | 12 | VERSION 1.0 13 | 14 | SHIFTSTATE 15 | 16 | 0 17 | 1 18 | 6 19 | 7 20 | 21 | LAYOUT 22 | 23 | 29 OEM_3 0 0060 007e 0060 0060 // QWERTY ~: `, ~, `, ` 24 | 02 1 0 1 0021 1 1 // QWERTY 1: 1, !, 1, 1 25 | 03 2 0 2 0040 2 2 // QWERTY 2: 2, @, 2, 2 26 | 04 3 0 3 0023 3 3 // QWERTY 3: 3, #, 3, 3 27 | 05 4 0 4 0024 4 4 // QWERTY 4: 4, $, 4, 4 28 | 06 5 0 5 0025 5 5 // QWERTY 5: 5, %, 5, 5 29 | 07 6 0 6 005e 6 6 // QWERTY 6: 6, ^, 6, 6 30 | 08 7 0 7 0026 7 7 // QWERTY 7: 7, &, 7, 7 31 | 09 8 0 8 002a 8 8 // QWERTY 8: 8, *, 8, 8 32 | 0a 9 0 9 0028 9 9 // QWERTY 9: 9, (, 9, 9 33 | 0b 0 0 0 0029 0 0 // QWERTY 0: 0, ), 0, 0 34 | 0c OEM_MINUS 0 002d 005f 002d 002d // QWERTY -: -, _, -, - 35 | 0d OEM_PLUS 0 003d 002b 003d 003d // QWERTY +: =, +, =, = 36 | 10 Q 1 q Q q q // QWERTY Q: q, Q, q, q 37 | 11 W 1 w W w w // QWERTY W: w, W, w, w 38 | 12 F 1 f F f f // QWERTY E: f, F, f, f 39 | 13 P 1 p P p p // QWERTY R: p, P, p, p 40 | 14 B 1 b B b b // QWERTY T: b, B, b, b 41 | 15 J 1 j J j j // QWERTY Y: j, J, j, j 42 | 16 L 1 l L l l // QWERTY U: l, L, l, l 43 | 17 U 1 u U 00fa 00da // QWERTY I: u, U, ú, Ú 44 | 18 Y 1 y Y 00fd 00dd // QWERTY O: y, Y, ý, Ý 45 | 19 OEM_1 0 003b 003a 003b 003b // QWERTY P: ;, :, ;, ; 46 | 1a OEM_4 0 005b 007b 005b 005b // QWERTY [: [, {, [, [ 47 | 1b OEM_6 0 005d 007d 005d 005d // QWERTY ]: ], }, ], ] 48 | 2b OEM_5 0 005c 007c 005c 005c // QWERTY \: \, |, \, \ 49 | 1e A 1 a A 00e1 00c1 // QWERTY A: a, A, á, Á 50 | 1f R 1 r R r r // QWERTY S: r, R, r, r 51 | 20 S 1 s S s s // QWERTY D: s, S, s, s 52 | 21 T 1 t T 00fe 00de // QWERTY F: t, T, þ, Þ 53 | 22 G 1 g G 00f0 00d0 // QWERTY G: g, G, ð, Ð 54 | 23 K 1 k K k k // QWERTY H: k, K, k, k 55 | 24 N 1 n N n n // QWERTY J: n, N, n, n 56 | 25 E 1 e E 00e9 00c9 // QWERTY K: e, E, é, É 57 | 26 I 1 i I 00ed 00cd // QWERTY L: i, I, í, Í 58 | 27 O 1 o O 00f3 00d3 // QWERTY ;: o, O, ó, Ó 59 | 28 OEM_7 0 0027 0022 0027 0027 // QWERTY ': ', ", ', ' 60 | 2c Z 1 z Z z z // QWERTY Z: z, Z, z, z 61 | 2d X 1 x X x x // QWERTY X: x, X, x, x 62 | 2e C 1 c C c c // QWERTY C: c, C, c, c 63 | 2f D 1 d D d d // QWERTY V: d, D, d, d 64 | 30 V 1 v V v v // QWERTY B: v, V, v, v 65 | 31 M 1 m M m m // QWERTY N: m, M, m, m 66 | 32 H 1 h H h h // QWERTY M: h, H, h, h 67 | 33 OEM_COMMA 0 002c 003c 002c 002c // QWERTY ,: ,, <, ,, , 68 | 34 OEM_PERIOD 0 002e 003e 002e 002e // QWERTY .: ., >, ., . 69 | 35 OEM_2 0 002f 003f 002f 002f // QWERTY /: /, ?, /, / 70 | 71 | 72 | ENDKBD 73 | -------------------------------------------------------------------------------- /dot_config/shellrc/posix.d/05_paths.sh.tmpl: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env sh 2 | 3 | # Path Additions 4 | ################## 5 | 6 | # Linuxbrew 7 | export PATH=$HOME/.linuxbrew/bin:$PATH 8 | 9 | # TeX (overloaded variables with chezmoi) 10 | export PATH="$HOME/.local/share/texlive-{{ .tex_date }}/bin/$(uname -m)-$(uname -s | tr '[:upper:]' '[:lower:]')/:$PATH" 11 | 12 | # Poetry 13 | export PATH="$HOME/.poetry/bin:$PATH" 14 | 15 | # Doom 16 | export PATH=$PATH:$HOME/.emacs.d/bin 17 | 18 | # Rust 19 | export PATH=$PATH:$HOME/.cargo/bin 20 | 21 | # For the bundled scripts 22 | export PATH="$HOME/.local/bin:$PATH" 23 | export PATH="$PATH:$HOME/.local/bin/cronDrivers" 24 | export PATH="$PATH:$HOME/.local/bin/cryptHelpers" 25 | export PATH="$PATH:$HOME/.local/bin/dockerHelpers" 26 | export PATH="$PATH:$HOME/.local/bin/droidHelpers" 27 | export PATH="$PATH:$HOME/.local/bin/fileHelpers" 28 | export PATH="$PATH:$HOME/.local/bin/gitHelpers" 29 | export PATH="$PATH:$HOME/.local/bin/installHelpers" 30 | export PATH="$PATH:$HOME/.local/bin/shellHelpers" 31 | export PATH="$PATH:$HOME/.local/bin/webHelpers" 32 | 33 | # Go Paths 34 | ########### 35 | 36 | export GOPATH=$HOME/.go 37 | export GOBIN=$HOME/.go/bin 38 | export GOCACHE=$HOME/.cache/go-build 39 | 40 | export PATH=$PATH:$GOBIN 41 | 42 | # Yarn Paths 43 | ############# 44 | export PATH=$HOME/.yarn/bin:$PATH 45 | 46 | # Perl Paths 47 | ############# 48 | PATH="$HOME/perl5/bin${PATH:+:${PATH}}"; export PATH; 49 | PERL5LIB="$HOME/perl5/lib/perl5${PERL5LIB:+:${PERL5LIB}}"; export PERL5LIB; 50 | PERL_LOCAL_LIB_ROOT="$HOME/perl5${PERL_LOCAL_LIB_ROOT:+:${PERL_LOCAL_LIB_ROOT}}"; export PERL_LOCAL_LIB_ROOT; 51 | PERL_MB_OPT="--install_base \"$HOME/perl5\""; export PERL_MB_OPT; 52 | PERL_MM_OPT="INSTALL_BASE=$HOME/perl5"; export PERL_MM_OPT; 53 | 54 | # Snap and Flatpak for rofi 55 | # /usr/share/:/usr/local/share/: 56 | export XDG_DATA_DIRS="$XDG_DATA_DIRS:/var/lib/snapd/desktop:/var/lib/flatpak/exports/share/applications" 57 | # Should be part of the default.. 58 | export XDG_DATA_DIRS="$XDG_DATA_DIRS:$HOME/.local/share" 59 | 60 | 61 | # Conditional paths 62 | #################### 63 | {{- if eq .setup_spack "yes" }} 64 | spack_load() { 65 | echo "Sourcing Spack environment..." 66 | source "$HOME/spack/share/spack/setup-env.sh" 67 | unset -f spack_load 68 | } 69 | {{- end }} 70 | # Now use x pixi instead of pixi 71 | {{- if eq .setup_mamba "yes" }} 72 | # Mamba / Micromamba setup 73 | micromamba_load() { 74 | echo "Sourcing Micromamba environment..." 75 | eval "$(micromamba shell hook --shell=bash)" 76 | unset -f micromamba_load 77 | } 78 | {{- end }} 79 | 80 | # Emacs Stuff (cross platform) 81 | # Local Variables: 82 | # mode: shell-script 83 | # End: 84 | -------------------------------------------------------------------------------- /.chezmoitemplates/nushell/env.nu.tmpl: -------------------------------------------------------------------------------- 1 | # env.nu 2 | # 3 | # Installed by: 4 | # version = "0.104.1" 5 | # 6 | # Previously, environment variables were typically configured in `env.nu`. 7 | # In general, most configuration can and should be performed in `config.nu` 8 | # or one of the autoload directories. 9 | # 10 | # This file is generated for backwards compatibility for now. 11 | # It is loaded before config.nu and login.nu 12 | # 13 | # See https://www.nushell.sh/book/configuration.html 14 | # 15 | # Also see `help config env` for more options. 16 | # 17 | # You can remove these comments if you want or leave 18 | # them for future reference. 19 | 20 | # Path management 21 | use std/util "path add" 22 | path add "~/.cargo/bin" 23 | path add "~/.local/bin" 24 | path add "~/.pixi/bin" 25 | path add "~/.pixi/bin" 26 | 27 | # Setup programs 28 | 29 | ## Setup Starship Prompt 30 | if (which starship | is-not-empty) { 31 | starship init nu | save -f ~/.cache/starship/init.nu 32 | } else { 33 | cargo binstall starship 34 | mkdir ~/.cache/starship 35 | starship init nu | save -f ~/.cache/starship/init.nu 36 | } 37 | 38 | ## Setup Atuin History Search 39 | if (which atuin | is-not-empty) { 40 | atuin init nu --disable-up-arrow | save -f ~/.local/share/atuin/init.nu 41 | } else { 42 | cargo binstall atuin 43 | atuin import auto 44 | mkdir ~/.local/share/atuin/ 45 | atuin init nu --disable-up-arrow | save -f ~/.local/share/atuin/init.nu 46 | } 47 | 48 | ## Setup zoxide 49 | if (which zoxide | is-not-empty) { 50 | zoxide init nushell --cmd Z | save -f ~/.config/nushell/zoxide.nu 51 | } else { 52 | cargo binstall zoxide 53 | zoxide init nushell --cmd Z | save -f ~/.config/nushell/zoxide.nu 54 | } 55 | 56 | ## Setup pixi completion 57 | 58 | let pixi_completion_path = $"($nu.data-dir)/vendor/autoload/pixi-completions.nu" 59 | if (not ((which pixi).path | is-empty)) { 60 | if (not ($pixi_completion_path | path exists)) { 61 | print "Saving pixi completion to ($pixi_completion_path)" 62 | mkdir $"($nu.data-dir)/vendor/autoload" 63 | pixi completion --shell nushell | save -f $pixi_completion_path 64 | } else { 65 | # print "Pixi completion already exists at ($pixi_completion_path)" 66 | } 67 | } else { 68 | print "Pixi not found, skipping completion setup." 69 | } 70 | 71 | ## TODO(rg): Make these conditional and templated! 72 | # Tex 73 | path add "~/.local/share/texlive-20250325/bin/x86_64-linux" 74 | # Check if manpath and infopath are there 75 | $env.MANPATH = $"($env.HOME)/.local/share/texlive-20250325/texmf-dist/doc/man" 76 | $env.INFOPATH = $"($env.HOME)/.local/share/texlive-20250325/texmf-dist/doc/info" 77 | 78 | # Wayland QT woes 79 | $env.QT_QPA_PLATFORM = "xcb" 80 | 81 | ############## 82 | # References # 83 | ############## 84 | # [1]: https://github.com/mgattozzi/dotfiles/blob/main/nushell/env.nu 85 | -------------------------------------------------------------------------------- /dot_Rprofile: -------------------------------------------------------------------------------- 1 | ## From the ArchWiki 2 | # The .First function is called after everything else in .Rprofile is executed 3 | .First <- function() { 4 | # Print a welcome message 5 | if (interactive()){ 6 | message("Welcome back ", Sys.getenv("USER"),"!\n","working directory is:", getwd()) 7 | suppressMessages(library("devtools")) 8 | suppressMessages(library("usethis")) 9 | suppressMessages(library("testthat")) 10 | suppressMessages(library("reprex")) 11 | } 12 | } 13 | 14 | ## Set CRAN Mirror: 15 | local({ 16 | r <- getOption("repos") 17 | ## redirects to "best" among worldwide servers, sponsored by RStudio 18 | r["CRAN"] <- "https://cloud.r-project.org/" 19 | options(repos = r) 20 | }) 21 | 22 | 23 | ### Disable q() to save workspace 24 | ## Create hidden environment 25 | .env <- new.env() 26 | 27 | ## Define new q() function 28 | .env$q <- function(save = "no", ...) { 29 | 30 | quit(save = save, ...) 31 | 32 | } 33 | 34 | ## Attach hidden environment 35 | attach(.env, warn.conflicts = FALSE) 36 | 37 | ## Options 38 | options(digits = 12) # Number of digits to print. Default is 7, max is 15 39 | options(scipen = 2) # Penalty applied to inhibit the use of scientific notation 40 | options(styler.cache_root = "styler") # Speedup 41 | local({ 42 | n <- max(parallel::detectCores() - 2L, 1L) # Detect the number of cores available for use in parallelisation 43 | options(Ncpus = n) # Parallel package installation in install.packages() 44 | options(mc.cores = n) # Parallel apply-type functions via 'parallel' package 45 | }) 46 | 47 | ## Some more options, partially kanged from https://gist.github.com/ijlyttle/dee4a89c8528cd4a0a319bb7b8cdd51a 48 | options( 49 | # if you submit a package to CRAN using devtools, 50 | # it will send an email on your behalf 51 | # - this the name it uses to sign the email 52 | devtools.name = "Rohit Goswami", 53 | # when you create a package using usethis::create_package(), this 54 | # is used to populate the Author field in the DESCRIPTION file 55 | # - an ORCID can be useful, but it is not mandatory: https://orcid.org/ 56 | usethis.description = list( 57 | `Authors@R` = 'person("Rohit", "Goswami", 58 | email = "rgoswami@ieee.org", 59 | role = c("aut", "cre"), 60 | comment = c(ORCID = "0000-0002-2393-8056"))' 61 | ), 62 | # depends on your situation to choose ssh or https: 63 | # - https a useful default 64 | # - if you also use GitHub Enterprise, ssh can be useful 65 | usethis.protocol = "https" 66 | ) 67 | # Emacs Stuff (cross platform) 68 | # Local Variables: 69 | # mode: r 70 | # End: 71 | -------------------------------------------------------------------------------- /colevimIS/xkb/executable_install-system.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eu 3 | 4 | xkb_dir_from=$(dirname "$0") 5 | xkb_dir_to="/usr/share/X11/xkb" 6 | layout="colemak" 7 | description="Colemak" 8 | mods="" 9 | description_mods="" 10 | variants="mod-dh" 11 | description_variants="mod-dh" 12 | 13 | OPTIND=1 14 | 15 | while getopts "i:o:l:d:m:v:" opt; do 16 | case "$opt" in 17 | i) xkb_dir_from="$OPTARG";; 18 | o) xkb_dir_to="$OPTARG";; 19 | l) layout="$OPTARG";; 20 | d) description="$OPTARG";; 21 | m) mods="$OPTARG";; 22 | v) variants="$OPTARG";; 23 | *) exit 1;; 24 | esac 25 | done 26 | 27 | if [ -z "$layout" ]; then 28 | echo "Empty layout" 29 | exit 2 30 | fi 31 | 32 | . "$xkb_dir_from/scripts/functions.sh" 33 | 34 | if [ "$(id -u)" -ne 0 ] && command -v sudo > /dev/null 2>&1; then 35 | sudo klfc_child=true "$0" "$@" 36 | else 37 | copy_file "$xkb_dir_from/symbols/$layout" "$xkb_dir_to/symbols/$layout" 38 | copy_file "$xkb_dir_from/types/$layout" "$xkb_dir_to/types/$layout" 39 | copy_file "$xkb_dir_from/keycodes/$layout" "$xkb_dir_to/keycodes/$layout" 40 | 41 | if [ -f "$xkb_dir_from/types/$layout" ]; then 42 | add_type "$xkb_dir_to/rules/base" "$layout" 43 | add_type "$xkb_dir_to/rules/evdev" "$layout" 44 | else 45 | remove_type "$xkb_dir_to/rules/base" "$layout" 46 | remove_type "$xkb_dir_to/rules/evdev" "$layout" 47 | fi 48 | 49 | add_models "$xkb_dir_to/rules/base" "$mods" "$layout" 50 | add_models "$xkb_dir_to/rules/evdev" "$mods" "$layout" 51 | 52 | add_description "$xkb_dir_to/rules/base.lst" "$layout" "$description" 53 | add_description "$xkb_dir_to/rules/evdev.lst" "$layout" "$description" 54 | 55 | "$xkb_dir_from/scripts/remove-layout-from-xml.py" "$xkb_dir_to/rules/base.xml" "$layout" 56 | "$xkb_dir_from/scripts/add-layout-to-xml.py" "$xkb_dir_to/rules/base.xml" "$layout" "$description" "$variants" "$description_variants" 57 | "$xkb_dir_from/scripts/remove-layout-from-xml.py" "$xkb_dir_to/rules/evdev.xml" "$layout" 58 | "$xkb_dir_from/scripts/add-layout-to-xml.py" "$xkb_dir_to/rules/evdev.xml" "$layout" "$description" "$variants" "$description_variants" 59 | 60 | "$xkb_dir_from/scripts/remove-models-from-xml.py" "$xkb_dir_to/rules/base.xml" "$mods" 61 | "$xkb_dir_from/scripts/add-models-to-xml.py" "$xkb_dir_to/rules/base.xml" "$mods" "$description_mods" 62 | "$xkb_dir_from/scripts/remove-models-from-xml.py" "$xkb_dir_to/rules/evdev.xml" "$mods" 63 | "$xkb_dir_from/scripts/add-models-to-xml.py" "$xkb_dir_to/rules/evdev.xml" "$mods" "$description_mods" 64 | fi 65 | 66 | if [ "$(id -u)" -eq 0 ]; then 67 | if [ "${klfc_child-false}" = false ] && [ -f "$xkb_dir_from/XCompose" ]; then 68 | echo "Run scripts/install-xcompose.sh as user to install the XCompose file." 69 | echo "This is needed to make ligatures and custom dead keys work correctly." 70 | fi 71 | else 72 | "$xkb_dir_from/scripts/install-xcompose.sh" "$layout" 73 | fi 74 | -------------------------------------------------------------------------------- /.chezmoiscripts/run_once_texlive.sh.tmpl: -------------------------------------------------------------------------------- 1 | {{ if ne .chezmoi.os "windows" -}} 2 | #!/usr/bin/env bash 3 | 4 | set -euo pipefail 5 | mkdir -p /tmp/blah 6 | cd /tmp/blah 7 | 8 | MACHINE_TYPE=$(uname -m) 9 | readonly MACHINE_TYPE 10 | OS_TYPE=$(uname -s | tr '[:upper:]' '[:lower:]') 11 | readonly OS_TYPE 12 | 13 | readonly TEXLIVE_URL="http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz" 14 | 15 | # declarations 16 | TEXLIVE_DIR="" 17 | TEXLIVE_BIN="" 18 | TEXLIVE_PROFILE="" 19 | 20 | install_texlive() { 21 | wget "$TEXLIVE_URL" 22 | tar -xzf install-tl-unx.tar.gz 23 | local install_dir=$(ls -dtr install-tl-20* | tail -n 1) 24 | local install_date=${install_dir##*-} 25 | if command -v toml &> /dev/null; then 26 | temp_file=$(mktemp) 27 | if toml set ~/.config/chezmoi/chezmoi.toml data.tex_date "$install_date" > "$temp_file"; then 28 | mv "$temp_file" ~/.config/chezmoi/chezmoi.toml 29 | else 30 | rm "$temp_file" 31 | echo "Failed to update chezmoi.toml" 32 | exit 1 33 | fi 34 | fi 35 | TEXLIVE_DIR="$HOME/.local/share/texlive-$install_date" 36 | mkdir -p "$TEXLIVE_DIR" 37 | TEXLIVE_PROFILE="$TEXLIVE_DIR/texlive.profile" 38 | TEXLIVE_BIN="$TEXLIVE_DIR/bin/$MACHINE_TYPE-$OS_TYPE" 39 | create_profile 40 | cd "$install_dir" 41 | ./install-tl --profile="$TEXLIVE_PROFILE" 42 | cd .. 43 | # cleanup 44 | rm -rf "$install_dir" 45 | rm -rf install-tl-unx.tar.gz 46 | } 47 | 48 | create_profile() { 49 | cat > "$TEXLIVE_PROFILE" << EOF 50 | selected_scheme scheme-basic 51 | TEXDIR $TEXLIVE_DIR 52 | TEXMFCONFIG ~/.texlive/texmf-config 53 | TEXMFHOME ~/texmf 54 | TEXMFLOCAL $TEXLIVE_DIR/texmf-local 55 | TEXMFSYSCONFIG $TEXLIVE_DIR/texmf-config 56 | TEXMFSYSVAR $TEXLIVE_DIR/texmf-var 57 | TEXMFVAR ~/.texlive/texmf-var 58 | option_doc 0 59 | option_src 0 60 | EOF 61 | } 62 | 63 | main() { 64 | if ! command -v texlua > /dev/null; then 65 | 66 | install_texlive 67 | rm "$TEXLIVE_PROFILE" 68 | 69 | export PATH="$TEXLIVE_BIN:$PATH" 70 | 71 | tlmgr option -- autobackup 0 72 | tlmgr update --self --all --no-auto-install 73 | 74 | tlmgr install luatex \ 75 | biber \ 76 | beamer \ 77 | xetex \ 78 | latexmk \ 79 | etoolbox \ 80 | minted \ 81 | texliveonfly 82 | 83 | local texlive_year 84 | texlive_year=$(tlmgr --version | grep 'TeX Live' | awk '{print $5}') 85 | echo "TeX Live Year: $texlive_year" 86 | 87 | echo "" 88 | echo "Add $TEXLIVE_DIR/texmf-dist/doc/man to MANPATH." 89 | echo "Add $TEXLIVE_DIR/texmf-dist/doc/info to INFOPATH." 90 | echo "Most importantly, add $TEXLIVE_BIN to your PATH for current and future sessions." 91 | echo "Logfile: $TEXLIVE_DIR/install-tl.log" 92 | 93 | fi 94 | 95 | } 96 | 97 | main "$@" 98 | 99 | {{ end }} 100 | 101 | # Emacs Stuff (cross platform) 102 | # Local Variables: 103 | # mode: shell-script 104 | # End: 105 | -------------------------------------------------------------------------------- /dot_config/shellrc/posix.d/03_exports.sh.tmpl: -------------------------------------------------------------------------------- 1 | # Exports 2 | ########## 3 | 4 | if [ ! $DISPLAY ]; then 5 | if [ "$SSH_CLIENT" ]; then 6 | export DISPLAY=$(echo $SSH_CLIENT | cut -f1 -d\ ):0.0 7 | fi 8 | fi 9 | 10 | # Common Exports 11 | ################### 12 | 13 | # Nord (from dircolors) 14 | export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:' 15 | 16 | if which nvim >/dev/null 2>&1; then 17 | alias vim=nvim 18 | alias vi=nvim 19 | export EDITOR=nvim 20 | else 21 | export EDITOR=vim 22 | fi 23 | 24 | {{ if or (eq .use_rust "yes") (lookPath "rg") -}} 25 | export FZF_DEFAULT_COMMAND='rg --files --no-ignore --hidden --follow --glob "!.git/*"' 26 | export FZF_DEFAULT_OPTS="--extended --ansi --multi" 27 | export RIPGREP_CONFIG_PATH="$HOME/.config/ripgrep/.ripgreprc" 28 | {{ end -}} 29 | 30 | # LANGUAGE must be set by en_US 31 | export LANGUAGE="en_US.UTF-8" 32 | export LANG="${LANGUAGE}" 33 | export LC_ALL="${LANGUAGE}" 34 | export LC_CTYPE="${LANGUAGE}" 35 | 36 | # For docker-compose stuff 37 | export userid=$(id -u) 38 | export groupid=$(id -g) 39 | 40 | # For Key signatures 41 | export GPG_TTY=$(tty) 42 | 43 | # Tmux update 44 | export TERM=xterm-256color 45 | 46 | {{- if eq .machine_name "rgx1gen11" -}} 47 | # For grabbing CPU-PyTorch 48 | export PIP_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu" 49 | export UV_EXTRA_INDEX_URL="https://download.pytorch.org/whl/cpu" 50 | {{- end }} 51 | # Since PyTorch and uv don't play nice 52 | # xref: https://github.com/metatensor/metatensor/pull/997#discussion_r2473540252 53 | export UV_INDEX_STRATEGY="unsafe-best-match" 54 | 55 | # Emacs Stuff (cross platform) 56 | # Local Variables: 57 | # mode: shell-script 58 | # End: 59 | -------------------------------------------------------------------------------- /dot_tmux.conf: -------------------------------------------------------------------------------- 1 | # -- display ------------------------------------------------------------------- 2 | 3 | set -g base-index 1 # start windows numbering at 1 4 | setw -g pane-base-index 1 # make pane numbering consistent with windows 5 | 6 | setw -g automatic-rename on # rename window to reflect current program 7 | set -g renumber-windows on # renumber windows when a window is closed 8 | 9 | set -g set-titles on # set terminal title 10 | set -g set-titles-string '#h ❐ #S ● #I #W' 11 | 12 | set -g display-panes-time 800 # slightly longer pane indicators display time 13 | set -g display-time 1000 # slightly longer status messages display time 14 | 15 | # I have 256 colors 16 | set -g default-terminal screen-256color 17 | 18 | # Eats ram but saves lives 19 | set-option -g history-limit 50000 20 | 21 | # Use vi-keys 22 | set-window-option -g mode-keys vi 23 | 24 | # Mouse Mode 25 | # is_older="[[ $(tmux -V | cut -d' ' -f2) -lt 2.1 ]] && true || false" 26 | # if-shell "$is_older" "set -g mode-mouse on; set -g mouse-resize-pane on;\ 27 | # set -g mouse-select-pane on; set -g mouse-select-window on" "set -g mouse on" 28 | 29 | bind-key m set-option -g mouse on \; display 'Mouse: ON' 30 | bind-key M set-option -g mouse off \; display 'Mouse: OFF' 31 | 32 | 33 | # Activate inner-most session (when nesting tmux) to send commands 34 | bind a send-prefix 35 | 36 | # clear both screen and history 37 | bind -n C-l send-keys C-l \; run 'sleep 0.1' \; clear-history 38 | 39 | # activity 40 | set -g monitor-activity on 41 | set -g visual-activity off 42 | 43 | # Rather than constraining window size to the maximum size of any client 44 | # connected to the *session*, constrain window size to the maximum size of any 45 | # client connected to *that window*. Much more reasonable. 46 | setw -g aggressive-resize on 47 | 48 | # Set ability to capture on start and restore on exit window data when running an application 49 | setw -g alternate-screen on 50 | 51 | # Bar at the bottom 52 | set-option -g status-position bottom 53 | 54 | # Misc 55 | set-option -g repeat-time 0 56 | 57 | # Removes ESC delay 58 | set -sg escape-time 0 59 | 60 | # List of plugins 61 | set -g @tpm_plugins ' \ 62 | caiogondim/maglev \ 63 | tmux-plugins/tpm \ 64 | tmux-plugins/tmux-sensible \ 65 | tmux-plugins/tmux-yank \ 66 | tmux-plugins/tmux-pain-control \ 67 | tmux-plugins/tmux-open \ 68 | tmux-plugins/tmux-prefix-highlight \ 69 | tmux-plugins/tmux-sessionist \ 70 | ' 71 | # fcsonline/tmux-thumbs \ 72 | 73 | # Plugin Configuration 74 | # set -g @thumbs-alphabet colemak 75 | 76 | # Optional 77 | # tmux-plugins/tmux-cpu \ 78 | # tmux-plugins/tmux-battery \ 79 | 80 | # Restore 81 | # set -g @continuum-boot 'on' 82 | # set -g @continuum-restore 'on' 83 | # set -g @resurrect-capture-pane-contents 'on' 84 | 85 | # Initialize TMUX plugin manager [ALWAYS THE LAST COMMAND] 86 | run '~/.tmux/plugins/tpm/bin/install_plugins' 87 | run '~/.tmux/plugins/tpm/tpm' 88 | -------------------------------------------------------------------------------- /dot_config/klfc/colemak.json: -------------------------------------------------------------------------------- 1 | // Base Colemak layout 2 | // https://colemak.com 3 | { 4 | "fullName": "Colemak", 5 | "name": "colemak", 6 | "localeId": "00000409", 7 | "copyright": "Public Domain", 8 | "company": "2006-01-01 Shai Coleman", 9 | "version": "1.0", 10 | "shiftlevels": [ "None", "Shift" ], 11 | "singletonKeys": [ 12 | [ "CapsLock", "Backspace" ] 13 | ], 14 | "keys": [ 15 | { "pos": "~", "letters": [ "`", "~" ] }, 16 | { "pos": "1", "letters": [ "1", "!" ] }, 17 | { "pos": "2", "letters": [ "2", "@" ] }, 18 | { "pos": "3", "letters": [ "3", "#" ] }, 19 | { "pos": "4", "letters": [ "4", "$" ] }, 20 | { "pos": "5", "letters": [ "5", "%" ] }, 21 | { "pos": "6", "letters": [ "6", "^" ] }, 22 | { "pos": "7", "letters": [ "7", "&" ] }, 23 | { "pos": "8", "letters": [ "8", "*" ] }, 24 | { "pos": "9", "letters": [ "9", "(" ] }, 25 | { "pos": "0", "letters": [ "0", ")" ] }, 26 | { "pos": "-", "letters": [ "-", "_" ] }, 27 | { "pos": "+", "letters": [ "=", "+" ] }, 28 | { "pos": "Q", "letters": [ "q", "Q" ] }, 29 | { "pos": "W", "letters": [ "w", "W" ] }, 30 | { "pos": "E", "letters": [ "f", "F" ] }, 31 | { "pos": "R", "letters": [ "p", "P" ] }, 32 | { "pos": "T", "letters": [ "g", "G" ] }, 33 | { "pos": "Y", "letters": [ "j", "J" ] }, 34 | { "pos": "U", "letters": [ "l", "L" ] }, 35 | { "pos": "I", "letters": [ "u", "U" ] }, 36 | { "pos": "O", "letters": [ "y", "Y" ] }, 37 | { "pos": "P", "letters": [ ";", ":" ] }, 38 | { "pos": "[", "letters": [ "[", "{" ] }, 39 | { "pos": "]", "letters": [ "]", "}" ] }, 40 | { "pos": "\\", "letters": [ "\\", "|" ] }, 41 | { "pos": "A", "letters": [ "a", "A" ] }, 42 | { "pos": "S", "letters": [ "r", "R" ] }, 43 | { "pos": "D", "letters": [ "s", "S" ] }, 44 | { "pos": "F", "letters": [ "t", "T" ] }, 45 | { "pos": "G", "letters": [ "d", "D" ] }, 46 | { "pos": "H", "letters": [ "h", "H" ] }, 47 | { "pos": "J", "letters": [ "n", "N" ] }, 48 | { "pos": "K", "letters": [ "e", "E" ] }, 49 | { "pos": "L", "letters": [ "i", "I" ] }, 50 | { "pos": ";", "letters": [ "o", "O" ] }, 51 | { "pos": "'", "letters": [ "'", "\"" ] }, 52 | { "pos": "Z", "letters": [ "z", "Z" ] }, 53 | { "pos": "X", "letters": [ "x", "X" ] }, 54 | { "pos": "C", "letters": [ "c", "C" ] }, 55 | { "pos": "V", "letters": [ "v", "V" ] }, 56 | { "pos": "B", "letters": [ "b", "B" ] }, 57 | { "pos": "N", "letters": [ "k", "K" ] }, 58 | { "pos": "M", "letters": [ "m", "M" ] }, 59 | { "pos": ",", "letters": [ ",", "<" ] }, 60 | { "pos": ".", "letters": [ ".", ">" ] }, 61 | { "pos": "/", "letters": [ "/", "?" ] } 62 | ], 63 | "variants": [ 64 | { 65 | "name": "mod-dh", 66 | "shiftlevels": [ "None", "Shift" ], 67 | "keys": [ 68 | { "pos": "V", "letters": [ "d", "D" ] }, 69 | { "pos": "B", "letters": [ "v", "V" ] }, 70 | { "pos": "G", "letters": [ "g", "G" ] }, 71 | { "pos": "T", "letters": [ "b", "B" ] }, 72 | { "pos": "H", "letters": [ "k", "K" ] }, 73 | { "pos": "N", "letters": [ "m", "M" ] }, 74 | { "pos": "M", "letters": [ "h", "H" ] } 75 | ] 76 | } 77 | ] 78 | } 79 | -------------------------------------------------------------------------------- /dot_config/sway/conf.d/app_window_rules: -------------------------------------------------------------------------------- 1 | # -*- mode:conf; -*- 2 | 3 | ################################################################# 4 | ## Window layout rules 5 | ################################################################# 6 | # to find window app_id, class, title, role use: swaymsg -t get_tree 7 | 8 | ## Notes 9 | # pixel 0 is for those which have other active indicators 10 | # pixel 3 provides a think blue active / inactive outline 11 | # pixel 1 is a bit too light for this.. 12 | 13 | for_window { 14 | # prevent screen lock if window is in fullscreen mode 15 | [class=".*"] { 16 | inhibit_idle fullscreen 17 | } 18 | 19 | [app_id=".*"] { 20 | inhibit_idle fullscreen 21 | } 22 | 23 | # Float tooltips and more 24 | [window_role = "bubble"] { 25 | floating enable 26 | } 27 | 28 | [window_role = "dialog"] { 29 | floating enable 30 | } 31 | 32 | [window_role = "task_dialog"] { 33 | floating enable 34 | } 35 | 36 | [window_type = "menu"] { 37 | floating enable 38 | } 39 | 40 | # Firefox :: begin 41 | [title="Firefox — Sharing Indicator"] { 42 | border pixel 3 43 | floating enable 44 | nofocus 45 | } 46 | 47 | [window_role="pop-up"] { 48 | floating enable 49 | } 50 | # Firefox :: end 51 | 52 | # Firefox + Chrome :: start 53 | [title="^Picture-in-Picture$"] { 54 | focus 55 | floating enable 56 | border pixel 3 57 | sticky toggle 58 | resize set height 280px 59 | resize set width 500px 60 | move position 100ppt 0 61 | move left 500px 62 | } 63 | 64 | [title="^Picture in picture$"] { 65 | focus 66 | floating enable 67 | border pixel 3 68 | sticky toggle 69 | resize set height 280px 70 | resize set width 500px 71 | move position 100ppt 0 72 | move left 500px 73 | } 74 | # Firefox + Chrome :: end 75 | 76 | # Thunar :: begin 77 | [app_id=app_id="Thunar" title="^Copying.*"] { 78 | floating enable 79 | } 80 | 81 | [title="^File Operation Progress$"] { 82 | floating enable 83 | } 84 | # Thunar :: end 85 | 86 | # Zotero :: begin 87 | [app_id="Zotero"] { 88 | border pixel 0 89 | } 90 | 91 | [app_id="Zotero" title="Progress"] { 92 | floating enable 93 | border pixel 0 94 | } 95 | 96 | [app_id="Zotero" title="^Quick Format Citation$"] { 97 | floating enable 98 | border pixel 0 99 | } 100 | # Zotero :: end 101 | 102 | [title="^Windscribe$"] { 103 | floating enable 104 | border pixel 0 105 | } 106 | 107 | [class="tabby"] { 108 | border pixel 0 109 | } 110 | 111 | [app_id="com.github.geigi.cozy"] { 112 | border pixel 0 113 | } 114 | 115 | [app_id="org.telegram.desktop"] { 116 | border pixel 3 117 | } 118 | 119 | [app_id="footclient"] { 120 | border pixel 3 121 | } 122 | 123 | } 124 | 125 | ################ 126 | ## References ## 127 | ################ 128 | # [1]: https://github.com/psto/.dotfiles/blob/main/sway/.config/sway/for_window 129 | # [2]: https://github.com/Jguer/dotfiles/blob/df20e72c3c998bc977c1af711c81d51fd1c70279/sway/config#L150-L159 130 | -------------------------------------------------------------------------------- /dot_config/kanshi/config: -------------------------------------------------------------------------------- 1 | # You can get the names of your outputs by running: swaymsg -t get_outputs 2 | # See also 3 | # here: https://github.com/swaywm/wlroots/pull/2064#issuecomment-622647075 4 | profile homeLabIS { 5 | # eDP-1, inbuilt on the left 6 | output "Chimei Innolux Corporation 0x1417 Unknown" { 7 | enable 8 | mode 1920x1200 9 | position 0,0 10 | scale 1 11 | } 12 | # Home screen, to the right 13 | output "Lenovo Group Limited LEN L27i-28 0x54573152" { 14 | enable 15 | mode 1920x1080 16 | position 1920,0 17 | } 18 | } 19 | 20 | profile homeLabTripleIS { 21 | # Left: Lenovo M14 (External) 22 | # Starts at 0 23 | output "Lenovo Group Limited M14 V904H2WF" position 0,0 24 | 25 | # Center: Laptop Screen (Internal) 26 | # Starts after the M14 (1920 pixels) 27 | # We use the Model identifier here as the serial is "Unknown" 28 | output "Chimei Innolux Corporation 0x1417 Unknown" position 1920,0 29 | 30 | # Right: Lenovo L27i (External) 31 | # Starts after the Laptop (1920 + 1920 = 3840 pixels) 32 | output "Lenovo Group Limited LEN L27i-28 0x54573152" position 3840,0 33 | 34 | # --- M14 (Display 2) Settings --- 35 | # Set to sRGB mode (01) to fix washed out colors 36 | exec ddcutil setvcp 14 01 --display 2 37 | # Boost brightness back to max (100) 38 | exec ddcutil setvcp 10 100 --display 2 39 | # Reset settings for display 1 40 | exec ddcutil setvcp 04 01 --display 1 41 | } 42 | 43 | profile TheochemUI_myGrant { 44 | # Negative offsets are a no-go, so shift relative to the actual size 45 | # See: 46 | # [1] https://github.com/swaywm/wlroots/issues/958 47 | # [2] https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/395#note_555613 48 | # eDP-1, inbuilt on the right 49 | output "Chimei Innolux Corporation 0x1417 Unknown" { 50 | enable 51 | mode 1920x1200 52 | position 2560,0 53 | scale 1 54 | } 55 | # HI Lab screen, to the left 56 | # Dell P2416D, 23.8 inches, 123.41 PPI (see https://www.sven.de/dpi/) 57 | output "BNQ BenQ PD2705Q V3N03357019" { 58 | enable 59 | mode 2560x1440 60 | position 0,0 61 | } 62 | } 63 | 64 | profile travelWork { 65 | # eDP-1, inbuilt on the left 66 | output "Chimei Innolux Corporation 0x1417 Unknown" { 67 | enable 68 | mode 1920x1200 69 | position 0,0 70 | scale 1 71 | } 72 | # Travel screen, to the right 73 | # Dell P2416D, 22 inches, 100.13 PPI (see https://www.sven.de/dpi/) 74 | output "Lenovo Group Limited M14 V904H2WF" { 75 | enable 76 | mode 1920x1080 77 | position 1920,0 78 | } 79 | } 80 | 81 | profile TheochemUI_eigill { 82 | # Negative offsets are a no-go, so shift relative to the actual size 83 | # See: 84 | # [1] https://github.com/swaywm/wlroots/issues/958 85 | # [2] https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/395#note_555613 86 | # eDP-1, inbuilt on the right 87 | output "Chimei Innolux Corporation 0x1417 Unknown" { 88 | enable 89 | mode 1920x1200 90 | position 2560,0 91 | scale 1 92 | } 93 | # HI Lab screen, to the left 94 | output "Acer Technologies Acer B277 0x02918A2B" { 95 | enable 96 | mode 1920x1080 97 | position 0,0 98 | } 99 | } 100 | 101 | # Helper commands 102 | # [1] https://gist.github.com/dshoreman/278091a17c08e30c46c7e7988b7c2f7d 103 | -------------------------------------------------------------------------------- /colevimIS/xkb/scripts/executable_functions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | set -eu 3 | 4 | confirm () { 5 | # call with a prompt string or use a default 6 | printf "%s [y/N] " "${1:-Are you sure?}" 7 | read -r response 8 | case "${response:-${2:-}}" in 9 | [yY][eE][sS]|[yY]) true;; 10 | [nN][oO]|[nN]) false;; 11 | *) confirm "${1:-}" "${2:-}";; 12 | esac 13 | } 14 | 15 | copy_file () { 16 | file_from=$1 17 | file_to=$2 18 | 19 | if [ ! -f "$file_from" ]; then 20 | [ ! -f "$file_to" ] || rm "$file_to" 21 | elif [ ! -f "$file_to" ] || grep -qx "// Generated by KLFC .*" "$file_to" || confirm "$file_to already exists. Overwrite?"; then 22 | cp "$file_from" "$file_to" 23 | fi 24 | } 25 | 26 | remove_file () { 27 | file=$1 28 | 29 | if [ -f "$file" ] && { grep -qx "// Generated by KLFC .*" "$file" || confirm "$file is not generated by KLFC. Remove?"; }; then 30 | rm "$file" 31 | fi 32 | } 33 | 34 | add_line_under_header () { 35 | file=$1 36 | header=$2 37 | line=$3 38 | header_with_comment="$header // Generated by KLFC" 39 | line_with_comment="$line // Generated by KLFC" 40 | lines="$line 41 | $line_with_comment" 42 | 43 | if grep -qFx "$lines" "$file"; then 44 | return 45 | fi 46 | 47 | if grep -qFx "$header_with_comment" "$file"; then 48 | awk -v header="$header_with_comment" -v line="$line_with_comment" ' 49 | { print } 50 | { if ($0 == header) { print line } } 51 | ' "$file" > "$file.tmp" 52 | mv "$file.tmp" "$file" 53 | else 54 | printf "\n%s\n%s\n" "$header_with_comment" "$line_with_comment" >> "$file" 55 | fi 56 | } 57 | 58 | remove_line () { 59 | file=$1 60 | line=$2 61 | lines="$line 62 | $line // Generated by KLFC" 63 | 64 | { grep -Fxv "$lines" "$file" || [ "$?" = 1 ]; } > "$file.tmp" 65 | mv "$file.tmp" "$file" 66 | } 67 | 68 | add_type () { 69 | file=$1 70 | layout=$2 71 | 72 | for group in 0 1 2 3 4; do 73 | if [ "$group" -eq 0 ]; then 74 | header="! layout = types" 75 | line=" $layout = +$layout" 76 | else 77 | header="! layout[$group] = types" 78 | line=" $layout = +$layout:$group" 79 | fi 80 | 81 | add_line_under_header "$file" "$header" "$line" 82 | done 83 | } 84 | 85 | remove_type () { 86 | file=$1 87 | layout=$2 88 | 89 | for group in 0 1 2 3 4; do 90 | if [ "$group" -eq 0 ]; then 91 | line=" $layout = +$layout" 92 | else 93 | line=" $layout = +$layout:$group" 94 | fi 95 | 96 | remove_line "$file" "$line" 97 | done 98 | } 99 | 100 | add_models () { 101 | file=$1 102 | mods=$2 103 | layout=$3 104 | header="! model = keycodes" 105 | 106 | for mod in $mods; do 107 | line=" mod_$mod = +$layout($mod)" 108 | 109 | add_line_under_header "$file" "$header" "$line" 110 | done 111 | } 112 | 113 | remove_models () { 114 | file=$1 115 | mods=$2 116 | layout=$3 117 | 118 | for mod in $mods; do 119 | line=" mod_$mod = +$layout($mod)" 120 | 121 | remove_line "$file" "$line" 122 | done 123 | } 124 | 125 | add_description () { 126 | file=$1 127 | layout=$2 128 | description=$3 129 | header="! layout" 130 | line=" $layout $description" 131 | 132 | add_line_under_header "$file" "$header" "$line" 133 | } 134 | 135 | remove_description () { 136 | file=$1 137 | layout=$2 138 | description=$3 139 | line=" $layout $description" 140 | 141 | remove_line "$file" "$line" 142 | } 143 | -------------------------------------------------------------------------------- /dot_config/atuin/config.toml: -------------------------------------------------------------------------------- 1 | ## where to store your database, default is your system data directory 2 | ## mac: ~/Library/Application Support/com.elliehuxtable.atuin/history.db 3 | ## linux: ~/.local/share/atuin/history.db 4 | # db_path = "~/.history.db" 5 | 6 | ## where to store your encryption key, default is your system data directory 7 | # key_path = "~/.key" 8 | 9 | ## where to store your auth session token, default is your system data directory 10 | # session_path = "~/.key" 11 | 12 | ## date format used, either "us" or "uk" 13 | # dialect = "us" 14 | 15 | ## enable or disable automatic sync 16 | auto_sync = true 17 | 18 | ## enable or disable automatic update checks 19 | # update_check = true 20 | 21 | ## address of the sync server 22 | # sync_address = "https://api.atuin.sh" 23 | 24 | ## how often to sync history. note that this is only triggered when a command 25 | ## is ran, so sync intervals may well be longer 26 | ## set it to 0 to sync after every command 27 | # sync_frequency = "1h" 28 | 29 | ## which search mode to use 30 | ## possible values: prefix, fulltext, fuzzy, skim 31 | search_mode = "skim" 32 | 33 | ## which filter mode to use 34 | ## possible values: global, host, session, directory, workspace 35 | filter_mode = "directory" 36 | 37 | ## which filter mode to use when atuin is invoked from a shell up-key binding 38 | ## the accepted values are identical to those of "filter_mode" 39 | ## leave unspecified to use same mode set in "filter_mode" 40 | filter_mode_shell_up_key_binding = "directory" 41 | 42 | ## which style to use 43 | ## possible values: auto, full, compact 44 | # style = "auto" 45 | 46 | ## the maximum number of lines the interface should take up 47 | ## set it to 0 to always go full screen 48 | inline_height = 10 49 | 50 | ## enable or disable showing a preview of the selected command 51 | ## useful when the command is longer than the terminal width and is cut off 52 | show_preview = true 53 | 54 | ## what to do when the escape key is pressed when searching 55 | ## possible values: return-original, return-query 56 | exit_mode = "return-query" 57 | 58 | # Configure whether or not to show the help row, which includes the current 59 | # Atuin version (and whether an update is available), a keymap hint, and the 60 | # total amount of commands in your history. 61 | show_help = false 62 | 63 | ## possible values: emacs, subl 64 | # word_jump_mode = "emacs" 65 | 66 | ## characters that count as a part of a word 67 | # word_chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" 68 | 69 | ## number of context lines to show when scrolling by pages 70 | # scroll_context_lines = 1 71 | 72 | ## prevent commands matching any of these regexes from being written to history. 73 | ## Note that these regular expressions are unanchored, i.e. if they don't start 74 | ## with ^ or end with $, they'll match anywhere in the command. 75 | ## For details on the supported regular expression syntax, see 76 | ## https://docs.rs/regex/latest/regex/#syntax 77 | # history_filter = [ 78 | # "^secret-cmd", 79 | # "^innocuous-cmd .*--secret=.+" 80 | # ] 81 | 82 | ## prevent commands run with cwd matching any of these regexes from being written 83 | ## to history. Note that these regular expressions are unanchored, i.e. if they don't 84 | ## start with ^ or end with $, they'll match anywhere in CWD. 85 | ## For details on the supported regular expression syntax, see 86 | ## https://docs.rs/regex/latest/regex/#syntax 87 | # cwd_filter = [ 88 | # "^/very/secret/area" 89 | # ] 90 | 91 | [sync] 92 | records = true 93 | -------------------------------------------------------------------------------- /.chezmoitemplates/nushell/config.nu.tmpl: -------------------------------------------------------------------------------- 1 | # config.nu 2 | # 3 | # Installed by: 4 | # version = "0.104.1" 5 | # 6 | # This file is used to override default Nushell settings, define 7 | # (or import) custom commands, or run any other startup tasks. 8 | # See https://www.nushell.sh/book/configuration.html 9 | # 10 | # This file is loaded after env.nu and before login.nu 11 | # 12 | # You can open this file in your default editor using: 13 | # config nu 14 | # 15 | # See `help config nu` for more options 16 | # 17 | # You can remove these comments if you want or leave 18 | # them for future reference. 19 | 20 | $env.config.show_banner = false 21 | $env.config.buffer_editor = ["nvim"] 22 | # $env.config.buffer_editor = ["emacsclient", "-s", "light", "-t"] 23 | 24 | # # Setup Starship Prompt 25 | source ~/.cache/starship/init.nu 26 | # # Setup Atuin History Search 27 | source ~/.local/share/atuin/init.nu 28 | # Setup zoxide 29 | source ~/.config/nushell/zoxide.nu 30 | 31 | # Delegate 32 | const NU_LIB_DIRS = [ 33 | ($nu.default-config-dir | path join "scripts"), 34 | $"($nu.data-dir)/vendor/autoload" 35 | ] 36 | source gitAlias.nu 37 | # Setup pixi completions 38 | source pixi-completions.nu 39 | source completions/git-completions.nu 40 | {{ if eq .chezmoi.os "linux" -}} 41 | source systemctlAlias.nu 42 | source pacman.nu 43 | {{ end -}} 44 | 45 | {{ if eq .have_cuda false -}} 46 | $env.PIP_EXTRA_INDEX_URL = "https://download.pytorch.org/whl/cpu" 47 | {{ end }} 48 | 49 | 50 | ## TODO(rg): Make these conditional and templated! 51 | # Micromamba stuff 52 | # >>> mamba initialize >>> 53 | # !! Contents within this block are managed by 'micromamba shell init' !! 54 | $env.MAMBA_EXE = "/home/rgoswami/.local/bin/micromamba" 55 | $env.MAMBA_ROOT_PREFIX = "/home/rgoswami/.local/share/mamba" 56 | $env.PATH = ($env.PATH | append ([$env.MAMBA_ROOT_PREFIX bin] | path join) | uniq) 57 | $env.PROMPT_COMMAND_BK = $env.PROMPT_COMMAND 58 | def --env "micromamba activate" [name: string] { 59 | #add condabin when base env 60 | if $env.MAMBA_SHLVL? == null { 61 | $env.MAMBA_SHLVL = 0 62 | $env.PATH = ($env.PATH | prepend $"($env.MAMBA_ROOT_PREFIX)/condabin") 63 | } 64 | #ask mamba how to setup the environment and set the environment 65 | (^($env.MAMBA_EXE) shell activate --shell nu $name 66 | | str replace --regex '\s+' '' --all 67 | | split row ";" 68 | | parse --regex '(.*)=(.+)' 69 | | transpose --header-row 70 | | into record 71 | | load-env 72 | ) 73 | # update prompt 74 | if ($env.CONDA_PROMPT_MODIFIER? != null) { 75 | $env.PROMPT_COMMAND = {|| $env.CONDA_PROMPT_MODIFIER + (do $env.PROMPT_COMMAND_BK)} 76 | } 77 | } 78 | def --env "micromamba deactivate" [] { 79 | #remove active environment except base env 80 | if $env.CONDA_PROMPT_MODIFIER? != null { 81 | # unset set variables 82 | for x in (^$env.MAMBA_EXE shell deactivate --shell nu 83 | | split row ";") { 84 | if ("hide-env" in $x) { 85 | hide-env ($x | parse "hide-env {var}").var.0 86 | } else if $x != "" { 87 | let keyValue = ($x 88 | | str replace --regex '\s+' "" --all 89 | | parse '{key}={value}' 90 | ) 91 | load-env {$keyValue.0.key: $keyValue.0.value} 92 | } 93 | } 94 | # reset prompt 95 | $env.PROMPT_COMMAND = $env.PROMPT_COMMAND_BK 96 | } 97 | } 98 | # <<< mamba initialize <<< 99 | 100 | 101 | ############## 102 | # References # 103 | ############## 104 | # [1]: https://github.com/mgattozzi/dotfiles/blob/main/nushell/config.nu 105 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_garpur.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB6QnVxbm5MekUrcERSSmxP 3 | alFaUzRKNnFyU2NLajIyczV5azUzaEQyMWswCkRTR3dYWmEyMlRRMDJSMWZicjdY 4 | VDJkbWFNU0w2NkxYR0JjRFFxNEFqTEUKLS0tIG5ma04zL3JjRkhRbEluVHRlOG14 5 | b2dDZHdnVnc4blZlaU40dk5DbDZ3TEEKoHQfa1JsCskG7AcA7HIUWd9H8xHaLgYX 6 | /D/gGhB5f3s4KgLtwOv8dRc2Vb67Ppht7+XPKBKaSQGrb5WCiKSAMiM2o937Fbp1 7 | vW7wgiVFQh/MXdTQmdqPg74x2Kqje7mHHWe3nzetidN1zBk//GwrcQqPi56iON+o 8 | azNZhUL7AMKPvSOiRHoBlVw5K7NU1ivr9E7i3HeFPwWJZZjxc2gemx/Qe7VYssAh 9 | Z0OvSryEfWIlK2T4fyCuFNkcTCCfyO1ChOxpOev6uLfzQ9n1gLrY68fslSdpx9Ne 10 | jlefUiEbSwZY77aU1IO+clQZBwdCQCGzX6MTe2/6lKKM3eiffpo72TKWwI43q1IU 11 | xeWag/ibavnvcEBIlOGzACo9XizqCHK4EK5nxiTtpNjC7Yp11A4JQxOIX4vkHZjd 12 | YRmhIQKSiOR5g0WPm0yJBkDWcjcNKiBXpJ5oe4GvQ0bB1Doj8vi6IRN2M/k3uLDJ 13 | N4KapdxIaIW9h0IiVdFX0IChH6S20bRXm1JVLbRf7U3jKZmdeaDCvKuBmc7eCMQk 14 | S0vWA0I2c+csZbvmi2IhcKdEALc1fQ13H+r/QPeLfEanUs90NXNThAFGikAY6Xo5 15 | a00pBawywEaxVAJTTgbdM3IiEph7UfaP2wdZUV9kZbl/eKR0pDsYWFBms5CpM0fa 16 | Oe2/wbl7uNGN9WxwC2VE+JEWkUH0zuE/QeGwB3/a5GpBLMR81PtMWwV1eocNjGT4 17 | E3TXppJZHye5u3DPVJrBHWHpC7RzyMcy5wkiaxpxDt8fWjXr05d0z4S/VtFm7+Br 18 | cgEaO5GNJqb9oIukHC77g1E7R3MgL9OrXm9Z9CIb/1bGEyqD9IYgdpfpZTcFI4YE 19 | IfyOoOzc3psZ/p9HerSz6e6cTfCVgb+yfJg/1lU/P+MYeVA5sTHkFDqIevgtkYiy 20 | p4WoGmgZ1Zo0xmUVviNvbiZ51op1dyIR5lZqX3wkXKCLMCoMWYtbcI+dDHxjdYKd 21 | EaLzjFOfpmnHYZMR6o7b6phu3gEpUPbB276qtUHeIpzmmvSde6D+kGpwyZ3R9MW0 22 | axGtopEynx4psBjI6XT/hJiTseMqDM+rhoNPe35iZTjzK0wRQMr1u61NxfY47htU 23 | N4D9IVjT3eTuCHSBoWTu8m1v4iuLvd7FISUySbRTe4lAx8jMlHgblZ2XV2nltMfO 24 | Xpoz607pRPa3UDOD/LyPdt9/8Nz/0zfg9RjwQHDX23xkSp6elmO/yN425nhuIGa1 25 | lIPEOK1yMhd6T6/abL6NyvQ0Qa//kw+VE7kQXJ3REM0wNr5vmir6GuA2MpDPeZ+A 26 | KevFv3jYr32dh7uy4YJq4RoN9eL6XWmXbiIFpwPK0vrKVOzAM9QCy0VJqDoEPkdY 27 | O2YLOMeNhqMjTh6Pp6fX56v6RxG3IJKTBwsbfdHosNwwXQ2BQhp3DylIZxqRzJOY 28 | h/dOAfZ+GPv31tXEa6j8SRnLwYTzPtLpjdpWctHEPhq++GAv/sUmif9km89P4Zq1 29 | 0RP2mVff20ogB1J4HK44zKIP/xSKHS4QVhcugfhsVTScmv1jnKJIvEZRq5/VN1dg 30 | 1VP3a0UxiKl88AnStH3RXCfr/ZUe3hSirrHfB2XI26gSWFUrTH78mgGzNHTBxQAh 31 | 3eTMVn9ke93veqks+QhCs4yxi8Yi2DK5RTa03l3tfUjFpLTiNbKq1+QT+aEEsgLO 32 | k3aioGi6Jh0s+1Ahztza1wOig1SW9Kf7vONXE3xsfe5TXgoZp8PeDv5xL68CyWrv 33 | so8VWlIRRxH43PZmfVW9qa5eqOXoQozBy1Ovdruo9lqce0sE57P8ltD+FYEmgr86 34 | Wf3VbTwehZD/i1fri1yRPCr9G2WHrWudU9EllWQ/rZkqTX5ZU2fjFs4zoOOLsd6+ 35 | MqHrDJ266tra3bFCQkstWWBDgzHdVPKhxLF5z7lFix8VrosA5ET/uZCamOADeg4p 36 | BJS7ymQkOy+l2U5d31lSrZalJXerT2I68rjEoRX72wuWzGgQUahfEpcusnA5TCz9 37 | /1Tdt7mVkKjMpKV2Tj2vhI5908U3092fvxb6qexi/ONwJqRHWPXPYA4zVTTs+j6m 38 | 8l3DxjJEHEQG12HypL7kAoaD4gP7OTPYfNYYUPzYT8VouK34Eau3/bcHvvt8dDzY 39 | iuvdnt1G6kcAbu79Mn35vX2CfTRu5UqZDVC5LNVaPZkRqkf7l3CxS4K/UZSDIBIM 40 | Y9cXGWMIekF9cRlxX/kZNpOK5ZEzYpkWWP9JY2IKODzWqT0TQw5/iOpLojsvlQpw 41 | jE03n4ANAr2KjVB4UZ5b0BdlkPXPzPb1nbFxtxOf2/NUfQBDfmBo9cx6WKidH5Hj 42 | LRPALHuhZfEdxRazF2bl8UHKn8XyMdtG3Eqkwd4QeFldFt2ZqPbSOqa2y0aZA/id 43 | 3xYwic+f7NerEhd7Dz3g/xOD2b1C+SlNiu3dPT8lf5WNuc8nHwZ3CN5fI39Au9Xl 44 | 0c96om5TnqtDMkmupkR00LSpNi5r6+izxpCxTVnvaPuoC5MgaD3ngKEEM2KEaAWo 45 | +skLMxWcj0LPcBaRnPCrFGeacwQB6u61mWf6oa3ihUd/arJsVyzlumREDLDwteWF 46 | 36ndnKWFzPxZ1k2Iu4UNl6YFhZrRlxwk/wsC2cjtuZpjSobjyUG/rshBv8XRwjGw 47 | l7M3IxJE0OLxkYELMCehwO+qWF7GUR9GFnlmlW6mPQWT1+gcmLtd7Reh4h/MjHrj 48 | Pgg1YnafcKzA/dlV8/rCM9/9nqntgzGgWeth1AawNrwPnOupI8mv0aqbtUVtUc3/ 49 | INQmZwDpbM6sDj6f3BTAZEey0+mzatoNr3qTyQxEdegj/8vgDA5XL9CeNMoEPzMT 50 | CavxmWhmwRDnzfoKs/TF4vtoK9UoVZeHvzdDOUx/wrRruX0nWbRsaCuWYDYDz4OE 51 | WT2r5dlVoEA61ppu39ExgqyY5cmzrDHIKKXgMg64Z7reZJWHrqk+SvHmt/Xaneh7 52 | L/3DRl8trkMbR1vvcx06WlJkmvSNEefnpoaAPX6dMwFbhKsA10alyFunj2KAYEx/ 53 | 0Q6Gq79eS9e7q+oQ9IQ/SFlyHOdZ5/mpL0WNNcLq/4y+nD3HSiGPbwDlt4Oa27/Q 54 | RN71BrNeO1wUhWpfmsl87dmPp+GSapAMuuQJHC4OreK46xgjMInrjA3Nhva0MojT 55 | KXdEJA4V9Q8Oxwc2jns9lIeVOduraWdpwM8d9YtFN2dbrxgQFysHlVYO+JILSZkm 56 | 15qz9ukOmpl2V2+fVL+dzma/bJ4gCrwTVXKpI7KxGj+kPRlh6KY6fAXwD4aGhdnx 57 | dSeGUiyUxULaJuBgeBRc0q/MNL0ZkyZ8hvzI7faKuV5sG3LAU1AIM6NNR03c3T4A 58 | g9sw56PigoAAf4CVcrTRcUC5/BqJzvYFzUk/h7Y/oR50S3oaFY1ByYPqeh7zBnB8 59 | Ev8pnrZWJ+9Wew8b2wKS/JwGGdTLqGQk9r5R82mTYrT3J/ge5kUl1iHZWTqxMp4t 60 | C/2T8Myp/GnEVn5qvJVX0lrr 61 | -----END AGE ENCRYPTED FILE----- 62 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_ag_krafla.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSArbHhKYUZ6aGxPaU96L2Q3 3 | QTd0UUhwSE1odkt6Z1JXL1IwaVRSSlN1YW1nCktRa0x5MUxVbHg1NGpYSTg4UG5T 4 | Q2ZQWmZCTVBrVmhlSUphVFZMUktFY3MKLS0tIGJvcGE2THA5U2pzcFFseHB2ek9R 5 | MCtycmMrWnFwRkxwd0pmUEVlZ0lvWnMK6VOx2tw2xp36sPHnGD/hshQKxuRotzhC 6 | Tx3Tqdkq06J/LZbGpgdTd9gxrHI8OczSJ9ykiSuT5bs2rZBGhxV7mCa5bcRDelSb 7 | MfBavMy+tUUqzzJVJthLDSfknbwd+8PK4rPZTsK96JGnfe+SyQ+A+kc+bAfuK0hu 8 | M2FQM+Gw2mfZV3MzaE6fGZle++wMd5/tYdhUfWDFpva35lzSAVl2cEcrQ7qMzUP1 9 | RKH96SttYIrzTqN7eMuwHB6OnLU9iph4V/ZdRHLc97ZAgtU5QuuVV8pe8mc5yuCH 10 | 1+72spM7rKQgcSy1Dj5M/zRX/ZFp+WekQ26A1j1m5VRl5yIOWilldX+0IcpfyiEv 11 | zqGspxz5aAKSvfRP38rCiZI0lR1i4yO0oW7OMRR7vZyfH5EDdTHSn0rNXykCDDbr 12 | utbjDT6znJOzXowjf92i8wyXohNO+XdnEkaSYrx4a0/bxJcec51QFRklybKN83+I 13 | 2uoNdl89fbp0xVCB0DaHv5lJprcX/f1e/NzSfFWG0rAg/1GKxF5brXWpsb0quqri 14 | SGWADecZdGKHNYYuV0mAra6uTpBzUTcvVuxrDt5xhKhct8cveECQmGCCzvvj0UvD 15 | yf2e3kbC39eTES+79+zcQ7aHyYKXvMp/XlJbN71OeMfWZqU1UmkJFw9lktSDuo4D 16 | AumutmEFlgvUnWSmwT8ohGCWd9xWeNG7v3x1NsTHCa3cy1mcTnsQ4/BOIfgF5qGS 17 | 98XMU/7+5wGKTUlGwxGSakK07k+oiur29k2IKChERVuAXrezkz/ArrOn3/vAdDp6 18 | iKchExjwqZDhyfFz/mDzHsBIDD4BDOQhe53GCYUE9xmqx9vvuSLhIBlhT650Kh9L 19 | ZSXJqvgLdO1xJlRHzTQxHVDcNfAOePOQSgaV4EQ/D1GPH50NFzthHUOec0hpXirR 20 | o/UG5m25K4G7A0csi2YjdZVTvOaAc3Jjb39ZbcFJ14VzHZ4CYbEVguT/1qELZBxl 21 | GHL1HxGj/WvW9jVHMdlR1azIujp8BBKjQVyxN7T53TfYxoi7KU4s7DdfdbPHTjC5 22 | 7gzOGQN1a2Rypy+UoSQbu+XSUSMKEu15g/jZmlM73KEJmFkgrbezPZpiBmB+SQST 23 | 8DFo8X7oLxhnjvqU1vHOxmMv7mbMc8ArD9q6GdO8JZq8eX08FboHgXKCh/qZNMpm 24 | 4pPViPi1V/OOicqgRPpdZ+xA9RoWvFipIOb8bEhvrUSL+jH1Kgq7WNf2q8SAdHi3 25 | zZZf3KEgr01+xbxU0gtMXKS2VSmrABHitazHbMMjr8clck0ifUELQO+JsVpZGsMY 26 | yMOXPOF56lr+6dS6/ONzaVOai8lYEwwUDy6TanmMtS2qnSYpcKPQvFpkLpKndmAl 27 | EfcGJVhHjqemyQtovGUmDR6UoBD66K6Qw7i0ZLr6qhvuAjrMrfgZqk8TfYrxzEQO 28 | ONnNmWQoalGlE9ccST/D7ugZ7vrBbCbJjY75fmn91ygvOe0AwOavGBUBp/H5jKyp 29 | TgwKqh8+HqKUmZytZu1hHGOjmm7htse+1f3hAxJYnZnEtod8j3QdNRb0xupQPxfl 30 | ll3EGtvuvm4YkgwTq7SLPknWKLVeHziNMpKGG+hyysPyO+uOVu4taM89/bEPuVu7 31 | qQLtsP7yeARZrijTKNZ0wuBfplSB/77bfjFCTwFsvdVpxOh3lB/64j115L1Ns4FF 32 | 2qROstpDAhqeGweBhE1PhUp6zqfzH6EOzz37DYiiotZNzrJ6BkKaQNWTgGkkBOZ9 33 | a0Zme3Q4Srmkhy9iIWP7hFstS21EMXONM0I/F83O4Maj8gMLdI42pZ6ZP75MqT0z 34 | Hcx+WMiB0HlRNBSRxYncykTetqf1OSv66YZivpyp8uzf5peHNm6Ws+SFdtJ4aSKb 35 | iKuJqgu9dDydonoVuv5QSXeEv4ebH7Fc8QWrkqHyU5oJJ4aEWs7qrUdOKTak50tc 36 | ODfq2omiGbbVEEuGLZNLKDf1Deqek3cSIYG9DohmWDB1vjJ6QOCqDmSnHfeCYb2H 37 | abQlp4Berom8QJvCeSviniEBwlItK+huhGYPxYrLYCZehQLYGZdVzFo+/v7Tdiqo 38 | gZ8jBCtRbJKbIRxANVZaU13sQgBEk0/VMXqj0ezYPGFrDSpytw7wwhusSl5HsXMC 39 | HSGvqd+8Q07XJWIKbHIHkGpLnmU7ydoA/zV0iaqTJ+bKouV6rHe1l12O3vslHIDZ 40 | XUXrA3IsJgFWxSiQw/K29M3pIRL5wyw1W3cTzfYUaGIXoYvHRPBpTJrH7I4FNeny 41 | Ms0GFuH8LSHfbzxWzNuqEcYN1d4ttJ8wRWlCYD/QlS0Wx13167a0+EioePd89WTL 42 | 7vOBSLtfJ8BOYydnQmIibwjA6qwb0WKWWIqINFCdbkfwhqcK+lC3RWFPOWCl7xzI 43 | MAWyDBgwRXiFpy5OhD8B1SzcoDOQNFxqKzg/Osc2GE2GSuE3NO2/Z1cZyMUmpldW 44 | EMVJ2KVjf5XkaWc7lzo+BKCoArh5/5VwgTJ+LO/+2/nL5j4ytBKH4WLEO30nChQN 45 | Bdj7Sti7XVE48g65QbG8VjxjzeMG4sAeNoR/ogcoRH2ylU1rdTHtxIge2/wGNQSs 46 | szoBFFcwvfMopkKXbGqNPl42kkEi6wXjyjmBKrNtYLB6njyyqfP3YeSjNdlahWrA 47 | uVT3gREnBRpchAMsDRh26k9YQ4n2NpbrOO2qqX4zEfugxJRFdzzCGsGSlQoeaRAT 48 | H2/V+BKwpa6y9JI1rSsqACja8y6K7wZAoMsVEo7vnz3+1ZIHaik1GogLad1DQ3fV 49 | jNHPzS44crVe7nsGhzxGZ4JAi6ctZvdiJ3siuRMKSV/Mx6y986njzsMgf0/zUSlG 50 | 0LU9al8bd0kv54DZ80sy9fo1sgMnZw2cabcV2BuwMd4dTsiIzuYvDQaUNXwqXwoI 51 | xQDROckZtFZwMMh8fMS9zpN5iZd51haRv991yxJulPvuzaHkusUaDlG82UKp8qfP 52 | qeOTH04Gg/PfKCi3144bDY2/AT3RKC1nKwuwfGBg778HzJmnoFlrIGGhVbPypXrL 53 | go4NeCwOQWiEDGgwsh8GooppeGsrQ7SwqmZp3cv1GwxTu1LiWYTRdnIR9WjiN1/s 54 | hFg9/kAr4HWm+esSzV5i0CllF50L0L9aZxrCrRr6itNmTnZh/4A+HKAG5xC63zJb 55 | l1FpS0JLBB1vD44QUyFzrWE5MnJAni5M41ToEJC+eLTfMzyWYO6hoNCOtPEzmE9h 56 | rPci5nFbkscWF/Ac/Wt9kbYCX4oytlHysxVOlIhmj677nDNVaTErXbwmsUnSGtXS 57 | CsKKFfKT+7lhOl/XLJUAZ5X4stkL+jHUZ+smtyLAognkRG2AdQ7yHuMXFNuSVihO 58 | Hm5yIYP0NL6iyh8xhqDCk5V+hsfkVTH3T6kT4ifEzzSYUmeHPoOZ7pcR0Nm4dDxZ 59 | QEgf3o5RMY6ss33SkBdwtqZd6lXYM3cezBOMFJhBiKHgyU4MYew2mt+IACi9JgMs 60 | ZbexBd8rezP92PyoMgDpuhBf12soeJwQERc= 61 | -----END AGE ENCRYPTED FILE----- 62 | -------------------------------------------------------------------------------- /private_dot_ssh/encrypted_private_cluster.age: -------------------------------------------------------------------------------- 1 | -----BEGIN AGE ENCRYPTED FILE----- 2 | YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSA1dzcwbE1sT010ZVp4NXAv 3 | NDVaaUZid0VSNFcrSUJ6OG1mWWZUV2d0Q2k0CnZpTlNTUWFiQW54VHdWRndyQVlG 4 | NldUV0UzOXBIaHFDWTBtZGRQVzVXakUKLS0tIHFQV2dSQ3J4YVV4NHhIMmRKa1N1 5 | OWR4R3Z6Q1NYUXJ2VUx6OGU5cnczWFkKeKB1U1xNBvveHdTWDiEvr6A3rTkqAcVW 6 | fBUfRHA/b2d8s9FsXPPvqp8h9xjIR4g3Y+6lrUVCq9V+2mE7vKqqptnRvjqhnqb1 7 | h4adaNc1kKtmNuBB7FhxeeNjltXjW1OI8WC8TqT8PF59rNR6PYZ3fCBddNUoSNSg 8 | U0wbLtbNkcU5BeDNba4QMQuY0mR/3L5puQaTm5tpzopRor3eiMFKoHSVkoIlV+rz 9 | TJA1+1y55EaOcc4jjvxrw70UcxaXXKM6al9VSHQaZvNBftMhPIdO4egbZWG2LQfs 10 | t0aiqCOTyPOy9MQTzoIqkzVRX3LXTeNjHGsRWd9JcDbrKlurX0pUcGA4vKFFFt+/ 11 | fjT0u68ekNqiuES2PCT0psmvXx41UotIWKe1P3VaOF/3BueIeO4efm38uXKjD/5d 12 | 7/HJ6x61GhwXm1VVQLdakoCzFyVifvxzAiaxvoGzOryanp1pzjZvJPRu5YCWLieV 13 | rYAMuXIxok0pU4AqZyOHYeyU8t9kV78dkU6KV8uO92p4emGn8SVBmAgPwHNLonZP 14 | tD/c0KIgnCmnpSJpZVoY9ZDIkkJLkaurotJNR05Y6Uu8dxBEqHfKhhdzBETnOr76 15 | AQzNgcISq+8G9n8bhNoP2uYDv+QFnPjlCTK3fkCwQwoLPg6r76A2uVPII+uvL02E 16 | DhaHHs9u27OoY+8vUP+umKrXf43jlTue1Mv5ArwITJVgHnto9LiCZYKadONlOdml 17 | +mvxP1K50D0+FBA/xD7zaasqN5sXJRxIScJhTFZEwTvU8klgxe5cbU+5+KblUToS 18 | PjuMEjo5Klux3/By/2TEZSfU2SM17+IYRWSM56CTHGVPrv0+7drDB2sToIJDFgJS 19 | 10I+0U0aukZWY3UNk8Bh1FeKfjEWcLCKTrSHc+TND33hePgcSDPmWwhJzz/OFogN 20 | Qex7J+YuJJYYYrWuHpoiyxbG/K8dRX5qc5R1Q8XS/RyBHZ6bVaMl0Whr7FuoDXdA 21 | 19SeF2xpS9EIZ/B22OxvlK88Kc4/bjmL9O3L0SeytM/WJhTv9M5i1mNIgNHrNN8v 22 | eXYI+6YAY09oBUPy4OMcrL+RDIFTiUkxgtdKgX9r9iWAno8Y1++eedgAqA4xHTQx 23 | 8MTf1eQKR4X7V9PfTCH6zP0EMaT2y4RlP9/R3ZxEa3MYe4SCHZQUrBygUrEDRVCm 24 | LAa6ljNuqslE0+rmbowIa4WP+a8C3ODc6NzirF10qcQS2xb+j+RpBrdLeGdICT8c 25 | OdwS5w2JUqsom/AFHO+7C5+zW2dzKqezDmX6stDkG2tlaMLmh4bDnm48dpvLIqX4 26 | 1pUK/zuCRqs38xTyxzwKHuiixKdHPex+LhMw6CJMU+vl8J9Brj4+KOcSnT5Nfm62 27 | cQpYGJvOGAEAjlAiT8B/wG05/Yc+C9rTASvvtqIaUMzwCKIC8IcIJ/9jQCUwyRJ9 28 | j3XrFwHOOqupJnKDSjJh8fFdRuqSi277EDdyojidd6Gjnbe79uq1JpsY6/XD9zHf 29 | 3n/NlMqBElFPLfKZHs56+ymJByBHph25qUVWRT/2f2scH44T4UzriVH1cQZw5qu/ 30 | I0Cnod19/b8jv4XY73cscBbV+7K5GxLVhUkErqJiIbm4Kt5mjeDIPKEN4edzg6we 31 | 8PGRfFCU9mX5v7NhbxVfLvHfwx4bkteJkTBhB0inR1+0VxgEBULYtnwN9LYLxnhp 32 | h8V02wQzUJ148I8R9UpQ4jgj7p6k3qtlXwwZXjhWbLbQtBps8brQu6nRuOWre0ov 33 | I9d+OfOSi7+g5R4WR0rOA8yrQJ6ODvhw42g4ovD+SZew4VnHSg5o9js4tW6V18bN 34 | otULellD6115ar3QHV1ohIiD+dwFGr8JmQyqwJK1v9QWdjyU7Nc3zj7EjWVsKPGX 35 | 204ojgUA8+SrHxGPHM+vOih51CF9vfBrX8RjwZ90BDZojCBaMhJhg88QkIugZdAm 36 | PqL4pROmAH64Qx4mFN73za3jerlG4WozVqREms9GZCt0WnUQE73VC4spqpoIFd1a 37 | LmdL3k24NXb7SliXoLbuWvvoVPYAqHyaNqa03q7xb3rFpCwP79QW8N78DqBt8XNh 38 | 2VxA6vcfqlbE5cg5PCIwqipl9i+GP//UnXPPUX5BRWrWwgI8isoMxZEEyxFJu4IW 39 | NF/7i4eLT7TdqimpfiRzUnFVekQpaCqRs1Fy1KIXZqkKFvFbgLUKZRPN32xDcrCO 40 | 0VewNSf434AiMEu5dcMVhUrV8ApTjLpFLr9hPiZmyarn9Pj5+3ejcjbXeTVcKprz 41 | PzLW8C2ABRipZ4rg6y1uNCS1gBcg2jUlpoOw4yz4uto73csZoEeQy2RuA9HMl9WH 42 | F8ZJQc1xm+17TZeMjiYVhCO5Gr6Xa7F4qPbuhyKRchRFuafSkqdXrDG+doMTYosI 43 | oHRi94Q5BCctVpdXgMvp3CvOGfQk2VTSlB1hkIOKbA9y4GkDytaO2WyeqAqcQW2T 44 | hynbI8S0mzN4EvIHLXCOsOv46tWiMyCcYUgvadp6Fw3Q+wt2htQBHIdAE3zKg9fC 45 | ZyUhQLPfDOIJSlgZj8/BUZKS60YZ1Ds4UT2RMBCWqpLOmGG3mVnP/wdE7h1g0G2j 46 | raVnYMm5U05oJQ2jJ3rgNQNCIoJkhoe3JkJaSXjUPvTuBLP0OUMH7il+G5MXDbv2 47 | dLnT7TCD/rOATdDf1tAU/Z5QUsAIAaaZ3xB9mlwhBZg4BZwtCyotEsa73u2++FVM 48 | oY+aoXlZCog1FC2Hg+Vj0iuxTxxnxNBoZ1p8FCYb0jaaFo58PzCjN03CtwVz0Xoo 49 | i9eFb+KArVFlVHxdoyqxV35loLADKkwhNpi5OaN+9oUWP3doR49c1+1z+ouBQy7D 50 | +hZUjf5J/uXjsPqh0x55WP41ReRZfDZ0v0vM3jJafAFxzqC6ZCNAEwYDUkAGP1dF 51 | Ms6JxxxYouWp9IIkKkTyEAVHrpuEjP2BQeSLP28TRd2YxmpOAKABZaqBsQPw6Fli 52 | 1aiEBwjwXXlszFMcYpCPesgQWgerlhQF+vOGHZ8QL0j3cPgEZaVQAL1bRJryB9wf 53 | mwhiRPoWl/XUOaVkP4EbBbqqchZ2yxQEd7+4XydSYTkxlreYTEgHZTux6BnLw6rR 54 | bRU+rnOV3wwxZ2UfBooT3M5YCCrRJLh8CTRkBvvQP3Oxwwklj7TRUWdcxPbgO31n 55 | cy1SKJrUCfDFmccuja9oKX4PHLwKJ1ix5I4BggEPm5ix0faC+3up7V+461LkNb6L 56 | FOhkiUDVr0ru+QnzoI1FcudcCEMJOQPLyRxtdqpc7c/yeqdsD7uSf50/i4/krXjx 57 | 6v4JDeVNIlpTz24g7t1gwIqoR7FJ/qV1dljN+2HhhuUS4GKpwcBT7uMv/jbLTweu 58 | jNL7qjiZylKJfeDBjlBs8ohpjq36C2iX95MJmZP+q04yZdUCP4LqufGTWGjbO0IH 59 | ZVPhObVf1D699T1C2d5vJdZkq0FyLujMvpcn++M7GtegrJy4YJTzKEp/i1ALsZbU 60 | VOedYrmNEND0+wSMQOPyC4jDFGmzHz4mqGg= 61 | -----END AGE ENCRYPTED FILE----- 62 | --------------------------------------------------------------------------------