Compare commits
10 Commits
86440a8fae
...
a759ac8dd2
Author | SHA1 | Date | |
---|---|---|---|
a759ac8dd2 | |||
23d1e06c20 | |||
308bdf15f7 | |||
98ec0130fd | |||
ddd00d7844 | |||
ddbc24a33f | |||
72c73f9b18 | |||
833e967aee | |||
421674018f | |||
d6aece2460 |
@ -5,10 +5,10 @@ export XDG_STATE_HOME="$HOME/.local/state"
|
|||||||
export XDG_CONFIG_DIRS=/etc/xdg
|
export XDG_CONFIG_DIRS=/etc/xdg
|
||||||
export XDG_DATA_DIRS="$XDG_DATA_HOME/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share"
|
export XDG_DATA_DIRS="$XDG_DATA_HOME/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share"
|
||||||
|
|
||||||
HISTFILE="$XDG_STATE_HOME/bash_history"
|
export HISTFILE="$XDG_STATE_HOME/bash_history"
|
||||||
HISTCONTROL=ignoreboth
|
export HISTCONTROL=ignoreboth
|
||||||
HISTSIZE=65536
|
export HISTSIZE=65536
|
||||||
SAVEHIST=8192
|
export SAVEHIST=8192
|
||||||
|
|
||||||
export LESSHISTFILE='-'
|
export LESSHISTFILE='-'
|
||||||
|
|
||||||
@ -18,11 +18,14 @@ export KUBECACHEDIR="$XDG_CACHE_HOME/kube"
|
|||||||
export PYTHON_HISTORY="$XDG_STATE_HOME/python_history"
|
export PYTHON_HISTORY="$XDG_STATE_HOME/python_history"
|
||||||
export PYTHONPYCACHEPREFIX="$XDG_CACHE_HOME/python"
|
export PYTHONPYCACHEPREFIX="$XDG_CACHE_HOME/python"
|
||||||
|
|
||||||
|
export GOPATH="$XDG_DATA_HOME/go"
|
||||||
|
export GOTELEMETRY=off
|
||||||
|
|
||||||
export W3M_DIR="$XDG_STATE_HOME/w3m"
|
export W3M_DIR="$XDG_STATE_HOME/w3m"
|
||||||
|
|
||||||
export PATH="$HOME/.local/bin:$XDG_DATA_HOME/flatpak/exports/bin:/var/lib/flatpak/exports/bin:$PATH"
|
export PATH="$HOME/.local/bin:$XDG_DATA_HOME/flatpak/exports/bin:/var/lib/flatpak/exports/bin:$PATH"
|
||||||
|
|
||||||
export BROWSER=org.mozilla.firefox
|
export BROWSER=firefox
|
||||||
export EDITOR=nvim
|
export EDITOR=nvim
|
||||||
export VISUAL=nvim
|
export VISUAL=nvim
|
||||||
export PAGER=less
|
export PAGER=less
|
||||||
@ -31,11 +34,13 @@ export MAKEFLAGS='-j'
|
|||||||
|
|
||||||
export PASSWORD_STORE_ENABLE_EXTENSIONS=true
|
export PASSWORD_STORE_ENABLE_EXTENSIONS=true
|
||||||
|
|
||||||
export DOCKER_BUILDKIT=0 # i/o timeout
|
|
||||||
export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock"
|
export DOCKER_HOST="unix://$XDG_RUNTIME_DIR/podman/podman.sock"
|
||||||
|
|
||||||
export SSH_AUTH_SOCK; SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
|
export SSH_AUTH_SOCK; SSH_AUTH_SOCK="$(gpgconf --list-dirs agent-ssh-socket)"
|
||||||
|
|
||||||
|
# shellcheck disable=SC2046
|
||||||
|
systemctl --user import-environment PATH $(compgen -v XDG)
|
||||||
|
|
||||||
[ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ] && {
|
[ -z "$DISPLAY" ] && [ "$XDG_VTNR" = 1 ] && {
|
||||||
GUILOG="$HOME/.local/state/gui.log"
|
GUILOG="$HOME/.local/state/gui.log"
|
||||||
|
|
||||||
|
1
.bashrc
@ -6,6 +6,7 @@ FZF_ALT_C_OPTS=--walker=dir
|
|||||||
. /usr/share/fzf/key-bindings.bash
|
. /usr/share/fzf/key-bindings.bash
|
||||||
|
|
||||||
shopt -s autocd
|
shopt -s autocd
|
||||||
|
shopt -s globstar
|
||||||
|
|
||||||
for f in "$XDG_CONFIG_HOME/bash"/*.bash; do
|
for f in "$XDG_CONFIG_HOME/bash"/*.bash; do
|
||||||
# shellcheck disable=SC1090
|
# shellcheck disable=SC1090
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
[duhayon]
|
[duhayon]
|
||||||
source = imaps://ange@duhayon.com@ssl0.ovh.net
|
source = imaps://ange@duhayon.com@ssl0.ovh.net
|
||||||
source-cred-cmd = pass show duhayoncom/ange@duhayon.com | head -n1
|
source-cred-cmd = pass show email/ange@duhayon.com | head -n1
|
||||||
outgoing = smtps://ange@duhayon.com@ssl0.ovh.net
|
outgoing = smtps://ange@duhayon.com@ssl0.ovh.net
|
||||||
outgoing-cred-cmd = pass show duhayoncom/ange@duhayon.com | head -n1
|
outgoing-cred-cmd = pass show email/ange@duhayon.com | head -n1
|
||||||
default = INBOX
|
default = INBOX
|
||||||
from = "Ange DUHAYON" <ange@duhayon.com>
|
from = "Ange DUHAYON" <ange@duhayon.com>
|
||||||
cache-headers = true
|
cache-headers = true
|
||||||
@ -11,9 +11,9 @@ signature-file = ~/.config/aerc/signature.txt
|
|||||||
|
|
||||||
[yw5n]
|
[yw5n]
|
||||||
source = imaps://ange@yw5n.com@ssl0.ovh.net
|
source = imaps://ange@yw5n.com@ssl0.ovh.net
|
||||||
source-cred-cmd = pass show yw5ncom/ange@yw5n.com | head -n1
|
source-cred-cmd = pass show email/ange@yw5n.com | head -n1
|
||||||
outgoing = smtps://ange@yw5n.com@ssl0.ovh.net
|
outgoing = smtps://ange@yw5n.com@ssl0.ovh.net
|
||||||
outgoing-cred-cmd = pass show yw5ncom/ange@yw5n.com | head -n1
|
outgoing-cred-cmd = pass show email/ange@yw5n.com | head -n1
|
||||||
default = INBOX
|
default = INBOX
|
||||||
from = "Ange DUHAYON" <ange@yw5n.com>
|
from = "Ange DUHAYON" <ange@yw5n.com>
|
||||||
cache-headers = true
|
cache-headers = true
|
||||||
|
@ -1,6 +0,0 @@
|
|||||||
output HDMI-A-0
|
|
||||||
off
|
|
||||||
output eDP
|
|
||||||
mode 1920x1080
|
|
||||||
pos 0x0
|
|
||||||
rate 60.00
|
|
@ -1 +0,0 @@
|
|||||||
eDP 00ffffffffffff0009e5d50800000000231d0104a5221378030b95935c59932a20505400000001010101010101010101010101010101043a803671381e403020360058c21000001a000000000000000000000000000000000000000000fe00424f452043510a202020202020000000fe004e5431353646484d2d4e34330a000e
|
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
feh --bg-fill "$XDG_CONFIG_HOME/wallpapers/mount_cook.jpg" --no-fehbg
|
|
@ -1,2 +0,0 @@
|
|||||||
[config]
|
|
||||||
skip-options=crtc,gamma,x-prop-colorspace,x-prop-max_bpc,x-prop-non_desktop,x-prop-scaling_mode,x-prop-tearfree,x-prop-underscan,x-prop-underscan_hborder,x-prop-underscan_vborder,
|
|
@ -3,11 +3,13 @@ function _compalias() {
|
|||||||
name="${COMP_WORDS[0]}"
|
name="${COMP_WORDS[0]}"
|
||||||
val="${BASH_ALIASES[$name]}"
|
val="${BASH_ALIASES[$name]}"
|
||||||
|
|
||||||
[ -z "$val" ] && return 1
|
if [ -z "$val" ]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
read -ra valarr <<< "$val"
|
read -ra valarr <<< "$val"
|
||||||
COMP_WORDS=("${valarr[@]}" "${COMP_WORDS[@]:1}")
|
COMP_WORDS=("${valarr[@]}" "${COMP_WORDS[@]:1}")
|
||||||
COMP_LINE="${COMP_LINE//$name/$val}"
|
COMP_LINE="${COMP_LINE//$name/$val}"
|
||||||
COMP_CWORD="$((${#COMP_WORDS[@]} - 1))"
|
COMP_CWORD=$((${#COMP_WORDS[@]} - 1))
|
||||||
COMP_POINT="${#COMP_LINE}"
|
COMP_POINT="${#COMP_LINE}"
|
||||||
fn="$(complete -p "${COMP_WORDS[0]}" | grep -Po -- '-F\s+\K\w+')"
|
fn="$(complete -p "${COMP_WORDS[0]}" | grep -Po -- '-F\s+\K\w+')"
|
||||||
"$fn" "${COMP_WORDS[0]}" "${COMP_WORDS[-1]}" "${COMP_WORDS[-2]}"
|
"$fn" "${COMP_WORDS[0]}" "${COMP_WORDS[-1]}" "${COMP_WORDS[-2]}"
|
||||||
|
@ -1,5 +1,31 @@
|
|||||||
|
function am() {
|
||||||
|
local name dev lsblk
|
||||||
|
|
||||||
|
while true; do
|
||||||
|
mapfile -t lsblk < <(lsblk -n --paths --list | grep part)
|
||||||
|
|
||||||
|
COLUMNS=1
|
||||||
|
select dev in "${lsblk[@]}"; do
|
||||||
|
if [ -z "$dev" ]; then
|
||||||
|
break
|
||||||
|
fi
|
||||||
|
name="$(awk '{print $1}' <<< "$dev")"
|
||||||
|
|
||||||
|
if mount | grep -q "$name"; then
|
||||||
|
umount "$name"
|
||||||
|
else
|
||||||
|
cd "$(udisksctl mount -b "$name" | awk '{print $NF}')"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
break
|
||||||
|
done || return
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
function bat() {
|
function bat() {
|
||||||
[ -z "$1" ] && return 1
|
if [ -z "$1" ]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
TERM='tty' $EDITOR --cmd "set lines=$(grep -c '' "$1")" +redraw +q "$1"
|
TERM='tty' $EDITOR --cmd "set lines=$(grep -c '' "$1")" +redraw +q "$1"
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -7,43 +33,53 @@ function bd() {
|
|||||||
echo "$@" | base64 -d; echo
|
echo "$@" | base64 -d; echo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function gi() {
|
||||||
|
curl -fL "https://www.toptal.com/developers/gitignore/api/$(printf '%s\n' "$@" | sort -u | paste -sd,)"
|
||||||
|
}
|
||||||
|
|
||||||
function update() {
|
function update() {
|
||||||
$TERM --hold -e "$SHELL" -ic "pac -Syu && echo -e '\e[32mDONE'" &
|
$TERM --hold -e "$SHELL" -xc "sudo pacman -Syu && echo $'\e[32mDONE'" &
|
||||||
$TERM --hold -e "$SHELL" -ic "flatpak update && echo -e '\e[32mDONE'" &
|
$TERM --hold -e "$SHELL" -xc "flatpak update && echo -e $'\e[32mDONE'" &
|
||||||
$TERM --hold -e "$SHELL" -ic "cd && c submodule update --remote --recursive && echo -e '\e[32mDONE'" &
|
$TERM --hold -e "$SHELL" -xc "git --git-dir='$HOME/.dotfiles/' --work-tree='$HOME' submodule update --remote --recursive && echo $'\e[32mDONE'" &
|
||||||
}
|
}
|
||||||
|
|
||||||
function tmp() {
|
function tmp() {
|
||||||
cd "$(mktemp -d --tmpdir "$1"XXX)" || return
|
cd "$(mktemp -d "$1"XXX)" || return
|
||||||
}
|
}
|
||||||
|
|
||||||
alias ...='../..' \
|
alias -- \
|
||||||
....='../../..' \
|
-='cd -' \
|
||||||
.....='../../../..' \
|
......='../../../../..' \
|
||||||
......='../../../../..' \
|
.....='../../../..' \
|
||||||
c='git --git-dir="$HOME/.dotfiles/" --work-tree="$HOME"' \
|
....='../../..' \
|
||||||
cp='cp -vi' \
|
...='../..' \
|
||||||
diff='diff --color' \
|
c='git --git-dir="$HOME/.dotfiles/" --work-tree="$HOME"' \
|
||||||
feh='feh --auto-zoom --scale-down' \
|
cp='cp -vi' \
|
||||||
g=git \
|
diff='diff --color' \
|
||||||
grep='grep --color --exclude-dir={.cache,.git,.idea,.venv,.vscode,node_modules}' \
|
feh='feh --auto-zoom --scale-down' \
|
||||||
l='ll -a' \
|
g=git \
|
||||||
la='ll -A' \
|
grep='grep --color --exclude-dir={.cache,.git,.idea,.venv,.vscode,node_modules}' \
|
||||||
ll='ls -lh' \
|
ip='ip -c=auto' \
|
||||||
ls='ls --color' \
|
l='ll -a' \
|
||||||
mail=aerc \
|
la='ll -A' \
|
||||||
mkdir='mkdir -v' \
|
ll='ls -lh' \
|
||||||
mv='mv -vi' \
|
ls='ls --color' \
|
||||||
neofetch=fastfetch \
|
mail=aerc \
|
||||||
pac='sudo pacman' \
|
mkdir='mkdir -v' \
|
||||||
qcp='qcp -o tabsize=4' \
|
mv='mv -vi' \
|
||||||
qmv='qmv -o tabsize=4' \
|
neofetch=fastfetch \
|
||||||
rm='rm -vI' \
|
qcp='qcp -o tabsize=4' \
|
||||||
rss=newsraft \
|
qmv='qmv -o tabsize=4' \
|
||||||
rsync='rsync -P' \
|
rm='rm -vI' \
|
||||||
ssh='TERM=xterm-256color ssh' \
|
rss=newsraft \
|
||||||
sudo='sudo ' \
|
rsync='rsync -P' \
|
||||||
vi='$EDITOR' \
|
ssh='TERM=xterm-256color ssh' \
|
||||||
watch='watch -c ' \
|
sudo='sudo ' \
|
||||||
xargs='xargs ' \
|
vi='$EDITOR' \
|
||||||
xmr='monero-wallet-cli --daemon-address monero.maby.dev:18081 --trusted-daemon --log-file=/tmp/monero-wallet-cli.log --wallet-file /home/ange/.config/monero/ange'
|
watch='watch -c ' \
|
||||||
|
waydroid='cage -- waydroid' \
|
||||||
|
xargs='xargs ' \
|
||||||
|
xmr='monero-wallet-cli --daemon-address monero.maby.dev:18081 --trusted-daemon --log-file=/tmp/monero-wallet-cli.log --wallet-file $XDG_CONFIG_HOME/monero/ange'
|
||||||
|
|
||||||
|
. /usr/share/git/completion/git-completion.bash
|
||||||
|
$(complete -p git) g c
|
||||||
|
@ -4,10 +4,9 @@ compalias dk='podman' \
|
|||||||
dkcc='podman container create' \
|
dkcc='podman container create' \
|
||||||
dkci='podman container inspect' \
|
dkci='podman container inspect' \
|
||||||
dkcls='podman container ls' \
|
dkcls='podman container ls' \
|
||||||
dkclsa='podman container ls -a' \
|
dkclsa='podman container ls -a --external' \
|
||||||
dkclsaq='podman container ls -a -q' \
|
dkclsaq='podman container ls -a -q --external' \
|
||||||
dkclsq='podman container ls -q' \
|
dkclsq='podman container ls -q' \
|
||||||
dkcrm!='podman container rm -f' \
|
|
||||||
dkcrm='podman container rm' \
|
dkcrm='podman container rm' \
|
||||||
dkcsp='podman container stop' \
|
dkcsp='podman container stop' \
|
||||||
dkcst='podman container restart' \
|
dkcst='podman container restart' \
|
||||||
@ -21,7 +20,6 @@ compalias dk='podman' \
|
|||||||
dkilsaq='podman image ls -a -q' \
|
dkilsaq='podman image ls -a -q' \
|
||||||
dkilsq='podman image ls -q' \
|
dkilsq='podman image ls -q' \
|
||||||
dkip='podman image push' \
|
dkip='podman image push' \
|
||||||
dkirm!='podman image rm -f' \
|
|
||||||
dkirm='podman image rm' \
|
dkirm='podman image rm' \
|
||||||
dkis='podman image save' \
|
dkis='podman image save' \
|
||||||
dkit='podman image tag' \
|
dkit='podman image tag' \
|
||||||
@ -31,51 +29,45 @@ compalias dk='podman' \
|
|||||||
dkni='podman network inspect' \
|
dkni='podman network inspect' \
|
||||||
dknls='podman network ls' \
|
dknls='podman network ls' \
|
||||||
dknlsq='podman network ls -q' \
|
dknlsq='podman network ls -q' \
|
||||||
dknrm!='podman network rm -f' \
|
|
||||||
dknrm='podman network rm' \
|
dknrm='podman network rm' \
|
||||||
dksys='podman system' \
|
dksys='podman system' \
|
||||||
dksysdf='podman system df' \
|
dksysdf='podman system df' \
|
||||||
dksysp!='podman system prune -f' \
|
|
||||||
dksysp='podman system prune' \
|
|
||||||
dktop='podman top' \
|
dktop='podman top' \
|
||||||
dkv='podman volume' \
|
dkv='podman volume' \
|
||||||
dkvc='podman volume create' \
|
dkvc='podman volume create' \
|
||||||
dkvi='podman volume inspect' \
|
dkvi='podman volume inspect' \
|
||||||
dkvls='podman volume ls' \
|
dkvls='podman volume ls' \
|
||||||
dkvlsq='podman volume ls -q' \
|
dkvlsq='podman volume ls -q' \
|
||||||
dkvrm!='podman volume rm -f' \
|
|
||||||
dkvrm='podman volume rm'
|
dkvrm='podman volume rm'
|
||||||
|
|
||||||
alias dc='docker-compose' \
|
compalias dc='docker-compose' \
|
||||||
dcb!='docker-compose build --no-cache' \
|
dcb='docker-compose build' \
|
||||||
dcb='docker-compose build' \
|
dccls='docker-compose ps' \
|
||||||
dccls='docker-compose ps' \
|
dcclsq='docker-compose ps -q' \
|
||||||
dcclsq='docker-compose ps -q' \
|
dcd='docker-compose down' \
|
||||||
dcd='docker-compose down' \
|
dcex='docker-compose exec' \
|
||||||
dcex='docker-compose exec' \
|
dcl='docker-compose pull' \
|
||||||
dcl='docker-compose pull' \
|
dcr='docker-compose run --rm' \
|
||||||
dcr='docker-compose run --rm' \
|
dcrd='docker-compose run -d --rm' \
|
||||||
dcrd='docker-compose run -d --rm' \
|
dcrm='docker-compose rm' \
|
||||||
dcrm!='docker-compose rm -f' \
|
dcrmv='docker-compose rm -v' \
|
||||||
dcrm='docker-compose rm' \
|
dcsp='docker-compose stop' \
|
||||||
dcrmv!='docker-compose rm -v -f' \
|
dcst='docker-compose restart' \
|
||||||
dcrmv='docker-compose rm -v' \
|
dcup='docker-compose up' \
|
||||||
dcsp='docker-compose stop' \
|
dcupb='docker-compose up --build' \
|
||||||
dcst='docker-compose restart' \
|
dcupd='docker-compose up -d' \
|
||||||
dcup='docker-compose up' \
|
dcupdb='docker-compose up -d --build' \
|
||||||
dcupb='docker-compose up --build' \
|
dcw='docker-compose up --build -w'
|
||||||
dcupd='docker-compose up -d' \
|
|
||||||
dcupdb='docker-compose up -d --build' \
|
|
||||||
dcw='docker-compose watch'
|
|
||||||
|
|
||||||
function dkb() {
|
function dkb() {
|
||||||
local name="${1:-${PWD##*/}}"; shift
|
local name="${1:-${PWD##*/}}"; shift
|
||||||
|
|
||||||
docker build . -t "$name" "$@"
|
podman build . -t "$name" "$@"
|
||||||
}
|
}
|
||||||
|
|
||||||
function dkr() {
|
function dkr() {
|
||||||
[ -z "$1" ] && set -- "${PWD##*/}"
|
if [ -z "$1" ]; then
|
||||||
|
set -- "${PWD##*/}"
|
||||||
docker run -i -t "$@"
|
fi
|
||||||
|
podman run -i -t "$@"
|
||||||
}
|
}
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
function gi() {
|
|
||||||
local IFS=,
|
|
||||||
|
|
||||||
curl -fL "https://www.toptal.com/developers/gitignore/api/$*"
|
|
||||||
}
|
|
@ -1,162 +1,100 @@
|
|||||||
|
function _kctxns() {
|
||||||
|
local conf="${KUBECONFIG:-"$HOME/.kube/config"}"
|
||||||
|
local tmp cache file="$1" func="$2"; shift 2
|
||||||
|
|
||||||
|
mapfile -t cache < "$file"
|
||||||
|
if [ "$conf" -nt "$file" ]; then
|
||||||
|
tmp="$(_"$func"_get)"
|
||||||
|
if [ "$tmp" != "${cache[0]}" ]; then
|
||||||
|
cache[1]="${cache[0]}"
|
||||||
|
fi
|
||||||
|
cache[0]="$tmp"
|
||||||
|
echo -e "${cache[0]}\n${cache[1]}" > "$file"
|
||||||
|
fi
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
echo "${cache[0]}"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
if [ "$1" == - ]; then
|
||||||
|
set -- "${cache[1]}" "${cache[0]}"
|
||||||
|
else
|
||||||
|
if [ "$1" == "${cache[0]}" ]; then
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
set -- "$1" "${cache[0]}"
|
||||||
|
fi
|
||||||
|
_"$func"_set "$1" || return
|
||||||
|
echo -e "$1\n$2" > "$file"
|
||||||
|
}
|
||||||
|
|
||||||
|
function _kns_get() {
|
||||||
|
kubectl config view --minify -ojsonpath='{..namespace}'
|
||||||
|
}
|
||||||
|
function _kns_set() {
|
||||||
|
if ! kubectl get namespace -oname | grep -q "^namespace/$1\$"; then
|
||||||
|
echo "error: no namespace exists with the name: \"$1\"" >&2
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
kubectl config set-context --current --namespace "$1" > /dev/null
|
||||||
|
echo "Switched to namespace \"$1\"."
|
||||||
|
}
|
||||||
function kns() {
|
function kns() {
|
||||||
local cache="$XDG_CACHE_HOME/${FUNCNAME[0]}"
|
local dir="$XDG_CACHE_HOME/kns"
|
||||||
|
|
||||||
if [ -n "$1" ]; then
|
mkdir -p "$dir" > /dev/null
|
||||||
if ! kubectl get namespace -o name | grep -q "^namespace/$1\$"; then
|
_kctxns "$dir/$(kctx)" kns "$@"
|
||||||
echo "error: no namespace exists with the name: \"$1\"" >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
kubectl config set-context --current --namespace "$1" > /dev/null
|
|
||||||
else
|
|
||||||
if [ "${KUBECONFIG:-"$HOME/.kube/config"}" -nt "$cache" ]; then
|
|
||||||
set -- "$(kubectl config view --minify -o jsonpath='{..namespace}')"
|
|
||||||
else
|
|
||||||
cat "$cache"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
tee "$cache" <<< "$1"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function kctx() {
|
function _kctx_get() { kubectl config current-context ; }
|
||||||
local cache="$XDG_CACHE_HOME/${FUNCNAME[0]}"
|
function _kctx_set() { kubectl config use-context "$1" ; }
|
||||||
|
# shellcheck disable=SC2120
|
||||||
|
function kctx() { _kctxns "$XDG_CACHE_HOME/kctx" kctx "$@" ; }
|
||||||
|
|
||||||
if [ -n "$1" ]; then
|
alias kga='kubectl get "$(kubectl api-resources --verbs=list --namespaced -oname | grep -v event | paste -sd,)"' \
|
||||||
kubectl config use-context "$1" > /dev/null || return
|
kgaoname='kubectl get "$(kubectl api-resources --verbs=list --namespaced -oname | grep -v event | paste -sd,)" -oname' \
|
||||||
else
|
kgaowide='kubectl get "$(kubectl api-resources --verbs=list --namespaced -oname | grep -v event | paste -sd,)" -owide' \
|
||||||
if [ "${KUBECONFIG:-"$HOME/.kube/config"}" -nt "$cache" ]; then
|
kgaoyaml='kubectl get "$(kubectl api-resources --verbs=list --namespaced -oname | grep -v event | paste -sd,)" -oyaml'
|
||||||
set -- "$(kubectl config current-context)"
|
|
||||||
else
|
|
||||||
cat "$cache"
|
|
||||||
return
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
tee "$cache" <<< "$1"
|
|
||||||
}
|
|
||||||
|
|
||||||
alias kga='kubectl get "$(kubectl api-resources --verbs=list --namespaced -oname | grep -v event | paste -sd,)"'
|
|
||||||
|
|
||||||
. /usr/share/bash-completion/completions/kubectl
|
. /usr/share/bash-completion/completions/kubectl
|
||||||
compalias k=kubectl \
|
compalias k=kubectl \
|
||||||
ka='kubectl apply --recursive -f' \
|
ka='kubectl apply --recursive -f' \
|
||||||
kd='kubectl describe' \
|
kd='kubectl describe' \
|
||||||
kdcj='kubectl describe cronjob' \
|
|
||||||
kdcm='kubectl describe configmap' \
|
|
||||||
kddep='kubectl describe deployment' \
|
|
||||||
kding='kubectl describe ingress' \
|
|
||||||
kdj='kubectl describe job' \
|
|
||||||
kdno='kubectl describe node' \
|
|
||||||
kdns='kubectl describe namespace' \
|
|
||||||
kdpo='kubectl describe pod' \
|
|
||||||
kdpvc='kubectl describe persistentvolumeclaim' \
|
|
||||||
kdsec='kubectl describe secret' \
|
|
||||||
kdsts='kubectl describe statefulset' \
|
|
||||||
kdsvc='kubectl describe service' \
|
|
||||||
kex='kubectl exec -i -t' \
|
kex='kubectl exec -i -t' \
|
||||||
kg='kubectl get' \
|
kg='kubectl get' \
|
||||||
kgall='kubectl get --all-namespaces' \
|
|
||||||
kgalloname='kubectl get --all-namespaces -o name' \
|
|
||||||
kgallowide='kubectl get --all-namespaces -o wide' \
|
|
||||||
kgalloyaml='kubectl get --all-namespaces -o yaml' \
|
|
||||||
kgcj='kubectl get cronjob' \
|
|
||||||
kgcjall='kubectl get cronjob --all-namespaces' \
|
|
||||||
kgcjalloname='kubectl get cronjob --all-namespaces -o name' \
|
|
||||||
kgcjallowide='kubectl get cronjob --all-namespaces -o wide' \
|
|
||||||
kgcjalloyaml='kubectl get cronjob --all-namespaces -o yaml' \
|
|
||||||
kgcjoname='kubectl get cronjob -o name' \
|
|
||||||
kgcjowide='kubectl get cronjob -o wide' \
|
|
||||||
kgcjoyaml='kubectl get cronjob -o yaml' \
|
|
||||||
kgcm='kubectl get configmap' \
|
|
||||||
kgcmall='kubectl get configmap --all-namespaces' \
|
|
||||||
kgcmalloname='kubectl get configmap --all-namespaces -o name' \
|
|
||||||
kgcmallowide='kubectl get configmap --all-namespaces -o wide' \
|
|
||||||
kgcmalloyaml='kubectl get configmap --all-namespaces -o yaml' \
|
|
||||||
kgcmoname='kubectl get configmap -o name' \
|
|
||||||
kgcmowide='kubectl get configmap -o wide' \
|
|
||||||
kgcmoyaml='kubectl get configmap -o yaml' \
|
|
||||||
kgdep='kubectl get deployment' \
|
|
||||||
kgdepall='kubectl get deployment --all-namespaces' \
|
|
||||||
kgdepalloname='kubectl get deployment --all-namespaces -o name' \
|
|
||||||
kgdepallowide='kubectl get deployment --all-namespaces -o wide' \
|
|
||||||
kgdepalloyaml='kubectl get deployment --all-namespaces -o yaml' \
|
|
||||||
kgdeponame='kubectl get deployment -o name' \
|
|
||||||
kgdepowide='kubectl get deployment -o wide' \
|
|
||||||
kgdepoyaml='kubectl get deployment -o yaml' \
|
|
||||||
kging='kubectl get ingress' \
|
|
||||||
kgingall='kubectl get ingress --all-namespaces' \
|
|
||||||
kgingalloname='kubectl get ingress --all-namespaces -o name' \
|
|
||||||
kgingallowide='kubectl get ingress --all-namespaces -o wide' \
|
|
||||||
kgingalloyaml='kubectl get ingress --all-namespaces -o yaml' \
|
|
||||||
kgingoname='kubectl get ingress -o name' \
|
|
||||||
kgingowide='kubectl get ingress -o wide' \
|
|
||||||
kgingoyaml='kubectl get ingress -o yaml' \
|
|
||||||
kgj='kubectl get job' \
|
|
||||||
kgjall='kubectl get job --all-namespaces' \
|
|
||||||
kgjalloname='kubectl get job --all-namespaces -o name' \
|
|
||||||
kgjallowide='kubectl get job --all-namespaces -o wide' \
|
|
||||||
kgjalloyaml='kubectl get job --all-namespaces -o yaml' \
|
|
||||||
kgjoname='kubectl get job -o name' \
|
|
||||||
kgjowide='kubectl get job -o wide' \
|
|
||||||
kgjoyaml='kubectl get job -o yaml' \
|
|
||||||
kgno='kubectl get node' \
|
kgno='kubectl get node' \
|
||||||
kgns='kubectl get namespace' \
|
|
||||||
kgnsoname='kubectl get namespace -o name' \
|
|
||||||
kgnsowide='kubectl get namespace -o wide' \
|
|
||||||
kgnsoyaml='kubectl get namespace -o yaml' \
|
|
||||||
kgoname='kubectl get -o name' \
|
|
||||||
kgowide='kubectl get -o wide' \
|
|
||||||
kgoyaml='kubectl get -o yaml' \
|
|
||||||
kgpo='kubectl get pod' \
|
|
||||||
kgpoall='kubectl get pod --all-namespaces' \
|
|
||||||
kgpoalloname='kubectl get pod --all-namespaces -o name' \
|
|
||||||
kgpoallowide='kubectl get pod --all-namespaces -o wide' \
|
|
||||||
kgpoalloyaml='kubectl get pod --all-namespaces -o yaml' \
|
|
||||||
kgpooname='kubectl get pod -o name' \
|
|
||||||
kgpoowide='kubectl get pod -o wide' \
|
|
||||||
kgpooyaml='kubectl get pod -o yaml' \
|
|
||||||
kgpvc='kubectl get persistentvolumeclaim' \
|
|
||||||
kgpvcall='kubectl get persistentvolumeclaim --all-namespaces' \
|
|
||||||
kgpvcalloname='kubectl get persistentvolumeclaim --all-namespaces -o name' \
|
|
||||||
kgpvcallowide='kubectl get persistentvolumeclaim --all-namespaces -o wide' \
|
|
||||||
kgpvcalloyaml='kubectl get persistentvolumeclaim --all-namespaces -o yaml' \
|
|
||||||
kgpvconame='kubectl get persistentvolumeclaim -o name' \
|
|
||||||
kgpvcowide='kubectl get persistentvolumeclaim -o wide' \
|
|
||||||
kgpvcoyaml='kubectl get persistentvolumeclaim -o yaml' \
|
|
||||||
kgsec='kubectl get secret' \
|
|
||||||
kgsecall='kubectl get secret --all-namespaces' \
|
|
||||||
kgsecalloname='kubectl get secret --all-namespaces -o name' \
|
|
||||||
kgsecallowide='kubectl get secret --all-namespaces -o wide' \
|
|
||||||
kgsecalloyaml='kubectl get secret --all-namespaces -o yaml' \
|
|
||||||
kgseconame='kubectl get secret -o name' \
|
|
||||||
kgsecowide='kubectl get secret -o wide' \
|
|
||||||
kgsecoyaml='kubectl get secret -o yaml' \
|
|
||||||
kgsts='kubectl get statefulset' \
|
|
||||||
kgstsall='kubectl get statefulset --all-namespaces' \
|
|
||||||
kgstsalloname='kubectl get statefulset --all-namespaces -o name' \
|
|
||||||
kgstsallowide='kubectl get statefulset --all-namespaces -o wide' \
|
|
||||||
kgstsalloyaml='kubectl get statefulset --all-namespaces -o yaml' \
|
|
||||||
kgstsoname='kubectl get statefulset -o name' \
|
|
||||||
kgstsowide='kubectl get statefulset -o wide' \
|
|
||||||
kgstsoyaml='kubectl get statefulset -o yaml' \
|
|
||||||
kgsvc='kubectl get service' \
|
|
||||||
kgsvcall='kubectl get service --all-namespaces' \
|
|
||||||
kgsvcalloname='kubectl get service --all-namespaces -o name' \
|
|
||||||
kgsvcallowide='kubectl get service --all-namespaces -o wide' \
|
|
||||||
kgsvcalloyaml='kubectl get service --all-namespaces -o yaml' \
|
|
||||||
kgsvconame='kubectl get service -o name' \
|
|
||||||
kgsvcowide='kubectl get service -o wide' \
|
|
||||||
kgsvcoyaml='kubectl get service -o yaml' \
|
|
||||||
klo='kubectl logs -f' \
|
klo='kubectl logs -f' \
|
||||||
kpf='kubectl port-forward' \
|
kpf='kubectl port-forward' \
|
||||||
krm='kubectl delete' \
|
krm='kubectl delete' \
|
||||||
krmcj='kubectl delete cronjob' \
|
|
||||||
krmcm='kubectl delete configmap' \
|
function _k8salias() {
|
||||||
krmdep='kubectl delete deployment' \
|
local n s a
|
||||||
krming='kubectl delete ingress' \
|
|
||||||
krmj='kubectl delete job' \
|
for a in '' "${@/=/= }"; do
|
||||||
krmns='kubectl delete namespace' \
|
s="${a%%=*}" n="${a#*=}"
|
||||||
krmpo='kubectl delete pod' \
|
compalias "kd${s}=kubectl describe$n" \
|
||||||
krmpvc='kubectl delete persistentvolumeclaim' \
|
"kg${s}=kubectl get$n" \
|
||||||
krmsec='kubectl delete secret' \
|
"kg${s}alloname=kubectl get --all-namespaces -oname$n" \
|
||||||
krmsts='kubectl delete statefulset' \
|
"kg${s}allowide=kubectl get --all-namespaces -owide$n" \
|
||||||
krmsvc='kubectl delete service'
|
"kg${s}alloyaml=kubectl get --all-namespaces -oyaml$n" \
|
||||||
|
"kg${s}oname=kubectl get -oname$n" \
|
||||||
|
"kg${s}oname=kubectl get -oname$n" \
|
||||||
|
"kg${s}owide=kubectl get -owide$n" \
|
||||||
|
"kg${s}owide=kubectl get -owide$n" \
|
||||||
|
"kg${s}oyaml=kubectl get -oyaml$n" \
|
||||||
|
"kg${s}oyaml=kubectl get -oyaml$n" \
|
||||||
|
"krm${s}=kubectl delete$n"
|
||||||
|
done
|
||||||
|
}
|
||||||
|
_k8salias cj=cronjob \
|
||||||
|
cm=configmap \
|
||||||
|
dep=deployment \
|
||||||
|
ing=ingress \
|
||||||
|
j=job \
|
||||||
|
ns=namespace \
|
||||||
|
po=pod \
|
||||||
|
pvc=persistentvolumeclaim \
|
||||||
|
pv=persistentvolume \
|
||||||
|
sec=secret \
|
||||||
|
sts=statefulset \
|
||||||
|
svc=service
|
||||||
|
unset -f _k8salias
|
||||||
|
@ -25,8 +25,14 @@ function precmd() {
|
|||||||
|
|
||||||
# shellcheck disable=SC2086
|
# shellcheck disable=SC2086
|
||||||
unset ${!PROMPT_P*}
|
unset ${!PROMPT_P*}
|
||||||
[ -n "$VIRTUAL_ENV" ] && PROMPT_PVENV="${VIRTUAL_ENV%/*}" && PROMPT_PVENV="${PROMPT_PVENV##*/}"$'\n'
|
if [ -n "$VIRTUAL_ENV" ]; then
|
||||||
[ -n "$ctx" ] && PROMPT_PK8S="$ctx/$(kns) "
|
PROMPT_PVENV="${VIRTUAL_ENV%/*}" && PROMPT_PVENV="${PROMPT_PVENV##*/}"$'\n'
|
||||||
[[ "$err" =~ [1-9] ]] && PROMPT_PERR="${err// /|} "
|
fi
|
||||||
|
if [ -n "$ctx" ]; then
|
||||||
|
PROMPT_PK8S="$ctx/$(kns) "
|
||||||
|
fi
|
||||||
|
if [[ "$err" =~ [1-9] ]]; then
|
||||||
|
PROMPT_PERR="${err// /|} "
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
PS1='\[\e[00;38;5;37m\]$PROMPT_PVENV\[\e[38;5;134m\]$PROMPT_PK8S\[\e[00m\]$(__git_ps1 "%s ")\[\e[01;38;5;32m\]\w\[\e[00m\] \[\e[38;5;160m\]$PROMPT_PERR${_[\j<1]+\[\e[38;5;71m\]\j }\[\e[00m\]'
|
PS1='\[\e[00;38;5;37m\]$PROMPT_PVENV\[\e[38;5;134m\]$PROMPT_PK8S\[\e[00m\]$(__git_ps1 "%s ")\[\e[01;38;5;32m\]\w\[\e[00m\] \[\e[38;5;160m\]$PROMPT_PERR${_[\j<1]+\[\e[38;5;71m\]\j }\[\e[00m\]'
|
||||||
|
95
.config/bookmarks
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
# vim: tabstop=8 nowrap
|
||||||
|
|
||||||
|
# TODO
|
||||||
|
https://swatchseries.is/watch-tv/watch-rick-and-morty-39480.10164145
|
||||||
|
https://serverfault.com/questions/1150627/bind9-behind-nginx-reverse-proxy-doh/1168780#1168780
|
||||||
|
https://www.grepular.com/Automatically_Encrypting_all_Incoming_Email
|
||||||
|
https://www.grepular.com/Protecting_a_Laptop_from_Simple_and_Sophisticated_Attacks
|
||||||
|
https://www.rtcsec.com/article/slack-webrtc-turn-compromise-and-bug-bounty/
|
||||||
|
https://www.youtube.com/playlist?list=PLjAJj2LotlkOzOgp1xXJkbF73ZrQeDE7j
|
||||||
|
|
||||||
|
comm/discord https://discord.com/app
|
||||||
|
comm/whatsapp https://web.whatsapp.com
|
||||||
|
games/lichess https://lichess.org
|
||||||
|
gmk/chat https://chat.gmoker.com
|
||||||
|
gmk/git https://git.gmoker.com
|
||||||
|
gmk/searx https://searx.gmoker.com
|
||||||
|
maby/bazarr https://bazarr.ovh.maby.dev
|
||||||
|
maby/cloud https://cloud.maby.dev
|
||||||
|
maby/git https://git.maby.dev
|
||||||
|
maby/prowlarr https://prowlarr.ovh.maby.dev
|
||||||
|
maby/radarr https://radarr.ovh.maby.dev
|
||||||
|
maby/sonarr https://sonarr.ovh.maby.dev
|
||||||
|
maby/torrent https://torrent.ovh.maby.dev
|
||||||
|
maby/tv https://tv.maby.dev
|
||||||
|
media/dailymotion https://www.dailymotion.com
|
||||||
|
media/youtube https://youtube.com
|
||||||
|
media/ytmusic https://www.youtube.com/playlist?list=PLXd8_JG4e_d34zzFuv-ZtufN3VcbYnFnl
|
||||||
|
tools/crypto/coingecko https://www.coingecko.com
|
||||||
|
tools/crypto/mempool https://mempool.space
|
||||||
|
tools/deepl https://www.deepl.com
|
||||||
|
tools/nix/archwiki https://wiki.archlinux.org
|
||||||
|
tools/nix/crontab https://crontab.guru
|
||||||
|
tools/nix/debwiki https://wiki.debian.org
|
||||||
|
tools/nix/fedowiki https://docs.fedoraproject.org
|
||||||
|
tools/nix/gentoowiki https://wiki.gentoo.org
|
||||||
|
tools/regex101 https://regex101.com
|
||||||
|
tools/speedtest https://www.speedtest.net
|
||||||
|
|
||||||
|
adm/facture.net https://www.facture.net
|
||||||
|
games/chess.com https://www.chess.com
|
||||||
|
games/goclecd https://www.goclecd.fr
|
||||||
|
games/humanbenchmark https://humanbenchmark.com
|
||||||
|
games/igggames https://igg-games.com
|
||||||
|
games/leekwars https://leekwars.com
|
||||||
|
games/lolstats https://www.op.gg
|
||||||
|
games/mc/ores https://minecraft.fandom.com/wiki/Ore
|
||||||
|
games/mc/tlauncher https://tlauncher.org
|
||||||
|
games/mc/versions https://mcversions.net
|
||||||
|
games/sensitivity_25cm https://www.mouse-sensitivity.com
|
||||||
|
games/territorial https://territorial.io
|
||||||
|
games/tetr.io https://tetr.io
|
||||||
|
games/typing/10fastfingers https://10fastfingers.com/typing-test/english
|
||||||
|
games/typing/monkeytype https://monkeytype.com
|
||||||
|
games/typing/typeracer https://play.typeracer.com
|
||||||
|
games/ubfunkeys https://wynaut.itch.io/fig
|
||||||
|
games/wow/askmrrobot https://www.askmrrobot.com
|
||||||
|
games/wow/icyveins https://www.icy-veins.com
|
||||||
|
games/wow/method https://www.method.gg
|
||||||
|
games/wow/noxxic https://www.noxxic.com
|
||||||
|
games/wow/raidbots https://www.raidbots.com
|
||||||
|
games/wow/raider.io https://raider.io
|
||||||
|
games/wow/wago_luxthos https://wago.io/p/Luxthos
|
||||||
|
games/wow/warcraftlogs https://www.warcraftlogs.com
|
||||||
|
games/wow/wowhead https://www.wowhead.com
|
||||||
|
games/wow/wowprogress https://www.wowprogress.com
|
||||||
|
media/opensubtitles https://www.opensubtitles.org
|
||||||
|
media/streamingsites https://streamingsites.com
|
||||||
|
media/tmdb https://www.themoviedb.org
|
||||||
|
media/torhd https://torhd.cc
|
||||||
|
media/torrentscsv https://torrents-csv.com
|
||||||
|
media/watchsomuch https://watchsomuchtorrents.com
|
||||||
|
tools/archive https://archive.org
|
||||||
|
tools/crypto/mtpelerin https://www.mtpelerin.com
|
||||||
|
tools/gandi https://www.gandi.net
|
||||||
|
tools/memtest https://www.memtest.org
|
||||||
|
tools/namecheap https://www.namecheap.com
|
||||||
|
tools/nix/quickemu https://github.com/quickemu-project/quickemu
|
||||||
|
tools/nix/virtio-win https://github.com/virtio-win/virtio-win-pkg-scripts
|
||||||
|
tools/nix/winapps https://github.com/winapps-org/winapps
|
||||||
|
tools/nix/winfsp https://github.com/winfsp/winfsp
|
||||||
|
tools/nperf https://www.nperf.com
|
||||||
|
tools/semver https://semver.org
|
||||||
|
tools/ventoy https://github.com/ventoy/Ventoy/releases
|
||||||
|
tools/win/adwcleaner https://www.malwarebytes.com/adwcleaner
|
||||||
|
tools/win/changewindows https://changewindows.org
|
||||||
|
tools/win/crystaldisk https://crystalmark.info/en/software/crystaldiskinfo
|
||||||
|
tools/win/fido https://github.com/pbatard/Fido
|
||||||
|
tools/win/kms https://learn.microsoft.com/en-us/windows-server/get-started/kms-client-activation-keys
|
||||||
|
tools/win/malwarebytes https://www.malwarebytes.com
|
||||||
|
tools/win/massgrave https://massgrave.dev
|
||||||
|
tools/win/msmgtoolkit https://msmgtoolkit.in
|
||||||
|
tools/win/office https://answers.microsoft.com/en-us/msoffice/forum/all/useful-microsoft-download-links-for-office-direct/7bcaa971-9493-44b6-a1ba-0db4c6957c47
|
||||||
|
tools/win/server https://www.microsoft.com/en-us/evalcenter/download-windows-server-2025
|
||||||
|
tools/win/snappydriver http://www.snappy-driver-installer.org
|
||||||
|
tools/z-library https://z-library.sk
|
@ -6,7 +6,7 @@
|
|||||||
[diff]
|
[diff]
|
||||||
tool = nvimdiff
|
tool = nvimdiff
|
||||||
[difftool "nvimdiff"]
|
[difftool "nvimdiff"]
|
||||||
cmd = nvim -d -c \"wincmd l\" \"$LOCAL\" \"$REMOTE\"
|
cmd = nvim -d \"$REMOTE\" \"$LOCAL\"
|
||||||
[init]
|
[init]
|
||||||
defaultBranch = main
|
defaultBranch = main
|
||||||
[alias]
|
[alias]
|
||||||
@ -30,6 +30,7 @@ ls = ls-files
|
|||||||
m = merge
|
m = merge
|
||||||
p = push
|
p = push
|
||||||
r = remote
|
r = remote
|
||||||
|
rso = remote show origin -n
|
||||||
rb = rebase
|
rb = rebase
|
||||||
rev = revert
|
rev = revert
|
||||||
rh = reset
|
rh = reset
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
set menu-feed-sorting unread-desc
|
set menu-feed-sorting unread-desc
|
||||||
set menu-item-sorting unread-desc
|
set menu-item-sorting unread-desc
|
||||||
set notification-command ''
|
set notification-command ''
|
||||||
|
set reload-period 60
|
||||||
|
|
||||||
bind V exec mpv "%l"
|
bind V exec mpv "%l"
|
||||||
bind q quit-hard
|
bind q quit-hard
|
||||||
|
@ -1,39 +1,32 @@
|
|||||||
@ Global [60] {100}
|
|
||||||
|
|
||||||
@ Entertainment
|
@ Entertainment
|
||||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCI4W-ck8ZLA_YljxMhlpg2g "Chess Simp"
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCI4W-ck8ZLA_YljxMhlpg2g "Chess Simp"
|
||||||
https://www.youtube.com/feeds/videos.xml?channel_id=UCf-vV5woXPFpkvZKwooWoyw "WirtualTV"
|
|
||||||
|
|
||||||
@ News
|
@ News
|
||||||
https://archlinux.org/feeds/news/ "ArchLinux"
|
https://archlinux.org/feeds/news/ "ArchLinux"
|
||||||
https://odysee.com/$/rss/@BrodieRobertson:5 "BrodieRobertson"
|
https://www.youtube.com/feeds/videos.xml?channel_id=UCld68syR8Wi-GY_n4CaoJGA "BrodieRobertson"
|
||||||
https://www.debian.org/News/news "Debian"
|
https://www.debian.org/News/news "Debian"
|
||||||
https://f-droid.org/feed.xml "F-Droid"
|
https://f-droid.org/feed.xml "F-Droid"
|
||||||
https://odysee.com/$/rss/@AlphaNerd:8 "MentalOutlaw"
|
https://www.youtube.com/feeds/videos.xml?channel_id=UC7YOGHUfC1Tb6E4pudI9STA "MentalOutlaw"
|
||||||
https://suckless.org/atom.xml "suckless.org"
|
https://suckless.org/atom.xml "suckless.org"
|
||||||
https://tails.net/news/index.en.rss "Tails"
|
https://tails.net/news/index.en.rss "Tails"
|
||||||
|
|
||||||
@ Updates
|
@ Updates
|
||||||
https://github.com/coturn/coturn/releases.atom "Coturn"
|
|
||||||
https://github.com/vector-im/element-web/releases.atom "Element"
|
|
||||||
https://github.com/go-gitea/gitea/releases.atom "Gitea"
|
|
||||||
https://gitea.com/gitea/act_runner/releases.rss "Act runner"
|
https://gitea.com/gitea/act_runner/releases.rss "Act runner"
|
||||||
|
https://github.com/arkenfox/user.js/releases.atom "arkenfox"
|
||||||
|
https://github.com/vector-im/element-web/releases.atom "Element" < item-rule "title NOT LIKE '%-rc._'"
|
||||||
|
https://github.com/go-gitea/gitea/releases.atom "Gitea" < item-rule "title NOT LIKE '%-rc_' AND title NOT LIKE '%-dev%'"
|
||||||
https://github.com/jellyfin/jellyfin/releases.atom "Jellyfin"
|
https://github.com/jellyfin/jellyfin/releases.atom "Jellyfin"
|
||||||
https://github.com/modoboa/modoboa/releases.atom "Modoboa"
|
https://www.getmonero.org/feed.xml "Monero" < item-rule "title NOT LIKE 'Monero GUI%released'"
|
||||||
https://www.getmonero.org/feed.xml "Monero"
|
https://github.com/nextcloud/server/releases.atom "Nextcloud" < item-rule "title NOT LIKE '%rc_' AND title NOT LIKE '%beta_'"
|
||||||
https://github.com/nextcloud/server/releases.atom "Nextcloud"
|
https://github.com/qbittorrent/qBittorrent/tags.atom "qBittorrent" < item-rule "title NOT LIKE '%rc_' AND title NOT LIKE '%beta_'"
|
||||||
https://github.com/searxng/searxng/commits/master.atom "SearXNG"
|
https://github.com/searxng/searxng/commits/master.atom "SearXNG"
|
||||||
https://github.com/element-hq/synapse/releases.atom "Synapse"
|
https://github.com/element-hq/synapse/releases.atom "Synapse" < item-rule "title NOT LIKE '%rc%'"
|
||||||
https://github.com/matrix-org/dendrite/releases.atom "Dendrite"
|
|
||||||
https://github.com/qbittorrent/qBittorrent/tags.atom "qBittorrent"
|
|
||||||
https://github.com/ventoy/Ventoy/releases.atom "Ventoy"
|
https://github.com/ventoy/Ventoy/releases.atom "Ventoy"
|
||||||
|
|
||||||
@ K8S
|
@ K8S
|
||||||
https://github.com/kubernetes/kubernetes/releases.atom "Kubernetes"
|
https://github.com/kubernetes/kubernetes/releases.atom "Kubernetes" < item-rule "title NOT LIKE '%-rc._' AND title NOT LIKE '%-alpha._' AND title NOT LIKE '%-beta._'"
|
||||||
https://github.com/cert-manager/cert-manager/releases.atom "cert-manager"
|
https://github.com/cert-manager/cert-manager/releases.atom "cert-manager" < item-rule "title NOT LIKE 'cmd/ctl/%' AND title NOT LIKE '%-alpha._' AND title NOT LIKE '%-beta._'"
|
||||||
https://github.com/cloudnative-pg/cloudnative-pg/releases.atom "CloudNativePG"
|
https://github.com/cloudnative-pg/cloudnative-pg/releases.atom "CloudNativePG" < item-rule "title NOT LIKE '%-rc_'"
|
||||||
https://github.com/flannel-io/flannel/releases.atom "flannel"
|
https://github.com/flannel-io/flannel/releases.atom "flannel"
|
||||||
https://github.com/kubernetes/ingress-nginx/releases.atom "Ingress-NGINX"
|
https://github.com/kubernetes/ingress-nginx/releases.atom "Ingress-NGINX" < item-rule "title LIKE 'controller-%' AND title NOT LIKE '%-beta._'"
|
||||||
https://github.com/metallb/metallb/releases.atom "MetalLB"
|
https://github.com/metallb/metallb/releases.atom "MetalLB" < item-rule "title NOT LIKE 'metallb-chart-%'"
|
||||||
https://github.com/kubernetes-csi/csi-driver-nfs/releases.atom "NFS"
|
https://github.com/kubernetes-csi/csi-driver-nfs/releases.atom "NFS"
|
||||||
https://github.com/rook/rook/releases.atom "Rook"
|
|
||||||
|
1
.config/nvim/ftplugin/css.lua
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
html.lua
|
2
.config/nvim/ftplugin/dart.lua
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
vim.opt_local.shiftwidth = 2
|
||||||
|
vim.opt_local.tabstop = 2
|
1
.config/nvim/ftplugin/ldif.lua
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
json.lua
|
0
.config/nvim/ftplugin/markdown.lua
Normal file
@ -23,8 +23,8 @@ vim.g.netrw_list_hide = "\\.o$,\\.d$,\\.gc..$"
|
|||||||
vim.opt.lazyredraw = true
|
vim.opt.lazyredraw = true
|
||||||
vim.opt.complete = vim.o.complete .. ",i"
|
vim.opt.complete = vim.o.complete .. ",i"
|
||||||
|
|
||||||
vim.loader.enable()
|
vim.g.go_recommended_style = 0
|
||||||
vim.cmd("packadd plenary")
|
|
||||||
require"theme"
|
require"theme"
|
||||||
require"pack-lspconfig"
|
require"pack-lspconfig"
|
||||||
require"pack-telescope"
|
require"pack-telescope"
|
||||||
|
@ -24,4 +24,5 @@ local on_attach = function(_, bufnr)
|
|||||||
end
|
end
|
||||||
|
|
||||||
lspconfig["bashls"].setup { on_attach = on_attach }
|
lspconfig["bashls"].setup { on_attach = on_attach }
|
||||||
|
lspconfig["gopls"].setup { on_attach = on_attach }
|
||||||
lspconfig["pyright"].setup { on_attach = on_attach }
|
lspconfig["pyright"].setup { on_attach = on_attach }
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
vim.cmd("packadd telescope")
|
|
||||||
require"telescope".setup {
|
require"telescope".setup {
|
||||||
defaults = {
|
defaults = {
|
||||||
file_ignore_patterns = {
|
file_ignore_patterns = {
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
vim.cmd("packadd treesitter")
|
|
||||||
require"nvim-treesitter.configs".setup {
|
require"nvim-treesitter.configs".setup {
|
||||||
auto_install = true,
|
auto_install = true,
|
||||||
highlight = { enable = true },
|
highlight = { enable = true },
|
||||||
ignore_install = { "gitcommit" }, -- broken
|
ignore_install = { "gitcommit" }, -- broken
|
||||||
}
|
}
|
||||||
|
|
||||||
vim.cmd("TSUpdate")
|
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
vim.cmd("packadd onedark")
|
|
||||||
local theme = require"onedark"
|
local theme = require"onedark"
|
||||||
theme.setup {
|
theme.setup {
|
||||||
style = "dark",
|
style = "dark",
|
||||||
|
@ -1 +0,0 @@
|
|||||||
Subproject commit fae34f7c635797f4bf62fb00e7d0516efa8abe37
|
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 2d9b06177a975543726ce5c73fca176cedbffe9d
|
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 85922dde3767e01d42a08e750a773effbffaea3e
|
|
@ -1 +0,0 @@
|
|||||||
Subproject commit 9565149634ec5e0fc9e740f4edb6cab26bf7fb6f
|
|
1
.config/nvim/pack/plugins/start/onedark
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 67a74c275d1116d575ab25485d1bfa6b2a9c38a6
|
1
.config/nvim/pack/plugins/start/plenary
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 857c5ac632080dba10aae49dba902ce3abf91b35
|
1
.config/nvim/pack/plugins/start/telescope
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit a4ed82509cecc56df1c7138920a1aeaf246c0ac5
|
1
.config/nvim/pack/plugins/start/treesitter
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 523a9e148919f58eb5a013f76787e57696e00c93
|
@ -2,67 +2,45 @@
|
|||||||
# Shadows #
|
# Shadows #
|
||||||
#################################
|
#################################
|
||||||
|
|
||||||
|
|
||||||
# Enabled client-side shadows on windows. Note desktop windows
|
# Enabled client-side shadows on windows. Note desktop windows
|
||||||
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
# (windows with '_NET_WM_WINDOW_TYPE_DESKTOP') never get shadow,
|
||||||
# unless explicitly requested using the wintypes option.
|
# unless explicitly requested using the wintypes option.
|
||||||
#
|
#
|
||||||
# shadow = false
|
# Can be set per-window using rules.
|
||||||
|
#
|
||||||
|
# Default: false
|
||||||
#shadow = true;
|
#shadow = true;
|
||||||
|
|
||||||
# The blur radius for shadows, in pixels. (defaults to 12)
|
# The blur radius for shadows, in pixels.
|
||||||
# shadow-radius = 12
|
#
|
||||||
|
# Default: 12
|
||||||
shadow-radius = 7;
|
shadow-radius = 7;
|
||||||
|
|
||||||
# The opacity of shadows. (0.0 - 1.0, defaults to 0.75)
|
# The opacity of shadows.
|
||||||
|
#
|
||||||
|
# Range: 0.0 - 1.0
|
||||||
|
# Default: 0.75
|
||||||
# shadow-opacity = .75
|
# shadow-opacity = .75
|
||||||
|
|
||||||
# The left offset for shadows, in pixels. (defaults to -15)
|
# The left offset for shadows, in pixels.
|
||||||
# shadow-offset-x = -15
|
#
|
||||||
|
# Default: -15
|
||||||
shadow-offset-x = -7;
|
shadow-offset-x = -7;
|
||||||
|
|
||||||
# The top offset for shadows, in pixels. (defaults to -15)
|
# The top offset for shadows, in pixels.
|
||||||
# shadow-offset-y = -15
|
#
|
||||||
|
# Default: -15
|
||||||
shadow-offset-y = -7;
|
shadow-offset-y = -7;
|
||||||
|
|
||||||
# Red color value of shadow (0.0 - 1.0, defaults to 0).
|
# Hex string color value of shadow. Formatted like "#RRGGBB", e.g. "#C0FFEE".
|
||||||
# shadow-red = 0
|
#
|
||||||
|
# Default: #000000
|
||||||
# Green color value of shadow (0.0 - 1.0, defaults to 0).
|
|
||||||
# shadow-green = 0
|
|
||||||
|
|
||||||
# Blue color value of shadow (0.0 - 1.0, defaults to 0).
|
|
||||||
# shadow-blue = 0
|
|
||||||
|
|
||||||
# Hex string color value of shadow (#000000 - #FFFFFF, defaults to #000000). This option will override options set shadow-(red/green/blue)
|
|
||||||
# shadow-color = "#000000"
|
# shadow-color = "#000000"
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should have no shadow.
|
|
||||||
#
|
|
||||||
# examples:
|
|
||||||
# shadow-exclude = "n:e:Notification";
|
|
||||||
#
|
|
||||||
# shadow-exclude = []
|
|
||||||
shadow-exclude = [
|
|
||||||
"name = 'Notification'",
|
|
||||||
"class_g = 'Conky'",
|
|
||||||
"class_g ?= 'Notify-osd'",
|
|
||||||
"class_g = 'Cairo-clock'",
|
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
|
||||||
];
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should have no shadow painted over, such as a dock window.
|
|
||||||
# clip-shadow-above = []
|
|
||||||
|
|
||||||
# Specify a X geometry that describes the region in which shadow should not
|
|
||||||
# be painted in, such as a dock window region. Use
|
|
||||||
# shadow-exclude-reg = "x10+0+0"
|
|
||||||
# for example, if the 10 pixels on the bottom of the screen should not have shadows painted on.
|
|
||||||
#
|
|
||||||
# shadow-exclude-reg = ""
|
|
||||||
|
|
||||||
# Crop shadow of a window fully on a particular monitor to that monitor. This is
|
# Crop shadow of a window fully on a particular monitor to that monitor. This is
|
||||||
# currently implemented using the X RandR extension.
|
# currently implemented using the X RandR extension.
|
||||||
|
#
|
||||||
|
# Default: false
|
||||||
# crop-shadow-to-monitor = false
|
# crop-shadow-to-monitor = false
|
||||||
|
|
||||||
|
|
||||||
@ -70,26 +48,21 @@ shadow-exclude = [
|
|||||||
# Fading #
|
# Fading #
|
||||||
#################################
|
#################################
|
||||||
|
|
||||||
|
|
||||||
# Fade windows in/out when opening/closing and when opacity changes,
|
# Fade windows in/out when opening/closing and when opacity changes,
|
||||||
# unless no-fading-openclose is used.
|
# unless no-fading-openclose is used. Can be set per-window using rules.
|
||||||
# fading = false
|
#
|
||||||
|
# Default: false
|
||||||
#fading = true;
|
#fading = true;
|
||||||
|
|
||||||
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
# Opacity change between steps while fading in. (0.01 - 1.0, defaults to 0.028)
|
||||||
# fade-in-step = 0.028
|
|
||||||
fade-in-step = 0.03;
|
fade-in-step = 0.03;
|
||||||
|
|
||||||
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
# Opacity change between steps while fading out. (0.01 - 1.0, defaults to 0.03)
|
||||||
# fade-out-step = 0.03
|
|
||||||
fade-out-step = 0.03;
|
fade-out-step = 0.03;
|
||||||
|
|
||||||
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
# The time between steps in fade step, in milliseconds. (> 0, defaults to 10)
|
||||||
# fade-delta = 10
|
# fade-delta = 10
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should not be faded.
|
|
||||||
# fade-exclude = []
|
|
||||||
|
|
||||||
# Do not fade on window open/close.
|
# Do not fade on window open/close.
|
||||||
# no-fading-openclose = false
|
# no-fading-openclose = false
|
||||||
|
|
||||||
@ -101,41 +74,16 @@ fade-out-step = 0.03;
|
|||||||
# Transparency / Opacity #
|
# Transparency / Opacity #
|
||||||
#################################
|
#################################
|
||||||
|
|
||||||
|
# Opacity of window titlebars and borders.
|
||||||
# Opacity of inactive windows. (0.1 - 1.0, defaults to 1.0)
|
#
|
||||||
# inactive-opacity = 1
|
# Range: 0.1 - 1.0
|
||||||
#inactive-opacity = 0.8;
|
# Default: 1.0 (disabled)
|
||||||
|
frame-opacity = 0.7;
|
||||||
# Opacity of window titlebars and borders. (0.1 - 1.0, disabled by default)
|
|
||||||
# frame-opacity = 1.0
|
|
||||||
#frame-opacity = 0.7;
|
|
||||||
|
|
||||||
# Let inactive opacity set by -i override the '_NET_WM_WINDOW_OPACITY' values of windows.
|
|
||||||
# inactive-opacity-override = true
|
|
||||||
inactive-opacity-override = false;
|
|
||||||
|
|
||||||
# Default opacity for active windows. (0.0 - 1.0, defaults to 1.0)
|
|
||||||
# active-opacity = 1.0
|
|
||||||
|
|
||||||
# Dim inactive windows. (0.0 - 1.0, defaults to 0.0)
|
|
||||||
# inactive-dim = 0.0
|
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should never be considered focused.
|
|
||||||
# focus-exclude = []
|
|
||||||
focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
|
||||||
|
|
||||||
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
# Use fixed inactive dim value, instead of adjusting according to window opacity.
|
||||||
# inactive-dim-fixed = 1.0
|
|
||||||
|
|
||||||
# Specify a list of opacity rules, in the format `PERCENT:PATTERN`,
|
|
||||||
# like `50:name *= "Firefox"`. picom-trans is recommended over this.
|
|
||||||
# Note we don't make any guarantee about possible conflicts with other
|
|
||||||
# programs that set '_NET_WM_WINDOW_OPACITY' on frame or client windows.
|
|
||||||
# example:
|
|
||||||
# opacity-rule = [ "80:class_g = 'URxvt'" ];
|
|
||||||
#
|
#
|
||||||
# opacity-rule = []
|
# Default: false
|
||||||
|
# inactive-dim-fixed = true
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Corners #
|
# Corners #
|
||||||
@ -144,21 +92,15 @@ focus-exclude = [ "class_g = 'Cairo-clock'" ];
|
|||||||
# Sets the radius of rounded window corners. When > 0, the compositor will
|
# Sets the radius of rounded window corners. When > 0, the compositor will
|
||||||
# round the corners of windows. Does not interact well with
|
# round the corners of windows. Does not interact well with
|
||||||
# `transparent-clipping`.
|
# `transparent-clipping`.
|
||||||
|
#
|
||||||
|
# Default: 0 (disabled)
|
||||||
corner-radius = 0
|
corner-radius = 0
|
||||||
|
|
||||||
# Exclude conditions for rounded corners.
|
|
||||||
rounded-corners-exclude = [
|
|
||||||
"window_type = 'dock'",
|
|
||||||
"window_type = 'desktop'"
|
|
||||||
];
|
|
||||||
|
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# Background-Blurring #
|
# Blur #
|
||||||
#################################
|
#################################
|
||||||
|
|
||||||
|
# Parameters for background blurring, see BLUR section in the man page for more information.
|
||||||
# Parameters for background blurring, see the *BLUR* section for more information.
|
|
||||||
# blur-method =
|
# blur-method =
|
||||||
# blur-size = 12
|
# blur-size = 12
|
||||||
#
|
#
|
||||||
@ -167,108 +109,96 @@ rounded-corners-exclude = [
|
|||||||
# blur-strength = 5
|
# blur-strength = 5
|
||||||
|
|
||||||
# Blur background of semi-transparent / ARGB windows.
|
# Blur background of semi-transparent / ARGB windows.
|
||||||
# Bad in performance, with driver-dependent behavior.
|
# Can be set per-window using rules.
|
||||||
# The name of the switch may change without prior notifications.
|
|
||||||
#
|
#
|
||||||
|
# Default: false
|
||||||
# blur-background = false
|
# blur-background = false
|
||||||
|
|
||||||
# Blur background of windows when the window frame is not opaque.
|
# Blur background of windows when the window frame is not opaque.
|
||||||
# Implies:
|
# Implies:
|
||||||
# blur-background
|
# blur-background
|
||||||
# Bad in performance, with driver-dependent behavior. The name may change.
|
|
||||||
#
|
#
|
||||||
|
# Default: false
|
||||||
# blur-background-frame = false
|
# blur-background-frame = false
|
||||||
|
|
||||||
|
|
||||||
# Use fixed blur strength rather than adjusting according to window opacity.
|
# Use fixed blur strength rather than adjusting according to window opacity.
|
||||||
|
#
|
||||||
|
# Default: false
|
||||||
# blur-background-fixed = false
|
# blur-background-fixed = false
|
||||||
|
|
||||||
|
|
||||||
# Specify the blur convolution kernel, with the following format:
|
# Specify the blur convolution kernel, with the following format:
|
||||||
# example:
|
# example:
|
||||||
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
# blur-kern = "5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1";
|
||||||
|
# Can also be a pre-defined kernel, see the man page.
|
||||||
#
|
#
|
||||||
# blur-kern = ""
|
# Default: ""
|
||||||
blur-kern = "3x3box";
|
blur-kern = "3x3box";
|
||||||
|
|
||||||
|
|
||||||
# Exclude conditions for background blur.
|
|
||||||
# blur-background-exclude = []
|
|
||||||
blur-background-exclude = [
|
|
||||||
"window_type = 'dock'",
|
|
||||||
"window_type = 'desktop'",
|
|
||||||
"_GTK_FRAME_EXTENTS@:c"
|
|
||||||
];
|
|
||||||
|
|
||||||
#################################
|
#################################
|
||||||
# General Settings #
|
# General Settings #
|
||||||
#################################
|
#################################
|
||||||
|
|
||||||
# Enable remote control via D-Bus. See the man page for more details.
|
# Enable remote control via D-Bus. See the man page for more details.
|
||||||
|
#
|
||||||
|
# Default: false
|
||||||
# dbus = true
|
# dbus = true
|
||||||
|
|
||||||
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
# Daemonize process. Fork to background after initialization. Causes issues with certain (badly-written) drivers.
|
||||||
# daemon = false
|
# daemon = false
|
||||||
|
|
||||||
# Specify the backend to use: `xrender`, `glx`, `egl` or `xr_glx_hybrid`.
|
# Specify the backend to use: `xrender`, `glx`, or `egl`.
|
||||||
# `xrender` is the default one.
|
|
||||||
#
|
#
|
||||||
# backend = "glx"
|
# Default: "xrender"
|
||||||
backend = "glx";
|
backend = "glx"
|
||||||
|
|
||||||
# Use higher precision during rendering, and apply dither when presenting the
|
# Use higher precision during rendering, and apply dither when presenting the
|
||||||
# rendered screen. Reduces banding artifacts, but might cause performance
|
# rendered screen. Reduces banding artifacts, but may cause performance
|
||||||
# degradation. Only works with OpenGL.
|
# degradation. Only works with OpenGL.
|
||||||
dithered-present = false;
|
dithered-present = false;
|
||||||
|
|
||||||
# Enable/disable VSync.
|
# Enable/disable VSync.
|
||||||
# vsync = false
|
|
||||||
vsync = true;
|
|
||||||
|
|
||||||
# Try to detect WM windows (a non-override-redirect window with no
|
|
||||||
# child that has 'WM_STATE') and mark them as active.
|
|
||||||
#
|
#
|
||||||
# mark-wmwin-focused = false
|
# Default: false
|
||||||
mark-wmwin-focused = true;
|
vsync = true;
|
||||||
|
|
||||||
# Mark override-redirect windows that doesn't have a child window with 'WM_STATE' focused.
|
|
||||||
# mark-ovredir-focused = false
|
|
||||||
mark-ovredir-focused = true;
|
|
||||||
|
|
||||||
# Try to detect windows with rounded corners and don't consider them
|
# Try to detect windows with rounded corners and don't consider them
|
||||||
# shaped windows. The accuracy is not very high, unfortunately.
|
# shaped windows. The accuracy is not very high, unfortunately.
|
||||||
#
|
#
|
||||||
# detect-rounded-corners = false
|
# Has nothing to do with `corner-radius`.
|
||||||
|
#
|
||||||
|
# Default: false
|
||||||
detect-rounded-corners = true;
|
detect-rounded-corners = true;
|
||||||
|
|
||||||
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
|
# Detect '_NET_WM_WINDOW_OPACITY' on client windows, useful for window managers
|
||||||
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
|
# not passing '_NET_WM_WINDOW_OPACITY' of client windows to frame windows.
|
||||||
#
|
#
|
||||||
# detect-client-opacity = false
|
# Default: false
|
||||||
detect-client-opacity = true;
|
detect-client-opacity = true;
|
||||||
|
|
||||||
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
|
||||||
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
|
# rather than listening to 'FocusIn'/'FocusOut' event. May be more accurate,
|
||||||
# provided that the WM supports it.
|
# provided that the WM supports it.
|
||||||
#
|
#
|
||||||
|
# Default: false
|
||||||
# use-ewmh-active-win = false
|
# use-ewmh-active-win = false
|
||||||
|
|
||||||
# Unredirect all windows if a full-screen opaque window is detected,
|
# Unredirect all windows if a full-screen opaque window is detected,
|
||||||
# to maximize performance for full-screen windows. Known to cause flickering
|
# to maximize performance for full-screen windows. Known to cause flickering
|
||||||
# when redirecting/unredirecting windows.
|
# when redirecting/unredirecting windows.
|
||||||
#
|
#
|
||||||
|
# Default: false
|
||||||
unredir-if-possible = true
|
unredir-if-possible = true
|
||||||
|
|
||||||
# Delay before unredirecting the window, in milliseconds. Defaults to 0.
|
# Delay before unredirecting the window, in milliseconds.
|
||||||
|
#
|
||||||
|
# Default: 0.
|
||||||
# unredir-if-possible-delay = 0
|
# unredir-if-possible-delay = 0
|
||||||
|
|
||||||
# Conditions of windows that shouldn't be considered full-screen for unredirecting screen.
|
|
||||||
# unredir-if-possible-exclude = []
|
|
||||||
|
|
||||||
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
# Use 'WM_TRANSIENT_FOR' to group windows, and consider windows
|
||||||
# in the same group focused at the same time.
|
# in the same group focused at the same time.
|
||||||
#
|
#
|
||||||
# detect-transient = false
|
# Default: false
|
||||||
detect-transient = true;
|
detect-transient = true;
|
||||||
|
|
||||||
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
# Use 'WM_CLIENT_LEADER' to group windows, and consider windows in the same
|
||||||
@ -276,102 +206,67 @@ detect-transient = true;
|
|||||||
# will be considered focused or unfocused at the same time.
|
# will be considered focused or unfocused at the same time.
|
||||||
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
|
# 'WM_TRANSIENT_FOR' has higher priority if detect-transient is enabled, too.
|
||||||
#
|
#
|
||||||
|
# Default: false
|
||||||
# detect-client-leader = false
|
# detect-client-leader = false
|
||||||
|
|
||||||
# Resize damaged region by a specific number of pixels.
|
# Use of damage information for rendering. This cause the only the part of the
|
||||||
# A positive value enlarges it while a negative one shrinks it.
|
# screen that has actually changed to be redrawn, instead of the whole screen
|
||||||
# If the value is positive, those additional pixels will not be actually painted
|
# every time. Should improve performance.
|
||||||
# to screen, only used in blur calculation, and such. (Due to technical limitations,
|
|
||||||
# with use-damage, those pixels will still be incorrectly painted to screen.)
|
|
||||||
# Primarily used to fix the line corruption issues of blur,
|
|
||||||
# in which case you should use the blur radius value here
|
|
||||||
# (e.g. with a 3x3 kernel, you should use `--resize-damage 1`,
|
|
||||||
# with a 5x5 one you use `--resize-damage 2`, and so on).
|
|
||||||
# May or may not work with *--glx-no-stencil*. Shrinking doesn't function correctly.
|
|
||||||
#
|
#
|
||||||
# resize-damage = 1
|
# Default: false
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should be painted with inverted color.
|
|
||||||
# Resource-hogging, and is not well tested.
|
|
||||||
#
|
|
||||||
# invert-color-include = []
|
|
||||||
|
|
||||||
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
|
|
||||||
# Might cause incorrect opacity when rendering transparent content (but never
|
|
||||||
# practically happened) and may not work with blur-background.
|
|
||||||
# My tests show a 15% performance boost. Recommended.
|
|
||||||
#
|
|
||||||
glx-no-stencil = true;
|
|
||||||
|
|
||||||
# GLX backend: Avoid rebinding pixmap on window damage.
|
|
||||||
# Probably could improve performance on rapid window content changes,
|
|
||||||
# but is known to break things on some drivers (LLVMpipe, xf86-video-intel, etc.).
|
|
||||||
# Recommended if it works.
|
|
||||||
#
|
|
||||||
# glx-no-rebind-pixmap = false
|
|
||||||
|
|
||||||
# Disable the use of damage information.
|
|
||||||
# This cause the whole screen to be redrawn every time, instead of the part of the screen
|
|
||||||
# has actually changed. Potentially degrades the performance, but might fix some artifacts.
|
|
||||||
# The opposing option is use-damage
|
|
||||||
#
|
|
||||||
# no-use-damage = false
|
|
||||||
use-damage = true;
|
use-damage = true;
|
||||||
|
|
||||||
# Use X Sync fence to sync clients' draw calls, to make sure all draw
|
# Use X Sync fence to wait for the completion of rendering of other windows,
|
||||||
# calls are finished before picom starts drawing. Needed on nvidia-drivers
|
# before using their content to render the current screen.
|
||||||
# with GLX backend for some users.
|
|
||||||
#
|
#
|
||||||
|
# Required for explicit sync drivers, such as nvidia.
|
||||||
|
#
|
||||||
|
# Default: false
|
||||||
# xrender-sync-fence = false
|
# xrender-sync-fence = false
|
||||||
|
|
||||||
# GLX backend: Use specified GLSL fragment shader for rendering window
|
# GLX backend: Use specified GLSL fragment shader for rendering window
|
||||||
# contents. Read the man page for a detailed explanation of the interface.
|
# contents. Read the man page for a detailed explanation of the interface.
|
||||||
#
|
#
|
||||||
|
# Can be set per-window using rules.
|
||||||
|
#
|
||||||
# window-shader-fg = "default"
|
# window-shader-fg = "default"
|
||||||
|
|
||||||
# Use rules to set per-window shaders. Syntax is SHADER_PATH:PATTERN, similar
|
|
||||||
# to opacity-rule. SHADER_PATH can be "default". This overrides window-shader-fg.
|
|
||||||
#
|
|
||||||
# window-shader-fg-rule = [
|
|
||||||
# "my_shader.frag:window_type != 'dock'"
|
|
||||||
# ]
|
|
||||||
|
|
||||||
# Force all windows to be painted with blending. Useful if you
|
# Force all windows to be painted with blending. Useful if you
|
||||||
# have a glx-fshader-win that could turn opaque pixels transparent.
|
# have a `window-shader-fg` that could turn opaque pixels transparent.
|
||||||
#
|
#
|
||||||
|
# Default: false
|
||||||
# force-win-blend = false
|
# force-win-blend = false
|
||||||
|
|
||||||
# Do not use EWMH to detect fullscreen windows.
|
# Do not use EWMH to detect fullscreen windows.
|
||||||
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
# Reverts to checking if a window is fullscreen based only on its size and coordinates.
|
||||||
#
|
#
|
||||||
|
# Default: false
|
||||||
# no-ewmh-fullscreen = false
|
# no-ewmh-fullscreen = false
|
||||||
|
|
||||||
# Dimming bright windows so their brightness doesn't exceed this set value.
|
# Dimming bright windows so their brightness doesn't exceed this set value.
|
||||||
# Brightness of a window is estimated by averaging all pixels in the window,
|
# Brightness of a window is estimated by averaging all pixels in the window,
|
||||||
# so this could comes with a performance hit.
|
# so this could comes with a performance hit.
|
||||||
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled. (default: 1.0)
|
# Setting this to 1.0 disables this behaviour. Requires --use-damage to be disabled.
|
||||||
#
|
#
|
||||||
|
# Default: 1.0 (disabled)
|
||||||
# max-brightness = 1.0
|
# max-brightness = 1.0
|
||||||
|
|
||||||
# Make transparent windows clip other windows like non-transparent windows do,
|
# Make transparent windows clip other windows like non-transparent windows do,
|
||||||
# instead of blending on top of them.
|
# instead of blending on top of them. e.g. placing a transparent window on top
|
||||||
|
# of another window will cut a "hole" in that window, and show the desktop background
|
||||||
|
# underneath.
|
||||||
#
|
#
|
||||||
|
# Default: false
|
||||||
# transparent-clipping = false
|
# transparent-clipping = false
|
||||||
|
|
||||||
# Specify a list of conditions of windows that should never have transparent
|
|
||||||
# clipping applied. Useful for screenshot tools, where you need to be able to
|
|
||||||
# see through transparent parts of the window.
|
|
||||||
#
|
|
||||||
# transparent-clipping-exclude = []
|
|
||||||
|
|
||||||
# Set the log level. Possible values are:
|
# Set the log level. Possible values are:
|
||||||
# "trace", "debug", "info", "warn", "error"
|
# "trace", "debug", "info", "warn", "error"
|
||||||
# in increasing level of importance. Case doesn't matter.
|
# in increasing level of importance. Case insensitive.
|
||||||
# If using the "TRACE" log level, it's better to log into a file
|
# If using the "TRACE" log level, it's better to log into a file
|
||||||
# using *--log-file*, since it can generate a huge stream of logs.
|
# using *--log-file*, since it can generate a huge stream of logs.
|
||||||
#
|
#
|
||||||
# log-level = "debug"
|
# Default: "warn"
|
||||||
log-level = "warn";
|
# log-level = "warn";
|
||||||
|
|
||||||
# Set the log file.
|
# Set the log file.
|
||||||
# If *--log-file* is never specified, logs will be written to stderr.
|
# If *--log-file* is never specified, logs will be written to stderr.
|
||||||
@ -381,51 +276,42 @@ log-level = "warn";
|
|||||||
#
|
#
|
||||||
# log-file = "/path/to/your/log/file"
|
# log-file = "/path/to/your/log/file"
|
||||||
|
|
||||||
# Show all X errors (for debugging)
|
|
||||||
# show-all-xerrors = false
|
|
||||||
|
|
||||||
# Write process ID to a file.
|
# Write process ID to a file.
|
||||||
# write-pid-path = "/path/to/your/log/file"
|
# write-pid-path = "/path/to/your/log/file"
|
||||||
|
|
||||||
# Window type settings
|
# Rule-based per-window options.
|
||||||
#
|
#
|
||||||
# 'WINDOW_TYPE' is one of the 15 window types defined in EWMH standard:
|
# See WINDOW RULES section in the man page for how these work.
|
||||||
# "unknown", "desktop", "dock", "toolbar", "menu", "utility",
|
#rules: ({
|
||||||
# "splash", "dialog", "normal", "dropdown_menu", "popup_menu",
|
# match = "window_type = 'tooltip'";
|
||||||
# "tooltip", "notification", "combo", and "dnd".
|
# fade = false;
|
||||||
|
# shadow = true;
|
||||||
|
# opacity = 0.75;
|
||||||
|
# full-shadow = false;
|
||||||
|
#}, {
|
||||||
|
# match = "window_type = 'dock' || "
|
||||||
|
# "window_type = 'desktop' || "
|
||||||
|
# "_GTK_FRAME_EXTENTS@";
|
||||||
|
# blur-background = false;
|
||||||
|
#}, {
|
||||||
|
# match = "window_type != 'dock'";
|
||||||
|
# # shader = "my_shader.frag";
|
||||||
|
#}, {
|
||||||
|
# match = "window_type = 'dock' || "
|
||||||
|
# "window_type = 'desktop'";
|
||||||
|
# corner-radius = 0;
|
||||||
|
#}, {
|
||||||
|
# match = "name = 'Notification' || "
|
||||||
|
# "class_g = 'Conky' || "
|
||||||
|
# "class_g ?= 'Notify-osd' || "
|
||||||
|
# "class_g = 'Cairo-clock' || "
|
||||||
|
# "_GTK_FRAME_EXTENTS@";
|
||||||
|
# shadow = false;
|
||||||
|
#})
|
||||||
|
|
||||||
|
# `@include` directive can be used to include additional configuration files.
|
||||||
|
# Relative paths are search either in the parent of this configuration file
|
||||||
|
# (when the configuration is loaded through a symlink, the symlink will be
|
||||||
|
# resolved first). Or in `$XDG_CONFIG_HOME/picom/include`.
|
||||||
#
|
#
|
||||||
# Following per window-type options are available: ::
|
# @include "extra.conf"
|
||||||
#
|
|
||||||
# fade, shadow:::
|
|
||||||
# Controls window-type-specific shadow and fade settings.
|
|
||||||
#
|
|
||||||
# opacity:::
|
|
||||||
# Controls default opacity of the window type.
|
|
||||||
#
|
|
||||||
# focus:::
|
|
||||||
# Controls whether the window of this type is to be always considered focused.
|
|
||||||
# (By default, all window types except "normal" and "dialog" has this on.)
|
|
||||||
#
|
|
||||||
# full-shadow:::
|
|
||||||
# Controls whether shadow is drawn under the parts of the window that you
|
|
||||||
# normally won't be able to see. Useful when the window has parts of it
|
|
||||||
# transparent, and you want shadows in those areas.
|
|
||||||
#
|
|
||||||
# clip-shadow-above:::
|
|
||||||
# Controls whether shadows that would have been drawn above the window should
|
|
||||||
# be clipped. Useful for dock windows that should have no shadow painted on top.
|
|
||||||
#
|
|
||||||
# redir-ignore:::
|
|
||||||
# Controls whether this type of windows should cause screen to become
|
|
||||||
# redirected again after been unredirected. If you have unredir-if-possible
|
|
||||||
# set, and doesn't want certain window to cause unnecessary screen redirection,
|
|
||||||
# you can set this to `true`.
|
|
||||||
#
|
|
||||||
#wintypes:
|
|
||||||
#{
|
|
||||||
# tooltip = { fade = true; shadow = true; opacity = 0.75; focus = true; full-shadow = false; };
|
|
||||||
# dock = { shadow = false; clip-shadow-above = true; }
|
|
||||||
# dnd = { shadow = false; }
|
|
||||||
# popup_menu = { opacity = 0.8; }
|
|
||||||
# dropdown_menu = { opacity = 0.8; }
|
|
||||||
#};
|
|
||||||
|
@ -52,9 +52,6 @@ static const Layout layouts[] = {
|
|||||||
{ MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
|
{ MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
|
||||||
{ MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
|
{ MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
|
||||||
|
|
||||||
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
|
|
||||||
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
|
|
||||||
|
|
||||||
/* commands */
|
/* commands */
|
||||||
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
|
static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn() */
|
||||||
static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
|
static const char *dmenucmd[] = { "dmenu_run", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
|
||||||
@ -112,4 +109,3 @@ static const Button buttons[] = {
|
|||||||
{ ClkTagBar, MODKEY, Button1, tag, {0} },
|
{ ClkTagBar, MODKEY, Button1, tag, {0} },
|
||||||
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
|
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -60,11 +60,11 @@ static char dmenumon[2] = "0"; /* component of dmenucmd, manipulated in spawn()
|
|||||||
static const char *dmenucmd[] = { "dmenu_run", "-i", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
|
static const char *dmenucmd[] = { "dmenu_run", "-i", "-m", dmenumon, "-fn", dmenufont, "-nb", col_gray1, "-nf", col_gray3, "-sb", col_cyan, "-sf", col_gray4, NULL };
|
||||||
static const char *termcmd[] = { "alacritty", NULL };
|
static const char *termcmd[] = { "alacritty", NULL };
|
||||||
static const char *lockcmd[] = { "lock", NULL };
|
static const char *lockcmd[] = { "lock", NULL };
|
||||||
static const char *wwwcmd[] = { "org.mozilla.firefox", NULL };
|
static const char *wwwcmd[] = { "bookmarks", NULL };
|
||||||
static const char *pwwwcmd[] = { "org.mozilla.firefox", "--private-window", NULL };
|
static const char *pwwwcmd[] = { "bookmarks", "-p", NULL };
|
||||||
static const char *calccmd[] = { "alacritty", "-epython", NULL };
|
static const char *calccmd[] = { "alacritty", "-epython", NULL };
|
||||||
static const char *fmcmd[] = { "pcmanfm", NULL };
|
static const char *fmcmd[] = { "pcmanfm", NULL };
|
||||||
static const char *prtsccmd[] = { "sh", "-c", "gm import png:- | xclip -sel c -t image/png && xclip -sel c -o | feh -", NULL };
|
static const char *prtsccmd[] = { "sh", "-c", "import png:- | xclip -sel c -t image/png && xclip -sel c -o | feh -", NULL };
|
||||||
static const char *lvolcmd[] = { "vol", "s", "-5", NULL };
|
static const char *lvolcmd[] = { "vol", "s", "-5", NULL };
|
||||||
static const char *rvolcmd[] = { "vol", "s", "+5", NULL };
|
static const char *rvolcmd[] = { "vol", "s", "+5", NULL };
|
||||||
static const char *mutecmd[] = { "vol", "s", "m", NULL };
|
static const char *mutecmd[] = { "vol", "s", "m", NULL };
|
||||||
@ -75,8 +75,8 @@ static const char *pausecmd[] = { "playerctl", "play-pause", NULL };
|
|||||||
static const char *prevcmd[] = { "playerctl", "previous", NULL };
|
static const char *prevcmd[] = { "playerctl", "previous", NULL };
|
||||||
static const char *nextcmd[] = { "playerctl", "next", NULL };
|
static const char *nextcmd[] = { "playerctl", "next", NULL };
|
||||||
static const char *stopcmd[] = { "playerctl", "stop", NULL };
|
static const char *stopcmd[] = { "playerctl", "stop", NULL };
|
||||||
static const char *lbrtcmd[] = { "light", "-10", NULL };
|
static const char *lbrtcmd[] = { "light", "-1", NULL };
|
||||||
static const char *rbrtcmd[] = { "light", "+10", NULL };
|
static const char *rbrtcmd[] = { "light", "+1", NULL };
|
||||||
static const char *passselectcmd[] = { "pass", "select", NULL };
|
static const char *passselectcmd[] = { "pass", "select", NULL };
|
||||||
static const char *passopencmd[] = { "pass", "openurl", NULL };
|
static const char *passopencmd[] = { "pass", "openurl", NULL };
|
||||||
static const char *passusercmd[] = { "pass", "printuser", NULL };
|
static const char *passusercmd[] = { "pass", "printuser", NULL };
|
||||||
|
1
.config/systemd/user/sockets.target.wants/podman.socket
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/user/podman.socket
|
1
.config/systemd/user/timers.target.wants/wallpaper.timer
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
../wallpaper.timer
|
6
.config/systemd/user/wallpaper.service
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Randomly changes wallpaper
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=bash wallpaper
|
9
.config/systemd/user/wallpaper.timer
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Randomly changes wallpaper
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnUnitInactiveSec=10min
|
||||||
|
Unit=wallpaper.service
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
Before Width: | Height: | Size: 996 KiB |
Before Width: | Height: | Size: 108 KiB |
Before Width: | Height: | Size: 1.9 MiB |
Before Width: | Height: | Size: 474 KiB |
Before Width: | Height: | Size: 4.9 MiB |
Before Width: | Height: | Size: 1.5 MiB After Width: | Height: | Size: 573 KiB |
BIN
.config/wallpapers/nusapenida.jpg
Normal file
After Width: | Height: | Size: 769 KiB |
25
.gitmodules
vendored
@ -1,12 +1,21 @@
|
|||||||
[submodule ".config/nvim/pack/plugins/opt/onedark"]
|
[submodule ".config/nvim/pack/plugins/start/onedark"]
|
||||||
path = .config/nvim/pack/plugins/opt/onedark
|
path = .config/nvim/pack/plugins/start/onedark
|
||||||
url = https://github.com/navarasu/onedark.nvim
|
url = https://github.com/navarasu/onedark.nvim
|
||||||
[submodule ".config/nvim/pack/plugins/opt/plenary"]
|
[submodule ".config/nvim/pack/plugins/start/plenary"]
|
||||||
path = .config/nvim/pack/plugins/opt/plenary
|
path = .config/nvim/pack/plugins/start/plenary
|
||||||
url = https://github.com/nvim-lua/plenary.nvim.git
|
url = https://github.com/nvim-lua/plenary.nvim.git
|
||||||
[submodule ".config/nvim/pack/plugins/opt/telescope"]
|
[submodule ".config/nvim/pack/plugins/start/telescope"]
|
||||||
path = .config/nvim/pack/plugins/opt/telescope
|
path = .config/nvim/pack/plugins/start/telescope
|
||||||
url = https://github.com/nvim-telescope/telescope.nvim.git
|
url = https://github.com/nvim-telescope/telescope.nvim.git
|
||||||
[submodule ".config/nvim/pack/plugins/opt/treesitter"]
|
[submodule ".config/nvim/pack/plugins/start/treesitter"]
|
||||||
path = .config/nvim/pack/plugins/opt/treesitter
|
path = .config/nvim/pack/plugins/start/treesitter
|
||||||
url = https://github.com/nvim-treesitter/nvim-treesitter.git
|
url = https://github.com/nvim-treesitter/nvim-treesitter.git
|
||||||
|
[submodule ".local/aur/newsraft"]
|
||||||
|
path = .local/aur/newsraft
|
||||||
|
url = https://aur.archlinux.org/newsraft.git
|
||||||
|
[submodule ".local/aur/shellcheck"]
|
||||||
|
path = .local/aur/shellcheck
|
||||||
|
url = https://aur.archlinux.org/shellcheck-bin.git
|
||||||
|
[submodule ".local/aur/sparrow"]
|
||||||
|
path = .local/aur/sparrow
|
||||||
|
url = https://aur.archlinux.org/sparrow-wallet.git
|
||||||
|
1
.local/aur/newsraft
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 0e935562f6c6931e809321374860c4bba74d297a
|
1
.local/aur/shellcheck
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit d5a870d66bb728e17d2e70c23025b2fa11791d1a
|
1
.local/aur/sparrow
Submodule
@ -0,0 +1 @@
|
|||||||
|
Subproject commit 582b5504e110b0c21310eb7814b14633f64684d8
|
@ -1,39 +0,0 @@
|
|||||||
#!/bin/bash -e
|
|
||||||
|
|
||||||
function get_row() {
|
|
||||||
local row _col
|
|
||||||
|
|
||||||
IFS=';' read -rsdR -p $'\e[6n' row _col
|
|
||||||
echo "${row#??}"
|
|
||||||
}
|
|
||||||
|
|
||||||
ROW="$(($(get_row) + 1))"
|
|
||||||
function clear_output() {
|
|
||||||
local row
|
|
||||||
|
|
||||||
row="$(get_row)"
|
|
||||||
for _ in $(seq "$ROW" "$row"); do
|
|
||||||
printf '\e[1A\e[K'
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
while true; do
|
|
||||||
mapfile -t LSBLK <<< "$(lsblk -n --paths --list | grep part)"
|
|
||||||
|
|
||||||
COLUMNS=1
|
|
||||||
select dev in "${LSBLK[@]}"; do
|
|
||||||
if [ -z "$dev" ]; then
|
|
||||||
clear_output
|
|
||||||
break
|
|
||||||
fi
|
|
||||||
name="$(awk '{print $1}' <<< "$dev")"
|
|
||||||
|
|
||||||
clear_output
|
|
||||||
if mount | grep -q "$name"; then
|
|
||||||
umount "$name"
|
|
||||||
else
|
|
||||||
udisksctl mount -b "$name" > /dev/null
|
|
||||||
fi
|
|
||||||
break
|
|
||||||
done || exit
|
|
||||||
done
|
|
26
.local/bin/bookmarks
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
shopt -s extglob
|
||||||
|
|
||||||
|
if [ "$1" = -p ]; then
|
||||||
|
BROWSER="$BROWSER --private-window"
|
||||||
|
elif [[ "$(xdotool getwindowfocus getwindowname)" != *'Mozilla Firefox' ]]; then
|
||||||
|
BROWSER="$BROWSER --new-window"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mapfile -t list < <(grep -Pv '^(#|$)' "$XDG_CONFIG_HOME/bookmarks")
|
||||||
|
q="$(printf '%s\n' '' "${list[@]}" | dmenu -l 16)"
|
||||||
|
|
||||||
|
if [ -z "$q" ]; then
|
||||||
|
exec $BROWSER
|
||||||
|
elif [[ "$q" == *://* ]]; then
|
||||||
|
url="${q/*+( )/}"
|
||||||
|
|
||||||
|
if [ "$1" = -p ] || [[ "$url" == http?(s)://* ]]; then
|
||||||
|
exec $BROWSER "$url"
|
||||||
|
fi
|
||||||
|
exec xdg-open "$url"
|
||||||
|
fi
|
||||||
|
if [[ "$q" =~ ^[^[:space:]]+(\.[^[:space:]]+)+$ ]]; then
|
||||||
|
exec $BROWSER "$q"
|
||||||
|
fi
|
||||||
|
exec $BROWSER "https://searx.gmoker.com/search?q=$(jq -Rr '@uri' <<< "$q")"
|
@ -1,16 +1,34 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash
|
||||||
|
|
||||||
declare -A aliases
|
function dkr() {
|
||||||
aliases=(
|
local ep="$1"; shift
|
||||||
[arch]=archlinux/archlinux:base
|
|
||||||
[debian]=debian:12-slim
|
(set -x
|
||||||
|
podman run --rm -it -v "$PWD:/mnt/" -w /mnt/ --entrypoint "$ep" \
|
||||||
|
"$img" "$@"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
declare -A aliases=(
|
||||||
|
[arch]=docker.io/archlinux/archlinux:base
|
||||||
|
[debian]=docker.io/debian:12-slim
|
||||||
|
[flutter]=git.gmoker.com/icing/flutter:main
|
||||||
|
[kaniko]=gcr.io/kaniko-project/executor:debug
|
||||||
)
|
)
|
||||||
|
|
||||||
if [ -z "$1" ]; then
|
if [ -z "$1" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
img="${aliases[$1]:-$1:latest}"; shift
|
if [ -n "${aliases[$1]}" ]; then
|
||||||
|
img="${aliases[$1]}"
|
||||||
|
else
|
||||||
|
img="docker.io/$1"
|
||||||
|
[[ "$img" == *:* ]] || img+=:latest
|
||||||
|
fi
|
||||||
|
shift
|
||||||
|
|
||||||
set -x
|
dkr bash "$@"
|
||||||
podman run --rm -it -v "$PWD:/mnt/" -w /mnt/ "docker.io/$img" "$@"
|
if [ "$?" = 127 ]; then
|
||||||
|
dkr sh "$@"
|
||||||
|
fi
|
||||||
|
10
.local/bin/ffcapture
Executable file
@ -0,0 +1,10 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
output="$HOME/Videos/ffcapture$(date '+%Y%m%d_%H%M%S').mp4"
|
||||||
|
|
||||||
|
ffmpeg \
|
||||||
|
-framerate 30 \
|
||||||
|
-f x11grab -i "$DISPLAY.0" -c:v libx265 \
|
||||||
|
"$output"
|
||||||
|
|
||||||
|
# -f pulse -i # sink
|
@ -1,5 +1,10 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
if [ -z "$1" ] || [ -z "$2" ]; then
|
||||||
|
echo "USAGE: $(basename "${BASH_SOURCE[0]}") in out [smallside]" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
in="$1"; shift
|
in="$1"; shift
|
||||||
out="$1"; shift
|
out="$1"; shift
|
||||||
smallside="${1:-720}"; shift || true
|
smallside="${1:-720}"; shift || true
|
||||||
@ -9,10 +14,6 @@ if ! [ -r "$in" ]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z "$out" ]; then
|
|
||||||
echo "error: output file name can't be empty" >&2
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
set -x
|
set -x
|
||||||
#ffmpeg -i "$in" -r 24 -vcodec libx265 -vf "scale=-2:$smallside,setpts=0.5*PTS" "$@" "$out"
|
#ffmpeg -i "$in" -r 24 -vcodec libx265 -vf "scale=-2:$smallside,setpts=0.5*PTS" "$@" "$out"
|
||||||
|
38
.local/bin/firefox
Executable file
@ -0,0 +1,38 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
sites=(
|
||||||
|
'https://discord.com'
|
||||||
|
'https://gmoker.com'
|
||||||
|
'https://login.microsoftonline.com'
|
||||||
|
'https://maby.dev'
|
||||||
|
'https://web.whatsapp.com'
|
||||||
|
)
|
||||||
|
|
||||||
|
function update() {
|
||||||
|
local start='^/\*---- USER PREFERENCES ----\*/$'
|
||||||
|
local end='^/\*---- END USER PREFERENCES ----\*/$'
|
||||||
|
local af userpref
|
||||||
|
|
||||||
|
af="$(curl -L 'https://github.com/arkenfox/user.js/raw/refs/heads/master/user.js')"
|
||||||
|
while read -r p; do
|
||||||
|
userpref="$(sed -n "\@$start@,\@$end@p" "$ff/$p/user.js")"
|
||||||
|
printf '%s\n\n%s\n' "$af" "$userpref" > "$ff/$p/user.js"
|
||||||
|
done < <(awk -F= '/^Path=/{print $2}' "$ff/profiles.ini")
|
||||||
|
}
|
||||||
|
|
||||||
|
ff="$HOME/.var/app/org.mozilla.firefox/.mozilla/firefox"
|
||||||
|
|
||||||
|
if [ "$1" == update ]; then
|
||||||
|
update
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
profile="$ff/$(sed -n '/^\[Install/,/^Default=/s/.*=//p' "$ff/profiles.ini")"
|
||||||
|
if ! fuser -s "$profile"; then
|
||||||
|
for i in "${!sites[@]}"; do
|
||||||
|
sq+="INSERT INTO moz_perms VALUES($i,'${sites[$i]}','cookie',1,0,0,0);"
|
||||||
|
done
|
||||||
|
sqlite3 "$profile/permissions.sqlite" <<< "DELETE FROM moz_perms; $sq"
|
||||||
|
sqlite3 "$profile/places.sqlite" <<< "DELETE FROM moz_bookmarks;"
|
||||||
|
fi
|
||||||
|
org.mozilla.firefox "$@"
|
18
.local/bin/giteadelimg
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
read -rsp "PASSWD: " PASSWD; echo
|
||||||
|
read -rp "OWNER: " OWN
|
||||||
|
read -rp "NAME: " NAME
|
||||||
|
|
||||||
|
TOK="$(jq -rR '@uri' <<< "$PASSWD")"
|
||||||
|
|
||||||
|
API="https://ange:$TOK@git.gmoker.com/api/v1/packages"
|
||||||
|
|
||||||
|
PKG="$(curl "$API/$OWN" | jq -r ".[] | select(.name == \"$NAME\").version")"
|
||||||
|
echo "$PKG"
|
||||||
|
read -rp "Continue?"
|
||||||
|
while read -r pkg; do
|
||||||
|
(set -x
|
||||||
|
curl -XDELETE "$API/$OWN/container/$(jq -rR '@uri' <<< "$NAME")/$pkg"
|
||||||
|
)
|
||||||
|
done <<< "$PKG"
|
@ -1,32 +1,21 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
function get_current() {
|
STEPS=16
|
||||||
local cur; cur="$(cat "$1/brightness")"
|
DIR="$(find /sys/class/backlight/* -print -quit)"
|
||||||
local max; max="$(cat "$1/max_brightness")"
|
|
||||||
|
|
||||||
echo "$((cur * 100 / max))"
|
CUR="$(cat "$DIR/brightness")"
|
||||||
}
|
MAX=$(cat "$DIR/max_brightness")
|
||||||
|
|
||||||
function set_light() {
|
|
||||||
local max; max="$(cat "$1/max_brightness")"
|
|
||||||
|
|
||||||
echo "$((CUR * max / 100))" > "$1/brightness"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
DIRS=(/sys/class/backlight/*)
|
|
||||||
CUR="$(get_current "${DIRS[0]}")"
|
|
||||||
|
|
||||||
case "${1:0:1}" in
|
case "${1:0:1}" in
|
||||||
'') echo "$CUR"; exit ;;
|
'') echo "$CUR"; exit ;;
|
||||||
'+'|'-') CUR="$(($CUR + $1 - $CUR % $1 + $CUR % $1 * 10 / $1 / 5 * $1))" ;;
|
'+'|'-') CUR=$(((CUR / STEPS + $1) * STEPS)) ;;
|
||||||
*) CUR="$1" ;;
|
*) CUR="$1" ;;
|
||||||
esac
|
esac
|
||||||
echo "$CUR"
|
|
||||||
|
|
||||||
[ "$CUR" -lt 0 ] && CUR=0
|
if [ "$CUR" -lt 0 ]; then
|
||||||
[ "$CUR" -gt 100 ] && CUR=100
|
CUR=0
|
||||||
|
elif [ "$CUR" -gt "$MAX" ]; then
|
||||||
|
CUR="$MAX"
|
||||||
|
fi
|
||||||
|
|
||||||
for d in "${DIRS[@]}"; do
|
echo "$CUR" > "$DIR/brightness"
|
||||||
set_light "$d"
|
|
||||||
done
|
|
||||||
|
138
.local/bin/sbar
@ -3,123 +3,125 @@
|
|||||||
function update_crypto() {
|
function update_crypto() {
|
||||||
local c
|
local c
|
||||||
|
|
||||||
c="$(crypto 2> /dev/null)" && crypto="$c"
|
c="$(crypto 2> /dev/null)" && echo "$c" > "$SBAR/crypto"
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_cpu() {
|
function update_cpu() {
|
||||||
cpu=" $(awk '{print $1}' /proc/loadavg)"
|
echo " $(awk '{print $1}' /proc/loadavg)" > "$SBAR/cpu"
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_memory() {
|
function update_memory() {
|
||||||
memory=" $(free -h | awk '/^Mem:/{print $3}')"
|
echo " $(free -h | awk '/^Mem:/{print $3}')" > "$SBAR/memory"
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_bat() {
|
function update_bat() {
|
||||||
local dir cap
|
local cap; cap="$(cat /sys/class/power_supply/BAT0/capacity)"
|
||||||
|
|
||||||
dir='/sys/class/power_supply/BAT0'
|
if grep -qv Discharging /sys/class/power_supply/BAT0/status; then
|
||||||
cap="$(cat "$dir/capacity")"
|
echo " $cap%" > "$SBAR/bat"
|
||||||
{ grep -qv Discharging "$dir/status" && bat=" $cap%"; } ||
|
else
|
||||||
{ [ "$cap" -gt 80 ] && bat=" $cap%"; } ||
|
echo " $cap%" > "$SBAR/bat"
|
||||||
{ [ "$cap" -gt 60 ] && bat=" $cap%"; } ||
|
fi
|
||||||
{ [ "$cap" -gt 40 ] && bat=" $cap%"; } ||
|
|
||||||
{ [ "$cap" -gt 20 ] && bat=" $cap%"; } ||
|
|
||||||
{ bat=" $cap%"; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_sink_vol() {
|
function update_sink_vol() {
|
||||||
local sink vol
|
local vol mute
|
||||||
|
|
||||||
sink="$(wpctl get-volume '@DEFAULT_AUDIO_SINK@')"
|
read -r _ vol mute < <(wpctl get-volume '@DEFAULT_AUDIO_SINK@') || return
|
||||||
if grep -q MUTED <<< "$sink"; then
|
if [ -n "$mute" ]; then
|
||||||
sink_vol='🔇'
|
echo '🔇' > "$SBAR/sink"
|
||||||
return
|
else
|
||||||
|
echo " $((10#${vol/./}))" > "$SBAR/sink"
|
||||||
fi
|
fi
|
||||||
vol="$(awk '{printf "%.0f", $2 * 100}' <<< "$sink")"
|
|
||||||
{ [ "$vol" -gt 67 ] && sink_vol=" $vol"; } ||
|
|
||||||
{ [ "$vol" -gt 33 ] && sink_vol=" $vol"; } ||
|
|
||||||
{ sink_vol=" $vol"; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_source_vol() {
|
function update_source_vol() {
|
||||||
local source vol
|
local vol mute
|
||||||
|
|
||||||
source="$(wpctl get-volume '@DEFAULT_AUDIO_SOURCE@')"
|
read -r _ vol mute < <(wpctl get-volume '@DEFAULT_AUDIO_SOURCE@') || return
|
||||||
if grep -q MUTED <<< "$source"; then
|
if [ -n "$mute" ]; then
|
||||||
source_vol=''
|
echo '' > "$SBAR/source"
|
||||||
return
|
else
|
||||||
|
echo " $((10#${vol/./}))" > "$SBAR/source"
|
||||||
fi
|
fi
|
||||||
source_vol=" $(awk '{printf "%.0f", $2 * 100}' <<< "$source")"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_net() {
|
function update_net() {
|
||||||
local dev j ssid sig
|
local dev j ssid sig
|
||||||
|
|
||||||
dev="$(ip route show default | sed -n 's/.*dev\s\+\(\w\+\).*/\1/p;q')"
|
dev="$(ip route | grep -oP 'default.*dev\s+\K[^\s]+')"
|
||||||
j="$(networkctl status "$dev" --json=short)"
|
j="$(networkctl status "$dev" --json=short)"
|
||||||
case "$(jq -r .Type <<< "$j")" in
|
case "$(jq -r .Type <<< "$j")" in
|
||||||
ether)
|
ether)
|
||||||
net="🌐 $dev"
|
echo "🌐 $dev" > "$SBAR/net"
|
||||||
;;
|
;;
|
||||||
wlan)
|
wlan)
|
||||||
ssid="$(jq -r .SSID <<< "$j")"
|
ssid="$(jq -r .SSID <<< "$j")"
|
||||||
sig="$(awk "/$dev/{printf \"%.0f\", \$3}" /proc/net/wireless)"
|
sig="$(awk "/$dev/{printf \"%.0f\", \$3}" /proc/net/wireless)"
|
||||||
{ [ "$sig" -gt 56 ] && net="▂▄▆█ $ssid"; } ||
|
if [ "$sig" -gt 56 ]; then echo "▂▄▆█ $ssid" > "$SBAR/net"
|
||||||
{ [ "$sig" -gt 38 ] && net="▂▄▆_ $ssid"; } ||
|
elif [ "$sig" -gt 38 ]; then echo "▂▄▆_ $ssid" > "$SBAR/net"
|
||||||
{ [ "$sig" -gt 21 ] && net="▂▄__ $ssid"; } ||
|
elif [ "$sig" -gt 21 ]; then echo "▂▄__ $ssid" > "$SBAR/net"
|
||||||
{ [ "$sig" -gt 3 ] && net="▂___ $ssid"; } ||
|
elif [ "$sig" -gt 3 ]; then echo "▂___ $ssid" > "$SBAR/net"
|
||||||
{ net="____ $ssid"; }
|
else echo "____ $ssid" > "$SBAR/net"
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
net='⚠'
|
echo '⚠' > "$SBAR/net"
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
function update_time() {
|
function update_vpn() {
|
||||||
time="$(TZ=Asia/Makassar date '+%a %m-%d %R %Z'); $(TZ=Asia/Jakarta date '+%R %Z'); $(TZ=Europe/Paris date '+%R %Z')"
|
local v; v="$(ip -br link show type wireguard | awk '{print $1}')"
|
||||||
|
|
||||||
|
if [ -n "$v" ]; then
|
||||||
|
echo " 🔒 $v" > "$SBAR/vpn"
|
||||||
|
else
|
||||||
|
: > "$SBAR/vpn"
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function reload() {
|
function update_time() {
|
||||||
sec=0
|
echo "$(TZ=Asia/Makassar date '+%R %Z') - $(date -u '+%a %m-%d %R')" \
|
||||||
|
> "$SBAR/time"
|
||||||
}
|
}
|
||||||
|
|
||||||
function display() {
|
function display() {
|
||||||
"${DISPLAYCMD[@]}" "$crypto | $cpu | $memory | $sink_vol $source_vol | $net | $bat | $time"
|
for f in "$SBAR"/*; do
|
||||||
|
local "$(basename "$f")"="$(cat "$f")"
|
||||||
|
done
|
||||||
|
# shellcheck disable=SC2154
|
||||||
|
xsetroot -name "$crypto | $cpu | $memory | $sink $source | $net$vpn | $bat | $time"
|
||||||
}
|
}
|
||||||
|
|
||||||
if [ "$XDG_SESSION_TYPE" = wayland ]; then
|
|
||||||
DISPLAYCMD=(echo)
|
|
||||||
else
|
|
||||||
DISPLAYCMD=(xsetroot -name)
|
|
||||||
fi
|
|
||||||
|
|
||||||
# SIGNALING
|
# SIGNALING
|
||||||
# trap '<function>;display;wait' 'RTMIN+n'
|
# trap '<function>;display;wait -n' 'RTMIN+n'
|
||||||
trap 'reload' 'RTMIN'
|
trap 'update_sink_vol;display;wait -n' 'RTMIN+0'
|
||||||
trap 'update_sink_vol;display;wait' 'RTMIN+1'
|
trap 'update_source_vol;display;wait -n' 'RTMIN+1'
|
||||||
trap 'update_source_vol;display;wait' 'RTMIN+2'
|
trap 'update_net;display;wait -n' 'RTMIN+2'
|
||||||
trap 'update_net;display;wait' 'RTMIN+3'
|
trap 'update_vpn;display;wait -n' 'RTMIN+3'
|
||||||
# to update it from external commands
|
# to update it from external commands
|
||||||
## kill -m "$(cat ~/.cache/pidofbar)"
|
## kill -m "$(cat "$XDG_CACHE_HOME/pidofbar")"
|
||||||
# where m = 34 + n
|
# where m = 34 + n
|
||||||
|
|
||||||
echo "$$" > "$HOME/.cache/pidofbar"
|
SBAR="$XDG_CACHE_HOME/sbar"
|
||||||
|
mkdir -p "$SBAR"
|
||||||
|
echo "$$" > "$SBAR/pid"
|
||||||
|
|
||||||
|
(while :; do
|
||||||
|
update_crypto
|
||||||
|
sleep $((300 - 10#$(date '+%S') % 300)) & wait -n
|
||||||
|
done &)
|
||||||
|
|
||||||
sec=0
|
|
||||||
while true; do
|
while true; do
|
||||||
[ "$((sec % 300))" -eq 5 ] && update_crypto
|
update_cpu
|
||||||
[ "$((sec % 5))" -eq 0 ] && {
|
update_memory
|
||||||
update_cpu
|
update_sink_vol
|
||||||
update_memory
|
update_source_vol
|
||||||
update_sink_vol
|
update_net
|
||||||
update_source_vol
|
update_vpn
|
||||||
update_net
|
update_bat
|
||||||
update_bat
|
update_time
|
||||||
update_time
|
display
|
||||||
display
|
sleep $((5 - 10#$(date '+%S') % 5)) & wait -n
|
||||||
}
|
|
||||||
((sec += 5))
|
|
||||||
awk "@load \"time\"; BEGIN {d=5; s=$(date '+%S.%N'); sleep(d - s % d)}" &
|
|
||||||
wait
|
|
||||||
done
|
done
|
||||||
|
28
.local/bin/vm
Executable file
@ -0,0 +1,28 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
ISO="$1"
|
||||||
|
DISK="$HOME/${ISO%.*}.qcow2"
|
||||||
|
MAXMEM="$(free -g | awk '/^Mem:/{print $6 / 2}')G"
|
||||||
|
OVMF_CODE=/usr/share/edk2/x64/OVMF_CODE.4m.fd
|
||||||
|
OVMF_VARS=/tmp/OVMF_VARS.4m.fd
|
||||||
|
|
||||||
|
set -x
|
||||||
|
if [ -f "$OVMF_VARS" ]; then
|
||||||
|
cp -f /usr/share/edk2/x64/OVMF_VARS.4m.fd "$OVMF_VARS"
|
||||||
|
fi
|
||||||
|
if ! [ -f "$DISK" ]; then
|
||||||
|
qemu-img create -f qcow2 "$DISK" 20G
|
||||||
|
fi
|
||||||
|
qemu-system-x86_64 \
|
||||||
|
-accel kvm \
|
||||||
|
-M q35 \
|
||||||
|
-monitor stdio \
|
||||||
|
-cpu host \
|
||||||
|
-m "2G,maxmem=$MAXMEM" \
|
||||||
|
-vga virtio \
|
||||||
|
-audio pipewire,model=hda \
|
||||||
|
-nic model=virtio-net-pci,type=user \
|
||||||
|
-drive "if=pflash,format=raw,file=$OVMF_CODE,readonly=on" \
|
||||||
|
-drive "if=pflash,format=raw,file=$OVMF_VARS" \
|
||||||
|
-drive "if=virtio,file=$DISK" \
|
||||||
|
-drive "file=$ISO,media=cdrom,readonly=on"
|
@ -3,11 +3,11 @@
|
|||||||
case "$1" in
|
case "$1" in
|
||||||
s)
|
s)
|
||||||
DEV='@DEFAULT_AUDIO_SINK@'
|
DEV='@DEFAULT_AUDIO_SINK@'
|
||||||
SIG=35
|
SIG=34
|
||||||
;;
|
;;
|
||||||
m)
|
m)
|
||||||
DEV='@DEFAULT_AUDIO_SOURCE@'
|
DEV='@DEFAULT_AUDIO_SOURCE@'
|
||||||
SIG=36
|
SIG=35
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
exit 1
|
exit 1
|
||||||
@ -18,9 +18,13 @@ shift
|
|||||||
function update_vol() {
|
function update_vol() {
|
||||||
case "$1" in
|
case "$1" in
|
||||||
+*|-*)
|
+*|-*)
|
||||||
CUR="$(($CUR + $1 - $CUR % $1 + $CUR % $1 * 10 / $1 / 5 * $1))"
|
# shellcheck disable=SC2017
|
||||||
[ "$CUR" -lt 0 ] && CUR=0
|
CUR=$((CUR + $1 - CUR % $1 + CUR % $1 * 10 / $1 / 5 * $1))
|
||||||
[ "$CUR" -gt 200 ] && CUR=200
|
if [ "$CUR" -lt 0 ]; then
|
||||||
|
CUR=0
|
||||||
|
elif [ "$CUR" -gt 300 ]; then
|
||||||
|
CUR=300
|
||||||
|
fi
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
CUR="$1"
|
CUR="$1"
|
||||||
@ -29,7 +33,7 @@ function update_vol() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
read -r _ CUR MUTE < <(wpctl get-volume "$DEV")
|
read -r _ CUR MUTE < <(wpctl get-volume "$DEV")
|
||||||
CUR="$(("10#${CUR/./}"))"
|
CUR=$((10#${CUR/./}))
|
||||||
|
|
||||||
if [ -z "$1" ]; then
|
if [ -z "$1" ]; then
|
||||||
echo "$CUR"
|
echo "$CUR"
|
||||||
@ -40,7 +44,9 @@ else
|
|||||||
if [[ "$1" =~ [0-9] ]]; then
|
if [[ "$1" =~ [0-9] ]]; then
|
||||||
update_vol "$1"
|
update_vol "$1"
|
||||||
fi
|
fi
|
||||||
[ -n "$MUTE" ] && wpctl set-mute "$DEV" 0
|
if [ -n "$MUTE" ]; then
|
||||||
|
wpctl set-mute "$DEV" 0
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
kill "-$SIG" "$(cat "$HOME/.cache/pidofbar")"
|
kill "-$SIG" "$(cat "$XDG_CACHE_HOME/sbar/pid")"
|
||||||
|
27
.local/bin/vpn
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
if tty -s; then
|
||||||
|
DMENU=fzf
|
||||||
|
SUDO=sudo
|
||||||
|
else
|
||||||
|
DMENU=/usr/local/bin/dmenu
|
||||||
|
SUDO=pkexec
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$EUID" != 0 ]; then
|
||||||
|
exec "$SUDO" env DISPLAY="$DISPLAY" XAUTHORITY="$XAUTHORITY" \
|
||||||
|
XDG_CACHE_HOME="$XDG_CACHE_HOME" "$BASH" -- "${BASH_SOURCE[0]}" "$@"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$1" != off ]; then
|
||||||
|
set -- "$(basename -s.conf "/etc/wireguard/$1"*.conf | "$DMENU")"
|
||||||
|
if ! wg | grep -q "$1"; then
|
||||||
|
wg-quick up "$1"
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
while read -r i; do
|
||||||
|
wg-quick down "$i"
|
||||||
|
done < <(ip -br link show type wireguard | awk "\$1 != \"$1\"{print \$1}")
|
||||||
|
|
||||||
|
kill -37 "$(cat "$XDG_CACHE_HOME/sbar/pid")"
|
5
.local/bin/wallpaper
Executable file
@ -0,0 +1,5 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
shopt -s extglob
|
||||||
|
|
||||||
|
feh --bg-fill "$(shuf -en1 "$XDG_CONFIG_HOME/wallpapers/"!(lock.png))" --no-fehbg
|
@ -1,13 +1,15 @@
|
|||||||
#!/bin/bash -e
|
#!/bin/bash -e
|
||||||
|
|
||||||
iwctl=(iwctl station wlan0)
|
iwctl=(iwctl station "$(find /sys/class/net/wlan* -printf '%f' -quit)")
|
||||||
|
|
||||||
rfkill unblock wlan
|
rfkill unblock wlan
|
||||||
"${iwctl[@]}" show | grep -q 'Scanning\s\+yes' || "${iwctl[@]}" scan
|
if ! "${iwctl[@]}" show | grep -q 'Scanning\s\+yes'; then
|
||||||
|
"${iwctl[@]}" scan
|
||||||
|
fi
|
||||||
|
|
||||||
for _ in {0..29}; do
|
for _ in {0..29}; do
|
||||||
if "${iwctl[@]}" show | grep -q '\s*State\s\+connected\s*$'; then
|
if "${iwctl[@]}" show | grep -q '\s*State\s\+connected\s*$'; then
|
||||||
kill -37 "$(cat "$HOME/.cache/pidofbar")"
|
kill -36 "$(cat "$XDG_CACHE_HOME/sbar/pid")"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash -e
|
|
||||||
|
|
||||||
env LUTRIS_SKIP_INIT=1 flatpak run net.lutris.Lutris lutris:rungameid/1
|
|
@ -1,6 +1,12 @@
|
|||||||
|
# vim: ft=bash
|
||||||
|
|
||||||
function _ddev() {
|
function _ddev() {
|
||||||
mapfile -t COMPREPLY < <(compgen -W \
|
cache="/tmp/${FUNCNAME[0]}"
|
||||||
"$(curl -sfL 'https://api.github.com/repos/docker-library/official-images/git/trees/master?recursive=1' | sed -nE 's/.*"library\/(.+)",$/\1/p')" \
|
|
||||||
-- "${COMP_WORDS[1]}")
|
if ! [ -f "$cache" ]; then
|
||||||
|
curl -sfL 'https://api.github.com/repos/docker-library/official-images/git/trees/master?recursive=1' | sed -nE 's/.*"library\/(.+)",$/\1/p' > "$cache"
|
||||||
|
fi
|
||||||
|
[ "$COMP_CWORD" -ne 1 ] && return
|
||||||
|
mapfile -t COMPREPLY < <(compgen -W "$(cat "$cache")" -- "${COMP_WORDS[1]}")
|
||||||
}
|
}
|
||||||
complete -F _ddev ddev
|
complete -F _ddev ddev
|
||||||
|
@ -1,6 +1,11 @@
|
|||||||
|
# vim: ft=bash
|
||||||
|
|
||||||
function _gi() {
|
function _gi() {
|
||||||
mapfile -t COMPREPLY < <(compgen -W \
|
cache="/tmp/${FUNCNAME[0]}"
|
||||||
"$(curl -sfL https://www.toptal.com/developers/gitignore/api/list | tr ',' '\n')" \
|
|
||||||
-- "${COMP_WORDS[1]}")
|
if ! [ -f "$cache" ]; then
|
||||||
|
curl -sfL https://www.toptal.com/developers/gitignore/api/list | tr ',' '\n' > "$cache"
|
||||||
|
fi
|
||||||
|
mapfile -t COMPREPLY < <(compgen -W "$(cat "$cache")" -- "${COMP_WORDS[$COMP_CWORD]}")
|
||||||
}
|
}
|
||||||
complete -F _gi gi
|
complete -F _gi gi
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# vim: ft=bash
|
||||||
|
|
||||||
function _kctx() {
|
function _kctx() {
|
||||||
[ "$COMP_CWORD" -ne 1 ] && return
|
[ "$COMP_CWORD" -ne 1 ] && return
|
||||||
mapfile -t COMPREPLY < <(compgen -W \
|
mapfile -t COMPREPLY < <(compgen -W \
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
# vim: ft=bash
|
||||||
|
|
||||||
function _kns() {
|
function _kns() {
|
||||||
[ "$COMP_CWORD" -ne 1 ] && return
|
[ "$COMP_CWORD" -ne 1 ] && return
|
||||||
mapfile -t COMPREPLY < <(compgen -W \
|
mapfile -t COMPREPLY < <(compgen -W \
|
||||||
|
@ -1,2 +0,0 @@
|
|||||||
. /usr/share/bash-completion/completions/pacman
|
|
||||||
complete -F _pacman pac
|
|
21
.ssh/known_hosts
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
# vim: nowrap
|
||||||
|
git.gmoker.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDgTtgsVL6fT12EJXUtuGfQra/jG8411Bm8n0kxqt+z8ELNSmaAXMQ5J9WZpK96fU1EaOwBRYJr885Cj7z9hjNkyadbO058huleEI5my91Vtk9lsB1DpdjG1V07uvPyOqrxy2dk/BtRzvzTUrf3B1oAnNJu6ntz73c7t2IiEfsm6z8KqTOKtgbU6D7BnskovVSRP3lS1phSFjzJWKfkGfxyQlOVH/woTSp5G4cYDI6pz+aG3ideHaWE6Ls8yC+76KbVjnUAPHCGk4zUWrqCp2iVVek+13hl7oyp3fwSOIyGzW+x6288PvAgkVTmgRBuTU0VXUgjxJImVAqZFqz0h9X44F2y2quBRXra0f8NXb5uPID1jmP73dudJC3wXie/QW+aQTF6rKAVq750HseQum7HZoD+s8Qg8t1ROxyVqYkes35JjblkRm1+Mips1mZozjwYuAsX8P24z/u2R07Y1fACYr0gX4iIGQSU+ie42n1/33xK2W1HGb4zrsu3RptxQp2rpNsYZ+9NO3VWqaWUbhIyFfyd+jEh8tzCbUvRySSmK5kTSGzTU07flhLehqgKWeWiI+Q4xrg0SLpLLFZJKHc0+935xD9jRNW+FXhOU1ud7nUCRnBlvo0Wp/yKjcU1ycJKt7cmaAwprHGg5KnOAzszAvRVMWAzw6ICyTQmTSY/fQ==
|
||||||
|
git.maby.dev ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCy6Vljjd9lVRmXjwhxuRopFTALb18I1rVzeyr8X6g1BIvl8PE8EBBeWgJ673pmzdA1KMFbJ5uMah5Cz5oqeXJi/cqneKW5sFiIlRB+/epOGPBHbfDNQOsv+vR1qt+N++SjuP59E2846JEM5G7380eb4iOTSzkPwgv4zEPIIWYzMO4jmHytrsmKU7mKOqbaRYXAc9pqJBJ3K0uvsCBSydCVwICv6ykfex+kPyBxU2o52NgHvrq7vgn4eREy1Fnt4HG8GT46/3H48HOr6zbB43sS3JiMxVNWK2YU3IBGeuo5PMkUBzuWx/GB33W5Pc2GTARoW11T63SZ/EBlJQyRozwD4UzJkJJRtYn//WZLimz9KFMV50Wc9o+Lcfz/xshTfgCn0B9rac1XzsBjJ0riMqyx+6UWjizrrtJtkhhEfobKcws1wRi/I+lWJM08th8DKUMKT599CjjiESFqX1QvfABYt56FDDORskYZRLi2AYeIPsLmLYxmjh9NVu3CcNNPsFmu2xqCWp5Symd6DMSpzejnwL0rWdm1kdPBLLRaOnp/EmwaRVFt98K4XaFA7hHd10NxAoQlG50yUfTo0fsngedpWYKwMsLjatgozjoB6eQAxkVGs4MaGgSwYyn5jrmYnFeAzLPCWL6kzd4dmnvrDi2SCcOWRL0+LNF1ltOw/+U7sw==
|
||||||
|
github.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBEmKSENjQEezOmxkZMy7opKgwFB9nkt5YRrYMjNuG5N87uRgg6CLrbo5wAdT/y6v0mKV0U2w0WZ2YB/++Tpockg=
|
||||||
|
github.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl
|
||||||
|
github.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCj7ndNxQowgcQnjshcLrqPEiiphnt+VTTvDP6mHBL9j1aNUkY4Ue1gvwnGLVlOhGeYrnZaMgRK6+PKCUXaDbC7qtbW8gIkhL7aGCsOr/C56SJMy/BCZfxd1nWzAOxSDPgVsmerOBYfNqltV9/hWCqBywINIR+5dIg6JTJ72pcEpEjcYgXkE2YEFXV1JHnsKgbLWNlhScqb2UmyRkQyytRLtL+38TGxkxCflmO+5Z8CSSNY7GidjMIZ7Q4zMjA2n1nGrlTDkzwDCsw+wqFPGQA179cnfGWOWRVruj16z6XyvxvjJwbz0wQZ75XK5tKSb7FNyeIEs4TT4jk+S4dhPeAUC5y+bDYirYgM4GC7uEnztnZyaVWQ7B381AK4Qdrwt51ZqExKbQpTUNn+EjqoTwvqNj4kqx5QUCI0ThS/YkOxJCXmPUWZbhjpCg56i+2aB6CmK2JGhn57K5mj0MNdBXA4/WnwH6XoPWJzK5Nyu2zB3nAZp+S5hpQs+p1vN1/wsjk=
|
||||||
|
gmk-agn-k3s10.gmoker.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBBg/Q1LaxJETYLM3OQ4Af3FOSIjNdGuuW+E9N1Myo+eTDcXFCiMntpabaa4892h6iir83ipWxHfcWPysGAjg9HA=
|
||||||
|
gmk-agn-k3s10.gmoker.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEG8qbky30YMixmAkSHKaw0YdFkqB38pFRg/SyYT5rcE
|
||||||
|
gmk-agn-k3s10.gmoker.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCe0XtLIv+dXyYuTex6PPDOwKG9FVwWi8XvcERb6IRKE+yLHWYip3tCA0gC+WZ8OpiA1DrcKmPpKq8QBHanH4sxyVK1i/RjM0ZfxyXDJ+mpX/qYFsJKq36HlGs7nsFtJhyeK+vvwjeNRkTgT2IF5NjvzPlju30vbBlNsewIO6wN2iA3Ae2DwxKkYI7IkKXVSfcoNSbUUkIwFwoLDLCVsmUXojeWgZdiKfv64tiLKiwkiRSolPRmKNDi9jS9R+d9J0u8XksfSJzDbGbk3O+S4lLltfsYXw+ONoXxQW9xmsOt/tU0EssiYaN1I0fS1fq4a1R4/KSjG3qVOs1ty4M5zyCkbmlQnbsJNGdA9x3WvyURcw6cNnnI2KQhkmNesw8r8XTvXOXc7Oh0pTRa4+azL89gjTCqKj3ijdwOyqo6PtwobHa175F1sC3SkRwPD9cpzz7ls+vwyctEvNR/cbO3W6sht0sTbNN2gbZnIi485KuYBTB8zFW+79hhbIjIyZesD/s=
|
||||||
|
gmk-gra-k3s10.gmoker.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFVue2qHONB78l8dSSx401QhJS2ShXIxidG6oRyGQ9zcPzx0usC+jeT8vtTV0od4qPDFKBgmvS1oP3AXRcACaFQ=
|
||||||
|
gmk-gra-k3s10.gmoker.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIKO5Li+9f7j6xtxwWgES2KKTjUErcOdEcsczQ+m5aDQ2
|
||||||
|
gmk-gra-k3s10.gmoker.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCcnkKy7wvuSLqKd2NI3KYkpZyF5KbitCcfO7oJufgFeBzvnSHT7ZUifCvgmoa/0B3r+zsxpiq2MrCFqEUkLF7d2NUpM2Yi7ymq9Txt/2idk3o3sGyQ1dZTVqY0Qv6eCW3jCUCHnw8glDPku03/uh1Yycvl/ytamn3JJXYkzeG1KsTDuIUdNoM7JTPBBpaWKzWtqWkbmRIzY687bTWMjOp/jhnblaqqdNUA6FPP6mwBOlmfhA+vyK1Vj6TXVkHUrVURBLyrS69ED74+jUjMCpEimb/NlXJVf7S2403FNeykpHmRkVWYyCBJ5r3yGYZGZARuGk/gyCL3xyWzYTc1PIENvoV8mHjYKyxAGkSLKkokuIoofpq4G4z/vIfAT3n7UufnFo8zrj5tZpIWmZmFbfkYsS3gYONoBu+O17jTSIiISHGeEd9ChXETuyicD3LCcGtXgbfl6huW6HsjsrQK54gVa53nsYnAeGgnD8hwTIKtdo4FcdUYY6wBK1WdZY2NpV8=
|
||||||
|
gmk-gra-k8s10.gmoker.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFw3zNFkiL2zyHqzYKGSdRoDidexlF67lRw2/ziBxbL2bKpknzmLFmkX/so4NLfRoL3l7KBPerpgEB/QgEmDx/4=
|
||||||
|
gmk-gra-k8s10.gmoker.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPmeHCzrppCRHwRWhK6PEpbA0t76dDB7BACyFEM3557E
|
||||||
|
gmk-gra-k8s10.gmoker.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDNeYdgb3xb/QTlATNtkxkr8WryMlSCYpTVHesapzNOJwCrqCErxFehsb3PYLgWAKrvMJTyabj3J3EBwDlwhy1a+2XHUjJE++bdYPj4UhRGziUVcLeKhz/cMiK5DCqeE7PqE5WdinMou0+wQByDKjjzBs3vrtjW9/2YYRIECHUbYiN+4AmPAtDko+ya9/Omc3XB78WeFs/DOIdm+k7r/T8R/zhgVExfg5QxBr6/CZHeheQ9x/sqWtHsGcrcBhLLfupri2jTFcL6IAIoRigC+OQvJpx7DmkyZidGX6i/bMxaj+4cItLDNVE8zyetRFR+BiC7YZKr/Osv7Ggfe/UWBYJEFNpSPzh18hromzhQcLPeJeaj0e53SdUTkoMpqVRD+9f8Ur1cYDLnpX5pZVBmcd/TejOVGXezMvZsKRscksGn8kkKPclP7GfwgUCFR8bUQO4ZXCIkI8a4yUCmHv/lwsN9msSEnptGwois8GyMcXCQ2PGHeooM3k0SfVyNQRr1zWM=
|
||||||
|
maby-rbx-10.maby.dev ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBDo8ghj94fc7ZDqtFCteCZvGKXxAgyr8weVVBhMgn/jrn+E7lhKwnAYHBO4A8RkOk0ZpzmPgzUmjF/NVEtCtmCI=
|
||||||
|
maby-rbx-10.maby.dev ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMRBXBjej1iFEPX/J9lDYG5PKPSq6eaUefz9vkR/N53f
|
||||||
|
maby-rbx-10.maby.dev ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCNmPM49diEYdiEXEPXykcXMyWp+lvUav7GvJ9WZ8S9M8P65Cs8x2cEliKcxS8/73zOYe2cMMTHQflFsu7PGMxyYSUCtFyH0tHPoWdy4GqCTUhoGOeW7mEZr3TBSC/ie/kEXpLgFk3v9xQVm18Hj7UBDEWHqQhpXNrzH2vwGksYdxDYQ51gGEcf5oaVauFRPa50ZpQDHiQ18hNwoE+SlkBcoSuAddXxg7PYZbgKHpWL1HXU+qYFbCY8rtHuTgkSQYCw6RCPyp7euZKzxM8oOgZkK+V6LqwXn/rBuHIaFR8+RJO+bL9iBwnOW5C3qEGI1PZ2Nf5FtXwVFuMtEX7DSQfxFfyZbfKY7Nr+yv1x4vMJiaa8/Ds30aG4FPYuYsG9GTk6ibhCqTl1UjXEJrbi+Ps7a0yUJVYn1AqTs0BhNEwJVzMuhVaYzy28cNPmKHp0vhymSMWxjL0evaZYn9bsGr87GVwYmnmA/aJKFAZK1cH6r0kBfSfOPjzPwNiaCywZQc8=
|
||||||
|
wg.yw5n.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNL6/GXyFdQl0pJxc5V7DssrAQNYVLjA/bQyP29a7McxxHUQvOnDm+4+GNDV0vX4tERBLXk5KfpdLtRIsrkFn9o=
|
||||||
|
wg.yw5n.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBTqzAcx3b60/DRQxdQtrBCPr4IV5Yy2bT+MDICM/t4S
|
||||||
|
wg.yw5n.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCh4CPf/3FZzFtJiSW8eSDc9mqjAkadyqYt7lZowIJnFhU663Jsqk6KeS9oHmfSYw43da0eTxxPWACAA7gptHcEqiOqyi6qQc90YL9oPQv8gxPoPl09e5Eawj7qKdkA/1hsY4kZ615P5GN1eX8hBsDczax5ta0m45YhSzsEfEk5aKQlZEO0wF1KzVdmrfgtvdERVJOkWZTua7IqgYLWI6OaPgBWJN0+GXPXVUCF1cb93ffFOboPguYWbRvZbNGjW0q2NbOfKWxon6lfBJ1RSbZBb5vYOEeKY0Wl2X1bBCOLbqNjgs40qenEA7+xhoobWCfRnW2mBYoIhRuO+IfOSAecsWUxbNUCP108GCIYHNxtK1ixVQMrH7BvTXogrkIZ3Y8W7PoDhy27jJme1ZEa2a/nJC/6ZVnfKuyFnBauHcQwOMw0ASsVPDWnSV0X69bhz5FN8wQ2ZcSnEcgh8wb7M01Ld9zlS57xDaL2PFk7hNdRprm+iVZpEUN2QoGreStNQ3E=
|
@ -1,12 +1,3 @@
|
|||||||
#unified-extensions-button, #unified-extensions-button > .toolbarbutton-icon{
|
|
||||||
width: 0px !important;
|
|
||||||
padding: 0px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.tab-close-button {
|
.tab-close-button {
|
||||||
visibility: collapse !important;
|
visibility: collapse !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#alltabs-button {
|
|
||||||
display: none !important;
|
|
||||||
}
|
|
||||||
|
@ -1,52 +0,0 @@
|
|||||||
user_pref("app.shield.optoutstudies.enabled", false);
|
|
||||||
user_pref("browser.aboutConfig.showWarning", false);
|
|
||||||
user_pref("browser.contentblocking.category", "strict");
|
|
||||||
user_pref("browser.download.useDownloadDir", false);
|
|
||||||
user_pref("browser.formfill.enable", false);
|
|
||||||
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
|
|
||||||
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
|
|
||||||
user_pref("browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts.searchEngines", "");
|
|
||||||
user_pref("browser.newtabpage.enabled", false);
|
|
||||||
user_pref("browser.preferences.moreFromMozilla", false);
|
|
||||||
user_pref("browser.privatebrowsing.vpnpromourl", "");
|
|
||||||
user_pref("browser.tabs.tabmanager.enabled", false);
|
|
||||||
user_pref("browser.topsites.contile.cachedTiles", "");
|
|
||||||
user_pref("browser.urlbar.update2.engineAliasRefresh", true);
|
|
||||||
user_pref("datareporting.healthreport.uploadEnabled", false);
|
|
||||||
user_pref("datareporting.policy.dataSubmissionEnabled", false);
|
|
||||||
user_pref("dom.security.https_only_mode", true);
|
|
||||||
user_pref("extensions.formautofill.addresses.enabled", false);
|
|
||||||
user_pref("extensions.formautofill.creditCards.enabled", false);
|
|
||||||
user_pref("extensions.pocket.enabled", false);
|
|
||||||
user_pref("findbar.highlightAll", true);
|
|
||||||
user_pref("identity.fxaccounts.enabled", false);
|
|
||||||
user_pref("media.videocontrols.picture-in-picture.video-toggle.enabled", false);
|
|
||||||
user_pref("media.webspeech.synth.dont_notify_on_error", true);
|
|
||||||
user_pref("network.proxy.socks_remote_dns", true);
|
|
||||||
user_pref("privacy.sanitize.sanitizeOnShutdown", true);
|
|
||||||
user_pref("signon.rememberSignons", false);
|
|
||||||
user_pref("startup.homepage_welcome_url", "");
|
|
||||||
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
|
||||||
user_pref("toolkit.telemetry.archive.enabled", false);
|
|
||||||
user_pref("toolkit.telemetry.pioneer-new-studies-available", false);
|
|
||||||
|
|
||||||
// user preferences
|
|
||||||
user_pref("browser.startup.homepage", "https://music.youtube.com");
|
|
||||||
user_pref("browser.startup.page", 1);
|
|
||||||
user_pref("browser.toolbars.bookmarks.visibility", "always");
|
|
||||||
user_pref("browser.translations.enable", false);
|
|
||||||
|
|
||||||
user_pref("privacy.clearOnShutdown.cache", false);
|
|
||||||
user_pref("privacy.clearOnShutdown.cookies", false);
|
|
||||||
user_pref("privacy.clearOnShutdown.downloads", true);
|
|
||||||
user_pref("privacy.clearOnShutdown.formdata", true);
|
|
||||||
user_pref("privacy.clearOnShutdown.history", true);
|
|
||||||
user_pref("privacy.clearOnShutdown.offlineApps", true);
|
|
||||||
user_pref("privacy.clearOnShutdown.openWindows", true);
|
|
||||||
user_pref("privacy.clearOnShutdown.sessions", true);
|
|
||||||
user_pref("privacy.clearOnShutdown.siteSettings", true);
|
|
||||||
|
|
||||||
//user_pref("privacy.clearOnShutdown_v2.cache", false);
|
|
||||||
//user_pref("privacy.clearOnShutdown_v2.cookiesAndStorage", false);
|
|
||||||
//user_pref("privacy.clearOnShutdown_v2.historyFormDataAndDownloads", false);
|
|
||||||
//user_pref("privacy.clearOnShutdown_v2.siteSettings", false);
|
|
@ -3,12 +3,6 @@ Version=2
|
|||||||
|
|
||||||
[InstallCF146F38BCAB2D21]
|
[InstallCF146F38BCAB2D21]
|
||||||
Default=ange
|
Default=ange
|
||||||
Locked=1
|
|
||||||
|
|
||||||
[Profile1]
|
|
||||||
Name=music
|
|
||||||
IsRelative=1
|
|
||||||
Path=music
|
|
||||||
|
|
||||||
[Profile0]
|
[Profile0]
|
||||||
Name=ange
|
Name=ange
|
||||||
|
3
.xinitrc
@ -3,7 +3,6 @@
|
|||||||
dbus-update-activation-environment --systemd DISPLAY XAUTHORITY
|
dbus-update-activation-environment --systemd DISPLAY XAUTHORITY
|
||||||
|
|
||||||
# startup
|
# startup
|
||||||
autorandr -c &
|
|
||||||
xss-lock -n "feh --fullscreen '$XDG_CONFIG_HOME/wallpapers/lock.png'" -- lock &
|
xss-lock -n "feh --fullscreen '$XDG_CONFIG_HOME/wallpapers/lock.png'" -- lock &
|
||||||
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 || # arch
|
/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 || # arch
|
||||||
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 || # debian
|
/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1 || # debian
|
||||||
@ -15,4 +14,6 @@ sbar &
|
|||||||
xset s 600 15
|
xset s 600 15
|
||||||
xset dpms 616 616 616
|
xset dpms 616 616 616
|
||||||
|
|
||||||
|
wallpaper
|
||||||
|
|
||||||
exec dwm
|
exec dwm
|
||||||
|
12
README.md
@ -1,17 +1,17 @@
|
|||||||
# dotfiles
|
# dotfiles
|
||||||
|
|
||||||
See (https://git.maby.dev/ange/archinstall.git) for installation
|
See https://git.maby.dev/ange/archinstall.git for installation
|
||||||
|
|
||||||
- To clone the repo:
|
- To clone the repo:
|
||||||
```bash
|
```bash
|
||||||
git clone --bare https://git.maby.dev/ange/.dotfiles.git ~/.dotfiles
|
git clone --bare https://git.maby.dev/ange/.dotfiles.git ~/.dotfiles
|
||||||
alias config='git --git-dir=$HOME/.dotfiles --work-tree=$HOME'
|
alias c='git --git-dir=$HOME/.dotfiles --work-tree=$HOME'
|
||||||
config checkout -f
|
c checkout
|
||||||
config submodule update --init --recursive --remote
|
c submodule update --init --recursive --remote
|
||||||
config config status.showUntrackedFiles no
|
c config status.showUntrackedFiles no
|
||||||
```
|
```
|
||||||
|
|
||||||
- To update submodules:
|
- To update submodules:
|
||||||
```bash
|
```bash
|
||||||
config submodule update --recursive --remote
|
c submodule update --recursive --remote
|
||||||
```
|
```
|
||||||
|