Compare commits
56 commits
0b013c2b2a
...
f853ad7082
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f853ad7082 | ||
|
|
87ba144eb2 | ||
|
|
2fe9b89540 | ||
|
|
3f131b49a9 | ||
|
|
1a5097b94f | ||
|
|
f14d6e1570 | ||
|
|
61020b9be8 | ||
|
|
a3a74c2823 | ||
|
|
3b9e139a7d | ||
|
|
d500b3291a | ||
|
|
3137f17a47 | ||
|
|
1fc0c632ed | ||
|
|
e5463b53b4 | ||
|
|
9ad0531aef | ||
|
|
3354e3ab50 | ||
|
|
a69dfc23d7 | ||
|
|
7949054550 | ||
|
|
97e38395ad | ||
|
|
fc54f268b7 | ||
|
|
a6289318cf | ||
|
|
3de861c2a0 | ||
|
|
3fd357bd51 | ||
|
|
a2a0d9b3ae | ||
|
|
6be036dd32 | ||
|
|
7c54489c73 | ||
|
|
0d9bc09269 | ||
|
|
a3a743224b | ||
|
|
d6df3836cd | ||
|
|
6578c0a662 | ||
|
|
20076725f1 | ||
|
|
5d303dd787 | ||
|
|
52cee79606 | ||
|
|
96672e08ee | ||
|
|
0ca179e015 | ||
|
|
31603b901c | ||
|
|
e6d257ed7c | ||
|
|
f2576ad28b | ||
|
|
e851d02c88 | ||
|
|
7e317b5509 | ||
|
|
c0dd3ff193 | ||
|
|
d3e1d0a397 | ||
|
|
b21f261bdd | ||
|
|
d6823166fb | ||
|
|
b9ad0de235 | ||
|
|
9c3fbd16bb | ||
|
|
c2e2372d08 | ||
|
|
6e0fd618e1 | ||
|
|
56f085fe21 | ||
|
|
09f8013d2b | ||
|
|
ab5065d4cc | ||
|
|
5001105359 | ||
|
|
2e32091c05 | ||
|
|
6ee8c6d2c1 | ||
|
|
09f6a498e2 | ||
|
|
6cd96889fc | ||
|
|
99b86d511c |
74 changed files with 6249 additions and 379 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
# Files to ignore on windows
|
# Files to ignore on windows
|
||||||
{{- if eq .chezmoi.os "windows" }}
|
{{- if eq .chezmoi.os "windows" }}
|
||||||
|
,bash_profile
|
||||||
.bashrc
|
.bashrc
|
||||||
.nix-channels
|
.nix-channels
|
||||||
.vimrc
|
.vimrc
|
||||||
|
|
@ -10,7 +11,15 @@
|
||||||
.config/sheldon
|
.config/sheldon
|
||||||
.config/Yubico
|
.config/Yubico
|
||||||
.config/zellij
|
.config/zellij
|
||||||
|
.config/kritarc
|
||||||
|
.config/kritashortcutsrc
|
||||||
|
.config/dunst/dunstrc
|
||||||
|
.config/rofi/wal.rasi
|
||||||
|
.config/nvim
|
||||||
|
.config/sway/outputs
|
||||||
|
.config/systemd/user/default.target.wants
|
||||||
.inputrc
|
.inputrc
|
||||||
|
.env
|
||||||
{{- end }}
|
{{- end }}
|
||||||
# Windows specific files
|
# Windows specific files
|
||||||
{{- if ne .chezmoi.os "windows" }}
|
{{- if ne .chezmoi.os "windows" }}
|
||||||
|
|
|
||||||
15
.gitmodules
vendored
Normal file
15
.gitmodules
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
[submodule "AppData/Local/external_nvim"]
|
||||||
|
path = AppData/Local/external_nvim
|
||||||
|
url = https://git.argentumcation.com/mira/nvim-config
|
||||||
|
[submodule "private_dot_config/external_nvim"]
|
||||||
|
path = private_dot_config/external_nvim
|
||||||
|
url = https://git.argentumcation.com/mira/nvim-config.git
|
||||||
|
[submodule "private_dot_config/sway/external_blocks"]
|
||||||
|
path = private_dot_config/sway/external_blocks
|
||||||
|
url = https://github.com/vivien/i3blocks-contrib
|
||||||
|
[submodule "private_dot_config/external_i3blocks"]
|
||||||
|
path = private_dot_config/external_i3blocks
|
||||||
|
url = https://github.com/vivien/i3blocks-contrib
|
||||||
|
[submodule "private_dot_config/nvim-config"]
|
||||||
|
path = private_dot_config/nvim-config
|
||||||
|
url = https://git.argentumcation.com/mira/nvim-config.git
|
||||||
1
AppData/Local/external_nvim
Submodule
1
AppData/Local/external_nvim
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 23c86b37763f3662b40cbce638bacc8791894c41
|
||||||
|
|
@ -1,6 +0,0 @@
|
||||||
[install]
|
|
||||||
{{ if eq .chezmoi.os "windows" -}}
|
|
||||||
root = "{{ .chezmoi.homeDir }}/Programs"
|
|
||||||
{{ else if eq .chezmoi.os "linux" -}}
|
|
||||||
root = "{{ .chezmoi.homeDir }}/.local/"
|
|
||||||
{{- end }}
|
|
||||||
164
dot_envrc
Normal file
164
dot_envrc
Normal file
|
|
@ -0,0 +1,164 @@
|
||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# ~/.profile: executed by the command interpreter for login shells.
|
||||||
|
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
|
||||||
|
# exists.
|
||||||
|
# see /usr/share/doc/bash/examples/startup-files for examples.
|
||||||
|
# the files are located in the bash-doc package.
|
||||||
|
|
||||||
|
# the default umask is set in /etc/profile; for setting the umask
|
||||||
|
# for ssh logins, install and configure the libpam-umask package.
|
||||||
|
#umask 022
|
||||||
|
export TZ=":/etc/localtime"
|
||||||
|
|
||||||
|
#################
|
||||||
|
# XDG Base Dirs #
|
||||||
|
#################
|
||||||
|
|
||||||
|
export XDG_DATA_HOME="$HOME/.local/share"
|
||||||
|
export XDG_CONFIG_HOME="$HOME/.config"
|
||||||
|
export XDG_STATE_HOME="$HOME/.local/state"
|
||||||
|
export XDG_CACHE_HOME="$HOME/.cache"
|
||||||
|
export XDG_RUNTIME_DIR="/run/user/$(id -u)"
|
||||||
|
#################
|
||||||
|
# XDG User Dirs #
|
||||||
|
#################
|
||||||
|
# . "$XDG_CONFIG_HOME/user-dirs.dirs"
|
||||||
|
export XDG_DESKTOP_DIR="$HOME/Desktop"
|
||||||
|
export XDG_DOWNLOAD_DIR="$HOME/Downloads"
|
||||||
|
export XDG_DOCUMENTS_DIR="$HOME/Documents"
|
||||||
|
export XDG_MUSIC_DIR="$HOME/Music"
|
||||||
|
export XDG_PICTURES_DIR="$HOME/Pictures"
|
||||||
|
export XDG_VIDEOS_DIR="$HOME/Videos"
|
||||||
|
|
||||||
|
########################
|
||||||
|
# Default file viewers #
|
||||||
|
########################
|
||||||
|
|
||||||
|
export EDITOR=nvim
|
||||||
|
export OPENER=xdg-open
|
||||||
|
|
||||||
|
#######
|
||||||
|
# IME #
|
||||||
|
#######
|
||||||
|
|
||||||
|
export GTK_IM_MODULE=fcitx
|
||||||
|
export QT_IM_MODULE=fcitx
|
||||||
|
export XMODIFIERS=@im=fcitx
|
||||||
|
|
||||||
|
|
||||||
|
################################
|
||||||
|
# pls use the goddamn xdg dirs #
|
||||||
|
################################
|
||||||
|
|
||||||
|
# If you use non-default GnuPG Home directory, you will need to edit all
|
||||||
|
# socket files to use the values of gpgconf --list-dirs.
|
||||||
|
# If you set your SSH_AUTH_SOCK manually, keep in mind that your socket
|
||||||
|
# location may be different if you are using a custom GNUPGHOME
|
||||||
|
export GOPATH="$XDG_DATA_HOME"/go
|
||||||
|
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
||||||
|
|
||||||
|
# export NPM_CONFIG_USERCONFIG="$XDG_CONFIG_HOME"/npm/npmrc
|
||||||
|
#export PNPM_HOME="$XDG_DATA_HOME/pnpm"
|
||||||
|
alias adb='HOME="$XDG_DATA_HOME"/android adb'
|
||||||
|
alias wget='wget --hsts-file="$XDG_DATA_HOME/wget-hsts"'
|
||||||
|
export ANDROID_USER_HOME="$XDG_DATA_HOME"/android
|
||||||
|
export AWS_CONFIG_FILE="$XDG_CONFIG_HOME"/aws/config
|
||||||
|
export AWS_SHARED_CREDENTIALS_FILE="$XDG_CONFIG_HOME"/aws/credentials
|
||||||
|
export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
||||||
|
export CARGO_INSTALL_ROOT="$HOME/.local"
|
||||||
|
export DOCKER_CONFIG="$XDG_CONFIG_HOME"/docker
|
||||||
|
export DOTNET_CLI_HOME="$XDG_DATA_HOME"/dotnet
|
||||||
|
export ERRFILE="$XDG_CACHE_HOME/X11/xsession-errors"
|
||||||
|
export GOPATH="$XDG_DATA_HOME"/go
|
||||||
|
export GRADLE_USER_HOME="$XDG_DATA_HOME/gradle"
|
||||||
|
export GTK2_RC_FILES="$XDG_CONFIG_HOME"/gtk-2.0/gtkrc
|
||||||
|
export ICEAUTHORITY="$XDG_CACHE_HOME"/ICEauthority
|
||||||
|
export INPUTRC="$XDG_CONFIG_HOME/readline/inputrc"
|
||||||
|
export IPYTHONDIR="$XDG_CONFIG_HOME/ipython"
|
||||||
|
export JUPYTER_CONFIG_DIR="$XDG_CONFIG_HOME"/jupyter
|
||||||
|
export LESSHISTFILE="$XDG_STATE_HOME/less/history"
|
||||||
|
export MYPY_CACHE_DIR="$XDG_CACHE_HOME"/mypy
|
||||||
|
export NODE_REPL_HISTORY="$XDG_DATA_HOME"/node_repl_history
|
||||||
|
export NPM_CONFIG_CACHE="$XDG_CACHE_HOME"/npm
|
||||||
|
export NPM_CONFIG_INIT_MODULE="$XDG_CONFIG_HOME"/npm/config/npm-init.js
|
||||||
|
export NPM_CONFIG_PREFIX="$XDG_DATA_HOME/npm-global"
|
||||||
|
export NPM_CONFIG_TMP="$XDG_RUNTIME_DIR"/npm
|
||||||
|
export PARALLEL_HOME="$XDG_CONFIG_HOME"/parallel
|
||||||
|
export PYENV_ROOT="$XDG_DATA_HOME/pyenv"
|
||||||
|
export PYTHONSTARTUP="$HOME"/python/pythonrc
|
||||||
|
export RUFF_CACHE_DIR="$XDG_CACHE_HOME/ruff"
|
||||||
|
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
|
||||||
|
export TERMINFO="$XDG_DATA_HOME"/terminfo
|
||||||
|
export TERMINFO_DIRS="$XDG_DATA_HOME"/terminfo:/usr/share/terminfo
|
||||||
|
export TLDR_CACHE_DIR="$XDG_CACHE_HOME"/tldr
|
||||||
|
export WINEPREFIX="$XDG_DATA_HOME"/wine
|
||||||
|
export WORKON_HOME="$XDG_DATA_HOME/virtualenvs"
|
||||||
|
export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority
|
||||||
|
export XCURSOR_PATH=/usr/share/icons:$XDG_DATA_HOME/icons
|
||||||
|
export XINITRC="$XDG_CONFIG_HOME"/X11/xinitrc
|
||||||
|
export _JAVA_OPTIONS="-Djava.util.prefs.userRoot=${XDG_CONFIG_HOME}/java -Djavafx.cachedir=${XDG_CACHE_HOME}/openjfx"
|
||||||
|
export N_PREFIX="$HOME/.local"
|
||||||
|
|
||||||
|
###############
|
||||||
|
# SET UP PATH #
|
||||||
|
###############
|
||||||
|
# nix
|
||||||
|
if [ -e "$HOME"/.nix-profile/etc/profile.d/nix.sh ]; then
|
||||||
|
. "$HOME"/.nix-profile/etc/profile.d/nix.sh
|
||||||
|
elif [ -e "$HOME"/.nix-profile/bin ]; then
|
||||||
|
export PATH="$PATH:/nix/var/nix/profiles/default/bin"
|
||||||
|
export PATH="$HOME/.nix-profile/bin:$PATH"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# User bin folder
|
||||||
|
#[ "${PATH#*"$HOME"/.local/bin:}" = "$PATH" ] && export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
export PATH="$HOME/.local/bin:$PATH"
|
||||||
|
|
||||||
|
# go
|
||||||
|
[ "${PATH#*"$GOPATH/bin"}" = "$PATH" ] && export PATH="$GOPATH/bin:$PATH"
|
||||||
|
|
||||||
|
# homebrew
|
||||||
|
[ -e /home/linuxbrew/.linuxbrew/bin/brew ] && eval "$(/home/linuxbrew/.linuxbrew/bin/brew shellenv)"
|
||||||
|
|
||||||
|
# pnpm
|
||||||
|
[ "${PATH#*$PNPM_HOME:}" = "$PATH" ] && export PATH="$PNPM_HOME:$PATH"
|
||||||
|
|
||||||
|
# npm
|
||||||
|
[ "${PATH#*$NPM_CONFIG_PREFIX/bin:}" = "$PATH" ] && export PATH="$NPM_CONFIG_PREFIX/bin:$PATH"
|
||||||
|
|
||||||
|
# cargo
|
||||||
|
if [[ -f "$CARGO_HOME/env" ]]; then
|
||||||
|
. "$CARGO_HOME/env"
|
||||||
|
elif [[ -f ~/.local/share/cargo/env ]]; then
|
||||||
|
. ~/.local/share/cargo/env
|
||||||
|
fi
|
||||||
|
|
||||||
|
# swiftly
|
||||||
|
# Added by swiftly
|
||||||
|
. "/home/mira/.local/share/swiftly/env.sh"
|
||||||
|
|
||||||
|
export NVM_DIR="$HOME/.config/nvm"
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
|
# bun completions
|
||||||
|
[ -s "/home/akristip/.bun/_bun" ] && source "$HOME/.bun/_bun"
|
||||||
|
# bun
|
||||||
|
export BUN_INSTALL="$HOME/.bun"
|
||||||
|
export PATH="$BUN_INSTALL/bin:$PATH"
|
||||||
|
# pnpm
|
||||||
|
export PNPM_HOME="$XDG_DATA_HOME/pnpm"
|
||||||
|
case ":$PATH:" in
|
||||||
|
*":$PNPM_HOME:"*) ;;
|
||||||
|
*) export PATH="$PNPM_HOME:$PATH" ;;
|
||||||
|
esac
|
||||||
|
# pnpm end
|
||||||
|
export LOCALE_ARCHIVE=/usr/lib/locale/locale-archive
|
||||||
|
# this better fix libadwaita?
|
||||||
|
export ADW_DISABLE_PORTAL=1
|
||||||
|
# fix firefox wayland?
|
||||||
|
export MOZ_ENABLE_WAYLAND=1
|
||||||
|
# fix sway setting env vars?
|
||||||
|
export XDG_CURRENT_DESKTOP="${XDG_CURRENT_DESKTOP:-sway}"
|
||||||
|
# fix font rendering?
|
||||||
|
export FREETYPE_PROPERTIES="truetype:interpreter-version=40 cff:no-stem-darkening=0 autofitter:no-stem-darkening=0"
|
||||||
|
|
||||||
11
dot_inputrc
11
dot_inputrc
|
|
@ -1,11 +0,0 @@
|
||||||
set editing-mode vi
|
|
||||||
set keymap vi
|
|
||||||
set show-mode-in-prompt on
|
|
||||||
set show-all-if-ambiguous on
|
|
||||||
$if term=linux
|
|
||||||
set vi-ins-mode-string \1\e[?0c\2
|
|
||||||
set vi-cmd-mode-string \1\e[?8c\2
|
|
||||||
$else
|
|
||||||
set vi-ins-mode-string \1\e[6 q\2
|
|
||||||
set vi-cmd-mode-string \1\e[2 q\2
|
|
||||||
$endif
|
|
||||||
24
dot_local/bin/executable_lfub
Normal file
24
dot_local/bin/executable_lfub
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
#!/bin/sh
|
||||||
|
set -e
|
||||||
|
|
||||||
|
if [ -n "$DISPLAY" ]; then
|
||||||
|
export FIFO_UEBERZUG="${TMPDIR:-/tmp}/lf-ueberzug-$$"
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
exec 3>&-
|
||||||
|
rm "$FIFO_UEBERZUG"
|
||||||
|
}
|
||||||
|
|
||||||
|
mkfifo "$FIFO_UEBERZUG"
|
||||||
|
ueberzug layer -s <"$FIFO_UEBERZUG" &
|
||||||
|
exec 3>"$FIFO_UEBERZUG"
|
||||||
|
trap cleanup EXIT
|
||||||
|
|
||||||
|
if ! [ -d "$HOME/.cache/lf" ]; then
|
||||||
|
mkdir -p "$HOME/.cache/lf"
|
||||||
|
fi
|
||||||
|
|
||||||
|
lf "$@" 3>&-
|
||||||
|
else
|
||||||
|
exec lf "$@"
|
||||||
|
fi
|
||||||
|
|
@ -1,2 +0,0 @@
|
||||||
[install]
|
|
||||||
root = "/home/mira/.local/"
|
|
||||||
|
|
@ -1,3 +1,4 @@
|
||||||
|
enable-ssh-support
|
||||||
{{- if eq .chezmoi.os "windows" -}}
|
{{- if eq .chezmoi.os "windows" -}}
|
||||||
pinentry-program pinentry.exe
|
pinentry-program pinentry.exe
|
||||||
{{- else if (and (eq .chezmoi.os "linux") (.chezmoi.kernel.osrelease | lower | contains "microsoft"))}}
|
{{- else if (and (eq .chezmoi.os "linux") (.chezmoi.kernel.osrelease | lower | contains "microsoft"))}}
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
https://github.com/nix-community/NUR/archive/master.tar.gz nur
|
# https://github.com/nix-community/NUR/archive/master.tar.gz nur
|
||||||
https://nixos.org/channels/nixpkgs-unstable nixpkgs
|
https://nixos.org/channels/nixpkgs-unstable nixpkgs
|
||||||
|
|
|
||||||
5
dot_profile
Normal file
5
dot_profile
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
. "$HOME"/.envrc
|
||||||
|
if [ -f "$HOME/.rye/env" ]; then
|
||||||
|
. "$HOME/.rye/env"
|
||||||
|
fi
|
||||||
|
|
||||||
|
|
@ -1,4 +1,11 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
lf () {
|
||||||
|
# `command` is needed in case `lfcd` is aliased to `lf`
|
||||||
|
cd "$(command lf -print-last-dir "$@")"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
load_aliases() {
|
load_aliases() {
|
||||||
local TIMEFMT='\%J\n%mE:'
|
local TIMEFMT='\%J\n%mE:'
|
||||||
local OLDPATH=$PATH
|
local OLDPATH=$PATH
|
||||||
|
|
@ -11,7 +18,7 @@ load_aliases() {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
checkCommand() {
|
checkCommand() {
|
||||||
$CHECK "$1" >/dev/null 2>&1
|
"$CHECK" "$1" >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
# make a directory and cd to it
|
# make a directory and cd to it
|
||||||
|
|
@ -30,33 +37,36 @@ load_aliases() {
|
||||||
alias musl-go="GOBIN=$HOME/bin CGO_ENABLED=1 CC=musl-gcc go install --ldflags '-linkmode external -extldflags=-static'"
|
alias musl-go="GOBIN=$HOME/bin CGO_ENABLED=1 CC=musl-gcc go install --ldflags '-linkmode external -extldflags=-static'"
|
||||||
|
|
||||||
# Replace df with duf
|
# Replace df with duf
|
||||||
if checkCommand duf; then
|
if checkCommand dfrs; then
|
||||||
alias df="duf"
|
alias df="dfrs"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if checkCommand edit; then
|
||||||
|
alias ed="edit"
|
||||||
|
fi
|
||||||
# Replace diff with delta
|
# Replace diff with delta
|
||||||
if checkCommand delta; then
|
if checkCommand delta; then
|
||||||
alias diff="delta"
|
alias diff="delta"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# replaces gnu coreutils with the rust versions, cp and mv are worth
|
# replaces gnu coreutils with the rust versions, cp and mv are worth
|
||||||
if checkCommand coreutils; then
|
# if checkCommand coreutils; then
|
||||||
alias cp="coreutils cp -g"
|
# alias cp="coreutils cp -g"
|
||||||
alias mv="coreutils mv -g"
|
# alias mv="coreutils mv -g"
|
||||||
alias hashsum="coreutils hashsum"
|
# alias hashsum="coreutils hashsum"
|
||||||
#alias more="coreutils more"
|
# #alias more="coreutils more"
|
||||||
alias cut="coreutils cut"
|
# alias cut="coreutils cut"
|
||||||
alias chmod="coreutils chmod"
|
# alias chmod="coreutils chmod"
|
||||||
alias chown="coreutils chown"
|
# alias chown="coreutils chown"
|
||||||
alias chroot="coreutils chroot"
|
# alias chroot="coreutils chroot"
|
||||||
alias echo="coreutils echo"
|
# alias echo="coreutils echo"
|
||||||
alias head="coreutils head"
|
# alias head="coreutils head"
|
||||||
alias kill="coreutils kill"
|
# alias kill="coreutils kill"
|
||||||
alias ln="coreutils ln"
|
# alias ln="coreutils ln"
|
||||||
alias mkdir="coreutils mkdir"
|
# alias mkdir="coreutils mkdir"
|
||||||
alias nohup="coreutils nohup"
|
# alias nohup="coreutils nohup"
|
||||||
alias tail="coreutils tail"
|
# alias tail="coreutils tail"
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
# Replace find with fd
|
# Replace find with fd
|
||||||
if checkCommand fd; then
|
if checkCommand fd; then
|
||||||
|
|
@ -80,6 +90,8 @@ load_aliases() {
|
||||||
# Replace cat with bat
|
# Replace cat with bat
|
||||||
if checkCommand bat; then
|
if checkCommand bat; then
|
||||||
alias cat="bat"
|
alias cat="bat"
|
||||||
|
alias batlog="bat --paging=never -l log"
|
||||||
|
alias battail="tail -f | bat --paging=never -l log"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Replace tree with broot
|
# Replace tree with broot
|
||||||
|
|
@ -122,6 +134,23 @@ load_aliases() {
|
||||||
# fi
|
# fi
|
||||||
# }
|
# }
|
||||||
fi
|
fi
|
||||||
|
if checkCommand swhkd; then
|
||||||
|
alias reload-swhkd="sudo pkill -HUP swhkd"
|
||||||
|
fi
|
||||||
|
if checkCommand fdfind; then
|
||||||
|
alias fd="fdfind"
|
||||||
|
fi
|
||||||
|
|
||||||
|
alias icat="kitty +kitten icat"
|
||||||
}
|
}
|
||||||
load_aliases
|
load_aliases
|
||||||
unset -f load_aliases
|
unset -f load_aliases
|
||||||
|
|
||||||
|
function yy() {
|
||||||
|
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
||||||
|
yazi "$@" --cwd-file="$tmp"
|
||||||
|
if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||||
|
builtin cd -- "$cwd"
|
||||||
|
fi
|
||||||
|
rm -f -- "$tmp"
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -1 +0,0 @@
|
||||||
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
|
||||||
|
|
@ -10,11 +10,11 @@ checkCommand(){
|
||||||
type "$1" >/dev/null 2>&1
|
type "$1" >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
|
|
||||||
# If you have zellij installed, this will auto start it
|
# # If you have zellij installed, this will auto start it
|
||||||
if [ -z "$ZELLIJ" ] && checkCommand zellij; then
|
# if [ -z "$ZELLIJ" ] && checkCommand zellij; then
|
||||||
#export ZELLIJ_AUTO_ATTACH=true
|
# #export ZELLIJ_AUTO_ATTACH=true
|
||||||
exec zellij
|
# exec zellij
|
||||||
fi
|
# fi
|
||||||
|
|
||||||
# Speed up shell load on WSL
|
# Speed up shell load on WSL
|
||||||
OLDPATH=$PATH
|
OLDPATH=$PATH
|
||||||
|
|
@ -105,3 +105,5 @@ else #Fallback prompt
|
||||||
fi
|
fi
|
||||||
PATH=$OLDPATH
|
PATH=$OLDPATH
|
||||||
unset OLDPATH
|
unset OLDPATH
|
||||||
|
|
||||||
|
# export UUID=552fbc4c-1e9b-11b2-a85c-a01fe49e12ee
|
||||||
|
|
|
||||||
|
|
@ -1,78 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
# ~/.profile: executed by the command interpreter for login shells.
|
|
||||||
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
|
|
||||||
# exists.
|
|
||||||
# see /usr/share/doc/bash/examples/startup-files for examples.
|
|
||||||
# the files are located in the bash-doc package.
|
|
||||||
|
|
||||||
# the default umask is set in /etc/profile; for setting the umask
|
|
||||||
# for ssh logins, install and configure the libpam-umask package.
|
|
||||||
#umask 022
|
|
||||||
|
|
||||||
# XDG Base Dirs
|
|
||||||
XDG_DATA_HOME="$HOME/.local/share"
|
|
||||||
XDG_CONFIG_HOME="$HOME/.config"
|
|
||||||
XDG_STATE_HOME="$HOME/.local/state"
|
|
||||||
XDG_CACHE_HOME="$HOME/.cache"
|
|
||||||
|
|
||||||
|
|
||||||
[[ "$TERM_PROGRAM" = "vscode" ]] && . "$(code --locate-shell-integration-path $0)"
|
|
||||||
|
|
||||||
# set PATH so it includes user's private bin if it exists
|
|
||||||
if [ -d "$HOME/bin" ] ; then
|
|
||||||
PATH="$HOME/bin:$PATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# set PATH so it includes user's private bin if it exists
|
|
||||||
if [ -d "$HOME/.local/bin" ] ; then
|
|
||||||
PATH="$HOME/.local/bin:$PATH"
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Source Cargo Environment
|
|
||||||
if [[ -f "$HOME/.cargo/env" ]]; then
|
|
||||||
. "$HOME/.cargo/env";
|
|
||||||
#else
|
|
||||||
# curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh;
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Source Nix Environment
|
|
||||||
if [ -e "$HOME"/.nix-profile/etc/profile.d/nix.sh ]; then
|
|
||||||
. "$HOME"/.nix-profile/etc/profile.d/nix.sh
|
|
||||||
# else
|
|
||||||
# echo "If this doesn't work, comment out this part of .zshenv"
|
|
||||||
# sh <(curl -L https://nixos.org/nix/install) --no-daemon;
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Add Ruby
|
|
||||||
#[ "${PATH#*"$HOME"/.local/share/gem/ruby/*/bin:}" = "$PATH" ] && export PATH="$HOME/.local/share/gem/ruby/*/bin:$PATH"
|
|
||||||
|
|
||||||
# User bin folder
|
|
||||||
[ "${PATH#*"$HOME"/.local/bin:}" = "$PATH" ] && export PATH="$HOME/.local/bin:$PATH"
|
|
||||||
|
|
||||||
# add nodejs
|
|
||||||
# [ "${PATH#*"$HOME"/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:}" = "$PATH" ] && export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
|
|
||||||
|
|
||||||
# add go
|
|
||||||
[ "${PATH#*"$HOME"/go/bin:}" = "$PATH" ] && export PATH="$HOME/go/bin:$PATH"
|
|
||||||
|
|
||||||
# Set PATH, MANPATH, etc., for Homebrew.
|
|
||||||
[ -e /home/linuxbrew/.linuxbrew/bin/brew ] && eval $(/home/linuxbrew/.linuxbrew/bin/brew shellenv)
|
|
||||||
|
|
||||||
# pnpm
|
|
||||||
export PNPM_HOME="$XDG_DATA_HOME/pnpm"
|
|
||||||
[ "${PATH#*$PNPM_HOME:}" = "$PATH" ] && export PATH="$PNPM_HOME:$PATH"
|
|
||||||
|
|
||||||
# Make Cargo install to user bin directory
|
|
||||||
export CARGO_HOME="$XDG_DATA_HOME/cargo"
|
|
||||||
export CARGO_INSTALL_ROOT="$HOME/.local"
|
|
||||||
|
|
||||||
export GNUPGHOME="$XDG_DATA_HOME/gnupg"
|
|
||||||
|
|
||||||
# If you use non-default GnuPG Home directory, you will need to edit all
|
|
||||||
# socket files to use the values of gpgconf --list-dirs.
|
|
||||||
# If you set your SSH_AUTH_SOCK manually, keep in mind that your socket
|
|
||||||
# location may be different if you are using a custom GNUPGHOME
|
|
||||||
|
|
||||||
export LESSHISTFILE="$XDG_STATE_HOME/less/history"
|
|
||||||
|
|
||||||
export INPUTRC="$XDG_CONFIG_HOME/readline/inputrc"
|
|
||||||
|
|
@ -6,4 +6,4 @@
|
||||||
export ZSH_DISABLE_COMPFIX=true
|
export ZSH_DISABLE_COMPFIX=true
|
||||||
|
|
||||||
# Load .profile
|
# Load .profile
|
||||||
[[ -f ~/.env ]] && . ~/.env
|
[[ -f ~/.profile ]] && . ~/.profile
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,12 @@
|
||||||
#!/bin/zsh
|
#!/bin/zsh
|
||||||
# Runs for interactive shells
|
# Runs for interactive shells
|
||||||
|
|
||||||
export START="${START:=$(date '+%s.%N')}"
|
|
||||||
|
|
||||||
checkCommand(){
|
checkCommand(){
|
||||||
type "$1" >/dev/null 2>&1
|
type "$1" >/dev/null 2>&1
|
||||||
}
|
}
|
||||||
# If you have zellij installed, this will auto start it
|
|
||||||
if [ -z "$ZELLIJ" ] && checkCommand zellij; then
|
# Set aliases
|
||||||
#export ZELLIJ_AUTO_ATTACH=true
|
[ -f "$HOME/.aliasrc" ] && source "$HOME/.aliasrc" # >/dev/null 2>&1 &;
|
||||||
exec zellij
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Speed up shell load on WSL
|
# Speed up shell load on WSL
|
||||||
OLDPATH=$PATH
|
OLDPATH=$PATH
|
||||||
|
|
@ -22,8 +18,10 @@ PATH=$(echo "$PATH" | sed -e 's/\/mnt\/.*\?://g')
|
||||||
|
|
||||||
# Set where history is saved and how much to save
|
# Set where history is saved and how much to save
|
||||||
HISTFILE="$XDG_STATE_HOME/zsh/history"
|
HISTFILE="$XDG_STATE_HOME/zsh/history"
|
||||||
|
[ ! -e $HISTFILE ] && mkdir -p "$XDG_STATE_HOME/zsh" && touch $HISTFILE
|
||||||
HISTSIZE=10000
|
HISTSIZE=10000
|
||||||
SAVEHIST=10000
|
SAVEHIST=$HISTSIZE
|
||||||
|
HISTDUP=erase
|
||||||
|
|
||||||
# disable system beep on error
|
# disable system beep on error
|
||||||
setopt BEEP
|
setopt BEEP
|
||||||
|
|
@ -34,16 +32,19 @@ setopt nomatch
|
||||||
# report status of bg jobs immediately
|
# report status of bg jobs immediately
|
||||||
setopt notify
|
setopt notify
|
||||||
#dedupe history, and append to histfile after every command
|
#dedupe history, and append to histfile after every command
|
||||||
setopt histfindnodups histsavenodups incappendhistory
|
setopt hist_find_no_dups hist_save_no_dups hist_ignore_dups appendhistory sharehistory
|
||||||
# correct all arguments in a line
|
|
||||||
setopt correctall
|
|
||||||
# vim style line editing
|
# vim style line editing
|
||||||
bindkey -v
|
bindkey -v
|
||||||
# make file name completion case-insensitive
|
# make file name completion case-insensitive
|
||||||
zstyle ':completion:*' matcher-list '' 'm:{a-zA-Z}={A-Za-z}'
|
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}'
|
||||||
zstyle ':completion:*' cache-path $XDG_CACHE_HOME/zsh/zcompcache
|
zstyle ':completion:*' cache-path $XDG_CACHE_HOME/zsh/zcompcache
|
||||||
|
zstyle ':completion:*' list-colors "${(s.:.)LS_COLORS}"
|
||||||
|
zstyle ':completion:*' menu no
|
||||||
|
zstyle 'fzf-tab:complete:cd:*' fzf-preview `ls $realpath`
|
||||||
|
zstyle 'fzf-tab:complete:__zoxide_z:*' fzf-preview `ls $realpath`
|
||||||
|
|
||||||
# Move completions to XDG Dir
|
# Move completions to XDG Dir
|
||||||
|
autoload -Uz compinit
|
||||||
compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION"
|
compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION"
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -51,9 +52,6 @@ compinit -d "$XDG_CACHE_HOME"/zsh/zcompdump-"$ZSH_VERSION"
|
||||||
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
# Case-sensitive completion must be off. _ and - will be interchangeable.
|
||||||
HYPHEN_INSENSITIVE="true"
|
HYPHEN_INSENSITIVE="true"
|
||||||
|
|
||||||
# Enable command auto-correction.
|
|
||||||
ENABLE_CORRECTION="true"
|
|
||||||
|
|
||||||
# Display red dots whilst waiting for completion.
|
# Display red dots whilst waiting for completion.
|
||||||
COMPLETION_WAITING_DOTS="true"
|
COMPLETION_WAITING_DOTS="true"
|
||||||
|
|
||||||
|
|
@ -61,56 +59,64 @@ COMPLETION_WAITING_DOTS="true"
|
||||||
ZSH_AUTOSUGGEST_MANUAL_REBIND="true"
|
ZSH_AUTOSUGGEST_MANUAL_REBIND="true"
|
||||||
|
|
||||||
# fix home end and delete buttons
|
# fix home end and delete buttons
|
||||||
bindkey "${terminfo[khome]}" beginning-of-line
|
# create a zkbd compatible hash;
|
||||||
bindkey "${terminfo[kend]}" end-of-line
|
# to add other keys to this hash, see: man 5 terminfo
|
||||||
bindkey "${terminfo[kdch1]}" delete-char
|
typeset -g -A key
|
||||||
|
|
||||||
#if ! checkCommand gum && checkCommand go; then
|
key[Home]="${terminfo[khome]}"
|
||||||
# # TODO
|
key[End]="${terminfo[kend]}"
|
||||||
#fi
|
key[Insert]="${terminfo[kich1]}"
|
||||||
|
key[Backspace]="${terminfo[kbs]}"
|
||||||
|
key[Delete]="${terminfo[kdch1]}"
|
||||||
|
key[Up]="${terminfo[kcuu1]}"
|
||||||
|
key[Down]="${terminfo[kcud1]}"
|
||||||
|
key[Left]="${terminfo[kcub1]}"
|
||||||
|
key[Right]="${terminfo[kcuf1]}"
|
||||||
|
key[PageUp]="${terminfo[kpp]}"
|
||||||
|
key[PageDown]="${terminfo[knp]}"
|
||||||
|
key[Shift-Tab]="${terminfo[kcbt]}"
|
||||||
|
|
||||||
|
# setup key accordingly
|
||||||
|
[[ -n "${key[Home]}" ]] && bindkey -- "${key[Home]}" beginning-of-line
|
||||||
|
[[ -n "${key[End]}" ]] && bindkey -- "${key[End]}" end-of-line
|
||||||
|
[[ -n "${key[Insert]}" ]] && bindkey -- "${key[Insert]}" overwrite-mode
|
||||||
|
[[ -n "${key[Backspace]}" ]] && bindkey -- "${key[Backspace]}" backward-delete-char
|
||||||
|
[[ -n "${key[Delete]}" ]] && bindkey -- "${key[Delete]}" delete-char
|
||||||
|
[[ -n "${key[Up]}" ]] && bindkey -- "${key[Up]}" up-line-or-history
|
||||||
|
[[ -n "${key[Down]}" ]] && bindkey -- "${key[Down]}" down-line-or-history
|
||||||
|
[[ -n "${key[Left]}" ]] && bindkey -- "${key[Left]}" backward-char
|
||||||
|
[[ -n "${key[Right]}" ]] && bindkey -- "${key[Right]}" forward-char
|
||||||
|
[[ -n "${key[PageUp]}" ]] && bindkey -- "${key[PageUp]}" beginning-of-buffer-or-history
|
||||||
|
[[ -n "${key[PageDown]}" ]] && bindkey -- "${key[PageDown]}" end-of-buffer-or-history
|
||||||
|
[[ -n "${key[Shift-Tab]}" ]] && bindkey -- "${key[Shift-Tab]}" reverse-menu-complete
|
||||||
|
|
||||||
|
# Finally, make sure the terminal is in application mode, when zle is
|
||||||
|
# active. Only then are the values from $terminfo valid.
|
||||||
|
if (( ${+terminfo[smkx]} && ${+terminfo[rmkx]} )); then
|
||||||
|
autoload -Uz add-zle-hook-widget
|
||||||
|
function zle_application_mode_start { echoti smkx }
|
||||||
|
function zle_application_mode_stop { echoti rmkx }
|
||||||
|
add-zle-hook-widget -Uz zle-line-init zle_application_mode_start
|
||||||
|
add-zle-hook-widget -Uz zle-line-finish zle_application_mode_stop
|
||||||
|
fi
|
||||||
|
|
||||||
#Allows fuzzy-finding
|
#Allows fuzzy-finding
|
||||||
if checkCommand fzf; then
|
if checkCommand fzf; then
|
||||||
export FZF_BASE=$(which fzf)
|
export FZF_BASE=$(which fzf)
|
||||||
else
|
|
||||||
git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf;
|
|
||||||
~/.fzf/install --bin;
|
|
||||||
mkdir -p ~/.local/bin;
|
|
||||||
mv ~/.fzf/bin/* ~/.local/bin/;
|
|
||||||
rm -rf ~/.fzf;
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#todo: install if not found
|
#todo: install if not found
|
||||||
# Load plugins
|
# Load plugins
|
||||||
|
if checkCommand sheldon; then
|
||||||
mkdir -p ~/.config/sheldon
|
mkdir -p ~/.config/sheldon
|
||||||
touch ~/.config/sheldon/plugins.toml
|
touch ~/.config/sheldon/plugins.toml
|
||||||
if checkCommand sheldon; then
|
|
||||||
eval "$(sheldon -q source)";
|
eval "$(sheldon -q source)";
|
||||||
elif checkCommand brew; then
|
|
||||||
brew install sheldon;
|
|
||||||
elif checkCommand cargo; then
|
|
||||||
cargo install sheldon
|
|
||||||
else
|
|
||||||
curl --proto '=https' -fLsS https://rossmacarthur.github.io/install/crate.sh \
|
|
||||||
| bash -s -- --repo rossmacarthur/sheldon --to ~/.local/bin
|
|
||||||
fi
|
|
||||||
|
|
||||||
#zplug "plugins/git", from:oh-my-zsh, lazy:on
|
|
||||||
#zplug "plugins/vi-mode", from:oh-my-zsh
|
|
||||||
#zplug "plugins/adb", from:oh-my-zsh, lazy:on
|
|
||||||
#zplug "plugins/pip", from:oh-my-zsh, lazy:on
|
|
||||||
|
|
||||||
|
|
||||||
# set colors if pywal is installed
|
|
||||||
if checkCommand wal && [ -z "$SSH_TTY" ]; then
|
|
||||||
eval 'cat ~/.cache/wal/sequences &'
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# if ssh-agent isn't running, run it
|
# if ssh-agent isn't running, run it
|
||||||
if ! pgrep -u "$USER" '(ssh|gpg)-agent' >/dev/null; then
|
if ! pgrep -u "$USER" '(ssh|gpg)-agent' >/dev/null; then
|
||||||
if checkCommand gpg-agent; then
|
if checkCommand gpg-agent; then
|
||||||
gpg-agent --daemon --enable-ssh-support;
|
gpg-agent --daemon --enable-ssh-support >> "$HOME/.ssh-agent.env";
|
||||||
unset SSH_AGENT_PID;
|
unset SSH_AGENT_PID;
|
||||||
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-socket);
|
export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-socket);
|
||||||
export GPG_TTY=$(tty)
|
export GPG_TTY=$(tty)
|
||||||
|
|
@ -123,36 +129,45 @@ if [ ! -f "$SSH_AUTH_SOCK" ] && [ -f ~/.ssh-agent.env ]; then
|
||||||
source "$HOME/.ssh-agent.env" >/dev/null
|
source "$HOME/.ssh-agent.env" >/dev/null
|
||||||
fi
|
fi
|
||||||
|
|
||||||
[[ -f ~/.zsh_history ]] && touch ~/.zsh_history
|
|
||||||
|
|
||||||
# Set up mcfly if installed (lets you search through history easily with ctrl+r)
|
# Set up mcfly if installed (lets you search through history easily with ctrl+r)
|
||||||
if checkCommand mcfly; then
|
if checkCommand mcfly; then
|
||||||
zsh-defer _evalcache mcfly init zsh
|
export MCFLY_KEY_SCHEME=vim
|
||||||
|
export MCFLY_FUZZY=2
|
||||||
|
eval "$(mcfly init zsh)"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# set up zoxide if installed (lets you jump through folders easily using the z and zi commands instead of cd)
|
# set up zoxide if installed (lets you jump through folders easily using the z and zi commands instead of cd)
|
||||||
if checkCommand zoxide; then
|
if checkCommand zoxide; then
|
||||||
zsh-defer _evalcache zoxide init zsh
|
eval "$(zoxide init zsh)"
|
||||||
fi
|
fi
|
||||||
|
# if checkCommand direnv; then
|
||||||
#if "$(checkCommand notify-send)"; then
|
# eval "$(direnv hook zsh)"
|
||||||
# notify-send() { wsl-notify-send.exe --category $WSL_DISTRO_NAME "${@}"; }
|
|
||||||
# fi
|
# fi
|
||||||
|
if checkCommand yazi; then
|
||||||
|
function yy() {
|
||||||
# Set up broot if installed (a nicer tree, probably has other cool stuff I haven't looked at yet)
|
local tmp="$(mktemp -t "yazi-cwd.XXXXXX")"
|
||||||
[ -e "$HOME"/.config/broot/launcher/bash/br ] && zsh-defer -t 15 eval "$(broot --print-shell-function $(basename $0))"
|
yazi "$@" --cwd-file="$tmp"
|
||||||
# Set aliases
|
if cwd="$(cat -- "$tmp")" && [ -n "$cwd" ] && [ "$cwd" != "$PWD" ]; then
|
||||||
[ -f "$HOME/.aliasrc" ] && source "$HOME/.aliasrc" # >/dev/null 2>&1 &;
|
cd -- "$cwd"
|
||||||
|
fi
|
||||||
if checkCommand hyfetch; then
|
rm -f -- "$tmp"
|
||||||
hyfetch -b fastfetch
|
}
|
||||||
|
fi
|
||||||
|
if checkCommand mirafetch; then
|
||||||
|
RUST_BACKTRACE=1 mirafetch
|
||||||
fi
|
fi
|
||||||
END="$(date '+%s.%N')"
|
|
||||||
PATH=$OLDPATH
|
PATH=$OLDPATH
|
||||||
printf "Startup Time: %.2fms\n" $((1000 * (END - START)))
|
|
||||||
# todo: install if not found
|
|
||||||
checkCommand starship && eval "$(starship init $(basename $0))"
|
|
||||||
unset OLDPATH
|
unset OLDPATH
|
||||||
unset START
|
checkCommand starship && eval "$(starship init zsh)"
|
||||||
unset END
|
|
||||||
|
# TODO: move these
|
||||||
|
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
|
||||||
|
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion
|
||||||
|
|
||||||
|
# bun completions
|
||||||
|
[ -s "/home/akristip/.bun/_bun" ] && source "/home/akristip/.bun/_bun"
|
||||||
|
# bun
|
||||||
|
export BUN_INSTALL="$HOME/.bun"
|
||||||
|
export PATH="$BUN_INSTALL/bin:$PATH"
|
||||||
|
|
||||||
|
|
|
||||||
257
private_dot_config/btop/btop.conf
Normal file
257
private_dot_config/btop/btop.conf
Normal file
|
|
@ -0,0 +1,257 @@
|
||||||
|
#? Config file for btop v. 1.4.5
|
||||||
|
|
||||||
|
#* Name of a btop++/bpytop/bashtop formatted ".theme" file, "Default" and "TTY" for builtin themes.
|
||||||
|
#* Themes should be placed in "../share/btop/themes" relative to binary or "$HOME/.config/btop/themes"
|
||||||
|
color_theme = "Default"
|
||||||
|
|
||||||
|
#* If the theme set background should be shown, set to False if you want terminal background transparency.
|
||||||
|
theme_background = True
|
||||||
|
|
||||||
|
#* Sets if 24-bit truecolor should be used, will convert 24-bit colors to 256 color (6x6x6 color cube) if false.
|
||||||
|
truecolor = False
|
||||||
|
|
||||||
|
#* Set to true to force tty mode regardless if a real tty has been detected or not.
|
||||||
|
#* Will force 16-color mode and TTY theme, set all graph symbols to "tty" and swap out other non tty friendly symbols.
|
||||||
|
force_tty = False
|
||||||
|
|
||||||
|
#* Define presets for the layout of the boxes. Preset 0 is always all boxes shown with default settings. Max 9 presets.
|
||||||
|
#* Format: "box_name:P:G,box_name:P:G" P=(0 or 1) for alternate positions, G=graph symbol to use for box.
|
||||||
|
#* Use whitespace " " as separator between different presets.
|
||||||
|
#* Example: "cpu:0:default,mem:0:tty,proc:1:default cpu:0:braille,proc:0:tty"
|
||||||
|
presets = "cpu:1:default,proc:0:default cpu:0:default,mem:0:default,net:0:default cpu:0:block,net:0:tty"
|
||||||
|
|
||||||
|
#* Set to True to enable "h,j,k,l,g,G" keys for directional control in lists.
|
||||||
|
#* Conflicting keys for h:"help" and k:"kill" is accessible while holding shift.
|
||||||
|
vim_keys = False
|
||||||
|
|
||||||
|
#* Rounded corners on boxes, is ignored if TTY mode is ON.
|
||||||
|
rounded_corners = True
|
||||||
|
|
||||||
|
#* Default symbols to use for graph creation, "braille", "block" or "tty".
|
||||||
|
#* "braille" offers the highest resolution but might not be included in all fonts.
|
||||||
|
#* "block" has half the resolution of braille but uses more common characters.
|
||||||
|
#* "tty" uses only 3 different symbols but will work with most fonts and should work in a real TTY.
|
||||||
|
#* Note that "tty" only has half the horizontal resolution of the other two, so will show a shorter historical view.
|
||||||
|
graph_symbol = "braille"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_cpu = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in gpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_gpu = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_mem = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_net = "default"
|
||||||
|
|
||||||
|
# Graph symbol to use for graphs in cpu box, "default", "braille", "block" or "tty".
|
||||||
|
graph_symbol_proc = "default"
|
||||||
|
|
||||||
|
#* Manually set which boxes to show. Available values are "cpu mem net proc" and "gpu0" through "gpu5", separate values with whitespace.
|
||||||
|
shown_boxes = "cpu mem net proc"
|
||||||
|
|
||||||
|
#* Update time in milliseconds, recommended 2000 ms or above for better sample times for graphs.
|
||||||
|
update_ms = 2000
|
||||||
|
|
||||||
|
#* Processes sorting, "pid" "program" "arguments" "threads" "user" "memory" "cpu lazy" "cpu direct",
|
||||||
|
#* "cpu lazy" sorts top process over time (easier to follow), "cpu direct" updates top process directly.
|
||||||
|
proc_sorting = "memory"
|
||||||
|
|
||||||
|
#* Reverse sorting order, True or False.
|
||||||
|
proc_reversed = False
|
||||||
|
|
||||||
|
#* Show processes as a tree.
|
||||||
|
proc_tree = True
|
||||||
|
|
||||||
|
#* Use the cpu graph colors in the process list.
|
||||||
|
proc_colors = True
|
||||||
|
|
||||||
|
#* Use a darkening gradient in the process list.
|
||||||
|
proc_gradient = True
|
||||||
|
|
||||||
|
#* If process cpu usage should be of the core it's running on or usage of the total available cpu power.
|
||||||
|
proc_per_core = True
|
||||||
|
|
||||||
|
#* Show process memory as bytes instead of percent.
|
||||||
|
proc_mem_bytes = True
|
||||||
|
|
||||||
|
#* Show cpu graph for each process.
|
||||||
|
proc_cpu_graphs = True
|
||||||
|
|
||||||
|
#* Use /proc/[pid]/smaps for memory information in the process info box (very slow but more accurate)
|
||||||
|
proc_info_smaps = False
|
||||||
|
|
||||||
|
#* Show proc box on left side of screen instead of right.
|
||||||
|
proc_left = False
|
||||||
|
|
||||||
|
#* (Linux) Filter processes tied to the Linux kernel(similar behavior to htop).
|
||||||
|
proc_filter_kernel = False
|
||||||
|
|
||||||
|
#* In tree-view, always accumulate child process resources in the parent process.
|
||||||
|
proc_aggregate = True
|
||||||
|
|
||||||
|
#* Sets the CPU stat shown in upper half of the CPU graph, "total" is always available.
|
||||||
|
#* Select from a list of detected attributes from the options menu.
|
||||||
|
cpu_graph_upper = "Auto"
|
||||||
|
|
||||||
|
#* Sets the CPU stat shown in lower half of the CPU graph, "total" is always available.
|
||||||
|
#* Select from a list of detected attributes from the options menu.
|
||||||
|
cpu_graph_lower = "Auto"
|
||||||
|
|
||||||
|
#* If gpu info should be shown in the cpu box. Available values = "Auto", "On" and "Off".
|
||||||
|
show_gpu_info = "Auto"
|
||||||
|
|
||||||
|
#* Toggles if the lower CPU graph should be inverted.
|
||||||
|
cpu_invert_lower = True
|
||||||
|
|
||||||
|
#* Set to True to completely disable the lower CPU graph.
|
||||||
|
cpu_single_graph = False
|
||||||
|
|
||||||
|
#* Show cpu box at bottom of screen instead of top.
|
||||||
|
cpu_bottom = False
|
||||||
|
|
||||||
|
#* Shows the system uptime in the CPU box.
|
||||||
|
show_uptime = True
|
||||||
|
|
||||||
|
#* Shows the CPU package current power consumption in watts. Requires running `make setcap` or `make setuid` or running with sudo.
|
||||||
|
show_cpu_watts = True
|
||||||
|
|
||||||
|
#* Show cpu temperature.
|
||||||
|
check_temp = True
|
||||||
|
|
||||||
|
#* Which sensor to use for cpu temperature, use options menu to select from list of available sensors.
|
||||||
|
cpu_sensor = "Auto"
|
||||||
|
|
||||||
|
#* Show temperatures for cpu cores also if check_temp is True and sensors has been found.
|
||||||
|
show_coretemp = True
|
||||||
|
|
||||||
|
#* Set a custom mapping between core and coretemp, can be needed on certain cpus to get correct temperature for correct core.
|
||||||
|
#* Use lm-sensors or similar to see which cores are reporting temperatures on your machine.
|
||||||
|
#* Format "x:y" x=core with wrong temp, y=core with correct temp, use space as separator between multiple entries.
|
||||||
|
#* Example: "4:0 5:1 6:3"
|
||||||
|
cpu_core_map = ""
|
||||||
|
|
||||||
|
#* Which temperature scale to use, available values: "celsius", "fahrenheit", "kelvin" and "rankine".
|
||||||
|
temp_scale = "celsius"
|
||||||
|
|
||||||
|
#* Use base 10 for bits/bytes sizes, KB = 1000 instead of KiB = 1024.
|
||||||
|
base_10_sizes = False
|
||||||
|
|
||||||
|
#* Show CPU frequency.
|
||||||
|
show_cpu_freq = True
|
||||||
|
|
||||||
|
#* Draw a clock at top of screen, formatting according to strftime, empty string to disable.
|
||||||
|
#* Special formatting: /host = hostname | /user = username | /uptime = system uptime
|
||||||
|
clock_format = "%X"
|
||||||
|
|
||||||
|
#* Update main ui in background when menus are showing, set this to false if the menus is flickering too much for comfort.
|
||||||
|
background_update = True
|
||||||
|
|
||||||
|
#* Custom cpu model name, empty string to disable.
|
||||||
|
custom_cpu_name = ""
|
||||||
|
|
||||||
|
#* Optional filter for shown disks, should be full path of a mountpoint, separate multiple values with whitespace " ".
|
||||||
|
#* Only disks matching the filter will be shown. Prepend exclude= to only show disks not matching the filter. Examples: disk_filter="/boot /home/user", disks_filter="exclude=/boot /home/user"
|
||||||
|
disks_filter = ""
|
||||||
|
|
||||||
|
#* Show graphs instead of meters for memory values.
|
||||||
|
mem_graphs = True
|
||||||
|
|
||||||
|
#* Show mem box below net box instead of above.
|
||||||
|
mem_below_net = False
|
||||||
|
|
||||||
|
#* Count ZFS ARC in cached and available memory.
|
||||||
|
zfs_arc_cached = True
|
||||||
|
|
||||||
|
#* If swap memory should be shown in memory box.
|
||||||
|
show_swap = True
|
||||||
|
|
||||||
|
#* Show swap as a disk, ignores show_swap value above, inserts itself after first disk.
|
||||||
|
swap_disk = True
|
||||||
|
|
||||||
|
#* If mem box should be split to also show disks info.
|
||||||
|
show_disks = True
|
||||||
|
|
||||||
|
#* Filter out non physical disks. Set this to False to include network disks, RAM disks and similar.
|
||||||
|
only_physical = True
|
||||||
|
|
||||||
|
#* Read disks list from /etc/fstab. This also disables only_physical.
|
||||||
|
use_fstab = True
|
||||||
|
|
||||||
|
#* Setting this to True will hide all datasets, and only show ZFS pools. (IO stats will be calculated per-pool)
|
||||||
|
zfs_hide_datasets = False
|
||||||
|
|
||||||
|
#* Set to true to show available disk space for privileged users.
|
||||||
|
disk_free_priv = False
|
||||||
|
|
||||||
|
#* Toggles if io activity % (disk busy time) should be shown in regular disk usage view.
|
||||||
|
show_io_stat = True
|
||||||
|
|
||||||
|
#* Toggles io mode for disks, showing big graphs for disk read/write speeds.
|
||||||
|
io_mode = True
|
||||||
|
|
||||||
|
#* Set to True to show combined read/write io graphs in io mode.
|
||||||
|
io_graph_combined = False
|
||||||
|
|
||||||
|
#* Set the top speed for the io graphs in MiB/s (100 by default), use format "mountpoint:speed" separate disks with whitespace " ".
|
||||||
|
#* Example: "/mnt/media:100 /:20 /boot:1".
|
||||||
|
io_graph_speeds = ""
|
||||||
|
|
||||||
|
#* Set fixed values for network graphs in Mebibits. Is only used if net_auto is also set to False.
|
||||||
|
net_download = 100
|
||||||
|
|
||||||
|
net_upload = 100
|
||||||
|
|
||||||
|
#* Use network graphs auto rescaling mode, ignores any values set above and rescales down to 10 Kibibytes at the lowest.
|
||||||
|
net_auto = False
|
||||||
|
|
||||||
|
#* Sync the auto scaling for download and upload to whichever currently has the highest scale.
|
||||||
|
net_sync = False
|
||||||
|
|
||||||
|
#* Starts with the Network Interface specified here.
|
||||||
|
net_iface = ""
|
||||||
|
|
||||||
|
#* "True" shows bitrates in base 10 (Kbps, Mbps). "False" shows bitrates in binary sizes (Kibps, Mibps, etc.). "Auto" uses base_10_sizes.
|
||||||
|
base_10_bitrate = "Auto"
|
||||||
|
|
||||||
|
#* Show battery stats in top right if battery is present.
|
||||||
|
show_battery = True
|
||||||
|
|
||||||
|
#* Which battery to use if multiple are present. "Auto" for auto detection.
|
||||||
|
selected_battery = "Auto"
|
||||||
|
|
||||||
|
#* Show power stats of battery next to charge indicator.
|
||||||
|
show_battery_watts = True
|
||||||
|
|
||||||
|
#* Set loglevel for "~/.config/btop/btop.log" levels are: "ERROR" "WARNING" "INFO" "DEBUG".
|
||||||
|
#* The level set includes all lower levels, i.e. "DEBUG" will show all logging info.
|
||||||
|
log_level = "WARNING"
|
||||||
|
|
||||||
|
#* Measure PCIe throughput on NVIDIA cards, may impact performance on certain cards.
|
||||||
|
nvml_measure_pcie_speeds = True
|
||||||
|
|
||||||
|
#* Measure PCIe throughput on AMD cards, may impact performance on certain cards.
|
||||||
|
rsmi_measure_pcie_speeds = True
|
||||||
|
|
||||||
|
#* Horizontally mirror the GPU graph.
|
||||||
|
gpu_mirror_graph = True
|
||||||
|
|
||||||
|
#* Custom gpu0 model name, empty string to disable.
|
||||||
|
custom_gpu_name0 = ""
|
||||||
|
|
||||||
|
#* Custom gpu1 model name, empty string to disable.
|
||||||
|
custom_gpu_name1 = ""
|
||||||
|
|
||||||
|
#* Custom gpu2 model name, empty string to disable.
|
||||||
|
custom_gpu_name2 = ""
|
||||||
|
|
||||||
|
#* Custom gpu3 model name, empty string to disable.
|
||||||
|
custom_gpu_name3 = ""
|
||||||
|
|
||||||
|
#* Custom gpu4 model name, empty string to disable.
|
||||||
|
custom_gpu_name4 = ""
|
||||||
|
|
||||||
|
#* Custom gpu5 model name, empty string to disable.
|
||||||
|
custom_gpu_name5 = ""
|
||||||
3
private_dot_config/cargo/config.toml
Normal file
3
private_dot_config/cargo/config.toml
Normal file
|
|
@ -0,0 +1,3 @@
|
||||||
|
[install]
|
||||||
|
root = "$HOME/.local/bin"
|
||||||
|
|
||||||
|
|
@ -14,5 +14,4 @@ recipients = [
|
||||||
"6A10DF52E755E8174CD5C4C18ED045D80561353B",
|
"6A10DF52E755E8174CD5C4C18ED045D80561353B",
|
||||||
"30FA9C303E45B42AA688839C557DE35A80C4461F"
|
"30FA9C303E45B42AA688839C557DE35A80C4461F"
|
||||||
]
|
]
|
||||||
|
args = ["-v","--pinentry=loopback"]
|
||||||
|
|
||||||
|
|
|
||||||
20
private_dot_config/config.toml.tmpl
Normal file
20
private_dot_config/config.toml.tmpl
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
[user]
|
||||||
|
email = {{ .email | quote }}
|
||||||
|
name = {{ .name | quote }}
|
||||||
|
|
||||||
|
[ui]
|
||||||
|
conflict_style = "git"
|
||||||
|
diff-formatter = ["difft", "--color=always", "$left", "$right"]
|
||||||
|
diff-editor = "meld"
|
||||||
|
merge-editor = ["meld", "$left", "$base", "$right", "-o", "$output"]
|
||||||
|
|
||||||
|
[merge-tools.meld]
|
||||||
|
program = "meld" # Defaults to the name of the tool if not specified
|
||||||
|
edit-args = ["--newtab", "$left", "$right"]
|
||||||
|
|
||||||
|
# [signing]
|
||||||
|
# behavior = "own"
|
||||||
|
# backend = "gpg"
|
||||||
|
|
||||||
|
[remotes.origin]
|
||||||
|
auto-track-bookmarks = "glob:*"
|
||||||
1
private_dot_config/external_i3blocks
Submodule
1
private_dot_config/external_i3blocks
Submodule
|
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 9d66d81da8d521941a349da26457f4965fd6fcbd
|
||||||
42
private_dot_config/ghostty/config
Normal file
42
private_dot_config/ghostty/config
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
clipboard-read = allow
|
||||||
|
clipboard-write = allow
|
||||||
|
clipboard-trim-trailing-spaces = true
|
||||||
|
window-theme = dark
|
||||||
|
mouse-shift-capture = true
|
||||||
|
gtk-titlebar = false
|
||||||
|
gtk-wide-tabs = false
|
||||||
|
font-family = "Berkeley Mono"
|
||||||
|
confirm-close-surface = false
|
||||||
|
|
||||||
|
desktop-notifications = true
|
||||||
|
|
||||||
|
window-padding-x = 4,2
|
||||||
|
window-padding-y = 0
|
||||||
|
|
||||||
|
# sigh, do I really want this
|
||||||
|
minimum-contrast=1.3
|
||||||
|
|
||||||
|
shell-integration-features = ssh-terminfo
|
||||||
|
|
||||||
|
keybind = unconsumed:ctrl+shift+p=toggle_command_palette
|
||||||
|
|
||||||
|
custom-shader = ./trail.glsl
|
||||||
|
|
||||||
|
background = #010206
|
||||||
|
foreground = #ebf6ff
|
||||||
|
palette = 0=#1e1b30
|
||||||
|
palette = 1=#a04558
|
||||||
|
palette = 2=#76aa73
|
||||||
|
palette = 3=#ad9d3d
|
||||||
|
palette = 4=#334773
|
||||||
|
palette = 5=#a34a78
|
||||||
|
palette = 6=#2a97b1
|
||||||
|
palette = 7=#9a9ab8
|
||||||
|
palette = 8=#74689F
|
||||||
|
palette = 9=#ed8096
|
||||||
|
palette = 10=#a0dc9b
|
||||||
|
palette = 11=#c1b254
|
||||||
|
palette = 12=#445f9b
|
||||||
|
palette = 13=#ee5e95
|
||||||
|
palette = 14=#5bcefa
|
||||||
|
palette = 15=#c1c7db
|
||||||
143
private_dot_config/ghostty/trail.glsl
Normal file
143
private_dot_config/ghostty/trail.glsl
Normal file
|
|
@ -0,0 +1,143 @@
|
||||||
|
// Based on https://gist.github.com/chardskarth/95874c54e29da6b5a36ab7b50ae2d088
|
||||||
|
float ease(float x) {
|
||||||
|
return pow(1.0 - x, 10.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
float sdBox(in vec2 p, in vec2 xy, in vec2 b)
|
||||||
|
{
|
||||||
|
vec2 d = abs(p - xy) - b;
|
||||||
|
return length(max(d, 0.0)) + min(max(d.x, d.y), 0.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
float getSdfRectangle(in vec2 p, in vec2 xy, in vec2 b)
|
||||||
|
{
|
||||||
|
vec2 d = abs(p - xy) - b;
|
||||||
|
return length(max(d, 0.0)) + min(max(d.x, d.y), 0.0);
|
||||||
|
}
|
||||||
|
// Based on Inigo Quilez's 2D distance functions article: https://iquilezles.org/articles/distfunctions2d/
|
||||||
|
// Potencially optimized by eliminating conditionals and loops to enhance performance and reduce branching
|
||||||
|
float seg(in vec2 p, in vec2 a, in vec2 b, inout float s, float d) {
|
||||||
|
vec2 e = b - a;
|
||||||
|
vec2 w = p - a;
|
||||||
|
vec2 proj = a + e * clamp(dot(w, e) / dot(e, e), 0.0, 1.0);
|
||||||
|
float segd = dot(p - proj, p - proj);
|
||||||
|
d = min(d, segd);
|
||||||
|
|
||||||
|
float c0 = step(0.0, p.y - a.y);
|
||||||
|
float c1 = 1.0 - step(0.0, p.y - b.y);
|
||||||
|
float c2 = 1.0 - step(0.0, e.x * w.y - e.y * w.x);
|
||||||
|
float allCond = c0 * c1 * c2;
|
||||||
|
float noneCond = (1.0 - c0) * (1.0 - c1) * (1.0 - c2);
|
||||||
|
float flip = mix(1.0, -1.0, step(0.5, allCond + noneCond));
|
||||||
|
s *= flip;
|
||||||
|
return d;
|
||||||
|
}
|
||||||
|
|
||||||
|
float getSdfParallelogram(in vec2 p, in vec2 v0, in vec2 v1, in vec2 v2, in vec2 v3) {
|
||||||
|
float s = 1.0;
|
||||||
|
float d = dot(p - v0, p - v0);
|
||||||
|
|
||||||
|
d = seg(p, v0, v3, s, d);
|
||||||
|
d = seg(p, v1, v0, s, d);
|
||||||
|
d = seg(p, v2, v1, s, d);
|
||||||
|
d = seg(p, v3, v2, s, d);
|
||||||
|
|
||||||
|
return s * sqrt(d);
|
||||||
|
}
|
||||||
|
|
||||||
|
vec2 normalize(vec2 value, float isPosition) {
|
||||||
|
return (value * 2.0 - (iResolution.xy * isPosition)) / iResolution.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
float blend(float t)
|
||||||
|
{
|
||||||
|
float sqr = t * t;
|
||||||
|
return sqr / (2.0 * (sqr - t) + 1.0);
|
||||||
|
}
|
||||||
|
|
||||||
|
float antialising(float distance) {
|
||||||
|
return 1. - smoothstep(0., normalize(vec2(2., 2.), 0.).x, distance);
|
||||||
|
}
|
||||||
|
|
||||||
|
float determineStartVertexFactor(vec2 a, vec2 b) {
|
||||||
|
// Conditions using step
|
||||||
|
float condition1 = step(b.x, a.x) * step(a.y, b.y); // a.x < b.x && a.y > b.y
|
||||||
|
float condition2 = step(a.x, b.x) * step(b.y, a.y); // a.x > b.x && a.y < b.y
|
||||||
|
|
||||||
|
// If neither condition is met, return 1 (else case)
|
||||||
|
return 1.0 - max(condition1, condition2);
|
||||||
|
}
|
||||||
|
vec2 getRectangleCenter(vec4 rectangle) {
|
||||||
|
return vec2(rectangle.x + (rectangle.z / 2.), rectangle.y - (rectangle.w / 2.));
|
||||||
|
}
|
||||||
|
|
||||||
|
const vec4 TRAIL_COLOR = vec4(0.117, 0.105, 0.188, 1.0); // yellow
|
||||||
|
const vec4 CURRENT_CURSOR_COLOR = TRAIL_COLOR;
|
||||||
|
const vec4 PREVIOUS_CURSOR_COLOR = TRAIL_COLOR;
|
||||||
|
const vec4 TRAIL_COLOR_ACCENT = vec4(0.313, 0.270, 0.450, 1.0);//(0.454, 0.407, 0.623, 1.0); // red-orange
|
||||||
|
const float DURATION = .5;
|
||||||
|
const float OPACITY = .2;
|
||||||
|
// Don't draw trail within that distance * cursor size.
|
||||||
|
// This prevents trails from appearing when typing.
|
||||||
|
const float DRAW_THRESHOLD = 1.5;
|
||||||
|
// Don't draw trails within the same line: same line jumps are usually where
|
||||||
|
// people expect them.
|
||||||
|
const bool HIDE_TRAILS_ON_THE_SAME_LINE = false;
|
||||||
|
|
||||||
|
void mainImage(out vec4 fragColor, in vec2 fragCoord)
|
||||||
|
{
|
||||||
|
#if !defined(WEB)
|
||||||
|
fragColor = texture(iChannel0, fragCoord.xy / iResolution.xy);
|
||||||
|
#endif
|
||||||
|
//Normalization for fragCoord to a space of -1 to 1;
|
||||||
|
vec2 vu = normalize(fragCoord, 1.);
|
||||||
|
vec2 offsetFactor = vec2(-.5, 0.5);
|
||||||
|
|
||||||
|
//Normalization for cursor position and size;
|
||||||
|
//cursor xy has the postion in a space of -1 to 1;
|
||||||
|
//zw has the width and height
|
||||||
|
vec4 currentCursor = vec4(normalize(iCurrentCursor.xy, 1.), normalize(iCurrentCursor.zw, 0.));
|
||||||
|
vec4 previousCursor = vec4(normalize(iPreviousCursor.xy, 1.), normalize(iPreviousCursor.zw, 0.));
|
||||||
|
|
||||||
|
//When drawing a parellelogram between cursors for the trail i need to determine where to start at the top-left or top-right vertex of the cursor
|
||||||
|
float vertexFactor = determineStartVertexFactor(currentCursor.xy, previousCursor.xy);
|
||||||
|
float invertedVertexFactor = 1.0 - vertexFactor;
|
||||||
|
|
||||||
|
//Set every vertex of my parellogram
|
||||||
|
vec2 v0 = vec2(currentCursor.x + currentCursor.z * vertexFactor, currentCursor.y - currentCursor.w);
|
||||||
|
vec2 v1 = vec2(currentCursor.x + currentCursor.z * invertedVertexFactor, currentCursor.y);
|
||||||
|
vec2 v2 = vec2(previousCursor.x + currentCursor.z * invertedVertexFactor, previousCursor.y);
|
||||||
|
vec2 v3 = vec2(previousCursor.x + currentCursor.z * vertexFactor, previousCursor.y - previousCursor.w);
|
||||||
|
|
||||||
|
vec4 newColor = vec4(fragColor);
|
||||||
|
|
||||||
|
float progress = blend(clamp((iTime - iTimeCursorChange) / DURATION, 0.0, 1));
|
||||||
|
float easedProgress = ease(progress);
|
||||||
|
|
||||||
|
//Distance between cursors determine the total length of the parallelogram;
|
||||||
|
vec2 centerCC = getRectangleCenter(currentCursor);
|
||||||
|
vec2 centerCP = getRectangleCenter(previousCursor);
|
||||||
|
float cursorSize = max(currentCursor.z, currentCursor.w);
|
||||||
|
float trailThreshold = DRAW_THRESHOLD * cursorSize;
|
||||||
|
float lineLength = distance(centerCC, centerCP);
|
||||||
|
//
|
||||||
|
bool isFarEnough = lineLength > trailThreshold;
|
||||||
|
bool isOnSeparateLine = HIDE_TRAILS_ON_THE_SAME_LINE ? currentCursor.y != previousCursor.y : true;
|
||||||
|
if (isFarEnough && isOnSeparateLine) {
|
||||||
|
float distanceToEnd = distance(vu.xy, centerCC);
|
||||||
|
float alphaModifier = distanceToEnd / (lineLength * (easedProgress));
|
||||||
|
|
||||||
|
if (alphaModifier > 1.0) { // this change fixed it for me.
|
||||||
|
alphaModifier = 1.0;
|
||||||
|
}
|
||||||
|
|
||||||
|
float sdfCursor = getSdfRectangle(vu, currentCursor.xy - (currentCursor.zw * offsetFactor), currentCursor.zw * 0.5);
|
||||||
|
float sdfTrail = getSdfParallelogram(vu, v0, v1, v2, v3);
|
||||||
|
|
||||||
|
newColor = mix(newColor, TRAIL_COLOR_ACCENT, 1.0 - smoothstep(sdfTrail, -0.01, 0.001));
|
||||||
|
newColor = mix(newColor, TRAIL_COLOR, antialising(sdfTrail));
|
||||||
|
newColor = mix(fragColor, newColor, 1.0 - alphaModifier);
|
||||||
|
fragColor = mix(newColor, fragColor, step(sdfCursor, 0));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
@ -1,52 +0,0 @@
|
||||||
[user]
|
|
||||||
email = "akristip@cisco.com"
|
|
||||||
name = "Mira Kristipati"
|
|
||||||
|
|
||||||
[core]
|
|
||||||
editor = nvim
|
|
||||||
pager = delta
|
|
||||||
# Remove Carriage Returns
|
|
||||||
autocrlf = input
|
|
||||||
eol = lf
|
|
||||||
|
|
||||||
[interactive]
|
|
||||||
diffFilter = delta --color-only
|
|
||||||
|
|
||||||
[delta]
|
|
||||||
navigate = true # use n and N to move between diff sections
|
|
||||||
light = false # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal)
|
|
||||||
|
|
||||||
[merge]
|
|
||||||
conflictstyle = diff3
|
|
||||||
|
|
||||||
[diff]
|
|
||||||
colorMoved = default
|
|
||||||
mnemonicPrefix = true
|
|
||||||
renames = true
|
|
||||||
algorithm = patience
|
|
||||||
|
|
||||||
[pull]
|
|
||||||
rebase = merges
|
|
||||||
autoSetupRemote = true
|
|
||||||
default = simple
|
|
||||||
followTags = true
|
|
||||||
|
|
||||||
[apply]
|
|
||||||
whitespace = fix
|
|
||||||
|
|
||||||
[help]
|
|
||||||
#Automatically fix commands and run after 0.5s
|
|
||||||
autocorrect = 50
|
|
||||||
|
|
||||||
[safe]
|
|
||||||
directory = /
|
|
||||||
|
|
||||||
[rebase]
|
|
||||||
autostash = true
|
|
||||||
|
|
||||||
[log]
|
|
||||||
abbrevCommit = true
|
|
||||||
|
|
||||||
[rerere]
|
|
||||||
autoupdate = true
|
|
||||||
enabled = true
|
|
||||||
|
|
@ -4,20 +4,33 @@ name = {{ .name | quote }}
|
||||||
|
|
||||||
[core]
|
[core]
|
||||||
editor = nvim
|
editor = nvim
|
||||||
pager = delta
|
# pager = delta
|
||||||
# Remove Carriage Returns
|
# Remove Carriage Returns
|
||||||
autocrlf = input
|
autocrlf = input
|
||||||
eol = lf
|
eol = lf
|
||||||
|
|
||||||
|
[pager]
|
||||||
|
difftool = true
|
||||||
|
|
||||||
[interactive]
|
[interactive]
|
||||||
diffFilter = delta --color-only
|
# diffFilter = delta --color-only
|
||||||
|
|
||||||
[delta]
|
[delta]
|
||||||
navigate = true # use n and N to move between diff sections
|
navigate = true # use n and N to move between diff sections
|
||||||
light = false # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal)
|
light = false # set to true if you're in a terminal w/ a light background color (e.g. the default macOS terminal)
|
||||||
|
|
||||||
|
[diff]
|
||||||
|
tool = difftastic
|
||||||
|
|
||||||
|
[difftool]
|
||||||
|
prompt = false
|
||||||
|
|
||||||
|
[difftool "difftastic"]
|
||||||
|
cmd = difft "$LOCAL" "$REMOTE"
|
||||||
|
|
||||||
[merge]
|
[merge]
|
||||||
conflictstyle = diff3
|
# TODO: set this to meld or nvimdiff
|
||||||
|
conflictstyle = zdiff3
|
||||||
|
|
||||||
[diff]
|
[diff]
|
||||||
colorMoved = default
|
colorMoved = default
|
||||||
|
|
@ -39,7 +52,7 @@ whitespace = fix
|
||||||
autocorrect = 50
|
autocorrect = 50
|
||||||
|
|
||||||
[safe]
|
[safe]
|
||||||
directory = /
|
directory = /etc/nixos
|
||||||
|
|
||||||
[rebase]
|
[rebase]
|
||||||
autostash = true
|
autostash = true
|
||||||
|
|
@ -50,3 +63,18 @@ abbrevCommit = true
|
||||||
[rerere]
|
[rerere]
|
||||||
autoupdate = true
|
autoupdate = true
|
||||||
enabled = true
|
enabled = true
|
||||||
|
|
||||||
|
[push]
|
||||||
|
autoSetupRemote = true
|
||||||
|
|
||||||
|
[alias]
|
||||||
|
lg = log --graph --branches --oneline
|
||||||
|
st = status
|
||||||
|
gud = !git commit -am --no-edit --amend && git push --force-with-lease
|
||||||
|
|
||||||
|
[filter "lfs"]
|
||||||
|
process = git-lfs filter-process
|
||||||
|
required = true
|
||||||
|
clean = git-lfs clean -- %f
|
||||||
|
smudge = git-lfs smudge -- %f
|
||||||
|
|
||||||
78
private_dot_config/gtk-4.0/gtk.css
Normal file
78
private_dot_config/gtk-4.0/gtk.css
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
@define-color accent_color #5078a4;
|
||||||
|
@define-color accent_bg_color #0b5393;
|
||||||
|
@define-color accent_fg_color #ebf6ff;
|
||||||
|
@define-color destructive_color #f5a9b8;
|
||||||
|
@define-color destructive_bg_color #a04558;
|
||||||
|
@define-color destructive_fg_color #ebf6ff;
|
||||||
|
@define-color success_color #98db95;
|
||||||
|
@define-color success_bg_color #6fa47e;
|
||||||
|
@define-color success_fg_color #ebf6ff;
|
||||||
|
@define-color warning_color #ffe70a;
|
||||||
|
@define-color warning_bg_color #ccb700;
|
||||||
|
@define-color warning_fg_color rgba(1,2,6,0.8);
|
||||||
|
@define-color error_color #f5a9b8;
|
||||||
|
@define-color error_bg_color #a04558;
|
||||||
|
@define-color error_fg_color #ebf6ff;
|
||||||
|
@define-color window_bg_color #1e1b30;
|
||||||
|
@define-color window_fg_color #ebf6ff;
|
||||||
|
@define-color view_bg_color #010206;
|
||||||
|
@define-color view_fg_color #ebf6ff;
|
||||||
|
@define-color headerbar_bg_color #010206;
|
||||||
|
@define-color headerbar_fg_color #ebf6ff;
|
||||||
|
@define-color headerbar_border_color #ebf6ff;
|
||||||
|
@define-color headerbar_backdrop_color @window_bg_color;
|
||||||
|
@define-color headerbar_shade_color rgba(0, 0, 0, 0.36);
|
||||||
|
@define-color card_bg_color rgba(255, 255, 255, 0.08);
|
||||||
|
@define-color card_fg_color #ebf6ff;
|
||||||
|
@define-color card_shade_color rgba(0, 0, 0, 0.36);
|
||||||
|
@define-color dialog_bg_color #010206;
|
||||||
|
@define-color dialog_fg_color #ebf6ff;
|
||||||
|
@define-color popover_bg_color #010206;
|
||||||
|
@define-color popover_fg_color #ebf6ff;
|
||||||
|
@define-color shade_color rgba(0, 0, 0, 0.36);
|
||||||
|
@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5);
|
||||||
|
@define-color blue_1 #99c1f1;
|
||||||
|
@define-color blue_2 #62a0ea;
|
||||||
|
@define-color blue_3 #3584e4;
|
||||||
|
@define-color blue_4 #1c71d8;
|
||||||
|
@define-color blue_5 #1a5fb4;
|
||||||
|
@define-color green_1 #8ff0a4;
|
||||||
|
@define-color green_2 #57e389;
|
||||||
|
@define-color green_3 #33d17a;
|
||||||
|
@define-color green_4 #2ec27e;
|
||||||
|
@define-color green_5 #26a269;
|
||||||
|
@define-color yellow_1 #f9f06b;
|
||||||
|
@define-color yellow_2 #f8e45c;
|
||||||
|
@define-color yellow_3 #f6d32d;
|
||||||
|
@define-color yellow_4 #f5c211;
|
||||||
|
@define-color yellow_5 #e5a50a;
|
||||||
|
@define-color orange_1 #ffbe6f;
|
||||||
|
@define-color orange_2 #ffa348;
|
||||||
|
@define-color orange_3 #ff7800;
|
||||||
|
@define-color orange_4 #e66100;
|
||||||
|
@define-color orange_5 #c64600;
|
||||||
|
@define-color red_1 #f66151;
|
||||||
|
@define-color red_2 #ed333b;
|
||||||
|
@define-color red_3 #e01b24;
|
||||||
|
@define-color red_4 #c01c28;
|
||||||
|
@define-color red_5 #a51d2d;
|
||||||
|
@define-color purple_1 #dc8add;
|
||||||
|
@define-color purple_2 #c061cb;
|
||||||
|
@define-color purple_3 #9141ac;
|
||||||
|
@define-color purple_4 #813d9c;
|
||||||
|
@define-color purple_5 #613583;
|
||||||
|
@define-color brown_1 #cdab8f;
|
||||||
|
@define-color brown_2 #b5835a;
|
||||||
|
@define-color brown_3 #986a44;
|
||||||
|
@define-color brown_4 #865e3c;
|
||||||
|
@define-color brown_5 #63452c;
|
||||||
|
@define-color light_1 #ffffff;
|
||||||
|
@define-color light_2 #f6f5f4;
|
||||||
|
@define-color light_3 #deddda;
|
||||||
|
@define-color light_4 #c0bfbc;
|
||||||
|
@define-color light_5 #9a9996;
|
||||||
|
@define-color dark_1 #77767b;
|
||||||
|
@define-color dark_2 #5e5c64;
|
||||||
|
@define-color dark_3 #3d3846;
|
||||||
|
@define-color dark_4 #241f31;
|
||||||
|
@define-color dark_5 #000000;
|
||||||
2
private_dot_config/gtk-4.0/settings.ini
Normal file
2
private_dot_config/gtk-4.0/settings.ini
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
[Settings]
|
||||||
|
gtk-application-prefer-dark-theme=0
|
||||||
16
private_dot_config/hyfetch.json
Normal file
16
private_dot_config/hyfetch.json
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
"preset": "transgender",
|
||||||
|
"mode": "rgb",
|
||||||
|
"light_dark": "dark",
|
||||||
|
"lightness": 0.65,
|
||||||
|
"color_align": {
|
||||||
|
"mode": "horizontal",
|
||||||
|
"custom_colors": [],
|
||||||
|
"fore_back": null
|
||||||
|
},
|
||||||
|
"backend": "neofetch",
|
||||||
|
"args": null,
|
||||||
|
"distro": null,
|
||||||
|
"pride_month_shown": [],
|
||||||
|
"pride_month_disable": false
|
||||||
|
}
|
||||||
65
private_dot_config/i3/config
Normal file
65
private_dot_config/i3/config
Normal file
|
|
@ -0,0 +1,65 @@
|
||||||
|
# This file has been auto-generated by i3-config-wizard(1).
|
||||||
|
# It will not be overwritten, so edit it as you like.
|
||||||
|
#
|
||||||
|
# Should you change your keyboard layout some time, delete
|
||||||
|
# this file and re-run i3-config-wizard(1).
|
||||||
|
#
|
||||||
|
|
||||||
|
# i3 config file (v4)
|
||||||
|
#
|
||||||
|
# Please see https://i3wm.org/docs/userguide.html for a complete reference!
|
||||||
|
|
||||||
|
set $mod Mod4
|
||||||
|
include "keybinds"
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
set $ws21 "21"
|
||||||
|
set $ws22 "22"
|
||||||
|
set $ws23 "23"
|
||||||
|
set $ws24 "24"
|
||||||
|
set $ws25 "25"
|
||||||
|
set $ws26 "26"
|
||||||
|
set $ws27 "27"
|
||||||
|
set $ws28 "28"
|
||||||
|
set $ws29 "29"
|
||||||
|
set $ws20 "20"
|
||||||
|
|
||||||
|
|
||||||
|
include "xorg"
|
||||||
|
|
||||||
|
#compositor
|
||||||
|
exec_always --no-startup-id picom --corner-radius 4 -i 0.99 -b
|
||||||
|
|
||||||
|
#QT Themes?
|
||||||
|
#exec sh 'export QT_QPA_PLATFORMTHEME=qt5ct'
|
||||||
|
|
||||||
|
exec dunst &
|
||||||
|
exec_always swhks &
|
||||||
|
exec_always pkexec swhkd
|
||||||
|
exec nm-tray
|
||||||
|
exec xsettingsd
|
||||||
|
#border size
|
||||||
|
default_border normal 1
|
||||||
|
#Set up monitors
|
||||||
|
# exec ~/.screenlayout/main.sh
|
||||||
|
# exec ~/tablet.sh
|
||||||
|
|
||||||
|
tiling_drag titlebar
|
||||||
|
gaps inner 5
|
||||||
|
exec nm-applet
|
||||||
|
include "theme"
|
||||||
163
private_dot_config/i3/i3blocks.conf
Normal file
163
private_dot_config/i3/i3blocks.conf
Normal file
|
|
@ -0,0 +1,163 @@
|
||||||
|
# i3blocks config file
|
||||||
|
#
|
||||||
|
# Please see man i3blocks for a complete reference!
|
||||||
|
# The man page is also hosted at http://vivien.github.io/i3blocks
|
||||||
|
#
|
||||||
|
# List of valid properties:
|
||||||
|
#
|
||||||
|
# align
|
||||||
|
# color
|
||||||
|
# command
|
||||||
|
# full_text
|
||||||
|
# instance
|
||||||
|
# interval
|
||||||
|
# label
|
||||||
|
# min_width
|
||||||
|
# name
|
||||||
|
# separator
|
||||||
|
# separator_block_width
|
||||||
|
# short_text
|
||||||
|
# signal
|
||||||
|
# urgent
|
||||||
|
|
||||||
|
# Global properties
|
||||||
|
#
|
||||||
|
# The top properties below are applied to every block, but can be overridden.
|
||||||
|
# Each block command defaults to the script name to avoid boilerplate.
|
||||||
|
command=~/.config/i3/blocks/$BLOCK_NAME
|
||||||
|
separator_block_width=15
|
||||||
|
markup=none
|
||||||
|
|
||||||
|
# Volume indicator
|
||||||
|
#
|
||||||
|
# The first parameter sets the step (and units to display)
|
||||||
|
# The second parameter overrides the mixer selection
|
||||||
|
# See the script for details.
|
||||||
|
[volume]
|
||||||
|
#label=VOL
|
||||||
|
label=♪
|
||||||
|
#instance=Master
|
||||||
|
#instance=PCM
|
||||||
|
interval=1
|
||||||
|
signal=10
|
||||||
|
NATURAL_MAPPING=1
|
||||||
|
|
||||||
|
# Memory usage
|
||||||
|
#
|
||||||
|
# The type defaults to "mem" if the instance is not specified.
|
||||||
|
[memory]
|
||||||
|
label=MEM
|
||||||
|
separator=false
|
||||||
|
interval=30
|
||||||
|
|
||||||
|
[memory]
|
||||||
|
label=SWAP
|
||||||
|
instance=swap
|
||||||
|
separator=false
|
||||||
|
interval=30
|
||||||
|
|
||||||
|
# Disk usage
|
||||||
|
#
|
||||||
|
# The directory defaults to $HOME if the instance is not specified.
|
||||||
|
# The script may be called with a optional argument to set the alert
|
||||||
|
# (defaults to 10 for 10%).
|
||||||
|
[disk]
|
||||||
|
label=
|
||||||
|
#instance=/mnt/data
|
||||||
|
interval=30
|
||||||
|
|
||||||
|
[disk]
|
||||||
|
markup=pango
|
||||||
|
label=
|
||||||
|
instance=/
|
||||||
|
interval=30
|
||||||
|
# Network interface monitoring
|
||||||
|
#
|
||||||
|
# If the instance is not specified, use the interface used for default route.
|
||||||
|
# The address can be forced to IPv4 or IPv6 with -4 or -6 switches.
|
||||||
|
[iface]
|
||||||
|
#instance=wlan0
|
||||||
|
color=#00FF00
|
||||||
|
interval=10
|
||||||
|
separator=false
|
||||||
|
|
||||||
|
[wifi]
|
||||||
|
#instance=wlp3s0
|
||||||
|
interval=10
|
||||||
|
#separator=false
|
||||||
|
|
||||||
|
#[bandwidth]
|
||||||
|
#instance=eth0
|
||||||
|
#interval=5
|
||||||
|
|
||||||
|
# CPU usage
|
||||||
|
#
|
||||||
|
# The script may be called with -w and -c switches to specify thresholds,
|
||||||
|
# see the script for details.
|
||||||
|
#[cpu_usage]
|
||||||
|
#label=CPU
|
||||||
|
#interval=10
|
||||||
|
#min_width=CPU: 100.00%
|
||||||
|
#separator=false
|
||||||
|
|
||||||
|
|
||||||
|
# Battery indicator
|
||||||
|
#
|
||||||
|
# The battery instance defaults to 0.
|
||||||
|
#[battery]
|
||||||
|
#label=BAT
|
||||||
|
#label=⚡
|
||||||
|
#instance=1
|
||||||
|
#interval=30
|
||||||
|
|
||||||
|
#[battery2]
|
||||||
|
#label=⚡
|
||||||
|
#markup=pango
|
||||||
|
#interval=30
|
||||||
|
|
||||||
|
# Temperature
|
||||||
|
#
|
||||||
|
# Support multiple chips, though lm-sensors.
|
||||||
|
# The script may be called with -w and -c switches to specify thresholds,
|
||||||
|
# see the script for details.
|
||||||
|
[temperature]
|
||||||
|
label=🌡️
|
||||||
|
interval=10
|
||||||
|
SENSOR_CHIP='k10temp-pci-00c3'
|
||||||
|
|
||||||
|
# Date Time
|
||||||
|
#
|
||||||
|
[time]
|
||||||
|
command=date '+%a %b %_d %Y %l:%M:%S'
|
||||||
|
interval=1
|
||||||
|
|
||||||
|
# Generic media player support
|
||||||
|
#
|
||||||
|
# This displays "ARTIST - SONG" if a music is playing.
|
||||||
|
# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
|
||||||
|
#[mediaplayer]
|
||||||
|
#instance=spotify
|
||||||
|
#interval=5
|
||||||
|
#signal=10
|
||||||
|
|
||||||
|
# OpenVPN support
|
||||||
|
#
|
||||||
|
# Support multiple VPN, with colors.
|
||||||
|
#[openvpn]
|
||||||
|
#interval=20
|
||||||
|
|
||||||
|
# Key indicators
|
||||||
|
#
|
||||||
|
# Add the following bindings to i3 config file:
|
||||||
|
#
|
||||||
|
# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks
|
||||||
|
# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks
|
||||||
|
#[keyindicator]
|
||||||
|
#instance=CAPS
|
||||||
|
#interval=once
|
||||||
|
#signal=11
|
||||||
|
|
||||||
|
#[keyindicator]
|
||||||
|
#instance=NUM
|
||||||
|
#interval=once
|
||||||
|
#signal=11
|
||||||
151
private_dot_config/i3/keybinds
Normal file
151
private_dot_config/i3/keybinds
Normal file
|
|
@ -0,0 +1,151 @@
|
||||||
|
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Shift+Return exec alacritty
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+semicolon focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+semicolon move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
#bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
bindsym $mod+d focus child
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace $ws1
|
||||||
|
bindsym $mod+2 workspace $ws2
|
||||||
|
bindsym $mod+3 workspace $ws3
|
||||||
|
bindsym $mod+4 workspace $ws4
|
||||||
|
bindsym $mod+5 workspace $ws5
|
||||||
|
bindsym $mod+6 workspace $ws6
|
||||||
|
bindsym $mod+7 workspace $ws7
|
||||||
|
bindsym $mod+8 workspace $ws8
|
||||||
|
bindsym $mod+9 workspace $ws9
|
||||||
|
bindsym $mod+0 workspace $ws10
|
||||||
|
|
||||||
|
|
||||||
|
bindsym $mod+Mod2+KP_1 workspace $ws21
|
||||||
|
bindsym $mod+Mod2+KP_2 workspace $ws22
|
||||||
|
bindsym $mod+Mod2+KP_3 workspace $ws23
|
||||||
|
bindsym $mod+Mod2+KP_4 workspace $ws24
|
||||||
|
bindsym $mod+Mod2+KP_5 workspace $ws25
|
||||||
|
bindsym $mod+Mod2+KP_6 workspace $ws26
|
||||||
|
bindsym $mod+Mod2+KP_7 workspace $ws27
|
||||||
|
bindsym $mod+Mod2+KP_8 workspace $ws28
|
||||||
|
bindsym $mod+Mod2+KP_9 workspace $ws29
|
||||||
|
bindsym $mod+Mod2+KP_0 workspace $ws20
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace $ws10
|
||||||
|
|
||||||
|
bindsym $mod+Shift+Mod2+KP_End move container to workspace $ws21
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Down move container to workspace $ws22
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Next move container to workspace $ws23
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Left move container to workspace $ws24
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Begin move container to workspace $ws25
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Right move container to workspace $ws26
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Home move container to workspace $ws27
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Up move container to workspace $ws28
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Prior move container to workspace $ws29
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Insert move container to workspace $ws20
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Make the currently focused window a scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the first scratchpad window
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
|
#move to other monitor
|
||||||
|
bindsym $mod+x move container to output right
|
||||||
|
bindsym $mod+z move workspace to output right
|
||||||
|
bindsym $mod+n move container to output down
|
||||||
|
bindsym $mod+m move workspace to output down
|
||||||
|
|
||||||
|
bindsym $mod+Shift+x move container to output left
|
||||||
|
bindsym $mod+Shift+z move workspace to output left
|
||||||
|
bindsym $mod+Shift+n move container to output up
|
||||||
|
bindsym $mod+Shift+m move workspace to output up
|
||||||
|
|
||||||
33
private_dot_config/i3/theme
Normal file
33
private_dot_config/i3/theme
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
# Colors
|
||||||
|
set $fg #EBF6FF
|
||||||
|
set $bg #504573
|
||||||
|
set $inactive #1E1B30
|
||||||
|
set $urgent #A04558
|
||||||
|
# class border backgr. text indicator child_border
|
||||||
|
client.focused $bg $bg $fg $bg $bg
|
||||||
|
client.focused_inactive $inactive $inactive $fg $bg $bg
|
||||||
|
client.unfocused $inactive $inactive $fg $bg $bg
|
||||||
|
client.urgent $urgent $urgent $fg $bg $bg
|
||||||
|
client.placeholder $bg $bg $fg $bg $bg
|
||||||
|
client.background $bg
|
||||||
|
|
||||||
|
font pango:Monocraft Nerd Font, Atkinson Hyperlegible bold 9
|
||||||
|
|
||||||
|
bar {
|
||||||
|
status_command i3blocks -c ~/.config/sway/i3blocks.conf
|
||||||
|
font pango:Monocraft Nerd Font, Symbols Nerd Font, FontAwesome 10
|
||||||
|
#mode hide
|
||||||
|
colors {
|
||||||
|
background $inactive
|
||||||
|
statusline $fg
|
||||||
|
separator $fg
|
||||||
|
|
||||||
|
focused_workspace $bg $bg $fg
|
||||||
|
active_workspace $inactive $inactive $fg
|
||||||
|
inactive_workspace $inactive $inactive $fg
|
||||||
|
urgent_workspace $urgent $urgent $fg
|
||||||
|
binding_mode $urgent $urgent $fg
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
38
private_dot_config/i3/xorg
Normal file
38
private_dot_config/i3/xorg
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
# restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
|
||||||
|
bindsym $mod+Shift+r restart
|
||||||
|
|
||||||
|
# Pulse Audio controls
|
||||||
|
#bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume 0 +5% #increase sound volume
|
||||||
|
#bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume 0 -5% #decrease sound volume
|
||||||
|
#bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute 0 toggle # mute sound
|
||||||
|
|
||||||
|
#extra keys?
|
||||||
|
#bindsym XF86AudioStop
|
||||||
|
#bindsym XF86AudioMedia
|
||||||
|
#bindsym XF86HomePage
|
||||||
|
|
||||||
|
# Sreen brightness controls
|
||||||
|
# if requires sudo, run chmod +s $(which light)
|
||||||
|
bindsym XF86MonBrightnessUp exec brightnessctl -e s 5%+ # increase screen brightness
|
||||||
|
bindsym XF86MonBrightnessDown exec brightnessctl -e s 5%- # decrease screen brightness#bindsym XF86Mail exec light -U 5
|
||||||
|
#bindsym XF86Calculator exec light -A 5
|
||||||
|
|
||||||
|
# Media player controls
|
||||||
|
bindsym XF86AudioPlay exec playerctl play
|
||||||
|
bindsym XF86AudioPause exec playerctl pause
|
||||||
|
bindsym XF86AudioNext exec playerctl next
|
||||||
|
bindsym XF86AudioPrev exec playerctl previous
|
||||||
|
|
||||||
|
#background image
|
||||||
|
exec_always --no-startup-id feh --bg-fill "00 Setup/wallpaper.png" --no-fehbg
|
||||||
|
# I forget but probably important
|
||||||
|
# exec gnome-settings-daemon
|
||||||
|
# fix audio
|
||||||
|
# exec alsactl restore
|
||||||
|
|
||||||
|
#if no polkit, run gnome polkit (does this even work?)
|
||||||
|
# exec_always --no-startup-id /usr/lib/polkit-kde-authentication-agent-1
|
||||||
|
|
||||||
|
# Touchpad settings
|
||||||
|
exec_always xinput set-prop "SYNA8017:00 06CB:CEB2 Touchpad" "libinput Natural Scrolling Enabled" 1
|
||||||
|
exec_always xinput set-prop "SYNA8017:00 06CB:CEB2 Touchpad" "libinput Enabled" 1
|
||||||
22
private_dot_config/kitty/colors.conf
Normal file
22
private_dot_config/kitty/colors.conf
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Color theme: 3024 Night
|
||||||
|
# Auto-generated by Gogh (https://Gogh-Co.github.io/Gogh/)
|
||||||
|
|
||||||
|
color0 #1e1b30
|
||||||
|
color1 #a04558
|
||||||
|
color2 #76AA73
|
||||||
|
color3 #AD9D3D
|
||||||
|
color4 #334773
|
||||||
|
color5 #A34A78
|
||||||
|
color6 #2A97B1
|
||||||
|
color7 #9A9AB8
|
||||||
|
color8 #504573
|
||||||
|
color9 #ED8096
|
||||||
|
color10 #A0DC9B
|
||||||
|
color11 #C1B254
|
||||||
|
color12 #445F9B
|
||||||
|
color13 #EE5E95
|
||||||
|
color14 #5BCEFA
|
||||||
|
color15 #C1C7DB
|
||||||
|
background #010206
|
||||||
|
foreground #EBF6FF
|
||||||
|
cursor #EBF6FF
|
||||||
2206
private_dot_config/kitty/kitty.conf
Normal file
2206
private_dot_config/kitty/kitty.conf
Normal file
File diff suppressed because it is too large
Load diff
4
private_dot_config/lf/executable_clear_img.sh
Normal file
4
private_dot_config/lf/executable_clear_img.sh
Normal file
|
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
if [ -n "$FIFO_UEBERZUG" ]; then
|
||||||
|
printf '{"action": "remove", "identifier": "preview"}\n' >"$FIFO_UEBERZUG"
|
||||||
|
fi
|
||||||
6
private_dot_config/lf/executable_draw_img.sh
Normal file
6
private_dot_config/lf/executable_draw_img.sh
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
if [ -n "$FIFO_UEBERZUG" ]; then
|
||||||
|
path="$(printf '%s' "$1" | sed 's/\\/\\\\/g;s/"/\\"/g')"
|
||||||
|
printf '{"action": "add", "identifier": "preview", "x": %d, "y": %d, "width": %d, "height": %d, "scaler": "contain", "scaling_position_x": 0.5, "scaling_position_y": 0.5, "path": "%s"}\n' \
|
||||||
|
"$4" "$5" "$2" "$3" "$1" >"$FIFO_UEBERZUG"
|
||||||
|
fi
|
||||||
44
private_dot_config/lf/executable_previewer.sh
Normal file
44
private_dot_config/lf/executable_previewer.sh
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/sh
|
||||||
|
draw() {
|
||||||
|
~/.config/lf/draw_img.sh "$@"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
hash() {
|
||||||
|
printf '%s/.cache/lf/%s' "$HOME" \
|
||||||
|
"$(stat --printf '%n\0%i\0%F\0%s\0%W\0%Y' -- "$(readlink -f "$1")" | sha256sum | awk '{print $1}')"
|
||||||
|
}
|
||||||
|
|
||||||
|
cache() {
|
||||||
|
if [ -f "$1" ]; then
|
||||||
|
draw "$@"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
file="$1"
|
||||||
|
shift
|
||||||
|
|
||||||
|
if [ -n "$FIFO_UEBERZUG" ]; then
|
||||||
|
case "$(file -Lb --mime-type -- "$file")" in
|
||||||
|
image/*)
|
||||||
|
orientation="$(identify -format '%[EXIF:Orientation]\n' -- "$file")"
|
||||||
|
if [ -n "$orientation" ] && [ "$orientation" != 1 ]; then
|
||||||
|
cache="$(hash "$file").jpg"
|
||||||
|
cache "$cache" "$@"
|
||||||
|
convert -- "$file" -auto-orient "$cache"
|
||||||
|
draw "$cache" "$@"
|
||||||
|
else
|
||||||
|
draw "$file" "$@"
|
||||||
|
fi
|
||||||
|
;;
|
||||||
|
video/*)
|
||||||
|
cache="$(hash "$file").jpg"
|
||||||
|
cache "$cache" "$@"
|
||||||
|
ffmpegthumbnailer -i "$file" -o "$cache" -s 0
|
||||||
|
draw "$cache" "$@"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
fi
|
||||||
|
|
||||||
|
file -Lb -- "$1" | fold -s -w "$width"
|
||||||
|
exit 0
|
||||||
76
private_dot_config/lf/lfrc
Normal file
76
private_dot_config/lf/lfrc
Normal file
|
|
@ -0,0 +1,76 @@
|
||||||
|
set hidden!
|
||||||
|
set shell zsh
|
||||||
|
set mouse
|
||||||
|
|
||||||
|
cmd open ${{
|
||||||
|
case $(file --mime-type "$f" -bL) in
|
||||||
|
text/*|application/json) $EDITOR "$f";;
|
||||||
|
video/*|image/*|/application/pdf) $OPENER "$f" & disown;;
|
||||||
|
*) $OPENER "$f" ;;
|
||||||
|
esac
|
||||||
|
}}
|
||||||
|
|
||||||
|
# trash
|
||||||
|
cmd trash %trash-put $fx
|
||||||
|
map x trash
|
||||||
|
map DD delete
|
||||||
|
|
||||||
|
|
||||||
|
# make file/dir
|
||||||
|
cmd mkdir %{{
|
||||||
|
echo "Name: "
|
||||||
|
read ans
|
||||||
|
if [[ "$ans" == */ ]]; then
|
||||||
|
mkdir -p "$ans";
|
||||||
|
else
|
||||||
|
mkdir -p "$(dirname $ans)";
|
||||||
|
touch "$ans";
|
||||||
|
fi
|
||||||
|
}}
|
||||||
|
|
||||||
|
map a mkdir
|
||||||
|
|
||||||
|
cmd sudo_mkdir ${{
|
||||||
|
echo "Name: "
|
||||||
|
read ans
|
||||||
|
if [[ "$ans" == */ ]]; then
|
||||||
|
sudo mkdir -p "$ans";
|
||||||
|
else
|
||||||
|
sudo mkdir -p "$(dirname $ans)";
|
||||||
|
sudo touch "$ans";
|
||||||
|
fi
|
||||||
|
}}
|
||||||
|
map A sudo_mkdir
|
||||||
|
|
||||||
|
|
||||||
|
# fzf search
|
||||||
|
cmd fzf_jump ${{
|
||||||
|
res="$(find . -maxdepth 3 | fzf --reverse --header='Jump to location')"
|
||||||
|
if [ -n "$res" ]; then
|
||||||
|
if [ -d "$res" ]; then
|
||||||
|
cmd="cd"
|
||||||
|
else
|
||||||
|
cmd="select"
|
||||||
|
fi
|
||||||
|
res="$(printf '%s' "$res" | sed 's/\\/\\\\/g;s/"/\\"/g')"
|
||||||
|
lf -remote "send $id $cmd \"$res\""
|
||||||
|
fi
|
||||||
|
}}
|
||||||
|
map <c-f> :fzf_jump
|
||||||
|
|
||||||
|
cmd unarchive ${{
|
||||||
|
case "$f" in
|
||||||
|
*.zip) unzip "$f" ;;
|
||||||
|
*.tar*) tar -xvf "$f" ;;
|
||||||
|
*) echo "Unsupported format" ;;
|
||||||
|
}}
|
||||||
|
|
||||||
|
cmd zip %zip -r "$f" "$f"
|
||||||
|
cmd xz %tar -cJvf "$f.tar.xz" "$f"
|
||||||
|
cmd gz %tar -czvf "$f.tar.gz" "$f"
|
||||||
|
cmd zstd %tar -cvf --zstd "$f.tar.zst" "$f"
|
||||||
|
|
||||||
|
map au unarchive
|
||||||
|
|
||||||
|
set previewer ~/.config/lf/previewer.sh
|
||||||
|
set cleaner ~/.config/lf/clear_img.sh
|
||||||
10
private_dot_config/mako/config
Normal file
10
private_dot_config/mako/config
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
font=Berkeley Mono, FontAwesome 11
|
||||||
|
max-icon-size=32
|
||||||
|
height=300
|
||||||
|
width=300
|
||||||
|
background-color=#1e1b30cc
|
||||||
|
text-color=#fbfbff
|
||||||
|
border-radius=8
|
||||||
|
border-color=#746e95
|
||||||
|
default-timeout=10000
|
||||||
|
layer=overlay
|
||||||
845
private_dot_config/nushell/config.nu
Normal file
845
private_dot_config/nushell/config.nu
Normal file
|
|
@ -0,0 +1,845 @@
|
||||||
|
# Nushell Config File
|
||||||
|
#
|
||||||
|
# version = "0.91.0"
|
||||||
|
|
||||||
|
# For more information on defining custom themes, see
|
||||||
|
# https://www.nushell.sh/book/coloring_and_theming.html
|
||||||
|
# And here is the theme collection
|
||||||
|
# https://github.com/nushell/nu_scripts/tree/main/themes
|
||||||
|
let dark_theme = {
|
||||||
|
# color for nushell primitives
|
||||||
|
separator: white
|
||||||
|
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
|
||||||
|
header: green_bold
|
||||||
|
empty: blue
|
||||||
|
# Closures can be used to choose colors for specific values.
|
||||||
|
# The value (in this case, a bool) is piped into the closure.
|
||||||
|
# eg) {|| if $in { 'light_cyan' } else { 'light_gray' } }
|
||||||
|
bool: light_cyan
|
||||||
|
int: white
|
||||||
|
filesize: cyan
|
||||||
|
duration: white
|
||||||
|
date: purple
|
||||||
|
range: white
|
||||||
|
float: white
|
||||||
|
string: white
|
||||||
|
nothing: white
|
||||||
|
binary: white
|
||||||
|
cell-path: white
|
||||||
|
row_index: green_bold
|
||||||
|
record: white
|
||||||
|
list: white
|
||||||
|
block: white
|
||||||
|
hints: dark_gray
|
||||||
|
search_result: { bg: red fg: white }
|
||||||
|
shape_and: purple_bold
|
||||||
|
shape_binary: purple_bold
|
||||||
|
shape_block: blue_bold
|
||||||
|
shape_bool: light_cyan
|
||||||
|
shape_closure: green_bold
|
||||||
|
shape_custom: green
|
||||||
|
shape_datetime: cyan_bold
|
||||||
|
shape_directory: cyan
|
||||||
|
shape_external: cyan
|
||||||
|
shape_externalarg: green_bold
|
||||||
|
shape_external_resolved: light_yellow_bold
|
||||||
|
shape_filepath: cyan
|
||||||
|
shape_flag: blue_bold
|
||||||
|
shape_float: purple_bold
|
||||||
|
# shapes are used to change the cli syntax highlighting
|
||||||
|
shape_garbage: { fg: white bg: red attr: b}
|
||||||
|
shape_globpattern: cyan_bold
|
||||||
|
shape_int: purple_bold
|
||||||
|
shape_internalcall: cyan_bold
|
||||||
|
shape_keyword: cyan_bold
|
||||||
|
shape_list: cyan_bold
|
||||||
|
shape_literal: blue
|
||||||
|
shape_match_pattern: green
|
||||||
|
shape_matching_brackets: { attr: u }
|
||||||
|
shape_nothing: light_cyan
|
||||||
|
shape_operator: yellow
|
||||||
|
shape_or: purple_bold
|
||||||
|
shape_pipe: purple_bold
|
||||||
|
shape_range: yellow_bold
|
||||||
|
shape_record: cyan_bold
|
||||||
|
shape_redirection: purple_bold
|
||||||
|
shape_signature: green_bold
|
||||||
|
shape_string: green
|
||||||
|
shape_string_interpolation: cyan_bold
|
||||||
|
shape_table: blue_bold
|
||||||
|
shape_variable: purple
|
||||||
|
shape_vardecl: purple
|
||||||
|
}
|
||||||
|
|
||||||
|
let light_theme = {
|
||||||
|
# color for nushell primitives
|
||||||
|
separator: dark_gray
|
||||||
|
leading_trailing_space_bg: { attr: n } # no fg, no bg, attr none effectively turns this off
|
||||||
|
header: green_bold
|
||||||
|
empty: blue
|
||||||
|
# Closures can be used to choose colors for specific values.
|
||||||
|
# The value (in this case, a bool) is piped into the closure.
|
||||||
|
# eg) {|| if $in { 'dark_cyan' } else { 'dark_gray' } }
|
||||||
|
bool: dark_cyan
|
||||||
|
int: dark_gray
|
||||||
|
filesize: cyan_bold
|
||||||
|
duration: dark_gray
|
||||||
|
date: purple
|
||||||
|
range: dark_gray
|
||||||
|
float: dark_gray
|
||||||
|
string: dark_gray
|
||||||
|
nothing: dark_gray
|
||||||
|
binary: dark_gray
|
||||||
|
cell-path: dark_gray
|
||||||
|
row_index: green_bold
|
||||||
|
record: dark_gray
|
||||||
|
list: dark_gray
|
||||||
|
block: dark_gray
|
||||||
|
hints: dark_gray
|
||||||
|
search_result: { fg: white bg: red }
|
||||||
|
shape_and: purple_bold
|
||||||
|
shape_binary: purple_bold
|
||||||
|
shape_block: blue_bold
|
||||||
|
shape_bool: light_cyan
|
||||||
|
shape_closure: green_bold
|
||||||
|
shape_custom: green
|
||||||
|
shape_datetime: cyan_bold
|
||||||
|
shape_directory: cyan
|
||||||
|
shape_external: cyan
|
||||||
|
shape_externalarg: green_bold
|
||||||
|
shape_external_resolved: light_purple_bold
|
||||||
|
shape_filepath: cyan
|
||||||
|
shape_flag: blue_bold
|
||||||
|
shape_float: purple_bold
|
||||||
|
# shapes are used to change the cli syntax highlighting
|
||||||
|
shape_garbage: { fg: white bg: red attr: b}
|
||||||
|
shape_globpattern: cyan_bold
|
||||||
|
shape_int: purple_bold
|
||||||
|
shape_internalcall: cyan_bold
|
||||||
|
shape_keyword: cyan_bold
|
||||||
|
shape_list: cyan_bold
|
||||||
|
shape_literal: blue
|
||||||
|
shape_match_pattern: green
|
||||||
|
shape_matching_brackets: { attr: u }
|
||||||
|
shape_nothing: light_cyan
|
||||||
|
shape_operator: yellow
|
||||||
|
shape_or: purple_bold
|
||||||
|
shape_pipe: purple_bold
|
||||||
|
shape_range: yellow_bold
|
||||||
|
shape_record: cyan_bold
|
||||||
|
shape_redirection: purple_bold
|
||||||
|
shape_signature: green_bold
|
||||||
|
shape_string: green
|
||||||
|
shape_string_interpolation: cyan_bold
|
||||||
|
shape_table: blue_bold
|
||||||
|
shape_variable: purple
|
||||||
|
shape_vardecl: purple
|
||||||
|
}
|
||||||
|
|
||||||
|
# External completer example
|
||||||
|
# let carapace_completer = {|spans|
|
||||||
|
# carapace $spans.0 nushell ...$spans | from json
|
||||||
|
# }
|
||||||
|
|
||||||
|
# The default config record. This is where much of your global configuration is setup.
|
||||||
|
$env.config = {
|
||||||
|
show_banner: false # true or false to enable or disable the welcome banner at startup
|
||||||
|
|
||||||
|
ls: {
|
||||||
|
use_ls_colors: true # use the LS_COLORS environment variable to colorize output
|
||||||
|
clickable_links: true # enable or disable clickable links. Your terminal has to support links.
|
||||||
|
}
|
||||||
|
|
||||||
|
rm: {
|
||||||
|
always_trash: false # always act as if -t was given. Can be overridden with -p
|
||||||
|
}
|
||||||
|
|
||||||
|
table: {
|
||||||
|
mode: rounded # basic, compact, compact_double, light, thin, with_love, rounded, reinforced, heavy, none, other
|
||||||
|
index_mode: always # "always" show indexes, "never" show indexes, "auto" = show indexes when a table has "index" column
|
||||||
|
show_empty: true # show 'empty list' and 'empty record' placeholders for command output
|
||||||
|
padding: { left: 1, right: 1 } # a left right padding of each column in a table
|
||||||
|
trim: {
|
||||||
|
methodology: wrapping # wrapping or truncating
|
||||||
|
wrapping_try_keep_words: true # A strategy used by the 'wrapping' methodology
|
||||||
|
truncating_suffix: "..." # A suffix used by the 'truncating' methodology
|
||||||
|
}
|
||||||
|
header_on_separator: false # show header text on separator/border line
|
||||||
|
# abbreviated_row_count: 10 # limit data rows from top and bottom after reaching a set point
|
||||||
|
}
|
||||||
|
|
||||||
|
error_style: "fancy" # "fancy" or "plain" for screen reader-friendly error messages
|
||||||
|
|
||||||
|
# datetime_format determines what a datetime rendered in the shell would look like.
|
||||||
|
# Behavior without this configuration point will be to "humanize" the datetime display,
|
||||||
|
# showing something like "a day ago."
|
||||||
|
datetime_format: {
|
||||||
|
# normal: '%a, %d %b %Y %H:%M:%S %z' # shows up in displays of variables or other datetime's outside of tables
|
||||||
|
# table: '%m/%d/%y %I:%M:%S%p' # generally shows up in tabular outputs such as ls. commenting this out will change it to the default human readable datetime format
|
||||||
|
}
|
||||||
|
|
||||||
|
explore: {
|
||||||
|
status_bar_background: { fg: "#1D1F21", bg: "#C4C9C6" },
|
||||||
|
command_bar_text: { fg: "#C4C9C6" },
|
||||||
|
highlight: { fg: "black", bg: "yellow" },
|
||||||
|
status: {
|
||||||
|
error: { fg: "white", bg: "red" },
|
||||||
|
warn: {}
|
||||||
|
info: {}
|
||||||
|
},
|
||||||
|
table: {
|
||||||
|
split_line: { fg: "#404040" },
|
||||||
|
selected_cell: { bg: light_blue },
|
||||||
|
selected_row: {},
|
||||||
|
selected_column: {},
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
history: {
|
||||||
|
max_size: 100_000 # Session has to be reloaded for this to take effect
|
||||||
|
sync_on_enter: true # Enable to share history between multiple sessions, else you have to close the session to write history to file
|
||||||
|
file_format: "plaintext" # "sqlite" or "plaintext"
|
||||||
|
isolation: false # only available with sqlite file_format. true enables history isolation, false disables it. true will allow the history to be isolated to the current session using up/down arrows. false will allow the history to be shared across all sessions.
|
||||||
|
}
|
||||||
|
|
||||||
|
completions: {
|
||||||
|
case_sensitive: false # set to true to enable case-sensitive completions
|
||||||
|
quick: true # set this to false to prevent auto-selecting completions when only one remains
|
||||||
|
partial: true # set this to false to prevent partial filling of the prompt
|
||||||
|
algorithm: "prefix" # prefix or fuzzy
|
||||||
|
external: {
|
||||||
|
enable: true # set to false to prevent nushell looking into $env.PATH to find more suggestions, `false` recommended for WSL users as this look up may be very slow
|
||||||
|
max_results: 100 # setting it lower can improve completion performance at the cost of omitting some options
|
||||||
|
completer: null # check 'carapace_completer' above as an example
|
||||||
|
}
|
||||||
|
use_ls_colors: true # set this to true to enable file/path/directory completions using LS_COLORS
|
||||||
|
}
|
||||||
|
|
||||||
|
filesize: {
|
||||||
|
metric: false # true => KB, MB, GB (ISO standard), false => KiB, MiB, GiB (Windows standard)
|
||||||
|
format: "auto" # b, kb, kib, mb, mib, gb, gib, tb, tib, pb, pib, eb, eib, auto
|
||||||
|
}
|
||||||
|
|
||||||
|
cursor_shape: {
|
||||||
|
emacs: line # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (line is the default)
|
||||||
|
vi_insert: block # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (block is the default)
|
||||||
|
vi_normal: underscore # block, underscore, line, blink_block, blink_underscore, blink_line, inherit to skip setting cursor shape (underscore is the default)
|
||||||
|
}
|
||||||
|
|
||||||
|
color_config: $dark_theme # if you want a more interesting theme, you can replace the empty record with `$dark_theme`, `$light_theme` or another custom record
|
||||||
|
use_grid_icons: true
|
||||||
|
footer_mode: "25" # always, never, number_of_rows, auto
|
||||||
|
float_precision: 2 # the precision for displaying floats in tables
|
||||||
|
buffer_editor: "" # command that will be used to edit the current line buffer with ctrl+o, if unset fallback to $env.EDITOR and $env.VISUAL
|
||||||
|
use_ansi_coloring: true
|
||||||
|
bracketed_paste: true # enable bracketed paste, currently useless on windows
|
||||||
|
edit_mode: emacs # emacs, vi
|
||||||
|
shell_integration: false # enables terminal shell integration. Off by default, as some terminals have issues with this.
|
||||||
|
render_right_prompt_on_last_line: false # true or false to enable or disable right prompt to be rendered on last line of the prompt.
|
||||||
|
use_kitty_protocol: false # enables keyboard enhancement protocol implemented by kitty console, only if your terminal support this.
|
||||||
|
highlight_resolved_externals: false # true enables highlighting of external commands in the repl resolved by which.
|
||||||
|
|
||||||
|
plugins: {} # Per-plugin configuration. See https://www.nushell.sh/contributor-book/plugins.html#configuration.
|
||||||
|
|
||||||
|
hooks: {
|
||||||
|
pre_prompt: [{ null }] # run before the prompt is shown
|
||||||
|
pre_execution: [{ null }] # run before the repl input is run
|
||||||
|
env_change: {
|
||||||
|
PWD: [{|before, after| null }] # run if the PWD environment is different since the last repl input
|
||||||
|
}
|
||||||
|
display_output: "if (term size).columns >= 100 { table -e } else { table }" # run to display the output of a pipeline
|
||||||
|
command_not_found: { null } # return an error message when a command is not found
|
||||||
|
}
|
||||||
|
|
||||||
|
menus: [
|
||||||
|
# Configuration for default nushell menus
|
||||||
|
# Note the lack of source parameter
|
||||||
|
{
|
||||||
|
name: completion_menu
|
||||||
|
only_buffer_difference: false
|
||||||
|
marker: "| "
|
||||||
|
type: {
|
||||||
|
layout: columnar
|
||||||
|
columns: 4
|
||||||
|
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
|
||||||
|
col_padding: 2
|
||||||
|
}
|
||||||
|
style: {
|
||||||
|
text: green
|
||||||
|
selected_text: { attr: r }
|
||||||
|
description_text: yellow
|
||||||
|
match_text: { attr: u }
|
||||||
|
selected_match_text: { attr: ur }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: ide_completion_menu
|
||||||
|
only_buffer_difference: false
|
||||||
|
marker: "| "
|
||||||
|
type: {
|
||||||
|
layout: ide
|
||||||
|
min_completion_width: 0,
|
||||||
|
max_completion_width: 50,
|
||||||
|
max_completion_height: 10, # will be limited by the available lines in the terminal
|
||||||
|
padding: 0,
|
||||||
|
border: true,
|
||||||
|
cursor_offset: 0,
|
||||||
|
description_mode: "prefer_right"
|
||||||
|
min_description_width: 0
|
||||||
|
max_description_width: 50
|
||||||
|
max_description_height: 10
|
||||||
|
description_offset: 1
|
||||||
|
# If true, the cursor pos will be corrected, so the suggestions match up with the typed text
|
||||||
|
#
|
||||||
|
# C:\> str
|
||||||
|
# str join
|
||||||
|
# str trim
|
||||||
|
# str split
|
||||||
|
correct_cursor_pos: false
|
||||||
|
}
|
||||||
|
style: {
|
||||||
|
text: green
|
||||||
|
selected_text: { attr: r }
|
||||||
|
description_text: yellow
|
||||||
|
match_text: { attr: u }
|
||||||
|
selected_match_text: { attr: ur }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: history_menu
|
||||||
|
only_buffer_difference: true
|
||||||
|
marker: "? "
|
||||||
|
type: {
|
||||||
|
layout: list
|
||||||
|
page_size: 10
|
||||||
|
}
|
||||||
|
style: {
|
||||||
|
text: green
|
||||||
|
selected_text: green_reverse
|
||||||
|
description_text: yellow
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: help_menu
|
||||||
|
only_buffer_difference: true
|
||||||
|
marker: "? "
|
||||||
|
type: {
|
||||||
|
layout: description
|
||||||
|
columns: 4
|
||||||
|
col_width: 20 # Optional value. If missing all the screen width is used to calculate column width
|
||||||
|
col_padding: 2
|
||||||
|
selection_rows: 4
|
||||||
|
description_rows: 10
|
||||||
|
}
|
||||||
|
style: {
|
||||||
|
text: green
|
||||||
|
selected_text: green_reverse
|
||||||
|
description_text: yellow
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
|
||||||
|
keybindings: [
|
||||||
|
{
|
||||||
|
name: completion_menu
|
||||||
|
modifier: none
|
||||||
|
keycode: tab
|
||||||
|
mode: [emacs vi_normal vi_insert]
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menu name: completion_menu }
|
||||||
|
{ send: menunext }
|
||||||
|
{ edit: complete }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: ide_completion_menu
|
||||||
|
modifier: control
|
||||||
|
keycode: char_n
|
||||||
|
mode: [emacs vi_normal vi_insert]
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menu name: ide_completion_menu }
|
||||||
|
{ send: menunext }
|
||||||
|
{ edit: complete }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: history_menu
|
||||||
|
modifier: control
|
||||||
|
keycode: char_r
|
||||||
|
mode: [emacs, vi_insert, vi_normal]
|
||||||
|
event: { send: menu name: history_menu }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: help_menu
|
||||||
|
modifier: none
|
||||||
|
keycode: f1
|
||||||
|
mode: [emacs, vi_insert, vi_normal]
|
||||||
|
event: { send: menu name: help_menu }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: completion_previous_menu
|
||||||
|
modifier: shift
|
||||||
|
keycode: backtab
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { send: menuprevious }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: next_page_menu
|
||||||
|
modifier: control
|
||||||
|
keycode: char_x
|
||||||
|
mode: emacs
|
||||||
|
event: { send: menupagenext }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: undo_or_previous_page_menu
|
||||||
|
modifier: control
|
||||||
|
keycode: char_z
|
||||||
|
mode: emacs
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menupageprevious }
|
||||||
|
{ edit: undo }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: escape
|
||||||
|
modifier: none
|
||||||
|
keycode: escape
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { send: esc } # NOTE: does not appear to work
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: cancel_command
|
||||||
|
modifier: control
|
||||||
|
keycode: char_c
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { send: ctrlc }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: quit_shell
|
||||||
|
modifier: control
|
||||||
|
keycode: char_d
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { send: ctrld }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: clear_screen
|
||||||
|
modifier: control
|
||||||
|
keycode: char_l
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { send: clearscreen }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: search_history
|
||||||
|
modifier: control
|
||||||
|
keycode: char_q
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { send: searchhistory }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: open_command_editor
|
||||||
|
modifier: control
|
||||||
|
keycode: char_o
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { send: openeditor }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_up
|
||||||
|
modifier: none
|
||||||
|
keycode: up
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menuup }
|
||||||
|
{ send: up }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_down
|
||||||
|
modifier: none
|
||||||
|
keycode: down
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menudown }
|
||||||
|
{ send: down }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_left
|
||||||
|
modifier: none
|
||||||
|
keycode: left
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menuleft }
|
||||||
|
{ send: left }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_right_or_take_history_hint
|
||||||
|
modifier: none
|
||||||
|
keycode: right
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: historyhintcomplete }
|
||||||
|
{ send: menuright }
|
||||||
|
{ send: right }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_one_word_left
|
||||||
|
modifier: control
|
||||||
|
keycode: left
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { edit: movewordleft }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_one_word_right_or_take_history_hint
|
||||||
|
modifier: control
|
||||||
|
keycode: right
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: historyhintwordcomplete }
|
||||||
|
{ edit: movewordright }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_to_line_start
|
||||||
|
modifier: none
|
||||||
|
keycode: home
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { edit: movetolinestart }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_to_line_start
|
||||||
|
modifier: control
|
||||||
|
keycode: char_a
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { edit: movetolinestart }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_to_line_end_or_take_history_hint
|
||||||
|
modifier: none
|
||||||
|
keycode: end
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: historyhintcomplete }
|
||||||
|
{ edit: movetolineend }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_to_line_end_or_take_history_hint
|
||||||
|
modifier: control
|
||||||
|
keycode: char_e
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: historyhintcomplete }
|
||||||
|
{ edit: movetolineend }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_to_line_start
|
||||||
|
modifier: control
|
||||||
|
keycode: home
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { edit: movetolinestart }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_to_line_end
|
||||||
|
modifier: control
|
||||||
|
keycode: end
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: { edit: movetolineend }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_up
|
||||||
|
modifier: control
|
||||||
|
keycode: char_p
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menuup }
|
||||||
|
{ send: up }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_down
|
||||||
|
modifier: control
|
||||||
|
keycode: char_t
|
||||||
|
mode: [emacs, vi_normal, vi_insert]
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menudown }
|
||||||
|
{ send: down }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: delete_one_character_backward
|
||||||
|
modifier: none
|
||||||
|
keycode: backspace
|
||||||
|
mode: [emacs, vi_insert]
|
||||||
|
event: { edit: backspace }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: delete_one_word_backward
|
||||||
|
modifier: control
|
||||||
|
keycode: backspace
|
||||||
|
mode: [emacs, vi_insert]
|
||||||
|
event: { edit: backspaceword }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: delete_one_character_forward
|
||||||
|
modifier: none
|
||||||
|
keycode: delete
|
||||||
|
mode: [emacs, vi_insert]
|
||||||
|
event: { edit: delete }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: delete_one_character_forward
|
||||||
|
modifier: control
|
||||||
|
keycode: delete
|
||||||
|
mode: [emacs, vi_insert]
|
||||||
|
event: { edit: delete }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: delete_one_character_backward
|
||||||
|
modifier: control
|
||||||
|
keycode: char_h
|
||||||
|
mode: [emacs, vi_insert]
|
||||||
|
event: { edit: backspace }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: delete_one_word_backward
|
||||||
|
modifier: control
|
||||||
|
keycode: char_w
|
||||||
|
mode: [emacs, vi_insert]
|
||||||
|
event: { edit: backspaceword }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_left
|
||||||
|
modifier: none
|
||||||
|
keycode: backspace
|
||||||
|
mode: vi_normal
|
||||||
|
event: { edit: moveleft }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: newline_or_run_command
|
||||||
|
modifier: none
|
||||||
|
keycode: enter
|
||||||
|
mode: emacs
|
||||||
|
event: { send: enter }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_left
|
||||||
|
modifier: control
|
||||||
|
keycode: char_b
|
||||||
|
mode: emacs
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: menuleft }
|
||||||
|
{ send: left }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_right_or_take_history_hint
|
||||||
|
modifier: control
|
||||||
|
keycode: char_f
|
||||||
|
mode: emacs
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: historyhintcomplete }
|
||||||
|
{ send: menuright }
|
||||||
|
{ send: right }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: redo_change
|
||||||
|
modifier: control
|
||||||
|
keycode: char_g
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: redo }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: undo_change
|
||||||
|
modifier: control
|
||||||
|
keycode: char_z
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: undo }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: paste_before
|
||||||
|
modifier: control
|
||||||
|
keycode: char_y
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: pastecutbufferbefore }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: cut_word_left
|
||||||
|
modifier: control
|
||||||
|
keycode: char_w
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: cutwordleft }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: cut_line_to_end
|
||||||
|
modifier: control
|
||||||
|
keycode: char_k
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: cuttoend }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: cut_line_from_start
|
||||||
|
modifier: control
|
||||||
|
keycode: char_u
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: cutfromstart }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: swap_graphemes
|
||||||
|
modifier: control
|
||||||
|
keycode: char_t
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: swapgraphemes }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_one_word_left
|
||||||
|
modifier: alt
|
||||||
|
keycode: left
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: movewordleft }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_one_word_right_or_take_history_hint
|
||||||
|
modifier: alt
|
||||||
|
keycode: right
|
||||||
|
mode: emacs
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: historyhintwordcomplete }
|
||||||
|
{ edit: movewordright }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_one_word_left
|
||||||
|
modifier: alt
|
||||||
|
keycode: char_b
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: movewordleft }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: move_one_word_right_or_take_history_hint
|
||||||
|
modifier: alt
|
||||||
|
keycode: char_f
|
||||||
|
mode: emacs
|
||||||
|
event: {
|
||||||
|
until: [
|
||||||
|
{ send: historyhintwordcomplete }
|
||||||
|
{ edit: movewordright }
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: delete_one_word_forward
|
||||||
|
modifier: alt
|
||||||
|
keycode: delete
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: deleteword }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: delete_one_word_backward
|
||||||
|
modifier: alt
|
||||||
|
keycode: backspace
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: backspaceword }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: delete_one_word_backward
|
||||||
|
modifier: alt
|
||||||
|
keycode: char_m
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: backspaceword }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: cut_word_to_right
|
||||||
|
modifier: alt
|
||||||
|
keycode: char_d
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: cutwordright }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: upper_case_word
|
||||||
|
modifier: alt
|
||||||
|
keycode: char_u
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: uppercaseword }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: lower_case_word
|
||||||
|
modifier: alt
|
||||||
|
keycode: char_l
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: lowercaseword }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: capitalize_char
|
||||||
|
modifier: alt
|
||||||
|
keycode: char_c
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: capitalizechar }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: copy_selection
|
||||||
|
modifier: control_shift
|
||||||
|
keycode: char_c
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: copyselection }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: cut_selection
|
||||||
|
modifier: control_shift
|
||||||
|
keycode: char_x
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: cutselection }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: select_all
|
||||||
|
modifier: control_shift
|
||||||
|
keycode: char_a
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: selectall }
|
||||||
|
}
|
||||||
|
{
|
||||||
|
name: paste
|
||||||
|
modifier: control_shift
|
||||||
|
keycode: char_v
|
||||||
|
mode: emacs
|
||||||
|
event: { edit: pastecutbufferbefore }
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
use direnv.nu
|
||||||
|
use starship.nu
|
||||||
|
source zoxide.nu
|
||||||
|
source yazi.nu
|
||||||
56
private_dot_config/nushell/env.nu
Normal file
56
private_dot_config/nushell/env.nu
Normal file
|
|
@ -0,0 +1,56 @@
|
||||||
|
# Nushell Environment Config File
|
||||||
|
#
|
||||||
|
# version = "0.91.0"
|
||||||
|
#
|
||||||
|
|
||||||
|
# Use nushell functions to define your right and left prompt
|
||||||
|
# $env.PROMPT_COMMAND = {|| create_left_prompt }
|
||||||
|
# FIXME: This default is not implemented in rust code as of 2023-09-08.
|
||||||
|
# $env.PROMPT_COMMAND_RIGHT = {|| create_right_prompt }
|
||||||
|
|
||||||
|
# The prompt indicators are environmental variables that represent
|
||||||
|
# the state of the prompt
|
||||||
|
# $env.PROMPT_INDICATOR = {|| "> " }
|
||||||
|
$env.PROMPT_INDICATOR_VI_INSERT = {|| ": " }
|
||||||
|
$env.PROMPT_INDICATOR_VI_NORMAL = {|| "> " }
|
||||||
|
$env.PROMPT_MULTILINE_INDICATOR = {|| "::: " }
|
||||||
|
|
||||||
|
# Specifies how environment variables are:
|
||||||
|
# - converted from a string to a value on Nushell startup (from_string)
|
||||||
|
# - converted from a value back to a string when running external commands (to_string)
|
||||||
|
# Note: The conversions happen *after* config.nu is loaded
|
||||||
|
$env.ENV_CONVERSIONS = {
|
||||||
|
"PATH": {
|
||||||
|
from_string: { |s| $s | split row (char esep) | path expand --no-symlink }
|
||||||
|
to_string: { |v| $v | path expand --no-symlink | str join (char esep) }
|
||||||
|
}
|
||||||
|
"Path": {
|
||||||
|
from_string: { |s| $s | split row (char esep) | path expand --no-symlink }
|
||||||
|
to_string: { |v| $v | path expand --no-symlink | str join (char esep) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# Directories to search for scripts when calling source or use
|
||||||
|
# The default for this is $nu.default-config-dir/scripts
|
||||||
|
$env.NU_LIB_DIRS = [
|
||||||
|
($nu.default-config-dir | path join 'scripts') # add <nushell-config-dir>/scripts
|
||||||
|
]
|
||||||
|
# Directories to search for plugin binaries when calling register
|
||||||
|
# The default for this is $nu.default-config-dir/plugins
|
||||||
|
$env.NU_PLUGIN_DIRS = [
|
||||||
|
($nu.default-config-dir | path join 'plugins') # add <nushell-config-dir>/plugins
|
||||||
|
]
|
||||||
|
|
||||||
|
# To add entries to PATH (on Windows you might use Path), you can use the following pattern:
|
||||||
|
# $env.PATH = ($env.PATH | split row (char esep) | prepend '/some/path')
|
||||||
|
# An alternate way to add entries to $env.PATH is to use the custom command `path add`
|
||||||
|
# which is built into the nushell stdlib:
|
||||||
|
# use std "path add"
|
||||||
|
# $env.PATH = ($env.PATH | split row (char esep))
|
||||||
|
# path add /some/path
|
||||||
|
# path add ($env.CARGO_HOME | path join "bin")
|
||||||
|
# path add ($env.HOME | path join ".local" "bin")
|
||||||
|
# $env.PATH = ($env.PATH | uniq)
|
||||||
|
|
||||||
|
# To load from a custom file you can use:
|
||||||
|
# source ($nu.default-config-dir | path join 'custom.nu')
|
||||||
17
private_dot_config/nushell/scripts/direnv.nu
Normal file
17
private_dot_config/nushell/scripts/direnv.nu
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
export-env {
|
||||||
|
$env.config = ( $env.config | upsert hooks.env_change.PWD { |config|
|
||||||
|
let o = ($config | get -i hooks.env_change.PWD)
|
||||||
|
let val = { ||
|
||||||
|
if (which direnv | is-empty) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
direnv export json | from json | default {} | load-env
|
||||||
|
}
|
||||||
|
if $o == null {
|
||||||
|
$val
|
||||||
|
} else {
|
||||||
|
$o | append $val
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
38
private_dot_config/nushell/scripts/starship.nu
Normal file
38
private_dot_config/nushell/scripts/starship.nu
Normal file
|
|
@ -0,0 +1,38 @@
|
||||||
|
# this file is both a valid
|
||||||
|
# - overlay which can be loaded with `overlay use starship.nu`
|
||||||
|
# - module which can be used with `use starship.nu`
|
||||||
|
# - script which can be used with `source starship.nu`
|
||||||
|
export-env { $env.STARSHIP_SHELL = "nu"; load-env {
|
||||||
|
STARSHIP_SESSION_KEY: (random chars -l 16)
|
||||||
|
PROMPT_MULTILINE_INDICATOR: (
|
||||||
|
^starship prompt --continuation
|
||||||
|
)
|
||||||
|
|
||||||
|
# Does not play well with default character module.
|
||||||
|
# TODO: Also Use starship vi mode indicators?
|
||||||
|
PROMPT_INDICATOR: ""
|
||||||
|
|
||||||
|
PROMPT_COMMAND: {||
|
||||||
|
# jobs are not supported
|
||||||
|
(
|
||||||
|
^starship prompt
|
||||||
|
--cmd-duration $env.CMD_DURATION_MS
|
||||||
|
$"--status=($env.LAST_EXIT_CODE)"
|
||||||
|
--terminal-width (term size).columns
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
config: ($env.config? | default {} | merge {
|
||||||
|
render_right_prompt_on_last_line: true
|
||||||
|
})
|
||||||
|
|
||||||
|
PROMPT_COMMAND_RIGHT: {||
|
||||||
|
(
|
||||||
|
^starship prompt
|
||||||
|
--right
|
||||||
|
--cmd-duration $env.CMD_DURATION_MS
|
||||||
|
$"--status=($env.LAST_EXIT_CODE)"
|
||||||
|
--terminal-width (term size).columns
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}}
|
||||||
9
private_dot_config/nushell/scripts/yazi.nu
Normal file
9
private_dot_config/nushell/scripts/yazi.nu
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
def --env yy [...args] {
|
||||||
|
let tmp = (mktemp -t "yazi-cwd.XXXXXX")
|
||||||
|
yazi ...$args --cwd-file $tmp
|
||||||
|
let cwd = (open $tmp)
|
||||||
|
if $cwd != "" and $cwd != $env.PWD {
|
||||||
|
cd $cwd
|
||||||
|
}
|
||||||
|
rm -fp $tmp
|
||||||
|
}
|
||||||
60
private_dot_config/nushell/scripts/zoxide.nu
Normal file
60
private_dot_config/nushell/scripts/zoxide.nu
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
# Code generated by zoxide. DO NOT EDIT.
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
#
|
||||||
|
# Hook configuration for zoxide.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Initialize hook to add new entries to the database.
|
||||||
|
if (not ($env | default false __zoxide_hooked | get __zoxide_hooked)) {
|
||||||
|
$env.__zoxide_hooked = true
|
||||||
|
$env.config = ($env | default {} config).config
|
||||||
|
$env.config = ($env.config | default {} hooks)
|
||||||
|
$env.config = ($env.config | update hooks ($env.config.hooks | default {} env_change))
|
||||||
|
$env.config = ($env.config | update hooks.env_change ($env.config.hooks.env_change | default [] PWD))
|
||||||
|
$env.config = ($env.config | update hooks.env_change.PWD ($env.config.hooks.env_change.PWD | append {|_, dir|
|
||||||
|
zoxide add -- $dir
|
||||||
|
}))
|
||||||
|
}
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
#
|
||||||
|
# When using zoxide with --no-cmd, alias these internal functions as desired.
|
||||||
|
#
|
||||||
|
|
||||||
|
# Jump to a directory using only keywords.
|
||||||
|
def --env __zoxide_z [...rest:string] {
|
||||||
|
let arg0 = ($rest | append '~').0
|
||||||
|
let path = if (($rest | length) <= 1) and ($arg0 == '-' or ($arg0 | path expand | path type) == dir) {
|
||||||
|
$arg0
|
||||||
|
} else {
|
||||||
|
(zoxide query --exclude $env.PWD -- ...$rest | str trim -r -c "\n")
|
||||||
|
}
|
||||||
|
cd $path
|
||||||
|
}
|
||||||
|
|
||||||
|
# Jump to a directory using interactive search.
|
||||||
|
def --env __zoxide_zi [...rest:string] {
|
||||||
|
cd $'(zoxide query --interactive -- ...$rest | str trim -r -c "\n")'
|
||||||
|
}
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
#
|
||||||
|
# Commands for zoxide. Disable these using --no-cmd.
|
||||||
|
#
|
||||||
|
|
||||||
|
alias z = __zoxide_z
|
||||||
|
alias zi = __zoxide_zi
|
||||||
|
|
||||||
|
# =============================================================================
|
||||||
|
#
|
||||||
|
# Add this to your env file (find it by running `$nu.env-path` in Nushell):
|
||||||
|
#
|
||||||
|
# zoxide init nushell | save -f ~/.zoxide.nu
|
||||||
|
#
|
||||||
|
# Now, add this to the end of your config file (find it by running
|
||||||
|
# `$nu.config-path` in Nushell):
|
||||||
|
#
|
||||||
|
# source ~/.zoxide.nu
|
||||||
|
#
|
||||||
|
# Note: zoxide only supports Nushell v0.89.0+.
|
||||||
|
|
@ -1,3 +0,0 @@
|
||||||
set runtimepath^=~/.vim runtimepath+=~/.vim/after
|
|
||||||
let &packpath=&runtimepath
|
|
||||||
source ~/.vimrc
|
|
||||||
37
private_dot_config/paru/executable_paru.conf
Normal file
37
private_dot_config/paru/executable_paru.conf
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
#
|
||||||
|
# $PARU_CONF
|
||||||
|
# /etc/paru.conf
|
||||||
|
# ~/.config/paru/paru.conf
|
||||||
|
#
|
||||||
|
# See the paru.conf(5) manpage for options
|
||||||
|
|
||||||
|
#
|
||||||
|
# GENERAL OPTIONS
|
||||||
|
#
|
||||||
|
[options]
|
||||||
|
PgpFetch
|
||||||
|
Devel
|
||||||
|
Provides
|
||||||
|
DevelSuffixes = -git -cvs -svn -bzr -darcs -always
|
||||||
|
#BottomUp
|
||||||
|
#RemoveMake
|
||||||
|
SudoLoop
|
||||||
|
#UseAsk
|
||||||
|
#CombinedUpgrade
|
||||||
|
#CleanAfter
|
||||||
|
#UpgradeMenu
|
||||||
|
#NewsOnUpgrade
|
||||||
|
SkipReview
|
||||||
|
|
||||||
|
#LocalRepo
|
||||||
|
#Chroot
|
||||||
|
#Sign
|
||||||
|
#SignDb
|
||||||
|
|
||||||
|
#
|
||||||
|
# Binary OPTIONS
|
||||||
|
#
|
||||||
|
#[bin]
|
||||||
|
#FileManager = vifm
|
||||||
|
#MFlags = --skippgpcheck
|
||||||
|
#Sudo = doas
|
||||||
18
private_dot_config/private_gtk-2.0/gtkrc
Normal file
18
private_dot_config/private_gtk-2.0/gtkrc
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
# DO NOT EDIT! This file will be overwritten by LXAppearance.
|
||||||
|
# Any customization should be done in ~/.gtkrc-2.0.mine instead.
|
||||||
|
|
||||||
|
include "/home/mira/.gtkrc-2.0.mine"
|
||||||
|
gtk-theme-name="adw-gtk3-dark"
|
||||||
|
gtk-icon-theme-name="Yaru-blue-dark"
|
||||||
|
gtk-font-name="Atkinson Hyperlegible 11"
|
||||||
|
gtk-cursor-theme-name="DMZ-Black"
|
||||||
|
gtk-cursor-theme-size=24
|
||||||
|
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||||
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
|
gtk-button-images=1
|
||||||
|
gtk-menu-images=1
|
||||||
|
gtk-enable-event-sounds=0
|
||||||
|
gtk-enable-input-feedback-sounds=0
|
||||||
|
gtk-xft-antialias=1
|
||||||
|
gtk-xft-hinting=1
|
||||||
|
gtk-xft-hintstyle="hintfull"
|
||||||
78
private_dot_config/private_gtk-3.0/gtk.css
Normal file
78
private_dot_config/private_gtk-3.0/gtk.css
Normal file
|
|
@ -0,0 +1,78 @@
|
||||||
|
@define-color accent_color #5078a4;
|
||||||
|
@define-color accent_bg_color #0b5393;
|
||||||
|
@define-color accent_fg_color #ebf6ff;
|
||||||
|
@define-color destructive_color #f5a9b8;
|
||||||
|
@define-color destructive_bg_color #a04558;
|
||||||
|
@define-color destructive_fg_color #ebf6ff;
|
||||||
|
@define-color success_color #98db95;
|
||||||
|
@define-color success_bg_color #6fa47e;
|
||||||
|
@define-color success_fg_color #ebf6ff;
|
||||||
|
@define-color warning_color #ffe70a;
|
||||||
|
@define-color warning_bg_color #ccb700;
|
||||||
|
@define-color warning_fg_color rgba(1,2,6,0.8);
|
||||||
|
@define-color error_color #f5a9b8;
|
||||||
|
@define-color error_bg_color #a04558;
|
||||||
|
@define-color error_fg_color #ebf6ff;
|
||||||
|
@define-color window_bg_color #1e1b30;
|
||||||
|
@define-color window_fg_color #ebf6ff;
|
||||||
|
@define-color view_bg_color #010206;
|
||||||
|
@define-color view_fg_color #ebf6ff;
|
||||||
|
@define-color headerbar_bg_color #010206;
|
||||||
|
@define-color headerbar_fg_color #ebf6ff;
|
||||||
|
@define-color headerbar_border_color #ebf6ff;
|
||||||
|
@define-color headerbar_backdrop_color @window_bg_color;
|
||||||
|
@define-color headerbar_shade_color rgba(0, 0, 0, 0.36);
|
||||||
|
@define-color card_bg_color rgba(255, 255, 255, 0.08);
|
||||||
|
@define-color card_fg_color #ebf6ff;
|
||||||
|
@define-color card_shade_color rgba(0, 0, 0, 0.36);
|
||||||
|
@define-color dialog_bg_color #010206;
|
||||||
|
@define-color dialog_fg_color #ebf6ff;
|
||||||
|
@define-color popover_bg_color #010206;
|
||||||
|
@define-color popover_fg_color #ebf6ff;
|
||||||
|
@define-color shade_color rgba(0, 0, 0, 0.36);
|
||||||
|
@define-color scrollbar_outline_color rgba(0, 0, 0, 0.5);
|
||||||
|
@define-color blue_1 #99c1f1;
|
||||||
|
@define-color blue_2 #62a0ea;
|
||||||
|
@define-color blue_3 #3584e4;
|
||||||
|
@define-color blue_4 #1c71d8;
|
||||||
|
@define-color blue_5 #1a5fb4;
|
||||||
|
@define-color green_1 #8ff0a4;
|
||||||
|
@define-color green_2 #57e389;
|
||||||
|
@define-color green_3 #33d17a;
|
||||||
|
@define-color green_4 #2ec27e;
|
||||||
|
@define-color green_5 #26a269;
|
||||||
|
@define-color yellow_1 #f9f06b;
|
||||||
|
@define-color yellow_2 #f8e45c;
|
||||||
|
@define-color yellow_3 #f6d32d;
|
||||||
|
@define-color yellow_4 #f5c211;
|
||||||
|
@define-color yellow_5 #e5a50a;
|
||||||
|
@define-color orange_1 #ffbe6f;
|
||||||
|
@define-color orange_2 #ffa348;
|
||||||
|
@define-color orange_3 #ff7800;
|
||||||
|
@define-color orange_4 #e66100;
|
||||||
|
@define-color orange_5 #c64600;
|
||||||
|
@define-color red_1 #f66151;
|
||||||
|
@define-color red_2 #ed333b;
|
||||||
|
@define-color red_3 #e01b24;
|
||||||
|
@define-color red_4 #c01c28;
|
||||||
|
@define-color red_5 #a51d2d;
|
||||||
|
@define-color purple_1 #dc8add;
|
||||||
|
@define-color purple_2 #c061cb;
|
||||||
|
@define-color purple_3 #9141ac;
|
||||||
|
@define-color purple_4 #813d9c;
|
||||||
|
@define-color purple_5 #613583;
|
||||||
|
@define-color brown_1 #cdab8f;
|
||||||
|
@define-color brown_2 #b5835a;
|
||||||
|
@define-color brown_3 #986a44;
|
||||||
|
@define-color brown_4 #865e3c;
|
||||||
|
@define-color brown_5 #63452c;
|
||||||
|
@define-color light_1 #ffffff;
|
||||||
|
@define-color light_2 #f6f5f4;
|
||||||
|
@define-color light_3 #deddda;
|
||||||
|
@define-color light_4 #c0bfbc;
|
||||||
|
@define-color light_5 #9a9996;
|
||||||
|
@define-color dark_1 #77767b;
|
||||||
|
@define-color dark_2 #5e5c64;
|
||||||
|
@define-color dark_3 #3d3846;
|
||||||
|
@define-color dark_4 #241f31;
|
||||||
|
@define-color dark_5 #000000;
|
||||||
17
private_dot_config/private_gtk-3.0/settings.ini
Normal file
17
private_dot_config/private_gtk-3.0/settings.ini
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
[Settings]
|
||||||
|
gtk-theme-name=adw-gtk3-dark
|
||||||
|
gtk-icon-theme-name=Adwaita
|
||||||
|
gtk-font-name=Berkeley Mono 12
|
||||||
|
gtk-cursor-theme-name=DMZ-Black
|
||||||
|
gtk-cursor-theme-size=24
|
||||||
|
gtk-toolbar-style=GTK_TOOLBAR_BOTH
|
||||||
|
gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR
|
||||||
|
gtk-button-images=1
|
||||||
|
gtk-menu-images=1
|
||||||
|
gtk-enable-event-sounds=1
|
||||||
|
gtk-enable-input-feedback-sounds=1
|
||||||
|
gtk-xft-antialias=1
|
||||||
|
gtk-xft-hinting=1
|
||||||
|
gtk-xft-hintstyle=hintmedium
|
||||||
|
gtk-xft-rgba=vrgb
|
||||||
|
gtk-application-prefer-dark-theme=1
|
||||||
35
private_dot_config/private_mimeapps.list
Normal file
35
private_dot_config/private_mimeapps.list
Normal file
|
|
@ -0,0 +1,35 @@
|
||||||
|
[Added Associations]
|
||||||
|
x-scheme-handler/settings=io.elementary.switchboard.desktop;
|
||||||
|
application/x-xpinstall=org.gnome.FileRoller.desktop;
|
||||||
|
application/json=nvim.desktop;
|
||||||
|
x-scheme-handler/http=userapp-Firefox-KMQIN2.desktop;
|
||||||
|
x-scheme-handler/https=userapp-Firefox-KMQIN2.desktop;
|
||||||
|
text/html=userapp-Firefox-KMQIN2.desktop;
|
||||||
|
application/x-bittorrent=transmission-gtk.desktop;org.gnome.gedit.desktop;nvim.desktop;
|
||||||
|
video/mp4=vlc.desktop;org.gnome.Totem.desktop;
|
||||||
|
application/x-x509-ca-cert=org.gnome.gedit.desktop;
|
||||||
|
application/pgp-keys=nvim.desktop;
|
||||||
|
image/jpeg=qimgv.desktop;org.gnome.Shotwell-Viewer.desktop;sxiv.desktop;org.gimp.GIMP.desktop;org.gnome.eog.desktop;
|
||||||
|
image/webp=org.gimp.GIMP.desktop;
|
||||||
|
audio/mpeg=vlc.desktop;
|
||||||
|
image/x-canon-cr2=org.gnome.Shotwell-Viewer.desktop;
|
||||||
|
image/svg+xml=org.inkscape.Inkscape.desktop;
|
||||||
|
|
||||||
|
[Default Applications]
|
||||||
|
x-scheme-handler/settings=io.elementary.switchboard.desktop
|
||||||
|
x-scheme-handler/http=userapp-Firefox-KMQIN2.desktop
|
||||||
|
x-scheme-handler/https=userapp-Firefox-KMQIN2.desktop
|
||||||
|
x-scheme-handler/chrome=userapp-Firefox-KMQIN2.desktop
|
||||||
|
text/html=userapp-Firefox-KMQIN2.desktop
|
||||||
|
application/x-extension-htm=userapp-Firefox-KMQIN2.desktop
|
||||||
|
application/x-extension-html=userapp-Firefox-KMQIN2.desktop
|
||||||
|
application/x-extension-shtml=userapp-Firefox-KMQIN2.desktop
|
||||||
|
application/xhtml+xml=userapp-Firefox-KMQIN2.desktop
|
||||||
|
application/x-extension-xhtml=userapp-Firefox-KMQIN2.desktop
|
||||||
|
application/x-extension-xht=userapp-Firefox-KMQIN2.desktop
|
||||||
|
x-scheme-handler/about=firefox_firefox.desktop
|
||||||
|
x-scheme-handler/unknown=firefox_firefox.desktop
|
||||||
|
x-scheme-handler/prusaslicer=PrusaSlicerURLProtocol.desktop
|
||||||
|
application/pdf=org.pwmt.zathura.desktop
|
||||||
|
font/ttf=org.gnome.font-viewer.desktop
|
||||||
|
font/otf=org.gnome.font-viewer.desktop
|
||||||
15
private_dot_config/private_user-dirs.dirs
Normal file
15
private_dot_config/private_user-dirs.dirs
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
# This file is written by xdg-user-dirs-update
|
||||||
|
# If you want to change or add directories, just edit the line you're
|
||||||
|
# interested in. All local changes will be retained on the next run.
|
||||||
|
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
|
||||||
|
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
|
||||||
|
# absolute path. No other format is supported.
|
||||||
|
#
|
||||||
|
XDG_DESKTOP_DIR="$HOME/"
|
||||||
|
XDG_DOWNLOAD_DIR="$HOME/Downloads"
|
||||||
|
XDG_TEMPLATES_DIR="$HOME/"
|
||||||
|
XDG_PUBLICSHARE_DIR="$HOME/"
|
||||||
|
XDG_DOCUMENTS_DIR="$HOME/"
|
||||||
|
XDG_MUSIC_DIR="$HOME/Music"
|
||||||
|
XDG_PICTURES_DIR="$HOME/Pictures"
|
||||||
|
XDG_VIDEOS_DIR="$HOME/"
|
||||||
156
private_dot_config/rofi/config.rasi
Normal file
156
private_dot_config/rofi/config.rasi
Normal file
|
|
@ -0,0 +1,156 @@
|
||||||
|
configuration {
|
||||||
|
modes: "window,drun,run,ssh,combi";
|
||||||
|
/*font: "FOT-UDKakugo_Large Pr6N semibold 12";*/
|
||||||
|
font: "TX-02 bold 12";
|
||||||
|
/* location: 0;*/
|
||||||
|
/* yoffset: 0;*/
|
||||||
|
/* xoffset: 0;*/
|
||||||
|
/* fixed-num-lines: true;*/
|
||||||
|
/* show-icons: false;*/
|
||||||
|
/* terminal: "rofi-sensible-terminal";*/
|
||||||
|
/* ssh-client: "ssh";*/
|
||||||
|
/* ssh-command: "{terminal} -e {ssh-client} {host} [-p {port}]";*/
|
||||||
|
/* run-command: "{cmd}";*/
|
||||||
|
/* run-list-command: "";*/
|
||||||
|
/* run-shell-command: "{terminal} -e {cmd}";*/
|
||||||
|
/* window-command: "wmctrl -i -R {window}";*/
|
||||||
|
/* window-match-fields: "all";*/
|
||||||
|
/* icon-theme: ;*/
|
||||||
|
/* drun-match-fields: "name,generic,exec,categories,keywords";*/
|
||||||
|
/* drun-categories: ;*/
|
||||||
|
/* drun-show-actions: false;*/
|
||||||
|
/* drun-display-format: "{name} [<span weight='light' size='small'><i>({generic})</i></span>]";*/
|
||||||
|
/* drun-url-launcher: "xdg-open";*/
|
||||||
|
/* disable-history: false;*/
|
||||||
|
/* ignored-prefixes: "";*/
|
||||||
|
/* sort: false;*/
|
||||||
|
/* sorting-method: "normal";*/
|
||||||
|
/* case-sensitive: false;*/
|
||||||
|
/* cycle: true;*/
|
||||||
|
/* sidebar-mode: false;*/
|
||||||
|
/* hover-select: false;*/
|
||||||
|
/* eh: 1;*/
|
||||||
|
/* auto-select: false;*/
|
||||||
|
/* parse-hosts: false;*/
|
||||||
|
/* parse-known-hosts: true;*/
|
||||||
|
/* combi-modes: "window,run";*/
|
||||||
|
/* matching: "normal";*/
|
||||||
|
/* tokenize: true;*/
|
||||||
|
/* m: "-5";*/
|
||||||
|
/* filter: ;*/
|
||||||
|
/* dpi: -1;*/
|
||||||
|
/* threads: 0;*/
|
||||||
|
/* scroll-method: 0;*/
|
||||||
|
/* window-format: "{w} {c} {t}";*/
|
||||||
|
/* click-to-exit: true;*/
|
||||||
|
/* max-history-size: 25;*/
|
||||||
|
/* combi-hide-mode-prefix: false;*/
|
||||||
|
/* combi-display-format: "{mode} {text}";*/
|
||||||
|
/* matching-negate-char: '-' /* unsupported */;*/
|
||||||
|
/* cache-dir: ;*/
|
||||||
|
/* window-thumbnail: false;*/
|
||||||
|
/* drun-use-desktop-cache: false;*/
|
||||||
|
/* drun-reload-desktop-cache: false;*/
|
||||||
|
/* normalize-match: false;*/
|
||||||
|
steal-focus: true;
|
||||||
|
/* application-fallback-icon: ;*/
|
||||||
|
/* refilter-timeout-limit: 300;*/
|
||||||
|
/* xserver-i300-workaround: false;*/
|
||||||
|
/* completer-mode: "recursivebrowser";*/
|
||||||
|
/* pid: "/run/user/1000/rofi.pid";*/
|
||||||
|
/* display-window: ;*/
|
||||||
|
/* display-run: ;*/
|
||||||
|
/* display-ssh: ;*/
|
||||||
|
/* display-drun: ;*/
|
||||||
|
/* display-combi: ;*/
|
||||||
|
/* display-keys: ;*/
|
||||||
|
/* display-filebrowser: ;*/
|
||||||
|
/* display-recursivebrowser: ;*/
|
||||||
|
/* kb-primary-paste: "Control+V,Shift+Insert";*/
|
||||||
|
/* kb-secondary-paste: "Control+v,Insert";*/
|
||||||
|
/* kb-secondary-copy: "Control+c";*/
|
||||||
|
/* kb-clear-line: "Control+w";*/
|
||||||
|
/* kb-move-front: "Control+a";*/
|
||||||
|
/* kb-move-end: "Control+e";*/
|
||||||
|
/* kb-move-word-back: "Alt+b,Control+Left";*/
|
||||||
|
/* kb-move-word-forward: "Alt+f,Control+Right";*/
|
||||||
|
/* kb-move-char-back: "Left,Control+b";*/
|
||||||
|
/* kb-move-char-forward: "Right,Control+f";*/
|
||||||
|
/* kb-remove-word-back: "Control+Alt+h,Control+BackSpace";*/
|
||||||
|
/* kb-remove-word-forward: "Control+Alt+d";*/
|
||||||
|
/* kb-remove-char-forward: "Delete,Control+d";*/
|
||||||
|
/* kb-remove-char-back: "BackSpace,Shift+BackSpace,Control+h";*/
|
||||||
|
/* kb-remove-to-eol: "Control+k";*/
|
||||||
|
/* kb-remove-to-sol: "Control+u";*/
|
||||||
|
/* kb-accept-entry: "Control+j,Control+m,Return,KP_Enter";*/
|
||||||
|
/* kb-accept-custom: "Control+Return";*/
|
||||||
|
/* kb-accept-custom-alt: "Control+Shift+Return";*/
|
||||||
|
/* kb-accept-alt: "Shift+Return";*/
|
||||||
|
/* kb-delete-entry: "Shift+Delete";*/
|
||||||
|
/* kb-mode-next: "Shift+Right,Control+Tab";*/
|
||||||
|
/* kb-mode-previous: "Shift+Left,Control+ISO_Left_Tab";*/
|
||||||
|
/* kb-mode-complete: "Control+l";*/
|
||||||
|
/* kb-row-left: "Control+Page_Up";*/
|
||||||
|
/* kb-row-right: "Control+Page_Down";*/
|
||||||
|
/* kb-row-up: "Up,Control+p";*/
|
||||||
|
/* kb-row-down: "Down,Control+n";*/
|
||||||
|
/* kb-row-tab: "";*/
|
||||||
|
/* kb-element-next: "Tab";*/
|
||||||
|
/* kb-element-prev: "ISO_Left_Tab";*/
|
||||||
|
/* kb-page-prev: "Page_Up";*/
|
||||||
|
/* kb-page-next: "Page_Down";*/
|
||||||
|
/* kb-row-first: "Home,KP_Home";*/
|
||||||
|
/* kb-row-last: "End,KP_End";*/
|
||||||
|
/* kb-row-select: "Control+space";*/
|
||||||
|
/* kb-screenshot: "Alt+S";*/
|
||||||
|
/* kb-ellipsize: "Alt+period";*/
|
||||||
|
/* kb-toggle-case-sensitivity: "grave,dead_grave";*/
|
||||||
|
/* kb-toggle-sort: "Alt+grave";*/
|
||||||
|
/* kb-cancel: "Escape,Control+g,Control+bracketleft";*/
|
||||||
|
/* kb-custom-1: "Alt+1";*/
|
||||||
|
/* kb-custom-2: "Alt+2";*/
|
||||||
|
/* kb-custom-3: "Alt+3";*/
|
||||||
|
/* kb-custom-4: "Alt+4";*/
|
||||||
|
/* kb-custom-5: "Alt+5";*/
|
||||||
|
/* kb-custom-6: "Alt+6";*/
|
||||||
|
/* kb-custom-7: "Alt+7";*/
|
||||||
|
/* kb-custom-8: "Alt+8";*/
|
||||||
|
/* kb-custom-9: "Alt+9";*/
|
||||||
|
/* kb-custom-10: "Alt+0";*/
|
||||||
|
/* kb-custom-11: "Alt+exclam";*/
|
||||||
|
/* kb-custom-12: "Alt+at";*/
|
||||||
|
/* kb-custom-13: "Alt+numbersign";*/
|
||||||
|
/* kb-custom-14: "Alt+dollar";*/
|
||||||
|
/* kb-custom-15: "Alt+percent";*/
|
||||||
|
/* kb-custom-16: "Alt+dead_circumflex";*/
|
||||||
|
/* kb-custom-17: "Alt+ampersand";*/
|
||||||
|
/* kb-custom-18: "Alt+asterisk";*/
|
||||||
|
/* kb-custom-19: "Alt+parenleft";*/
|
||||||
|
/* kb-select-1: "Super+1";*/
|
||||||
|
/* kb-select-2: "Super+2";*/
|
||||||
|
/* kb-select-3: "Super+3";*/
|
||||||
|
/* kb-select-4: "Super+4";*/
|
||||||
|
/* kb-select-5: "Super+5";*/
|
||||||
|
/* kb-select-6: "Super+6";*/
|
||||||
|
/* kb-select-7: "Super+7";*/
|
||||||
|
/* kb-select-8: "Super+8";*/
|
||||||
|
/* kb-select-9: "Super+9";*/
|
||||||
|
/* kb-select-10: "Super+0";*/
|
||||||
|
/* kb-entry-history-up: "Control+Up";*/
|
||||||
|
/* kb-entry-history-down: "Control+Down";*/
|
||||||
|
/* ml-row-left: "ScrollLeft";*/
|
||||||
|
/* ml-row-right: "ScrollRight";*/
|
||||||
|
/* ml-row-up: "ScrollUp";*/
|
||||||
|
/* ml-row-down: "ScrollDown";*/
|
||||||
|
/* me-select-entry: "MousePrimary";*/
|
||||||
|
/* me-accept-entry: "MouseDPrimary";*/
|
||||||
|
/* me-accept-custom: "Control+MouseDPrimary";*/
|
||||||
|
timeout {
|
||||||
|
action: "kb-cancel";
|
||||||
|
delay: 0;
|
||||||
|
}
|
||||||
|
filebrowser {
|
||||||
|
directories-first: true;
|
||||||
|
sorting-method: "name";
|
||||||
|
}
|
||||||
|
}
|
||||||
174
private_dot_config/rofi/lunar-witch.rasi
Normal file
174
private_dot_config/rofi/lunar-witch.rasi
Normal file
|
|
@ -0,0 +1,174 @@
|
||||||
|
/**
|
||||||
|
* rofi -dump-theme output.
|
||||||
|
* Rofi version: 1.7.5+wayland2-dev
|
||||||
|
**/
|
||||||
|
* {
|
||||||
|
red: #A04558;
|
||||||
|
blue: #334773;
|
||||||
|
background: #1E1B30;
|
||||||
|
lightbg: #2A2644;
|
||||||
|
foreground: #BFBFC0;
|
||||||
|
lightfg: #BFBFC0;
|
||||||
|
spacing: 1;
|
||||||
|
selected-active-foreground: var(background);
|
||||||
|
separatorcolor: var(foreground);
|
||||||
|
urgent-foreground: var(red);
|
||||||
|
alternate-urgent-background: var(lightbg);
|
||||||
|
background-color: transparent;
|
||||||
|
border-color: var(foreground);
|
||||||
|
normal-background: var(background);
|
||||||
|
selected-urgent-background: var(red);
|
||||||
|
alternate-active-background: var(lightbg);
|
||||||
|
alternate-normal-foreground: var(foreground);
|
||||||
|
urgent-background: var(background);
|
||||||
|
selected-normal-foreground: var(lightbg);
|
||||||
|
active-foreground: var(blue);
|
||||||
|
selected-active-background: var(blue);
|
||||||
|
active-background: var(background);
|
||||||
|
selected-normal-background: var(lightfg);
|
||||||
|
alternate-normal-background: var(lightbg);
|
||||||
|
selected-urgent-foreground: var(background);
|
||||||
|
normal-foreground: var(foreground);
|
||||||
|
alternate-urgent-foreground: var(red);
|
||||||
|
alternate-active-foreground: var(blue);
|
||||||
|
}
|
||||||
|
element {
|
||||||
|
padding: 1px ;
|
||||||
|
cursor: pointer;
|
||||||
|
spacing: 5px ;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
element normal.normal {
|
||||||
|
background-color: var(normal-background);
|
||||||
|
text-color: var(normal-foreground);
|
||||||
|
}
|
||||||
|
element normal.urgent {
|
||||||
|
background-color: var(urgent-background);
|
||||||
|
text-color: var(urgent-foreground);
|
||||||
|
}
|
||||||
|
element normal.active {
|
||||||
|
background-color: var(active-background);
|
||||||
|
text-color: var(active-foreground);
|
||||||
|
}
|
||||||
|
element selected.normal {
|
||||||
|
background-color: var(selected-normal-background);
|
||||||
|
text-color: var(selected-normal-foreground);
|
||||||
|
}
|
||||||
|
element selected.urgent {
|
||||||
|
background-color: var(selected-urgent-background);
|
||||||
|
text-color: var(selected-urgent-foreground);
|
||||||
|
}
|
||||||
|
element selected.active {
|
||||||
|
background-color: var(selected-active-background);
|
||||||
|
text-color: var(selected-active-foreground);
|
||||||
|
}
|
||||||
|
element alternate.normal {
|
||||||
|
background-color: var(alternate-normal-background);
|
||||||
|
text-color: var(alternate-normal-foreground);
|
||||||
|
}
|
||||||
|
element alternate.urgent {
|
||||||
|
background-color: var(alternate-urgent-background);
|
||||||
|
text-color: var(alternate-urgent-foreground);
|
||||||
|
}
|
||||||
|
element alternate.active {
|
||||||
|
background-color: var(alternate-active-background);
|
||||||
|
text-color: var(alternate-active-foreground);
|
||||||
|
}
|
||||||
|
element-text {
|
||||||
|
background-color: transparent;
|
||||||
|
cursor: inherit;
|
||||||
|
highlight: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
element-icon {
|
||||||
|
background-color: transparent;
|
||||||
|
size: 1.0000em ;
|
||||||
|
cursor: inherit;
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
window {
|
||||||
|
padding: 5;
|
||||||
|
background-color: var(background);
|
||||||
|
border: 0;
|
||||||
|
border-radius: 8px;
|
||||||
|
}
|
||||||
|
mainbox {
|
||||||
|
padding: 0.1em;
|
||||||
|
border: 0;
|
||||||
|
}
|
||||||
|
message {
|
||||||
|
padding: 1px ;
|
||||||
|
border-color: var(separatorcolor);
|
||||||
|
border: 2px dash 0px 0px ;
|
||||||
|
}
|
||||||
|
textbox {
|
||||||
|
text-color: var(foreground);
|
||||||
|
}
|
||||||
|
listview {
|
||||||
|
padding: 2px 0px 0px ;
|
||||||
|
scrollbar: true;
|
||||||
|
border-color: var(separatorcolor);
|
||||||
|
spacing: 2px ;
|
||||||
|
fixed-height: 0;
|
||||||
|
border: 2px solid 0px 0px ;
|
||||||
|
}
|
||||||
|
scrollbar {
|
||||||
|
width: 4px ;
|
||||||
|
padding: 0;
|
||||||
|
handle-width: 8px ;
|
||||||
|
border: 0;
|
||||||
|
handle-color: var(normal-foreground);
|
||||||
|
}
|
||||||
|
sidebar {
|
||||||
|
border-color: var(separatorcolor);
|
||||||
|
border: 2px dash 0px 0px ;
|
||||||
|
}
|
||||||
|
button {
|
||||||
|
cursor: pointer;
|
||||||
|
spacing: 0;
|
||||||
|
text-color: var(normal-foreground);
|
||||||
|
}
|
||||||
|
button selected {
|
||||||
|
background-color: var(selected-normal-background);
|
||||||
|
text-color: var(selected-normal-foreground);
|
||||||
|
}
|
||||||
|
num-filtered-rows {
|
||||||
|
expand: false;
|
||||||
|
text-color: Gray;
|
||||||
|
}
|
||||||
|
num-rows {
|
||||||
|
expand: false;
|
||||||
|
text-color: Gray;
|
||||||
|
}
|
||||||
|
textbox-num-sep {
|
||||||
|
expand: false;
|
||||||
|
str: "/";
|
||||||
|
text-color: Gray;
|
||||||
|
}
|
||||||
|
inputbar {
|
||||||
|
padding: 1px ;
|
||||||
|
spacing: 0px ;
|
||||||
|
text-color: var(normal-foreground);
|
||||||
|
children: [ "prompt","textbox-prompt-colon","entry","num-filtered-rows","textbox-num-sep","num-rows","case-indicator" ];
|
||||||
|
}
|
||||||
|
case-indicator {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: var(normal-foreground);
|
||||||
|
}
|
||||||
|
entry {
|
||||||
|
text-color: var(normal-foreground);
|
||||||
|
cursor: text;
|
||||||
|
spacing: 0;
|
||||||
|
placeholder-color: Gray;
|
||||||
|
placeholder: "Type to filter";
|
||||||
|
}
|
||||||
|
prompt {
|
||||||
|
spacing: 0;
|
||||||
|
text-color: var(normal-foreground);
|
||||||
|
}
|
||||||
|
textbox-prompt-colon {
|
||||||
|
margin: 0px 0.3000em 0.0000em 0.0000em ;
|
||||||
|
expand: false;
|
||||||
|
str: ":";
|
||||||
|
text-color: inherit;
|
||||||
|
}
|
||||||
|
|
@ -32,7 +32,6 @@ apply = ["defer-medium"]
|
||||||
|
|
||||||
[plugins.zsh-autosuggestions]
|
[plugins.zsh-autosuggestions]
|
||||||
github = 'zsh-users/zsh-autosuggestions'
|
github = 'zsh-users/zsh-autosuggestions'
|
||||||
apply = ["defer"]
|
|
||||||
|
|
||||||
[plugins.bash-completions-fallback]
|
[plugins.bash-completions-fallback]
|
||||||
github = '3v1n0/zsh-bash-completions-fallback'
|
github = '3v1n0/zsh-bash-completions-fallback'
|
||||||
|
|
@ -40,19 +39,18 @@ apply = ["defer-more"]
|
||||||
|
|
||||||
[plugins.fzf-tab]
|
[plugins.fzf-tab]
|
||||||
github = 'Aloxaf/fzf-tab'
|
github = 'Aloxaf/fzf-tab'
|
||||||
apply = ["defer"]
|
|
||||||
|
|
||||||
[plugins.zsh-cargo-completion]
|
# [plugins.zsh-cargo-completion]
|
||||||
github = 'MenkeTechnologies/zsh-cargo-completion'
|
# github = 'MenkeTechnologies/zsh-cargo-completion'
|
||||||
apply = ["defer"]
|
# apply = ["defer"]
|
||||||
|
|
||||||
[plugins.click-completion]
|
[plugins.click-completion]
|
||||||
github = 'click-contrib/click-completion'
|
github = 'click-contrib/click-completion'
|
||||||
apply = ["defer"]
|
apply = ["defer"]
|
||||||
|
|
||||||
#[plugins.zsh-direnv]
|
[plugins.zsh-direnv]
|
||||||
#github = 'ptavares/zsh-direnv'
|
github = 'ptavares/zsh-direnv'
|
||||||
#apply = ["defer"]
|
apply = ["defer"]
|
||||||
|
|
||||||
[plugins.undollar]
|
[plugins.undollar]
|
||||||
github = 'zpm-zsh/undollar'
|
github = 'zpm-zsh/undollar'
|
||||||
|
|
@ -73,10 +71,6 @@ apply = ["defer"]
|
||||||
#[plugins.aliases]
|
#[plugins.aliases]
|
||||||
#remote = 'https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/aliases'
|
#remote = 'https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/aliases'
|
||||||
|
|
||||||
[plugins.zsh-vim-plugin]
|
|
||||||
github = 'nviennot/zsh-vim-plugin'
|
|
||||||
apply = ["defer"]
|
|
||||||
|
|
||||||
[plugins.docker-zsh-completion]
|
[plugins.docker-zsh-completion]
|
||||||
github = 'greymd/docker-zsh-completion'
|
github = 'greymd/docker-zsh-completion'
|
||||||
apply = ["defer"]
|
apply = ["defer"]
|
||||||
|
|
|
||||||
|
|
@ -9,12 +9,14 @@ $username\
|
||||||
[](bg:bright-red fg:bright-purple)\
|
[](bg:bright-red fg:bright-purple)\
|
||||||
$directory\
|
$directory\
|
||||||
[](fg:bright-red bg:bright-blue)\
|
[](fg:bright-red bg:bright-blue)\
|
||||||
$git_branch\
|
${custom.jj}\
|
||||||
$git_status\
|
${git_branch}\
|
||||||
$git_state\
|
${git_status}\
|
||||||
|
${git_state}\
|
||||||
[](fg:bright-blue bg:bright-cyan)\
|
[](fg:bright-blue bg:bright-cyan)\
|
||||||
$c\
|
$c\
|
||||||
$golang\
|
$golang\
|
||||||
|
$python\
|
||||||
$gradle\
|
$gradle\
|
||||||
$java\
|
$java\
|
||||||
$nodejs\
|
$nodejs\
|
||||||
|
|
@ -23,6 +25,7 @@ $rust\
|
||||||
$docker_context\
|
$docker_context\
|
||||||
[](fg:bright-green bg:bright-blue)\
|
[](fg:bright-green bg:bright-blue)\
|
||||||
$time\
|
$time\
|
||||||
|
${custom.foo}\
|
||||||
[ ](fg:bright-blue)\
|
[ ](fg:bright-blue)\
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
|
@ -61,20 +64,22 @@ CentOS = " "
|
||||||
NixOS = " "
|
NixOS = " "
|
||||||
Windows = " "
|
Windows = " "
|
||||||
Macos = ""
|
Macos = ""
|
||||||
|
Alpine = " "
|
||||||
|
|
||||||
[directory]
|
[directory]
|
||||||
style = "bg:bright-red fg:black"
|
style = "bg:bright-red fg:black"
|
||||||
format = "[ $path ]($style)"
|
format = "[ $path ]($style)"
|
||||||
truncation_length = 3
|
|
||||||
truncation_symbol = "…/"
|
truncation_symbol = "…/"
|
||||||
|
truncation_length = 1
|
||||||
|
fish_style_pwd_dir_length = 2
|
||||||
|
|
||||||
# Here is how you can shorten some long paths by text replacement
|
# Here is how you can shorten some long paths by text replacement
|
||||||
# similar to mapped_locations in Oh My Posh:
|
# similar to mapped_locations in Oh My Posh:
|
||||||
[directory.substitutions]
|
# [directory.substitutions]
|
||||||
"Documents" = " "
|
# "Documents" = " "
|
||||||
"Downloads" = " "
|
# "Downloads" = " "
|
||||||
"Music" = " "
|
# "Music" = " "
|
||||||
"Pictures" = " "
|
# "Pictures" = " "
|
||||||
# Keep in mind that the order matters. For example:
|
# Keep in mind that the order matters. For example:
|
||||||
# "Important Documents" = " "
|
# "Important Documents" = " "
|
||||||
# will not be replaced, because "Documents" was already substituted before.
|
# will not be replaced, because "Documents" was already substituted before.
|
||||||
|
|
@ -91,7 +96,6 @@ symbol = " "
|
||||||
style = "bg:bright-green fg:black"
|
style = "bg:bright-green fg:black"
|
||||||
format = '[ $symbol $context ]($style) $path'
|
format = '[ $symbol $context ]($style) $path'
|
||||||
|
|
||||||
|
|
||||||
[git_branch]
|
[git_branch]
|
||||||
symbol = ""
|
symbol = ""
|
||||||
style = "bg:bright-blue fg:black"
|
style = "bg:bright-blue fg:black"
|
||||||
|
|
@ -105,7 +109,16 @@ format = "[($hash$tag)]($style) "
|
||||||
[git_status]
|
[git_status]
|
||||||
style = "bg:bright-blue fg:black"
|
style = "bg:bright-blue fg:black"
|
||||||
format = '[$all_status$ahead_behind]($style)'
|
format = '[$all_status$ahead_behind]($style)'
|
||||||
|
renamed = ' '
|
||||||
|
stashed = ' '
|
||||||
|
modified = ' '
|
||||||
|
untracked = ''
|
||||||
|
conflicted = ''
|
||||||
|
staged = ' '
|
||||||
|
up_to_date = ' '
|
||||||
|
diverged = ''
|
||||||
|
deleted = ''
|
||||||
|
#
|
||||||
[git_state]
|
[git_state]
|
||||||
style = "bg:bright-blue fg:black"
|
style = "bg:bright-blue fg:black"
|
||||||
format = '[\($state( $progress_current of $progress_total)\)]($style)'
|
format = '[\($state( $progress_current of $progress_total)\)]($style)'
|
||||||
|
|
@ -114,21 +127,27 @@ format = '[\($state( $progress_current of $progress_total)\)]($style) '
|
||||||
symbol = ""
|
symbol = ""
|
||||||
style = "bg:bright-cyan fg:black"
|
style = "bg:bright-cyan fg:black"
|
||||||
format = '[$symbol($version) ]($style)'
|
format = '[$symbol($version) ]($style)'
|
||||||
|
version_format = "v${major}.${minor}"
|
||||||
|
|
||||||
[gradle]
|
[gradle]
|
||||||
style = "bg:bright-cyan fg:black"
|
style = "bg:bright-cyan fg:black"
|
||||||
format = '[ $symbol ($version) ]($style)'
|
format = '[($symbol$version)]($style)'
|
||||||
|
|
||||||
[java]
|
[java]
|
||||||
symbol = ""
|
symbol = ""
|
||||||
style = "bg:bright-cyan fg:black"
|
style = "bg:bright-cyan fg:black"
|
||||||
format = '[ $symbol ($version) ]($style)'
|
format = '[($symbol$version)]($style)'
|
||||||
|
|
||||||
[nodejs]
|
[nodejs]
|
||||||
symbol = ""
|
symbol = ""
|
||||||
style = "bg:bright-cyan fg:black"
|
style = "bg:bright-cyan fg:black"
|
||||||
format = '[ $symbol ($version) ]($style)'
|
format = '[ $symbol ($version) ]($style)'
|
||||||
|
|
||||||
|
[python]
|
||||||
|
symbol = ""
|
||||||
|
style = "bg:bright-cyan fg:black"
|
||||||
|
format = '[ ${symbol}${pyenv_prefix}(${version} )(\($virtualenv\))]($style)'
|
||||||
|
|
||||||
[rust]
|
[rust]
|
||||||
symbol = ""
|
symbol = ""
|
||||||
style = "bg:bright-cyan fg:black"
|
style = "bg:bright-cyan fg:black"
|
||||||
|
|
@ -144,6 +163,8 @@ format = '[ $time ]($style)'
|
||||||
bash_indicator = " "
|
bash_indicator = " "
|
||||||
powershell_indicator = " "
|
powershell_indicator = " "
|
||||||
zsh_indicator = " "
|
zsh_indicator = " "
|
||||||
|
nu_indicator = "ν"
|
||||||
|
xonsh_indicator = "🐚"
|
||||||
style = "bg:bright-purple fg:black"
|
style = "bg:bright-purple fg:black"
|
||||||
format = '[$indicator]($style)'
|
format = '[$indicator]($style)'
|
||||||
disabled = false
|
disabled = false
|
||||||
|
|
@ -152,12 +173,11 @@ disabled = false
|
||||||
format = "[ $duration]($style)"
|
format = "[ $duration]($style)"
|
||||||
style = "fg:black bg:bright-blue"
|
style = "fg:black bg:bright-blue"
|
||||||
show_milliseconds = true
|
show_milliseconds = true
|
||||||
show_notifications = true
|
|
||||||
|
|
||||||
[status]
|
[status]
|
||||||
disabled=false
|
disabled=false
|
||||||
style="fg:black bg:bright-red"
|
style="fg:black bg:bright-red"
|
||||||
symbol=""
|
symbol=" "
|
||||||
# success_symbol=""
|
# success_symbol=""
|
||||||
format = "[ $symbol$status]($style)"
|
format = "[ $symbol$status]($style)"
|
||||||
|
|
||||||
|
|
@ -165,3 +185,59 @@ format = "[ $symbol $status ]($style)"
|
||||||
style="bg:bright-blue fg:black"
|
style="bg:bright-blue fg:black"
|
||||||
ssh_symbol="@"
|
ssh_symbol="@"
|
||||||
format='[ $ssh_symbol$hostname ]($style)'
|
format='[ $ssh_symbol$hostname ]($style)'
|
||||||
|
|
||||||
|
[sudo]
|
||||||
|
style="bg:bright-blue fg:black"
|
||||||
|
disabled = false
|
||||||
|
symbol=" "
|
||||||
|
format = "[ $symbol]($style)"
|
||||||
|
|
||||||
|
|
||||||
|
# custom module for jj status
|
||||||
|
[custom.jj]
|
||||||
|
description = "The current jj status"
|
||||||
|
when = "jj --ignore-working-copy root"
|
||||||
|
symbol = "🥋 "
|
||||||
|
shell = ["starship-jj", "starship", "prompt", "--ignore-working-copy"]
|
||||||
|
disabled = true
|
||||||
|
|
||||||
|
# command = '''
|
||||||
|
# jj log --revisions @ --no-graph --ignore-working-copy --color always --limit 1 --template '
|
||||||
|
# separate(" ",
|
||||||
|
# change_id.shortest(4),
|
||||||
|
# bookmarks,
|
||||||
|
# "|",
|
||||||
|
# concat(
|
||||||
|
# if(conflict, "💥"),
|
||||||
|
# if(divergent, "🚧"),
|
||||||
|
# if(hidden, "👻"),
|
||||||
|
# if(immutable, "🔒"),
|
||||||
|
# ),
|
||||||
|
# raw_escape_sequence("\x1b[1;32m") ++ if(empty, "(empty)"),
|
||||||
|
# raw_escape_sequence("\x1b[1;32m") ++ coalesce(
|
||||||
|
# truncate_end(29, description.first_line(), "…"),
|
||||||
|
# "(no description set)",
|
||||||
|
# ) ++ raw_escape_sequence("\x1b[0m"),
|
||||||
|
# )
|
||||||
|
# '
|
||||||
|
# '''
|
||||||
|
# [custom.git_status]
|
||||||
|
# ignore_timeout = true
|
||||||
|
# when = "bash -c'starship-jj --ignore-working-copy root'"
|
||||||
|
# command = "starship module git_status"
|
||||||
|
# description = "Only show git_status if we're not in a jj repo"
|
||||||
|
# style = "bg:bright-blue fg:black"
|
||||||
|
# format = 'jjs: [$output ]($style)'
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# [custom.git_branch]
|
||||||
|
# command = "starship module git_branch"
|
||||||
|
# when = "bash -c'jj --ignore-working-copy root'"
|
||||||
|
# style = "bg:bright-blue fg:black"
|
||||||
|
# format = 'jjb: [$output ]($style)'
|
||||||
|
#
|
||||||
|
# [custom.git_state]
|
||||||
|
# command = "starship module git_state"
|
||||||
|
# when = "bash -c'jj --ignore-working-copy root'"
|
||||||
|
# style = "bg:bright-blue fg:black"
|
||||||
|
# format = 'jjst: [$output ]($style)'
|
||||||
|
|
|
||||||
59
private_dot_config/sway/config
Normal file
59
private_dot_config/sway/config
Normal file
|
|
@ -0,0 +1,59 @@
|
||||||
|
include /etc/sway/config.d/*
|
||||||
|
include /etc/sway/config.d/50-systemd-user.conf
|
||||||
|
set $mod Mod4
|
||||||
|
|
||||||
|
include "theme"
|
||||||
|
include "wayland"
|
||||||
|
include "outputs"
|
||||||
|
# Font for window titles. Will also be used by the bar unless a different font
|
||||||
|
# is used in the bar {} block below.
|
||||||
|
|
||||||
|
# Use Mouse+$mod to drag floating windows to their wanted position
|
||||||
|
floating_modifier $mod
|
||||||
|
|
||||||
|
|
||||||
|
for_window [app_id="flameshot"] border pixel 0, floating enable, fullscreen disable, move absolute position 0 0
|
||||||
|
# Define names for default workspaces for which we configure key bindings later on.
|
||||||
|
# We use variables to avoid repeating the names in multiple places.
|
||||||
|
set $ws1 "1"
|
||||||
|
set $ws2 "2"
|
||||||
|
set $ws3 "3"
|
||||||
|
set $ws4 "4"
|
||||||
|
set $ws5 "5"
|
||||||
|
set $ws6 "6"
|
||||||
|
set $ws7 "7"
|
||||||
|
set $ws8 "8"
|
||||||
|
set $ws9 "9"
|
||||||
|
set $ws10 "10"
|
||||||
|
|
||||||
|
set $ws21 "21"
|
||||||
|
set $ws22 "22"
|
||||||
|
set $ws23 "23"
|
||||||
|
set $ws24 "24"
|
||||||
|
set $ws25 "25"
|
||||||
|
set $ws26 "26"
|
||||||
|
set $ws27 "27"
|
||||||
|
set $ws28 "28"
|
||||||
|
set $ws29 "29"
|
||||||
|
set $ws20 "20"
|
||||||
|
exec_always systemctl --user import-environment WAYLAND_DISPLAY XDG_CURRENT_DESKTOP
|
||||||
|
exec_always dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
|
||||||
|
|
||||||
|
include "keybinds"
|
||||||
|
|
||||||
|
#border size
|
||||||
|
default_border normal 1
|
||||||
|
|
||||||
|
gaps inner 5
|
||||||
|
# polkit
|
||||||
|
exec_always --no-startup-id /usr/bin/lxpolkit
|
||||||
|
exec_always --no-startup-id /usr/bin/lxqt-policykit-agent
|
||||||
|
#notif daemon
|
||||||
|
# exec dunst
|
||||||
|
exec mako
|
||||||
|
# exec_always fcitx5
|
||||||
|
exec wl-paste --watch cliphist store
|
||||||
|
exec gnome-keyring-daemon -r
|
||||||
|
exec ~/.config/swhkd/hotkeys.sh
|
||||||
|
exec udiskie
|
||||||
|
exec nm-tray
|
||||||
146
private_dot_config/sway/i3blocks.conf
Normal file
146
private_dot_config/sway/i3blocks.conf
Normal file
|
|
@ -0,0 +1,146 @@
|
||||||
|
# i3blocks config file
|
||||||
|
#
|
||||||
|
# Please see man i3blocks for a complete reference!
|
||||||
|
# The man page is also hosted at http://vivien.github.io/i3blocks
|
||||||
|
#
|
||||||
|
# List of valid properties:
|
||||||
|
#
|
||||||
|
# align
|
||||||
|
# color
|
||||||
|
# command
|
||||||
|
# full_text
|
||||||
|
# instance
|
||||||
|
# interval
|
||||||
|
# label
|
||||||
|
# min_width
|
||||||
|
# name
|
||||||
|
# separator
|
||||||
|
# separator_block_width
|
||||||
|
# short_text
|
||||||
|
# signal
|
||||||
|
# urgent
|
||||||
|
|
||||||
|
# Global properties
|
||||||
|
#
|
||||||
|
# The top properties below are applied to every block, but can be overridden.
|
||||||
|
# Each block command defaults to the script name to avoid boilerplate.
|
||||||
|
command=~/.config/i3blocks/$BLOCK_NAME/$BLOCK_NAME
|
||||||
|
separator_block_width=15
|
||||||
|
markup=none
|
||||||
|
|
||||||
|
# Volume indicator
|
||||||
|
#
|
||||||
|
# The first parameter sets the step (and units to display)
|
||||||
|
# The second parameter overrides the mixer selection
|
||||||
|
# See the script for details.
|
||||||
|
[volume-pipewire]
|
||||||
|
interval=persist
|
||||||
|
signal=1
|
||||||
|
AUDIO_HIGH_SYMBOL=
|
||||||
|
AUDIO_MED_SYMBOL=
|
||||||
|
AUDIO_LOW_SYMBOL=
|
||||||
|
AUDIO_MUTED_SYMBOL=
|
||||||
|
SUBSCRIBE=1
|
||||||
|
LONG_FORMAT=${SYMB} ${VOL}%
|
||||||
|
|
||||||
|
# Memory usage
|
||||||
|
#
|
||||||
|
# The type defaults to "mem" if the instance is not specified.
|
||||||
|
[memory]
|
||||||
|
label=
|
||||||
|
separator=false
|
||||||
|
interval=30
|
||||||
|
|
||||||
|
[memory]
|
||||||
|
label=
|
||||||
|
instance=swap
|
||||||
|
separator=true
|
||||||
|
interval=30
|
||||||
|
|
||||||
|
# Disk usage
|
||||||
|
#
|
||||||
|
# The directory defaults to $HOME if the instance is not specified.
|
||||||
|
# The script may be called with a optional argument to set the alert
|
||||||
|
# (defaults to 10 for 10%).
|
||||||
|
[disk]
|
||||||
|
label=
|
||||||
|
separator=false
|
||||||
|
#instance=/mnt/data
|
||||||
|
interval=30
|
||||||
|
|
||||||
|
[disk]
|
||||||
|
markup=pango
|
||||||
|
label=
|
||||||
|
instance=/
|
||||||
|
interval=30
|
||||||
|
# Network interface monitoring
|
||||||
|
#
|
||||||
|
# If the instance is not specified, use the interface used for default route.
|
||||||
|
# The address can be forced to IPv4 or IPv6 with -4 or -6 switches.
|
||||||
|
[iface]
|
||||||
|
color=#A0DC9B
|
||||||
|
interval=10
|
||||||
|
separator=false
|
||||||
|
|
||||||
|
[wifi]
|
||||||
|
interval=10
|
||||||
|
COLOR_GE80=#A0DC9B
|
||||||
|
COLOR_GE60=#C1B254
|
||||||
|
COLOR_GE40=#EAA950
|
||||||
|
COLOR_LOWR=#EE5E95
|
||||||
|
COLOR_DOWN=#A04558
|
||||||
|
|
||||||
|
# Battery indicator
|
||||||
|
#
|
||||||
|
# The battery instance defaults to 0.
|
||||||
|
[battery]
|
||||||
|
label=
|
||||||
|
instance=1
|
||||||
|
interval=30
|
||||||
|
|
||||||
|
# Temperature
|
||||||
|
#
|
||||||
|
# Support multiple chips, though lm-sensors.
|
||||||
|
# The script may be called with -w and -c switches to specify thresholds,
|
||||||
|
# see the script for details.
|
||||||
|
# [temperature]
|
||||||
|
# label=🌡️
|
||||||
|
# interval=10
|
||||||
|
# SENSOR_CHIP='k10temp-pci-00c3'
|
||||||
|
|
||||||
|
# Date Time
|
||||||
|
#
|
||||||
|
[time]
|
||||||
|
command=date '+%a %b %_d %Y %l:%M:%S'
|
||||||
|
interval=1
|
||||||
|
|
||||||
|
# Generic media player support
|
||||||
|
#
|
||||||
|
# This displays "ARTIST - SONG" if a music is playing.
|
||||||
|
# Supported players are: spotify, vlc, audacious, xmms2, mplayer, and others.
|
||||||
|
#[mediaplayer]
|
||||||
|
#instance=spotify
|
||||||
|
#interval=5
|
||||||
|
#signal=10
|
||||||
|
|
||||||
|
# OpenVPN support
|
||||||
|
#
|
||||||
|
# Support multiple VPN, with colors.
|
||||||
|
#[openvpn]
|
||||||
|
#interval=20
|
||||||
|
|
||||||
|
# Key indicators
|
||||||
|
#
|
||||||
|
# Add the following bindings to i3 config file:
|
||||||
|
#
|
||||||
|
# bindsym --release Caps_Lock exec pkill -SIGRTMIN+11 i3blocks
|
||||||
|
# bindsym --release Num_Lock exec pkill -SIGRTMIN+11 i3blocks
|
||||||
|
#[keyindicator]
|
||||||
|
#instance=CAPS
|
||||||
|
#interval=once
|
||||||
|
#signal=11
|
||||||
|
|
||||||
|
#[keyindicator]
|
||||||
|
#instance=NUM
|
||||||
|
#interval=once
|
||||||
|
#signal=11
|
||||||
175
private_dot_config/sway/keybinds
Normal file
175
private_dot_config/sway/keybinds
Normal file
|
|
@ -0,0 +1,175 @@
|
||||||
|
# start a terminal
|
||||||
|
bindsym $mod+Return exec ghostty
|
||||||
|
|
||||||
|
# kill focused window
|
||||||
|
bindsym $mod+Shift+q kill
|
||||||
|
|
||||||
|
# change focus
|
||||||
|
bindsym $mod+j focus left
|
||||||
|
bindsym $mod+k focus down
|
||||||
|
bindsym $mod+l focus up
|
||||||
|
bindsym $mod+semicolon focus right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Left focus left
|
||||||
|
bindsym $mod+Down focus down
|
||||||
|
bindsym $mod+Up focus up
|
||||||
|
bindsym $mod+Right focus right
|
||||||
|
|
||||||
|
# move focused window
|
||||||
|
bindsym $mod+Shift+j move left
|
||||||
|
bindsym $mod+Shift+k move down
|
||||||
|
bindsym $mod+Shift+l move up
|
||||||
|
bindsym $mod+Shift+semicolon move right
|
||||||
|
|
||||||
|
# alternatively, you can use the cursor keys:
|
||||||
|
bindsym $mod+Shift+Left move left
|
||||||
|
bindsym $mod+Shift+Down move down
|
||||||
|
bindsym $mod+Shift+Up move up
|
||||||
|
bindsym $mod+Shift+Right move right
|
||||||
|
|
||||||
|
# split in horizontal orientation
|
||||||
|
bindsym $mod+h split h
|
||||||
|
|
||||||
|
# split in vertical orientation
|
||||||
|
bindsym $mod+v split v
|
||||||
|
|
||||||
|
# enter fullscreen mode for the focused container
|
||||||
|
bindsym $mod+f fullscreen toggle
|
||||||
|
|
||||||
|
# change container layout (stacked, tabbed, toggle split)
|
||||||
|
bindsym $mod+s layout stacking
|
||||||
|
bindsym $mod+w layout tabbed
|
||||||
|
bindsym $mod+e layout toggle split
|
||||||
|
|
||||||
|
# toggle tiling / floating
|
||||||
|
bindsym $mod+Shift+space floating toggle
|
||||||
|
|
||||||
|
# change focus between tiling / floating windows
|
||||||
|
#bindsym $mod+space focus mode_toggle
|
||||||
|
|
||||||
|
# focus the parent container
|
||||||
|
bindsym $mod+a focus parent
|
||||||
|
|
||||||
|
# focus the child container
|
||||||
|
bindsym $mod+d focus child
|
||||||
|
# switch to workspace
|
||||||
|
bindsym $mod+1 workspace $ws1
|
||||||
|
bindsym $mod+2 workspace $ws2
|
||||||
|
bindsym $mod+3 workspace $ws3
|
||||||
|
bindsym $mod+4 workspace $ws4
|
||||||
|
bindsym $mod+5 workspace $ws5
|
||||||
|
bindsym $mod+6 workspace $ws6
|
||||||
|
bindsym $mod+7 workspace $ws7
|
||||||
|
bindsym $mod+8 workspace $ws8
|
||||||
|
bindsym $mod+9 workspace $ws9
|
||||||
|
bindsym $mod+0 workspace $ws10
|
||||||
|
|
||||||
|
|
||||||
|
bindsym $mod+Mod2+KP_1 workspace $ws21
|
||||||
|
bindsym $mod+Mod2+KP_2 workspace $ws22
|
||||||
|
bindsym $mod+Mod2+KP_3 workspace $ws23
|
||||||
|
bindsym $mod+Mod2+KP_4 workspace $ws24
|
||||||
|
bindsym $mod+Mod2+KP_5 workspace $ws25
|
||||||
|
bindsym $mod+Mod2+KP_6 workspace $ws26
|
||||||
|
bindsym $mod+Mod2+KP_7 workspace $ws27
|
||||||
|
bindsym $mod+Mod2+KP_8 workspace $ws28
|
||||||
|
bindsym $mod+Mod2+KP_9 workspace $ws29
|
||||||
|
bindsym $mod+Mod2+KP_0 workspace $ws20
|
||||||
|
|
||||||
|
# move focused container to workspace
|
||||||
|
bindsym $mod+Shift+1 move container to workspace $ws1
|
||||||
|
bindsym $mod+Shift+2 move container to workspace $ws2
|
||||||
|
bindsym $mod+Shift+3 move container to workspace $ws3
|
||||||
|
bindsym $mod+Shift+4 move container to workspace $ws4
|
||||||
|
bindsym $mod+Shift+5 move container to workspace $ws5
|
||||||
|
bindsym $mod+Shift+6 move container to workspace $ws6
|
||||||
|
bindsym $mod+Shift+7 move container to workspace $ws7
|
||||||
|
bindsym $mod+Shift+8 move container to workspace $ws8
|
||||||
|
bindsym $mod+Shift+9 move container to workspace $ws9
|
||||||
|
bindsym $mod+Shift+0 move container to workspace $ws10
|
||||||
|
|
||||||
|
bindsym $mod+Shift+Mod2+KP_End move container to workspace $ws21
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Down move container to workspace $ws22
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Next move container to workspace $ws23
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Left move container to workspace $ws24
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Begin move container to workspace $ws25
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Right move container to workspace $ws26
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Home move container to workspace $ws27
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Up move container to workspace $ws28
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Prior move container to workspace $ws29
|
||||||
|
bindsym $mod+Shift+Mod2+KP_Insert move container to workspace $ws20
|
||||||
|
|
||||||
|
# reload the configuration file
|
||||||
|
bindsym $mod+Shift+c reload
|
||||||
|
|
||||||
|
|
||||||
|
# resize window (you can also use the mouse for that)
|
||||||
|
mode "resize" {
|
||||||
|
# These bindings trigger as soon as you enter the resize mode
|
||||||
|
|
||||||
|
# Pressing left will shrink the window’s width.
|
||||||
|
# Pressing right will grow the window’s width.
|
||||||
|
# Pressing up will shrink the window’s height.
|
||||||
|
# Pressing down will grow the window’s height.
|
||||||
|
bindsym j resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym k resize grow height 10 px or 10 ppt
|
||||||
|
bindsym l resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym semicolon resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# same bindings, but for the arrow keys
|
||||||
|
bindsym Left resize shrink width 10 px or 10 ppt
|
||||||
|
bindsym Down resize grow height 10 px or 10 ppt
|
||||||
|
bindsym Up resize shrink height 10 px or 10 ppt
|
||||||
|
bindsym Right resize grow width 10 px or 10 ppt
|
||||||
|
|
||||||
|
# back to normal: Enter or Escape or $mod+r
|
||||||
|
bindsym Return mode "default"
|
||||||
|
bindsym Escape mode "default"
|
||||||
|
bindsym $mod+r mode "default"
|
||||||
|
}
|
||||||
|
|
||||||
|
bindsym $mod+r mode "resize"
|
||||||
|
|
||||||
|
# Make the currently focused window a scratchpad
|
||||||
|
bindsym $mod+Shift+minus move scratchpad
|
||||||
|
|
||||||
|
# Show the first scratchpad window
|
||||||
|
bindsym $mod+minus scratchpad show
|
||||||
|
|
||||||
|
#move to other monitor
|
||||||
|
bindsym $mod+x move container to output right
|
||||||
|
bindsym $mod+z move workspace to output right
|
||||||
|
bindsym $mod+n move container to output down
|
||||||
|
bindsym $mod+m move workspace to output down
|
||||||
|
|
||||||
|
bindsym $mod+Shift+x move container to output left
|
||||||
|
bindsym $mod+Shift+z move workspace to output left
|
||||||
|
bindsym $mod+Shift+n move container to output up
|
||||||
|
bindsym $mod+Shift+m move workspace to output up
|
||||||
|
|
||||||
|
# Pipewire controls
|
||||||
|
bindsym XF86AudioRaiseVolume exec pactl set-sink-volume @DEFAULT_SINK@ +5%
|
||||||
|
bindsym XF86AudioLowerVolume exec pactl set-sink-volume @DEFAULT_SINK@ -5%
|
||||||
|
bindsym XF86AudioMute exec pactl set-sink-mute @DEFAULT_SINK@ toggle
|
||||||
|
bindsym XF86AudioPlay exec playerctl play-pause
|
||||||
|
bindsym XF86AudioNext exec playerctl next
|
||||||
|
bindsym XF86AudioPrev exec playerctl previous
|
||||||
|
|
||||||
|
# Sreen brightness controls
|
||||||
|
bindsym XF86MonBrightnessUp exec brightnessctl -e s 5%+
|
||||||
|
bindsym XF86MonBrightnessDown exec brightnessctl -e s 5%-
|
||||||
|
|
||||||
|
|
||||||
|
bindsym $mod+b exec xdg-open http://
|
||||||
|
# bindsym $mod+Shift+e exec zsh -c "rofi -show p -modi p:'rofi-power-menu --symbols-font \"Symbols Nerd Font Mono\"' -theme lunar-witch"
|
||||||
|
bindsym $mod+Shift+e exec zsh -c "rofi -show p -modi p:'rofi-power-menu' -theme lunar-witch"
|
||||||
|
bindsym $mod+space exec zsh -c "rofi -combi-modi 'drun#run' -show combi -show-icons -theme lunar-witch"
|
||||||
|
|
||||||
|
bindsym Print exec zsh -c 'grim - | tee "$XDG_PICTURES_DIR/screenshots/$(date -Is).png" | wl-copy -t image/png'
|
||||||
|
bindsym Shift+Print exec zsh -c 'grim -g "$(slurp)" - | tee "$XDG_PICTURES_DIR/screenshots/$(date -Is).png" | wl-copy -t image/png'
|
||||||
|
bindsym Ctrl+Print exec TEMP=$(mktemp); grim -g "$(slurp)" $TEMP && notify-send "$TEMP" && flatpak run org.gimp.GIMP -- $TEMP
|
||||||
|
|
||||||
|
bindsym $mod+Shift+v exec cliphist list | rofi -dmenu -display-columns 2 -p "Select item to copy" -lines 10 -width 35 -theme lunar-witch | cliphist decode | wl-copy
|
||||||
|
|
||||||
|
# bindsym $mod+Shift+. exec rofi -show emoji -modi emoji -theme lunar-witch | cb
|
||||||
36
private_dot_config/sway/theme
Normal file
36
private_dot_config/sway/theme
Normal file
|
|
@ -0,0 +1,36 @@
|
||||||
|
# Colors
|
||||||
|
set $fg #EBF6FF
|
||||||
|
set $bg #74689F
|
||||||
|
set $inactive #1E1B30
|
||||||
|
set $urgent #A04558
|
||||||
|
# class border backgr. text indicator child_border
|
||||||
|
client.focused $bg $bg $fg $bg $bg
|
||||||
|
client.focused_inactive $inactive $inactive $fg $bg $bg
|
||||||
|
client.unfocused $inactive $inactive $fg $bg $bg
|
||||||
|
client.urgent $urgent $urgent $fg $bg $bg
|
||||||
|
client.placeholder $bg $bg $fg $bg $bg
|
||||||
|
client.background $bg
|
||||||
|
|
||||||
|
# font pango:Atkinson Hyperlegible bold 9
|
||||||
|
# font pango:FOT-UDKakugo_Large Pr6N semibold 10
|
||||||
|
font pango:Berkeley Mono Bold 11
|
||||||
|
|
||||||
|
bar {
|
||||||
|
status_command i3blocks -c ~/.config/sway/i3blocks.conf
|
||||||
|
# font pango:MonaspiceNe NF, CommitMono Nerd Font, FontAwesome 9
|
||||||
|
font pango:Berkeley Mono bold 11
|
||||||
|
#mode hide
|
||||||
|
colors {
|
||||||
|
background $inactive
|
||||||
|
statusline $fg
|
||||||
|
separator $fg
|
||||||
|
|
||||||
|
focused_workspace $bg $bg $fg
|
||||||
|
active_workspace $inactive $inactive $fg
|
||||||
|
inactive_workspace $inactive $inactive $fg
|
||||||
|
urgent_workspace $urgent $urgent $fg
|
||||||
|
binding_mode $urgent $urgent $fg
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
22
private_dot_config/sway/wayland
Normal file
22
private_dot_config/sway/wayland
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
# Sway specific config
|
||||||
|
# Logout
|
||||||
|
# bindsym $mod+Shift+e exec "swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit Sway?' -B 'Yes, exit Sway' 'swaymsg exit'"
|
||||||
|
|
||||||
|
# screenshots
|
||||||
|
# bindsym --release Print exec grimshot --notify copy
|
||||||
|
# bindsym --release Shift+Print exec grimshot --notify copy anything
|
||||||
|
|
||||||
|
# Touchpad controls
|
||||||
|
input "2362:628:PIXA3854:00_093A:0274_Touchpad" {
|
||||||
|
tap enabled
|
||||||
|
natural_scroll enabled
|
||||||
|
}
|
||||||
|
|
||||||
|
#Set up monitors
|
||||||
|
# output eDP-1 res 2256x1504 scale 1.00
|
||||||
|
|
||||||
|
#Wallpaper
|
||||||
|
output * bg ~/00 Setup/wallpaper.png fill
|
||||||
|
|
||||||
|
# TODO setup tablet
|
||||||
|
exec ~/tablet.sh
|
||||||
10
private_dot_config/systemd/user/hotkeys.service
Normal file
10
private_dot_config/systemd/user/hotkeys.service
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
[Unit]
|
||||||
|
Description=swhkd hotkey daemon
|
||||||
|
BindsTo=default.target
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=simple
|
||||||
|
ExecStart=bash -l $HOME/.config/swhkd/hotkeys.sh
|
||||||
|
[Install]
|
||||||
|
WantedBy=default.target
|
||||||
|
|
||||||
57
private_dot_config/tmux/executable_tmux.conf
Normal file
57
private_dot_config/tmux/executable_tmux.conf
Normal file
|
|
@ -0,0 +1,57 @@
|
||||||
|
# Tell tmux to use 256-color internally
|
||||||
|
set -ga terminal-overrides ",xterm-256color:Tc"
|
||||||
|
|
||||||
|
# use C-a as prefix
|
||||||
|
set-option -g prefix C-a
|
||||||
|
bind-key a send-prefix
|
||||||
|
|
||||||
|
# C-a C-a for last window
|
||||||
|
bind-key C-a last-window
|
||||||
|
|
||||||
|
# 1-index windows
|
||||||
|
set -g base-index 1
|
||||||
|
|
||||||
|
# no delay after prefix
|
||||||
|
set -s escape-time 0
|
||||||
|
|
||||||
|
# resize to smallest active client
|
||||||
|
setw -g aggressive-resize on
|
||||||
|
|
||||||
|
# Set status bar
|
||||||
|
set -g status-bg black
|
||||||
|
set -g status-fg white
|
||||||
|
set -g status-left ""
|
||||||
|
set -g status-right "#[fg=green]#H"
|
||||||
|
|
||||||
|
# vi bindings
|
||||||
|
setw -g mode-keys vi
|
||||||
|
|
||||||
|
# mouse enable
|
||||||
|
set -g mouse on
|
||||||
|
|
||||||
|
# split panes using | and -
|
||||||
|
bind | split-window -h
|
||||||
|
bind h split-window -h
|
||||||
|
bind - split-window -v
|
||||||
|
bind v split-window -v
|
||||||
|
unbind '"'
|
||||||
|
unbind %
|
||||||
|
|
||||||
|
# switch panes using Alt-arrow without prefix
|
||||||
|
bind -n M-Left select-pane -L
|
||||||
|
bind -n M-Right select-pane -R
|
||||||
|
bind -n M-Up select-pane -U
|
||||||
|
bind -n M-Down select-pane -D
|
||||||
|
|
||||||
|
bind-key -n C-Space new-window
|
||||||
|
bind-key -n C-S-Left prev
|
||||||
|
bind-key -n C-S-Right next
|
||||||
|
# bind -n C-left swap-window -t -1
|
||||||
|
# bind -n C-right swap-window -t +1
|
||||||
|
|
||||||
|
# reload config file (change file location to your the tmux.conf you want to use)
|
||||||
|
bind r source-file "$XDG_CONFIG_HOME/tmux.conf"
|
||||||
|
|
||||||
|
# don't rename windows automatically
|
||||||
|
set-option -g allow-rename off
|
||||||
|
set -g set-clipboard on
|
||||||
1
private_dot_config/user-dirs.locale
Normal file
1
private_dot_config/user-dirs.locale
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
en_US
|
||||||
48
private_dot_config/vim/vim.md
Normal file
48
private_dot_config/vim/vim.md
Normal file
|
|
@ -0,0 +1,48 @@
|
||||||
|
# General Plugins
|
||||||
|
## [Goyo] (https://github.com/junegunn/goyo.vim)
|
||||||
|
- TODO
|
||||||
|
|
||||||
|
## [Easymotion] (https://github.com/easymotion/vim-easymotion)
|
||||||
|
- `\\w` lets you jump to any word ahead
|
||||||
|
- `\\b` is backwards
|
||||||
|
- `\\{h,j,k,l}` jump in a direction (doesn't work with arrow keys)
|
||||||
|
- `\\f<char>` lets you jump to instances of `<char`
|
||||||
|
|
||||||
|
## [Ranger] (https://github.com/francoiscabrol/ranger.vim)
|
||||||
|
- Requires ranger to be installed
|
||||||
|
- `\f` to open ranger
|
||||||
|
- `:RangerNewTab` to open selected file in new tab
|
||||||
|
|
||||||
|
## [Signify] (https://github.com/mhinz/vim-signify)
|
||||||
|
- TODO
|
||||||
|
|
||||||
|
## [Lightline] (https://github.com/itchyny/lightline.vim)
|
||||||
|
- TODO
|
||||||
|
|
||||||
|
## [DelimitMate] (https://github.com/Raimondi/delimitMate)
|
||||||
|
- TODO
|
||||||
|
|
||||||
|
## [LanguageClient] (https://github.com/autozimu/LanguageClient-neovim)
|
||||||
|
- TODO
|
||||||
|
|
||||||
|
## [Commentary] (https://github.com/tpope/vim-commentary)
|
||||||
|
- `gcc`: toggle comment line
|
||||||
|
- `gc<motion>`: toggle comment on motion
|
||||||
|
|
||||||
|
## [NerdTree] ()
|
||||||
|
- TODO
|
||||||
|
|
||||||
|
## [NerdTree Tabs] ()
|
||||||
|
- TODO
|
||||||
|
|
||||||
|
## [Grep] ()
|
||||||
|
- TODO
|
||||||
|
|
||||||
|
## [CSApprox] ()
|
||||||
|
- TODO
|
||||||
|
|
||||||
|
## [Tagbar] ()
|
||||||
|
- TODO
|
||||||
|
|
||||||
|
## [indentline] ()
|
||||||
|
- TODO
|
||||||
|
|
@ -1,37 +1,96 @@
|
||||||
" Install vim-plug if not found
|
" Install vim-plug if not found
|
||||||
if empty(glob('~/.vim/autoload/plug.vim'))
|
if empty(glob('~/.config/vim/autoload/plug.vim'))
|
||||||
silent !curl -fLo ~/.vim/autoload/plug.vim --create-dirs
|
silent !curl -fLo ~/.config/vim/autoload/plug.vim --create-dirs
|
||||||
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
\ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||||
endif
|
endif
|
||||||
|
if empty(glob('~/.local/share/nvim/site/autoload/plug.vim'))
|
||||||
|
silent !curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
|
||||||
|
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
set laststatus=2 "lightline requires it?
|
set laststatus=2 "lightline requires it?
|
||||||
"Setup Plugins
|
"Setup Plugins
|
||||||
call plug#begin()
|
call plug#begin()
|
||||||
|
|
||||||
|
"*********************
|
||||||
|
" General Plugins
|
||||||
|
"*********************
|
||||||
|
|
||||||
|
"distraction free writing
|
||||||
Plug 'junegunn/goyo.vim'
|
Plug 'junegunn/goyo.vim'
|
||||||
|
|
||||||
|
"ranger - file manager
|
||||||
Plug 'francoiscabrol/ranger.vim'
|
Plug 'francoiscabrol/ranger.vim'
|
||||||
Plug 'rbgrouleff/bclose.vim'
|
|
||||||
Plug 'airblade/vim-gitgutter' "may cause lag
|
" Easymotion
|
||||||
Plug 'iamcco/markdown-preview.nvim', { 'do': 'cd app && yarn install' }
|
Plug 'easymotion/vim-easymotion'
|
||||||
|
let g:EasyMotion_smartcase = 1
|
||||||
|
|
||||||
|
" Signify - show vcs changes
|
||||||
|
if has('nvim') || has('patch-8.0.902')
|
||||||
|
Plug 'mhinz/vim-signify'
|
||||||
|
set updatetime=100
|
||||||
|
else
|
||||||
|
Plug 'mhinz/vim-signify', { 'tag': 'legacy' }
|
||||||
|
endif
|
||||||
|
|
||||||
" Line
|
" Line
|
||||||
Plug 'itchyny/lightline.vim'
|
Plug 'itchyny/lightline.vim'
|
||||||
Plug 'cespare/vim-toml'
|
|
||||||
"pywal
|
" LSP Server
|
||||||
if has('wal')
|
Plug 'autozimu/LanguageClient-neovim', {
|
||||||
Plug 'dylanaraps/wal.vim'
|
\ 'branch': 'next',
|
||||||
endif
|
\ 'do': 'bash install.sh',
|
||||||
|
\ }
|
||||||
|
|
||||||
|
" FZF
|
||||||
|
Plug 'junegunn/fzf'
|
||||||
|
|
||||||
|
" Async.vim - backport nvim async to vim
|
||||||
|
Plug 'prabirshrestha/async.vim'
|
||||||
|
|
||||||
"Auto add delimiters
|
"Auto add delimiters
|
||||||
Plug 'Raimondi/delimitMate'
|
Plug 'Raimondi/delimitMate'
|
||||||
|
|
||||||
"Linting
|
"Linting
|
||||||
Plug 'dense-analysis/ale'
|
"Plug 'dense-analysis/ale'
|
||||||
|
|
||||||
" Commenting
|
" Commenting
|
||||||
Plug 'tpope/vim-commentary'
|
Plug 'tpope/vim-commentary'
|
||||||
|
|
||||||
|
"Copy using OSC52
|
||||||
|
Plug 'ojroques/vim-oscyank', {'branch': 'main'}
|
||||||
|
|
||||||
|
Plug 'scrooloose/nerdtree'
|
||||||
|
Plug 'jistr/vim-nerdtree-tabs'
|
||||||
|
Plug 'vim-scripts/grep.vim'
|
||||||
|
Plug 'vim-scripts/CSApprox'
|
||||||
|
Plug 'majutsushi/tagbar'
|
||||||
|
Plug 'Yggdroot/indentLine'
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
"*********************
|
||||||
|
" Language Specific
|
||||||
|
"*********************
|
||||||
|
|
||||||
" c
|
" c
|
||||||
Plug 'vim-scripts/c.vim', {'for': ['c', 'cpp']}
|
Plug 'vim-scripts/c.vim', {'for': ['c', 'cpp']}
|
||||||
Plug 'ludwig/split-manpage.vim'
|
|
||||||
|
" go
|
||||||
|
Plug 'fatih/vim-go', {'do': ':GoInstallBinaries', 'for': 'go'}
|
||||||
|
|
||||||
|
" html
|
||||||
|
Plug 'hail2u/vim-css3-syntax', {'for': ['html','css']}
|
||||||
|
Plug 'gko/vim-coloresque'
|
||||||
|
Plug 'skammer/vim-css-color'
|
||||||
|
Plug 'tpope/vim-haml', {'for': 'html'}
|
||||||
|
Plug 'mattn/emmet-vim', {'for': 'html'}
|
||||||
|
|
||||||
|
" javascript
|
||||||
|
"" Javascript Bundle
|
||||||
|
Plug 'jelera/vim-javascript-syntax'
|
||||||
|
|
||||||
" latex
|
" latex
|
||||||
if has('nvim')
|
if has('nvim')
|
||||||
|
|
@ -43,45 +102,29 @@ if has('nvim')
|
||||||
let g:tex_conceal='abdmg'
|
let g:tex_conceal='abdmg'
|
||||||
endif
|
endif
|
||||||
|
|
||||||
" haskell
|
|
||||||
"" Haskell Bundle
|
|
||||||
Plug 'eagletmt/neco-ghc', {'for': 'haskell'}
|
|
||||||
Plug 'dag/vim2hs', {'for': 'haskell'}
|
|
||||||
Plug 'pbrisbin/vim-syntax-shakespeare', {'for': 'haskell'}
|
|
||||||
|
|
||||||
|
|
||||||
" html
|
|
||||||
"" HTML Bundle
|
|
||||||
Plug 'hail2u/vim-css3-syntax', {'for': ['html','css']}
|
|
||||||
Plug 'gko/vim-coloresque', {'for': ['html','css']}
|
|
||||||
Plug 'tpope/vim-haml', {'for': 'html'}
|
|
||||||
Plug 'mattn/emmet-vim', {'for': 'html'}
|
|
||||||
" python
|
" python
|
||||||
"" Python Bundle
|
|
||||||
Plug 'davidhalter/jedi-vim', {'for': 'python' }
|
Plug 'davidhalter/jedi-vim', {'for': 'python' }
|
||||||
Plug 'raimon49/requirements.txt.vim', {'for': 'requirements'}
|
Plug 'raimon49/requirements.txt.vim', {'for': 'requirements'}
|
||||||
|
|
||||||
|
" ruby
|
||||||
|
Plug 'tpope/vim-rails'
|
||||||
|
Plug 'tpope/vim-rake'
|
||||||
|
Plug 'tpope/vim-projectionist'
|
||||||
|
Plug 'thoughtbot/vim-rspec'
|
||||||
|
Plug 'ecomba/vim-ruby-refactoring', {'tag': 'main'}
|
||||||
|
|
||||||
" rust
|
" rust
|
||||||
" Vim racer
|
" Code completion for rust using Racer
|
||||||
Plug 'racer-rust/vim-racer', {'for': 'rust'}
|
Plug 'racer-rust/vim-racer', {'for': 'rust'}
|
||||||
|
|
||||||
" Rust.vim
|
|
||||||
Plug 'rust-lang/rust.vim', {'for': 'rust'}
|
Plug 'rust-lang/rust.vim', {'for': 'rust'}
|
||||||
|
|
||||||
" Async.vim
|
|
||||||
Plug 'prabirshrestha/async.vim'
|
|
||||||
|
|
||||||
" Vim lsp
|
|
||||||
Plug 'prabirshrestha/vim-lsp'
|
|
||||||
|
|
||||||
if has('nvim')
|
if has('nvim')
|
||||||
" Asyncomplete.vim
|
Plug 'simrat39/rust-tools.nvim', {'for': 'rust'}
|
||||||
Plug 'prabirshrestha/asyncomplete.vim'
|
Plug 'Saecki/crates.nvim', {'for': 'rust'}
|
||||||
|
|
||||||
" Asyncomplete lsp.vim
|
|
||||||
Plug 'prabirshrestha/asyncomplete-lsp.vim'
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
" toml
|
||||||
|
Plug 'cespare/vim-toml'
|
||||||
|
|
||||||
" typescript
|
" typescript
|
||||||
Plug 'leafgarland/typescript-vim', {'for': 'typescript'}
|
Plug 'leafgarland/typescript-vim', {'for': 'typescript'}
|
||||||
Plug 'HerringtonDarkholme/yats.vim', {'for': 'typescript'}
|
Plug 'HerringtonDarkholme/yats.vim', {'for': 'typescript'}
|
||||||
|
|
@ -90,34 +133,43 @@ Plug 'HerringtonDarkholme/yats.vim', {'for': 'typescript'}
|
||||||
Plug 'tpope/vim-fugitive'
|
Plug 'tpope/vim-fugitive'
|
||||||
Plug 'tpope/vim-rhubarb' " required by fugitive to :Gbrowse
|
Plug 'tpope/vim-rhubarb' " required by fugitive to :Gbrowse
|
||||||
|
|
||||||
"Copy using OSC52
|
|
||||||
Plug 'ojroques/vim-oscyank', {'branch': 'main'}
|
|
||||||
call plug#end()
|
call plug#end()
|
||||||
|
|
||||||
" Run PlugInstall if there are missing plugins
|
"****************
|
||||||
|
" Plugin Setup
|
||||||
|
"****************
|
||||||
|
|
||||||
|
" Run PlugInstall Vif there are missing plugins
|
||||||
autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
|
autocmd VimEnter * if len(filter(values(g:plugs), '!isdirectory(v:val.dir)'))
|
||||||
\| PlugInstall --sync | source $MYVIMRC
|
\| PlugInstall --sync | source $MYVIMRC
|
||||||
\| endif
|
\| endif
|
||||||
|
|
||||||
|
" OSCYank setup
|
||||||
if exists('##TextYankPost')
|
if exists('##TextYankPost')
|
||||||
autocmd TextYankPost * if v:event.operator is 'y' && v:event.regname is '' | execute 'OSCYank"' | endif
|
autocmd TextYankPost * if v:event.operator is 'y' && v:event.regname is '' | execute 'OSCYankVisual"' | endif
|
||||||
endif
|
endif
|
||||||
|
|
||||||
try
|
|
||||||
colorscheme wal
|
" status line
|
||||||
catch /^Vim\%((\a\+)\)\=:E185/
|
set statusline=%F%m%r%h%w%=(%{&ff}/%Y)\ (line\ %l\/%L,\ col\ %c)\
|
||||||
try
|
if exists("*fugitive#statusline")
|
||||||
colorscheme catppuccin
|
set statusline+=%{fugitive#statusline()}
|
||||||
let g:lightline = {'colorscheme': 'catppuccin'}
|
endif
|
||||||
catch /^Vim\%((\a\+)\)\=:E185/
|
|
||||||
endtry
|
" Goyo Keybind
|
||||||
endtry
|
map <leader>g :Goyo \| set linebreak<CR>
|
||||||
"set notermguicolors
|
|
||||||
|
|
||||||
|
"****************
|
||||||
|
" Vim Setup
|
||||||
|
"****************
|
||||||
|
|
||||||
set nocompatible
|
set nocompatible
|
||||||
filetype on
|
filetype on
|
||||||
filetype plugin on
|
filetype plugin on
|
||||||
filetype indent on
|
filetype indent on
|
||||||
syntax on
|
syntax on " syntax higlighting
|
||||||
|
set hidden "enable hidden buffers
|
||||||
set noshowmode "conflicts with airline
|
set noshowmode "conflicts with airline
|
||||||
set mouse=a "mouse anywhere
|
set mouse=a "mouse anywhere
|
||||||
set number "line numbers
|
set number "line numbers
|
||||||
|
|
@ -127,13 +179,17 @@ set hlsearch "highlight search
|
||||||
set ignorecase "case insensitive?
|
set ignorecase "case insensitive?
|
||||||
set smartcase "only case insensitive for lowercase
|
set smartcase "only case insensitive for lowercase
|
||||||
set incsearch
|
set incsearch
|
||||||
|
|
||||||
set showmatch " show matching brace
|
set showmatch " show matching brace
|
||||||
|
" indentations
|
||||||
set autoindent "auto indent
|
set autoindent "auto indent
|
||||||
set smartindent "smart indent
|
set smartindent "smart indent
|
||||||
|
set expandtab
|
||||||
set tabstop=4
|
set tabstop=4
|
||||||
set shiftwidth=4
|
set shiftwidth=4
|
||||||
|
set softtabstop=0
|
||||||
|
|
||||||
set ruler
|
set ruler
|
||||||
set expandtab
|
|
||||||
" Autocomplete
|
" Autocomplete
|
||||||
set wildmode=longest:list:full
|
set wildmode=longest:list:full
|
||||||
set wildmenu
|
set wildmenu
|
||||||
|
|
@ -148,10 +204,14 @@ cmap w!! !sudo tee % > /dev/null
|
||||||
nnoremap n nzzzv
|
nnoremap n nzzzv
|
||||||
nnoremap N Nzzzv
|
nnoremap N Nzzzv
|
||||||
|
|
||||||
" status line
|
"" no one is really happy until you have this shortcuts
|
||||||
set statusline=%F%m%r%h%w%=(%{&ff}/%Y)\ (line\ %l\/%L,\ col\ %c)\
|
cnoreabbrev W! w!
|
||||||
if exists("*fugitive#statusline")
|
cnoreabbrev Q! q!
|
||||||
set statusline+=%{fugitive#statusline()}
|
cnoreabbrev Qall! qall!
|
||||||
endif
|
cnoreabbrev Wq wq
|
||||||
|
cnoreabbrev Wa wa
|
||||||
map <leader>g :Goyo \| set linebreak<CR>
|
cnoreabbrev wQ wq
|
||||||
|
cnoreabbrev WQ wq
|
||||||
|
cnoreabbrev W w
|
||||||
|
cnoreabbrev Q q
|
||||||
|
cnoreabbrev Qall qall
|
||||||
2
private_dot_config/xdg-desktop-portal/portals.conf
Normal file
2
private_dot_config/xdg-desktop-portal/portals.conf
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
[preferred]
|
||||||
|
default=gtk
|
||||||
6
private_dot_config/xdg-desktop-portal/sway-portals.conf
Normal file
6
private_dot_config/xdg-desktop-portal/sway-portals.conf
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
[preferred]
|
||||||
|
# use xdg-desktop-portal-gtk for every portal interface
|
||||||
|
default=wlr;gtk
|
||||||
|
# except for the xdg-desktop-portal-wlr supplied interfaces
|
||||||
|
org.freedesktop.impl.portal.Screencast=wlr
|
||||||
|
org.freedesktop.impl.portal.Screenshot=wlr
|
||||||
39
private_dot_config/xonsh/rc.xsh
Normal file
39
private_dot_config/xonsh/rc.xsh
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
source-bash ~/.envrc --overwrite-aliases
|
||||||
|
# Zoxide
|
||||||
|
execx($(zoxide init xonsh), 'exec', __xonsh__.ctx, filename='zoxide')
|
||||||
|
|
||||||
|
xontrib load coreutils
|
||||||
|
xontrib load vox
|
||||||
|
xontrib load autovox
|
||||||
|
xontrib load prompt_starship
|
||||||
|
xontrib load bashisms
|
||||||
|
xontrib load sh
|
||||||
|
|
||||||
|
|
||||||
|
# TODO: Does this work?
|
||||||
|
def yy(args=None):
|
||||||
|
import tempfile
|
||||||
|
"""
|
||||||
|
Yazi file manager wrapper that follows directory changes.
|
||||||
|
Usage: y() or y('some/path')
|
||||||
|
"""
|
||||||
|
with tempfile.NamedTemporaryFile(prefix='yazi-cwd.', suffix='.tmp') as tmp:
|
||||||
|
# Build command arguments
|
||||||
|
cmd_args = ['yazi']
|
||||||
|
if args:
|
||||||
|
cmd_args.append(str(args))
|
||||||
|
cmd_args.append(f'--cwd-file={tmp.name}')
|
||||||
|
|
||||||
|
# Run yazi
|
||||||
|
@(cmd_args)
|
||||||
|
|
||||||
|
# Read new working directory
|
||||||
|
try:
|
||||||
|
with open(tmp.name) as f:
|
||||||
|
new_cwd = f.read().strip()
|
||||||
|
|
||||||
|
# Change directory if valid and different
|
||||||
|
if new_cwd and os.path.isdir(new_cwd) and new_cwd != os.getcwd():
|
||||||
|
cd @(new_cwd)
|
||||||
|
except (IOError, OSError):
|
||||||
|
pass
|
||||||
40
private_dot_config/zathura/zathurarc
Normal file
40
private_dot_config/zathura/zathurarc
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
set notification-error-bg "rgba(30,27,48,1)" # bg
|
||||||
|
set notification-error-fg "rgba(237,128,150,1)" # bright:red
|
||||||
|
set notification-warning-bg "rgba(30,27,48,1)" # bg
|
||||||
|
set notification-warning-fg "rgba(193,178,84,1)" # bright:yellow
|
||||||
|
set notification-bg "rgba(30,27,48,1)" # bg
|
||||||
|
set notification-fg "rgba(160,220,155,1)" # bright:green
|
||||||
|
|
||||||
|
set completion-bg "rgba(80,69,115,1)" # bg2
|
||||||
|
set completion-fg "rgba(235,246,255,1)" # fg
|
||||||
|
set completion-group-bg "rgba(30,27,48,1)" # bg1
|
||||||
|
set completion-group-fg "rgba(116,110,149,1)" # gray
|
||||||
|
set completion-highlight-bg "rgba(68,95,155,1)" # bright:blue
|
||||||
|
set completion-highlight-fg "rgba(80,69,115,1)" # bg2
|
||||||
|
|
||||||
|
# Define the color in index mode
|
||||||
|
set index-bg "rgba(80,69,115,1)" # bg2
|
||||||
|
set index-fg "rgba(235,246,255,1)" # fg
|
||||||
|
set index-active-bg "rgba(68,95,155,1)" # bright:blue
|
||||||
|
set index-active-fg "rgba(80,69,115,1)" # bg2
|
||||||
|
|
||||||
|
set inputbar-bg "rgba(30,27,48,1)" # bg
|
||||||
|
set inputbar-fg "rgba(235,246,255,1)" # fg
|
||||||
|
|
||||||
|
set statusbar-bg "rgba(80,69,115,1)" # bg2
|
||||||
|
set statusbar-fg "rgba(235,246,255,1)" # fg
|
||||||
|
|
||||||
|
set highlight-color "rgba(193,178,84,0.5)" # bright:yellow
|
||||||
|
set highlight-active-color "rgba(234,169,80,0.5)" # bright:orange
|
||||||
|
|
||||||
|
set default-bg "rgba(30,27,48,1)" # bg
|
||||||
|
set default-fg "rgba(235,246,255,1)" # fg
|
||||||
|
set render-loading true
|
||||||
|
set render-loading-bg "rgba(30,27,48,1)" # bg
|
||||||
|
set render-loading-fg "rgba(235,246,255,1)" # fg
|
||||||
|
|
||||||
|
# Recolor book content's color
|
||||||
|
set recolor-lightcolor "rgba(30,27,48,1)" # bg
|
||||||
|
set recolor-darkcolor "rgba(235,246,255,1)" # fg
|
||||||
|
set recolor "true"
|
||||||
|
set recolor-keephue "true" # keep original color
|
||||||
|
|
@ -222,7 +222,7 @@ themes {
|
||||||
}
|
}
|
||||||
base16 {
|
base16 {
|
||||||
fg 15
|
fg 15
|
||||||
bg 8
|
bg 0
|
||||||
red 9
|
red 9
|
||||||
green 10
|
green 10
|
||||||
yellow 11
|
yellow 11
|
||||||
|
|
@ -230,7 +230,7 @@ themes {
|
||||||
magenta 13
|
magenta 13
|
||||||
orange 16
|
orange 16
|
||||||
cyan 14
|
cyan 14
|
||||||
black 0
|
black 8
|
||||||
white 15
|
white 15
|
||||||
}
|
}
|
||||||
// Catppuccin Theme:
|
// Catppuccin Theme:
|
||||||
|
|
@ -292,12 +292,25 @@ themes {
|
||||||
white "#cdd6f4"
|
white "#cdd6f4"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
lunar-witch {
|
||||||
|
fg "#EBF6FF"
|
||||||
|
bg "#010206"
|
||||||
|
red "#A04558"
|
||||||
|
green "#6FA47E"
|
||||||
|
yellow "#CCB700"
|
||||||
|
blue "#334773"
|
||||||
|
magenta "#A34A76"
|
||||||
|
orange "#F4B766"
|
||||||
|
cyan "#2A97B1"
|
||||||
|
black "#1E1B30"
|
||||||
|
white "#BFBFC0"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Choose the theme that is specified in the themes section.
|
// Choose the theme that is specified in the themes section.
|
||||||
// Default: default
|
// Default: default
|
||||||
//
|
//
|
||||||
theme "base16"
|
theme "lunar-witch"
|
||||||
|
|
||||||
// The name of the default layout to load on startup
|
// The name of the default layout to load on startup
|
||||||
// Default: "default"
|
// Default: "default"
|
||||||
|
|
|
||||||
12
private_dot_ssh/private_authorized_keys
Normal file
12
private_dot_ssh/private_authorized_keys
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
sk-ssh-ed25519@openssh.com AAAAGnNrLXNzaC1lZDI1NTE5QG9wZW5zc2guY29tAAAAIMggnmTj7KL409V2mtbPgKERbmyJAeCGBcyzxWW+arRZAAAABHNzaDo= yubikey-black
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAltYcKHavkQBJFlogNuT3JhX6ob30V3EYje4pOQBLgq gpg\mira.kristipati@gmail.com
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEKT/rbUu87QyRD7L/QSr+lQMJz2m/mdqlqyCQEMwUJj gpgssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEw3/9inZC/MRPkuOF6T5LiFoOlgo5HZVIM36IC+hlzJ gpg\mira-yubikey-black
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFdRtpQWCPyQQuzcwlbFukGZSlRTcfNzG840kMvbuPwr gpg\kristipati.ajay@gmail.com
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIA0ikP2zdDBaJZ+aoE6jFz3UpCyHjz1r1QtuZTAvTpx zagreusd25519
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJx1GWB1xkE+ECavUypp99FqmB4emiw+j2PpsxN8OXpa gpg\mira@xn--2dkua.xn--tckwe
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAINa3w6lweeP4XBokNCEJb86th9S81WQQ+LVVwCRpADap kristipati.ajay@gmail.com
|
||||||
|
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOY3LSWsg9XK1rI7r2E+1tmX3Vi7W5opwkvqO6AsduZR gpg\ArgentumCation
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDA+Hrb45HQrcBe+gXQz4goWw0PBWdmAWMQ0RWrHXwvkWXM4KsXXrUP7qijEPPtDvJG3JL4Ifsbj+VIN7RprjE5wfvkIxlmnluUK6m2u8r8BlNDhFW5wjoA6PBuHhqYEKGbdqm5s+3WaZt8l2EERyIV87YJPbxNpwc175J3mWYWesvxSp/uNxcXEbOClr+jHXVxztno3XVoVXfpiFfjSsUgprQonbPYiKdfiLwFeXHI03vZlWfmEjERzBE+Ro5ireJ8JVNjKOgiw7aU6tQAyDKe2NkcyTV/tO/OdUSGlnO3Nc3qHHE9B0OTdoKPpiv5A1GdmJWub7UNJKzKB1y7eSGHU3X/FVMSCf9eZUmLIMxWcu1y6GrH1CHIpdqPk+rw6lfjkFg1dDL2f3CXoAwLIEFVaUzI+Gg7BC9Z2jUWTkaj7KoI4sN65PzqrNiJ5QfUjlGh1T0hgMB/QwGarPUilBljGUo7IQfcleDQF3Y5F05Amjr6isZ9ONpeOlCegUB6BIU= mira@epinephrine
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDDD48bhv1AEPhbrGIKxf+XTSWMyxu2qBeaN4nZNZ0YMyinltHd6/VaDEZIzCvadBi3Rc9oTdJIEiXzcMTKj26DacuAuh+YPMvoA0I+lfT36q2SZmWIaVSREtfYYdluJtAyiLvFTkv6G0p5c/x1v9ovEXY3OYo1lnio7j0SmBpj4R9UQJYJhohJLtJCTdfutSuQVclhx/kiytdmFqsCDlCI0EaNxTFS861iTmm2ZjKm7o8ohevxPmnXAHizIBOAZDzbhJ61sPLKIOLWWgJNiK04YUDsBToZBOpeLEnNGkkKY++V4u+5tGI5L1RlVwoGSSB40aY5WLouFmeVE/f42nVuTIF2r/UDjsxeiUdivai+L5xNiqHa5JRWg4+at1lYWGdpineXOPYF6MmzkV+HQMvxC8YhG7ig7W+V7KCfKzMy8EEej+gIMxGFqr6CJQCDXZxqt5o0+Ksh7IMw8AEcrBszuMdJEE/7E/XUnYQHfGUNgFvFwKVzPjOSzbwHMfWPI1k= root@epinephrine
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDm1kPy3bxyLX2nUwvETrsBbjmPDHEvKxmzn9dCoaa/C1tWttrvaXUhYZ6svftR7ofqjCailq1WHU4qkIlfz6Hxwq/mxZdOGRg3A2lzDgbJ5C9RSA8LIfYht2UhbqW40wHCEa1B6+bcwLHFWbDyoeT+NQO007lK4Tu1OY3nTNz3QFJgxAPtFuqQSTFpkxL8JZetQtc/KwJ5ofZBZ+nFc4PUstPE47uf4OEOaKY+fbDZ2bf8tmybGhVq6Oc+BQKij5usnQLTeN8XyVxPxGvXahXHx7ESnp//wCs6DrzoMHBbAVFVXS+w6ZzX2el9gCAcUeyZt8iu0zl9GxnVkpyQzHuuBgYON3orYaCdM5vRCnECFoK8XNwP45jNPzFxrIpSYeJ4tR4uhLxCfD3OHB/BQtOQsEdMJvnLnynzyWePeweTe2S1+ohg9zskyxt9c2rSxw8OlWdHds32JuWka6mTJCdfZgHaNY+Ppz1NEo5XYIfz9Jt0vevmaCVbBHo73Tyh6+k= norepinephrine
|
||||||
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDmOATOG9brF/pBmMufk0LQkPQuLwgZAOZMeHCSdOpr+4Tap/mmqCHGtDL/JW6KsDfFpOFmdnSoeihVPGT3r/Mixt3cGOJlzoWXDt2bHyaEOsLz5B3MuYqBIXG3d2wvxharbmlVg3xyArSaCtuBZcopC5rXajnrPW4HxW+pxPC1NsL3RRGSF0edWdJVdX8oJJBsMMUzfeWh1bxEz2iLKMSYb6KPbQITwFTr+RuiEIppOW3n0zJko1wNG8oWTOgHdkmY4C4rUOk6KgW4qs19t7Mjlc7CnZa3XV7/0DcxERGsphpKvS7dpnEtOt7RaHUr/t0V3yLgl58MPbJKG6WSNIRaXZ0EPSlzz8k+4JjuEFdCDg7WjEDSZsBS9U4AyYQjlEwrkinT7g+LUVKYEDqb0hE539SwARvHZsOXrRgtA+Jh2CJIb/rRWfQRkgxpT9hKiBfYbSj8qbphUrbJ/g72UOQyhIbEW8fF9vmWY75NV/X2+EFZyF56ZhvLFk08sjGIF+s= u0_a441@localhost
|
||||||
Loading…
Add table
Reference in a new issue