Compare commits
152 Commits
4e5d12d359
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| ec01eed4be | |||
| 9d2a5362f7 | |||
| af3c2b62d1 | |||
| 1773f760a3 | |||
| 906f83137b | |||
| 5691ecc03e | |||
| b1afb762de | |||
| c861e8b96c | |||
| 7081821fc0 | |||
| eba5813646 | |||
| 5192649d67 | |||
| 632385191a | |||
| adf5ba9140 | |||
| c5856cbd47 | |||
| 89dfc85377 | |||
| d0b7f01cc8 | |||
| 29fc927053 | |||
| 841557d6f6 | |||
| e95b46cb01 | |||
| 511f210280 | |||
| 3acbf0d275 | |||
| 3dec19aa55 | |||
| e58fb3ad35 | |||
| 611af2412d | |||
| a7eddf83c3 | |||
| 38e7b666cf | |||
| 5c0ac04bab | |||
| b858d798ae | |||
| 03c2016471 | |||
| 72056fc85b | |||
| a74aec2dd2 | |||
| 7578995c96 | |||
| 3490a06700 | |||
| 3800dd08fb | |||
| d9fa71c045 | |||
| 6b56f14ffa | |||
| 396627f4cb | |||
| b214a4541b | |||
| a11f9cd7e0 | |||
| 2983c7d19e | |||
| 231bab7a13 | |||
| d158b91169 | |||
| 3fe8bfd9d7 | |||
| 88a7fe6cfd | |||
| 978ac74893 | |||
| e041d69918 | |||
| 37a3e43fb7 | |||
| 561933f814 | |||
| d452db49a5 | |||
| 6e1219e0b5 | |||
| edb70737e9 | |||
| c934ad515b | |||
| bf63e412c8 | |||
| 3d966d48aa | |||
| c50c23ba5c | |||
| 0d03127d06 | |||
| b314a6506d | |||
| cad7d6fc85 | |||
| e074cf8e11 | |||
| adfa2a9144 | |||
| ea2efd1145 | |||
| 6c4e8102c7 | |||
| 12ae5c9728 | |||
| 4da7aad44b | |||
| ed4a0674ab | |||
| 0c7367492c | |||
| ddc2205035 | |||
| 9a0a0e69de | |||
| 41c1cff77c | |||
| 5b4449d7e9 | |||
| b472f6b758 | |||
| 630a31ff35 | |||
| 89d2579bc8 | |||
| 6d3e8a7a9b | |||
| 27fd6700ff | |||
| 95faf30824 | |||
| 7b37d7b49f | |||
| 862fca3554 | |||
| 17681ff33b | |||
| fd8ef13162 | |||
| abb3c811f9 | |||
| abe36b2490 | |||
| 913a96cb27 | |||
| 3064dd2b70 | |||
| e0de67fad7 | |||
| d0574e433a | |||
| d40916c963 | |||
| dfbd41e132 | |||
| c007b4732d | |||
| 76a9a37e81 | |||
| 5d541a845a | |||
| 6a05fefc0e | |||
| 8420f1f1c1 | |||
| 38e261d753 | |||
| 3469a349d2 | |||
| 632021c3ee | |||
| eb382bba08 | |||
| aaa52a48b3 | |||
| aedb580510 | |||
| 59a1d3bb83 | |||
| 79f3ba513f | |||
| 7328245064 | |||
| cfbecf8a1a | |||
| fe2ff0fde4 | |||
| c3b7c57e2e | |||
| 0de1c0f2d3 | |||
| 614b78873a | |||
| ac5879cead | |||
| 2b93f4ab3b | |||
| dc19de13ff | |||
| c031affb9f | |||
| 9724a9dddd | |||
| e797bc1801 | |||
| 8b0cf92195 | |||
| ed699e596a | |||
| d4b8cc50b3 | |||
| 6fb77a634d | |||
| 87e982704c | |||
| 8e7de7e3b1 | |||
| 62cdd539ea | |||
| 4c0b85a07a | |||
| e81162cee7 | |||
| 2746b48826 | |||
| 2c1cd1b67d | |||
| 2579898388 | |||
| 6817e96a5b | |||
| 806e8ea150 | |||
| ec85cc899e | |||
| fa983e45cb | |||
| d548cd05fb | |||
| 69f46861dd | |||
| e61037c2ec | |||
| 70bcc31fe9 | |||
| ebe58db8bb | |||
| 9cf801e3b4 | |||
| cca18e396d | |||
| ce2c1a5e8e | |||
| 526a979270 | |||
| f08530d58d | |||
| af64d88079 | |||
| 8a0b199f9b | |||
| 77379fe35c | |||
| fbce58b3c0 | |||
| 20a7cadf9e | |||
| 700c60bbbb | |||
| f2e50cdd0b | |||
| 8db7eba1fa | |||
| e0a9195e59 | |||
| 71569b08db | |||
| 179f160503 | |||
| 53e1bd2f10 | |||
| be89debce8 |
@@ -1 +0,0 @@
|
||||
[[ -f ~/.bashrc ]] && . ~/.bashrc
|
||||
18
dot_bashrc
18
dot_bashrc
@@ -1,18 +0,0 @@
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
# Set aliases
|
||||
alias ls="exa --icons --long"
|
||||
alias grep="ugrep"
|
||||
alias cd="z"
|
||||
alias cat="bat -p"
|
||||
alias update-mirrors="rate-mirrors arch | sudo tee /etc/pacman.d/mirrorlist; rate-mirrors chaotic-aur | sudo tee /etc/pacman.d/chaotic-mirrorlist"
|
||||
alias update="paru; paru -c"
|
||||
|
||||
# Helpful tool: https://bash-prompt-generator.org
|
||||
# On github: https://github.com/Scriptim/bash-prompt-generator
|
||||
PS1='[\u@\h \w]\$ '
|
||||
|
||||
# CLI programs
|
||||
EDITOR=micro
|
||||
DIFFPROG=difft
|
||||
9
dot_config/aocd/encrypted_token.age
Normal file
9
dot_config/aocd/encrypted_token.age
Normal file
@@ -0,0 +1,9 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBSNnE3d2ZmZFZoOWdyZnZY
|
||||
bFFoKzErZmE1QkI4K1dhUHEwWWpDZnZXRkFFCmoxZmpZTndzWXdES2NrQ2poYXpy
|
||||
c2pFek9HbXZGUkFPUVdkQ0xjbkliSmMKLS0tIFVIeGh0Si8zSG55RGI4cUNFZHBp
|
||||
Tjg3U2NlanFvTERUNURoZzY2YnhjazgK8I8MU0tmo1Dh3DhTCt3em5jkPlOGepaw
|
||||
3oPax9S4r5ZagEZm0RvY7OolXOsotW2JgizDSIvnbJb8/j0geg2ZfOQbZxzkpFRn
|
||||
khH9ZYrD0eD0qHcClOyAxotOf8RQgQ+HMIzAx88FWSUQxtavVw7ThKDqwhpRssZ1
|
||||
RVpEY/7B0CAOaVcB/22hb2xg80YvOwnfEAgj0cqnjinp7lmFY9vdPG8=
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
255
dot_config/bash/dot_bash_aliases
Normal file
255
dot_config/bash/dot_bash_aliases
Normal file
@@ -0,0 +1,255 @@
|
||||
# shellcheck shell=bash
|
||||
# shellcheck disable=SC1090,SC1091,SC2034
|
||||
|
||||
# Set aliases
|
||||
hash ug 2>/dev/null && alias grep="ugrep"
|
||||
hash bat 2>/dev/null && alias cat="bat -p"
|
||||
hash zoxide 2>/dev/null && alias cd="z"
|
||||
hash fd 2>/dev/null && alias find="fd"
|
||||
hash numbat 2>/dev/null && alias bc="numbat" # numbat is a bit more than just a bc alternative
|
||||
# hash eva 2>/dev/null && alias bc="eva" # eva is a bc alternative, but don't want to switch yet
|
||||
hash fend 2>/dev/null && alias units="fend" # fend's syntax is a bit different from units, don't want to switch yet
|
||||
# hash sd 2>/dev/null && alias sed="sd" # Disabled because some scripts use sed, and don't set the -i flag
|
||||
hash dust 2>/dev/null && alias du="dust"
|
||||
hash erd 2>/dev/null && alias tree="erd"
|
||||
hash dua 2>/dev/null && alias duai="dua interactive"
|
||||
hash tealdeer 2>/dev/null && alias tldr="tealdeer"
|
||||
hash hexyl 2>/dev/null && alias xxd="hexyl"
|
||||
hash xdg-open 2>/dev/null && alias start="xdg-open" && alias open="xdg-open"
|
||||
hash micro 2>/dev/null && alias edit="micro" && alias nano="micro"
|
||||
hash nvim 2>/dev/null && alias vim="nvim" && alias vi="nvim"
|
||||
hash trash-put 2>/dev/null && alias rm="trash-put" && alias tp="trash-put"
|
||||
hash gallery-dl 2>/dev/null && alias gallery-dl="gallery-dl --cookies-from-browser firefox"
|
||||
hash yt-dlp 2>/dev/null && alias yt-dlp="yt-dlp --cookies-from-browser firefox"
|
||||
|
||||
function update-mirrors {
|
||||
# Termux special case
|
||||
if [[ "$TERMUX_VERSION" ]]; then
|
||||
termux-change-repo
|
||||
return $?
|
||||
fi
|
||||
|
||||
if [[ $(lsb_release -si) =~ "Arch" ]]; then
|
||||
if hash rate-mirrors 2>/dev/null; then
|
||||
rate-mirrors arch | sudo tee /etc/pacman.d/mirrorlist
|
||||
rate-mirrors chaotic-aur | sudo tee /etc/pacman.d/chaotic-mirrorlist
|
||||
else
|
||||
echo "rate-mirrors not found, cannot update mirrors."
|
||||
return 1
|
||||
fi
|
||||
elif [[ $(lsb_release -si) =~ "Debian" || $(lsb_release -si) =~ "Ubuntu" ]]; then
|
||||
if hash nala 2>/dev/null; then
|
||||
sudo nala fetch --auto -c US -c CA
|
||||
else
|
||||
echo "nala not found, cannot update mirrors."
|
||||
return 1
|
||||
fi
|
||||
else
|
||||
echo "No supported package manager found for updating mirrors."
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
function update {
|
||||
# Termux special case
|
||||
if [[ "$TERMUX_VERSION" ]]; then
|
||||
pkg upgrade && pkg autoclean
|
||||
return $?
|
||||
fi
|
||||
|
||||
# Check if we have at least 10GB of free space before running the update
|
||||
free_space="$(df --output=avail / | tail -n 1)"
|
||||
if (( free_space < 10485760 )); then # 10485760 = 10 * 1024 * 1024 (10GB in KB)
|
||||
# Less than 10GB free space
|
||||
# Ask user if they want to continue
|
||||
echo "Warning: Less than 10GB of free space available. Continue? [y/N] "
|
||||
read -r answer
|
||||
if [[ $answer =~ ^[Nn]$ ]]; then
|
||||
echo "Update cancelled."
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ $(lsb_release -si) =~ "Arch" ]]; then
|
||||
if hash paru 2>/dev/null; then
|
||||
paru; paru -c
|
||||
elif hash yay 2>/dev/null; then
|
||||
yay; yay -Sc
|
||||
elif hash pamac 2>/dev/null; then
|
||||
pamac update; pamac clean
|
||||
elif hash pacman 2>/dev/null; then
|
||||
sudo pacman -Syu; sudo pacman -Sc
|
||||
else
|
||||
echo "No supported package manager found for Arch."
|
||||
return 1
|
||||
fi
|
||||
elif [[ $(lsb_release -si) =~ "Debian" || $(lsb_release -si) =~ "Ubuntu" ]]; then
|
||||
if hash nala 2>/dev/null; then
|
||||
sudo nala update && sudo nala upgrade && sudo nala autoremove
|
||||
elif hash aptitude 2>/dev/null; then
|
||||
sudo aptitude update && sudo aptitude upgrade && sudo aptitude autoremove
|
||||
elif hash apt 2>/dev/null; then
|
||||
sudo apt update && sudo apt upgrade && sudo apt autoremove
|
||||
else
|
||||
echo "No supported package manager found for Debian/Ubuntu."
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
# Non system packages
|
||||
if hash flatpak 2>/dev/null; then
|
||||
sudo flatpak update && sudo flatpak uninstall --unused
|
||||
fi
|
||||
if hash snap 2>/dev/null; then
|
||||
sudo snap refresh && sudo snap remove --purge "$(snap list --all | awk '/^.*disabled/{print $1}')"
|
||||
fi
|
||||
# Firmware
|
||||
if hash fwupdmgr 2>/dev/null; then
|
||||
sudo fwupdmgr refresh && sudo fwupdmgr update
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# if hash lsb_release 2>/dev/null; then
|
||||
# if [[ $(lsb_release -si) =~ "Arch" ]]; then
|
||||
# alias update-mirrors="rate-mirrors arch | sudo tee /etc/pacman.d/mirrorlist; rate-mirrors chaotic-aur | sudo tee /etc/pacman.d/chaotic-mirrorlist"
|
||||
# # System package managers
|
||||
|
||||
# hash pacman 2>/dev/null && command="sudo pacman -Syu; sudo pacman -Sc; "
|
||||
# hash pamac 2>/dev/null && command="pamac update; pamac clean; "
|
||||
# hash yay 2>/dev/null && command="yay; yay -Sc; "
|
||||
# hash paru 2>/dev/null && command="paru; paru -c; "
|
||||
# elif [[ $(lsb_release -si) =~ "Debian" || $(lsb_release -si) =~ "Ubuntu" ]]; then
|
||||
# alias update-mirrors="sudo nala fetch --auto -c US -c CA"
|
||||
|
||||
# # System package managers
|
||||
# hash apt 2>/dev/null && command="sudo apt update && sudo apt upgrade && sudo apt autoremove; "
|
||||
# hash aptitude 2>/dev/null && command="sudo aptitude update && sudo aptitude upgrade && sudo aptitude autoremove; "
|
||||
# hash nala 2>/dev/null && command="sudo nala update && sudo nala upgrade && sudo nala autoremove; "
|
||||
# fi
|
||||
# # Non system packages
|
||||
# hash flatpak 2>/dev/null && command+="flatpak update && flatpak uninstall --unused; "
|
||||
# hash snap 2>/dev/null && command+="sudo snap refresh && sudo snap remove --purge $(snap list --all | awk '/^.*disabled/{print $1}'); "
|
||||
|
||||
# # Firmware
|
||||
# hash fwupdmgr 2>/dev/null && command+="fwupdmgr refresh && fwupdmgr update; "
|
||||
|
||||
# # Return 0 to indicate that the function has finished successfully
|
||||
# command+="return 0"
|
||||
|
||||
# # We want this to be expanded to the command, as the command is not very helpful
|
||||
# # shellcheck disable=SC2139
|
||||
# alias update="$command"
|
||||
# elif [[ "$TERMUX_VERSION" ]]; then
|
||||
# # Termux, special case
|
||||
# alias update-mirrors="termux-change-repo"
|
||||
# alias update="pkg upgrade && pkg autoclean"
|
||||
# # Non privaledged environemnt, have to use local package managers like eget, nix, etc
|
||||
# else
|
||||
# alias update-mirrors="echo 'No mirrors to update'"
|
||||
# alias update='eget -D; . "$HOME"/.config/eget/post_install.sh'
|
||||
# alias nix-shell-local="nix-user-chroot ~/.local/share/nix bash"
|
||||
|
||||
# if [ -e ~/.nix-profile/etc/profile.d/nix.sh ]; then
|
||||
# . ~/.nix-profile/etc/profile.d/nix.sh
|
||||
# fi
|
||||
# fi
|
||||
|
||||
if hash eza 2>/dev/null; then
|
||||
function ls {
|
||||
if [[ "$*" =~ "-a" || "$*" =~ "-A" || "$*" =~ "--all" || "$*" =~ "--almost-all" ]]; then
|
||||
eza --icons --long "$@"
|
||||
else
|
||||
eza --icons --long --ignore-glob "$([[ -f .hidden ]] && < .hidden tr '\n' '|')" "$@"
|
||||
fi
|
||||
}
|
||||
fi
|
||||
|
||||
if hash sigtool 2>/dev/null; then
|
||||
# clamav-exception-add <file>
|
||||
# Adds a file to the clamav user-defined exceptions list
|
||||
# Usage: clamav-exception-add <file>
|
||||
# Example: clamav-exception-add /path/to/file
|
||||
# Note: This requires root privileges, so you may need to run it with sudo
|
||||
function clamav-exception-add {
|
||||
if [[ -z $1 ]]; then
|
||||
echo "Usage: clamav-exception-add <file>"
|
||||
return 1
|
||||
fi
|
||||
if [[ ! -f $1 ]]; then
|
||||
echo "File not found: $1"
|
||||
return 1
|
||||
fi
|
||||
sudo bash -c "sigtool --sha256 $1 >> /var/lib/clamav/user-defined-exceptions.sfp"
|
||||
}
|
||||
fi
|
||||
|
||||
# Dotfiles management
|
||||
# TODO: Rewrite to use bash read instead of zsh read
|
||||
if hash chezmoi 2>/dev/null; then
|
||||
function .add {
|
||||
if [[ -z $1 || -z $2 ]]; then
|
||||
echo "Usage: .add <file> <message>"
|
||||
return 1
|
||||
fi
|
||||
|
||||
chezmoi add "$1"
|
||||
chezmoi git add .
|
||||
chezmoi git status
|
||||
echo -n "Commit changes? [y/N] "
|
||||
read -r answer
|
||||
if [[ $answer =~ ^[Yy]$ ]]; then
|
||||
chezmoi git -- commit -m "$2"
|
||||
echo -n "Push changes? [y/N] "
|
||||
read -r answer
|
||||
if [[ $answer =~ ^[Yy]$ ]]; then
|
||||
chezmoi git push
|
||||
fi
|
||||
fi
|
||||
}
|
||||
# TODO: Rewrite to use bash read instead of zsh read
|
||||
function .re-add {
|
||||
if [[ -z $1 ]]; then
|
||||
echo "Usage: .re-add <message>"
|
||||
return 1
|
||||
fi
|
||||
|
||||
chezmoi re-add
|
||||
chezmoi git status
|
||||
chezmoi git diff
|
||||
echo -n "Commit changes? [y/N] "
|
||||
read -r answer
|
||||
if [[ $answer =~ ^[Yy]$ ]]; then
|
||||
chezmoi git -- commit -am "$1"
|
||||
echo -n "Push changes? [y/N] "
|
||||
read -r answer
|
||||
if [[ $answer =~ ^[Yy]$ ]]; then
|
||||
chezmoi git push
|
||||
fi
|
||||
fi
|
||||
}
|
||||
alias .push="chezmoi git push"
|
||||
alias .pull="chezmoi git pull"
|
||||
alias .status="chezmoi git status"
|
||||
alias .diff="chezmoi git diff"
|
||||
alias .update="chezmoi update"
|
||||
fi
|
||||
|
||||
# Other aliases
|
||||
alias rce='xdg-open $HOME/.bashrc && xdg-open $HOME/.zshrc && xdg-open $XDG_CONFIG_HOME/bash/.bash_aliases' # Open bash and zsh config files in editor
|
||||
alias ftpd-simple='python -m pyftpdlib' # Simple FTP server, useful for transferring files between devices
|
||||
alias obs-save='obs-cmd replay save' # obs-cmd from aur (https://github.com/grigio/obs-cmd) required. Also bound to Alt + Z
|
||||
alias plasma-restart='systemctl --user restart plasma-plasmashell.service' # Sometimes plasma is buggy and needs a restart, bound to Alt + Shift + Ctrl +
|
||||
alias arch-fix-broken='paru -S $(paru -Qk 2>/dev/null | grep -v " 0 missing files" | cut -d: -f1) --overwrite "*" --noconfirm'
|
||||
|
||||
# XDG aliases
|
||||
alias wget='wget --hsts-file="$XDG_DATA_HOME"/wget-hsts'
|
||||
alias yarn='yarn --use-yarnrc "$XDG_CONFIG_HOME"/yarn/config'
|
||||
alias units='units --history "$XDG_DATA_HOME"/units_history'
|
||||
alias nvidia-settings='nvidia-settings --config="$XDG_CONFIG_HOME"/nvidia/settings'
|
||||
alias adb='HOME="$XDG_DATA_HOME"/android adb'
|
||||
|
||||
# If we have local rust installed, set it up
|
||||
if [[ -f $XDG_DATA_HOME/cargo/env ]]; then
|
||||
. "$XDG_DATA_HOME/cargo/env"
|
||||
fi
|
||||
52
dot_config/bash/dot_bashrc
Normal file
52
dot_config/bash/dot_bashrc
Normal file
@@ -0,0 +1,52 @@
|
||||
# shellcheck shell=bash
|
||||
# shellcheck disable=SC1090,SC1091,SC2034
|
||||
|
||||
# Add local bin to PATH
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
# Workaround for SSH/Login sessions
|
||||
# https://github.com/systemd/systemd/issues/7641#issuecomment-680694017
|
||||
set -a
|
||||
if shopt -q login_shell && [[ -f /usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator ]]; then
|
||||
eval "$(/usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator)"
|
||||
# Fallback to to manually parsing environment.d
|
||||
elif [[ -z "$XDG_DATA_HOME" && -z "$XDG_CONFIG_HOME" && -z "$XDG_STATE_HOME" && -z "$XDG_CACHE_HOME" ]]; then
|
||||
eval "$(<"$HOME/.config/environment.d/xdg.conf")"
|
||||
fi
|
||||
set +a
|
||||
|
||||
# If we have local bash-completion, use it
|
||||
[[ -f $HOME/.local/bin/bash_completion ]] && . "$HOME/.local/bin/bash_completion"
|
||||
|
||||
# Bash XDG history
|
||||
HISTFILE="$XDG_STATE_HOME"/bash/history
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
HISTCONTROL=ignoredups:erasedups
|
||||
shopt -s histappend
|
||||
|
||||
# Helpful tool: https://bash-prompt-generator.org
|
||||
# On github: https://github.com/Scriptim/bash-prompt-generator
|
||||
PS1='[\u@\h \w]\$ '
|
||||
|
||||
[[ -f $XDG_CONFIG_HOME/bash/.bash_aliases ]] && source "$XDG_CONFIG_HOME/bash/.bash_aliases"
|
||||
|
||||
# Bash specific alias
|
||||
alias rc='source "$XDG_CONFIG_HOME"/bash/.bashrc'
|
||||
|
||||
# https://github.com/pkasemir/find-the-command
|
||||
[[ -f /usr/share/doc/find-the-command/ftc.bash ]] && source /usr/share/doc/find-the-command/ftc.bash noupdate quiet info
|
||||
# https://wiki.archlinux.org/title/Pkgfile#Command_not_found
|
||||
# [[ -f /usr/share/doc/pkgfile/command-not-found.bash ]] && source /usr/share/doc/pkgfile/command-not-found.bash
|
||||
|
||||
# Starship after defining custom prompt, easy to remove
|
||||
hash starship 2>/dev/null && eval "$(starship init bash)"
|
||||
|
||||
# Zoxide init has to be last
|
||||
hash zoxide 2>/dev/null && eval "$(zoxide init bash)"
|
||||
|
||||
# Return 0 to indicate success that the script has been sourced to completion
|
||||
return 0
|
||||
@@ -5,5 +5,3 @@ encryption = "age"
|
||||
[edit]
|
||||
command = "code"
|
||||
args = ["--wait"]
|
||||
[hooks.read-source-state.pre]
|
||||
command = ".local/share/chezmoi/.install-password-manager.sh"
|
||||
1
dot_config/discord/discord.conf
Normal file
1
dot_config/discord/discord.conf
Normal file
@@ -0,0 +1 @@
|
||||
PATCH_KRISP=true
|
||||
25
dot_config/discord/settings.json
Normal file
25
dot_config/discord/settings.json
Normal file
@@ -0,0 +1,25 @@
|
||||
{
|
||||
"chromiumSwitches": {},
|
||||
"IS_MAXIMIZED": true,
|
||||
"IS_MINIMIZED": false,
|
||||
"WINDOW_BOUNDS": {
|
||||
"x": 4127,
|
||||
"y": 144,
|
||||
"width": 1280,
|
||||
"height": 720
|
||||
},
|
||||
"OPEN_ON_STARTUP": false,
|
||||
"DANGEROUS_ENABLE_DEVTOOLS_ONLY_ENABLE_IF_YOU_KNOW_WHAT_YOURE_DOING": true,
|
||||
"SKIP_HOST_UPDATE": true,
|
||||
"MIN_WIDTH": 940,
|
||||
"MIN_HEIGHT": 500,
|
||||
"openasar": {
|
||||
"setup": true,
|
||||
"quickstart": true
|
||||
},
|
||||
"trayBalloonShown": true,
|
||||
"BACKGROUND_COLOR": "#000000",
|
||||
"enableHardwareAcceleration": true,
|
||||
"offloadAdmControls": true,
|
||||
"asyncVideoInputDeviceInit": false
|
||||
}
|
||||
110
dot_config/eget/eget.toml
Normal file
110
dot_config/eget/eget.toml
Normal file
@@ -0,0 +1,110 @@
|
||||
[global]
|
||||
target = "~/.local/bin"
|
||||
upgrade_only = true
|
||||
|
||||
["zyedidia/eget"]
|
||||
|
||||
["zyedidia/micro"]
|
||||
asset_filters = [ "static", ".tar.gz" , "^sha" ]
|
||||
|
||||
["ip7z/7zip"]
|
||||
# Currently not working as 7zip packages use xz filters unsupported by eget/xz go library
|
||||
#file = "7zzs"
|
||||
#target = "~/.local/bin/7z"
|
||||
download_only = true
|
||||
|
||||
["sharkdp/bat"]
|
||||
asset_filters = [ "gnu", ".tar.gz" ]
|
||||
|
||||
["BurntSushi/ripgrep"]
|
||||
|
||||
["sharkdp/fd"]
|
||||
asset_filters = [ "gnu" ]
|
||||
|
||||
["sharkdp/hyperfine"]
|
||||
asset_filters = [ "gnu" ]
|
||||
|
||||
["ajeetdsouza/zoxide"]
|
||||
|
||||
["neovim/neovim"]
|
||||
asset_filters = [ "x86_64" ]
|
||||
target = "~/.local/bin/nvim"
|
||||
|
||||
["konosubakonoakua/ncdu-zig"]
|
||||
target = "~/.local/bin/ncdu"
|
||||
|
||||
["eza-community/eza"]
|
||||
asset_filters = [ "gnu", ".tar.gz" ]
|
||||
|
||||
["starship/starship"]
|
||||
asset_filters = [ "gnu" ]
|
||||
|
||||
["Byron/dua-cli"]
|
||||
|
||||
["doy/rbw"]
|
||||
|
||||
["twpayne/chezmoi"]
|
||||
asset_filters = [ "glibc", ".tar.gz" ]
|
||||
|
||||
["scop/bash-completion"]
|
||||
# Needs manual intervention to install, as its a bash script with a subfolder containing completions
|
||||
download_only = true
|
||||
asset_filters = [ ".tar.xz" ]
|
||||
|
||||
["srevinsaju/Firefox-Appimage"]
|
||||
target = "~/.local/bin/firefox"
|
||||
tag = "firefox"
|
||||
asset_filters = [ ".AppImage", "^zsync" ]
|
||||
|
||||
["BtbN/FFmpeg-Builds"]
|
||||
asset_filters = [ "^lgpl", "shared", "master", ".tar.xz" ]
|
||||
download_only = true # Shared libraries aren't extracted correctly, need to do in post install script
|
||||
|
||||
["romkatv/zsh-bin"]
|
||||
asset_filters = [ "^asc" ]
|
||||
# all = true
|
||||
file = "bin/zsh"
|
||||
|
||||
["xyproto/gendesk"]
|
||||
asset_filters = [ "static" ]
|
||||
|
||||
["neovide/neovide"]
|
||||
|
||||
["valicm/VSCode-AppImage"]
|
||||
asset_filters = [ ".AppImage", "^zsync" ]
|
||||
target = "~/.local/bin/code"
|
||||
|
||||
#["containers/podman"]
|
||||
# target = "~/.local/bin/podman"
|
||||
|
||||
#["89luca89/lilipod"]
|
||||
# target = "~/.local/bin/lilipod"
|
||||
|
||||
["sharkdp/numbat"]
|
||||
asset_filters = [ "gnu", ".tar.gz" ]
|
||||
|
||||
["sharkdp/hexyl"]
|
||||
asset_filters = [ "gnu", ".tar.gz" ]
|
||||
|
||||
["chmln/sd"]
|
||||
asset_filters = [ "gnu", ".tar.gz" ]
|
||||
|
||||
["bootandy/dust"]
|
||||
asset_filters = [ "gnu", ".tar.gz" ]
|
||||
|
||||
["tealdeer-rs/tealdeer"]
|
||||
|
||||
["nushell/nushell"]
|
||||
asset_filters = [ "musl", ".tar.gz" ]
|
||||
all = true
|
||||
|
||||
# TODO: Change to no extract so I can setup shared librarys and terminfo etc, as well as get kitten binary
|
||||
["kovidgoyal/kitty"]
|
||||
asset_filters = [ "^sig", "^kitten", "x86_64" ]
|
||||
|
||||
["nix-community/nix-user-chroot"]
|
||||
asset_filters = [ "x86_64", "musl" ]
|
||||
|
||||
["fish-shell/fish-shell"]
|
||||
asset_filters = [ "x86_64", "static" ]
|
||||
all = true
|
||||
76
dot_config/eget/executable_post_install.sh
Normal file
76
dot_config/eget/executable_post_install.sh
Normal file
@@ -0,0 +1,76 @@
|
||||
# Non github dependancies
|
||||
if ! hash poetry 2>/dev/null;then
|
||||
pipx install poetry
|
||||
fi
|
||||
|
||||
if ! hash rustup 2>/dev/null;then
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
|
||||
fi
|
||||
|
||||
# Temporarily change directory
|
||||
pushd $HOME/.local/bin > /dev/null
|
||||
|
||||
# Extract what eget could not
|
||||
|
||||
# Handle 7z
|
||||
if compgen -G "7z*tar*" > /dev/null; then
|
||||
# Extract 7z
|
||||
tar xf 7z*tar* 7zzs
|
||||
# Remove/rename extracted 7zzs (7z statically linked) to 7z
|
||||
mv -f 7zzs 7z
|
||||
# Remove archive
|
||||
rm -r 7z*tar*
|
||||
fi
|
||||
|
||||
# Handle bash_completion
|
||||
if compgen -G "bash-completion*tar*" > /dev/null; then
|
||||
# Extract bash-completion
|
||||
tar xf bash-completion*tar*
|
||||
|
||||
# Remove old bash_completion
|
||||
rm -r bash_completion bash_completion.d completions
|
||||
|
||||
# Move new bash_completion
|
||||
mv -f bash-completion*/bash_completion .
|
||||
mv -f bash-completion*/bash_completion.d .
|
||||
mv -f bash-completion*/completions .
|
||||
|
||||
# Remove extracted files
|
||||
rm -r bash-completion-*
|
||||
|
||||
# Make bash_completion executable
|
||||
chmod +x bash_completion
|
||||
fi
|
||||
|
||||
if compgen -G "ffmpeg*tar*" > /dev/null; then
|
||||
# Extract ffmpeg
|
||||
tar xf ffmpeg*tar*
|
||||
|
||||
# Handle shared libraries
|
||||
rsync --remove-source-files --links $(fd --glob "*.so*") ../lib
|
||||
|
||||
# Binaries
|
||||
mv -f ffmpeg*/bin/* .
|
||||
|
||||
# Remove archive
|
||||
rm -r ffmpeg*tar*
|
||||
|
||||
# Remove extracted files
|
||||
rm -r ffmpeg-*
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
# Gen Desktop files
|
||||
gendesk -f -n --pkgname "firefox" --name "Firefox" --exec "firefox %u" --icon "firefox" --categories "Network" --comment "Firefox Web Browser" --genericname "Web Browser"
|
||||
gendesk -f -n --pkgname "neovide" --name "Neovide" --exec "neovide %F" --icon "neovide" --categories "TextEditor;Development" --comment "Neovim GUI" --genericname "Neovim GUI"
|
||||
gendesk -f -n --pkgname "code" --name "Visual Studio Code" --exec "code %F" --icon "vscode" --categories "TextEditor;Development" --comment "Visual Studio Code" --genericname "Code Editor"
|
||||
gendesk -f -n --pkgname "kitty" --name "Kitty" --exec "kitty" --icon "kitty" --categories "Utility" --comment "Kitty Terminal Emulator" --genericname "Terminal Emulator"
|
||||
gendesk -f -n --pkgname "micro" --name "Micro" --exec "micro %F" --icon "micro" --categories "TextEditor;Development" --comment "Micro Text Editor" --genericname "Text Editor" --terminal=true
|
||||
|
||||
# Move desktop files to applications directory
|
||||
rsync --remove-source-files *.desktop ../share/applications
|
||||
|
||||
# Unchange directory
|
||||
popd > /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
DIFFPROG=kdiff3
|
||||
@@ -1 +0,0 @@
|
||||
EDITOR=code
|
||||
@@ -1 +0,0 @@
|
||||
GIT_ASKPASS=ksshaskpass
|
||||
5
dot_config/environment.d/ssh.conf.tmpl
Normal file
5
dot_config/environment.d/ssh.conf.tmpl
Normal file
@@ -0,0 +1,5 @@
|
||||
SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
|
||||
{{ if lookPath "ksshaskpass" -}}
|
||||
SSH_ASKPASS={{- lookPath "ksshaskpass" }}
|
||||
SSH_ASKPASS_REQUIRE=prefer
|
||||
{{- end -}}
|
||||
@@ -1 +0,0 @@
|
||||
SSH_AUTH_SOCK=$XDG_RUNTIME_DIR/ssh-agent.socket
|
||||
@@ -1,2 +0,0 @@
|
||||
SSH_ASKPASS=ksshaskpass
|
||||
SSH_ASKPASS_REQUIRE=prefer
|
||||
@@ -2,3 +2,23 @@ XDG_DATA_HOME=$HOME/.local/share
|
||||
XDG_CONFIG_HOME=$HOME/.config
|
||||
XDG_STATE_HOME=$HOME/.local/state
|
||||
XDG_CACHE_HOME=$HOME/.cache
|
||||
|
||||
ASDF_DATA_DIR=$XDG_DATA_HOME/asdf
|
||||
CARGO_HOME=$XDG_DATA_HOME/cargo
|
||||
CUDA_CACHE_PATH=$XDG_CACHE_HOME/nv
|
||||
DOTNET_CLI_HOME=$XDG_DATA_HOME/dotnet
|
||||
GNUPGHOME=$XDG_DATA_HOME/gnupg
|
||||
GOPATH=$XDG_DATA_HOME/go
|
||||
GTK2_RC_FILES=$XDG_CONFIG_HOME/gtk-2.0/gtkrc
|
||||
NUGET_PACKAGES=$XDG_CACHE_HOME/NuGetPackages
|
||||
_JAVA_OPTIONS=-Djava.util.prefs.userRoot=$XDG_CONFIG_HOME/java
|
||||
WINEPREFIX=$XDG_DATA_HOME/wine
|
||||
ZDOTDIR=$XDG_CONFIG_HOME/zsh
|
||||
TEXMFVAR=$XDG_CACHE_HOME/texlive/texmf-var
|
||||
LEIN_HOME=$XDG_DATA_HOME/lein
|
||||
JULIA_DEPOT_PATH=$XDG_DATA_HOME/julia:$JULIA_DEPOT_PATH
|
||||
XCURSOR_PATH=/usr/share/icons:$XDG_DATA_HOME/icons
|
||||
ANDROID_USER_HOME=$XDG_DATA_HOME/android
|
||||
NPM_CONFIG_USERCONFIG=$XDG_CONFIG_HOME/npm/npmrc
|
||||
PYTHON_HISTORY=$XDG_STATE_HOME/python_history
|
||||
RENPY_PATH_TO_SAVES=$XDG_DATA_HOME/renpy
|
||||
|
||||
114
dot_config/gamemode.ini
Normal file
114
dot_config/gamemode.ini
Normal file
@@ -0,0 +1,114 @@
|
||||
[general]
|
||||
; The reaper thread will check every 5 seconds for exited clients, for config file changes, and for the CPU/iGPU power balance
|
||||
reaper_freq=5
|
||||
|
||||
; The desired governor is used when entering GameMode instead of "performance"
|
||||
desiredgov=performance
|
||||
; The default governor is used when leaving GameMode instead of restoring the original value
|
||||
;defaultgov=powersave
|
||||
|
||||
; The iGPU desired governor is used when the integrated GPU is under heavy load
|
||||
igpu_desiredgov=powersave
|
||||
; Threshold to use to decide when the integrated GPU is under heavy load.
|
||||
; This is a ratio of iGPU Watts / CPU Watts which is used to determine when the
|
||||
; integraged GPU is under heavy enough load to justify switching to
|
||||
; igpu_desiredgov. Set this to -1 to disable all iGPU checking and always
|
||||
; use desiredgov for games.
|
||||
igpu_power_threshold=0.3
|
||||
|
||||
; GameMode can change the scheduler policy to SCHED_ISO on kernels which support it (currently
|
||||
; not supported by upstream kernels). Can be set to "auto", "on" or "off". "auto" will enable
|
||||
; with 4 or more CPU cores. "on" will always enable. Defaults to "off".
|
||||
softrealtime=off
|
||||
|
||||
; GameMode can renice game processes. You can put any value between 0 and 20 here, the value
|
||||
; will be negated and applied as a nice value (0 means no change). Defaults to 0.
|
||||
; To use this feature, the user must be added to the gamemode group (and then rebooted):
|
||||
; sudo usermod -aG gamemode $(whoami)
|
||||
renice=20
|
||||
|
||||
; By default, GameMode adjusts the iopriority of clients to BE/0, you can put any value
|
||||
; between 0 and 7 here (with 0 being highest priority), or one of the special values
|
||||
; "off" (to disable) or "reset" (to restore Linux default behavior based on CPU priority),
|
||||
; currently, only the best-effort class is supported thus you cannot set it here
|
||||
ioprio=0
|
||||
|
||||
; Sets whether gamemode will inhibit the screensaver when active
|
||||
; Defaults to 1
|
||||
inhibit_screensaver=1
|
||||
|
||||
; Sets whether gamemode will disable split lock mitigation when active
|
||||
; Defaults to 1
|
||||
disable_splitlock=1
|
||||
|
||||
[filter]
|
||||
; If "whitelist" entry has a value(s)
|
||||
; gamemode will reject anything not in the whitelist
|
||||
;whitelist=RiseOfTheTombRaider
|
||||
|
||||
; Gamemode will always reject anything in the blacklist
|
||||
;blacklist=HalfLife3
|
||||
; glxgears
|
||||
|
||||
[gpu]
|
||||
; Here Be Dragons!
|
||||
; Warning: Use these settings at your own risk
|
||||
; Any damage to hardware incurred due to this feature is your responsibility and yours alone
|
||||
; It is also highly recommended you try these settings out first manually to find the sweet spots
|
||||
|
||||
; Setting this to the keyphrase "accept-responsibility" will allow gamemode to apply GPU optimisations such as overclocks
|
||||
;apply_gpu_optimisations=0
|
||||
|
||||
; The DRM device number on the system (usually 0), ie. the number in /sys/class/drm/card0/
|
||||
;gpu_device=0
|
||||
|
||||
; Nvidia specific settings
|
||||
; Requires the coolbits extension activated in nvidia-xconfig
|
||||
; This corresponds to the desired GPUPowerMizerMode
|
||||
; "Adaptive"=0 "Prefer Maximum Performance"=1 and "Auto"=2
|
||||
; See NV_CTRL_GPU_POWER_MIZER_MODE and friends in https://github.com/NVIDIA/nvidia-settings/blob/master/src/libXNVCtrl/NVCtrl.h
|
||||
;nv_powermizer_mode=1
|
||||
|
||||
; These will modify the core and mem clocks of the highest perf state in the Nvidia PowerMizer
|
||||
; They are measured as Mhz offsets from the baseline, 0 will reset values to default, -1 or unset will not modify values
|
||||
;nv_core_clock_mhz_offset=0
|
||||
;nv_mem_clock_mhz_offset=0
|
||||
|
||||
; AMD specific settings
|
||||
; Requires a relatively up to date AMDGPU kernel module
|
||||
; See: https://dri.freedesktop.org/docs/drm/gpu/amdgpu.html#gpu-power-thermal-controls-and-monitoring
|
||||
; It is also highly recommended you use lm-sensors (or other available tools) to verify card temperatures
|
||||
; This corresponds to power_dpm_force_performance_level, "manual" is not supported for now
|
||||
;amd_performance_level=high
|
||||
|
||||
[cpu]
|
||||
; Parking or Pinning can be enabled with either "yes", "true" or "1" and disabled with "no", "false" or "0".
|
||||
; Either can also be set to a specific list of cores to park or pin, comma separated list where "-" denotes
|
||||
; a range. E.g "park_cores=1,8-15" would park cores 1 and 8 to 15.
|
||||
; The default is uncommented is to disable parking but enable pinning. If either is enabled the code will
|
||||
; currently only properly autodetect Ryzen 7900x3d, 7950x3d and Intel CPU:s with E- and P-cores.
|
||||
; For Core Parking, user must be added to the gamemode group (not required for Core Pinning):
|
||||
; sudo usermod -aG gamemode $(whoami)
|
||||
;park_cores=no
|
||||
;pin_cores=yes
|
||||
|
||||
[supervisor]
|
||||
; This section controls the new gamemode functions gamemode_request_start_for and gamemode_request_end_for
|
||||
; The whilelist and blacklist control which supervisor programs are allowed to make the above requests
|
||||
;supervisor_whitelist=
|
||||
;supervisor_blacklist=
|
||||
|
||||
; In case you want to allow a supervisor to take full control of gamemode, this option can be set
|
||||
; This will only allow gamemode clients to be registered by using the above functions by a supervisor client
|
||||
;require_supervisor=0
|
||||
|
||||
[custom]
|
||||
; Custom scripts (executed using the shell) when gamemode starts and ends
|
||||
;start=notify-send "GameMode started"
|
||||
; /home/me/bin/stop_foldingathome.sh
|
||||
|
||||
;end=notify-send "GameMode ended"
|
||||
; /home/me/bin/start_foldingathome.sh
|
||||
|
||||
; Timeout for scripts (seconds). Scripts will be killed if they do not complete within this time.
|
||||
;script_timeout=10
|
||||
@@ -1,6 +1,7 @@
|
||||
[credential]
|
||||
credentialStore = secretservice
|
||||
helper = /usr/lib/git-core/git-credential-libsecret
|
||||
helper = cache
|
||||
[user]
|
||||
email = ir.shoebottom@gmail.com
|
||||
name = Isaac Shoebottom
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
32
dot_config/nushell/config.nu
Normal file
32
dot_config/nushell/config.nu
Normal file
@@ -0,0 +1,32 @@
|
||||
# config.nu
|
||||
#
|
||||
# Installed by:
|
||||
# version = "0.103.0"
|
||||
#
|
||||
# This file is used to override default Nushell settings, define
|
||||
# (or import) custom commands, or run any other startup tasks.
|
||||
# See https://www.nushell.sh/book/configuration.html
|
||||
#
|
||||
# This file is loaded after env.nu and before login.nu
|
||||
#
|
||||
# You can open this file in your default editor using:
|
||||
# config nu
|
||||
#
|
||||
# See `help config nu` for more options
|
||||
#
|
||||
# You can remove these comments if you want or leave
|
||||
# them for future reference.
|
||||
|
||||
alias corels = ls
|
||||
|
||||
def --wrapped ls [...rest] {
|
||||
if '-a' in $rest or '--all' in $rest or not (".hidden" | path exists) {
|
||||
(corels ...$rest)
|
||||
} else {
|
||||
(corels ...$rest) | where name not-in (cat .hidden)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
mkdir ($nu.data-dir | path join "vendor/autoload")
|
||||
starship init nu | save -f ($nu.data-dir | path join "vendor/autoload/starship.nu")
|
||||
22
dot_config/nushell/env.nu
Normal file
22
dot_config/nushell/env.nu
Normal file
@@ -0,0 +1,22 @@
|
||||
# env.nu
|
||||
#
|
||||
# Installed by:
|
||||
# version = "0.103.0"
|
||||
#
|
||||
# Previously, environment variables were typically configured in `env.nu`.
|
||||
# In general, most configuration can and should be performed in `config.nu`
|
||||
# or one of the autoload directories.
|
||||
#
|
||||
# This file is generated for backwards compatibility for now.
|
||||
# It is loaded before config.nu and login.nu
|
||||
#
|
||||
# See https://www.nushell.sh/book/configuration.html
|
||||
#
|
||||
# Also see `help config env` for more options.
|
||||
#
|
||||
# You can remove these comments if you want or leave
|
||||
# them for future reference.
|
||||
|
||||
$env.config.show_banner = false
|
||||
|
||||
$env.config.buffer_editor = "micro"
|
||||
122
dot_config/obs-studio/basic/profiles/Default/basic.ini
Normal file
122
dot_config/obs-studio/basic/profiles/Default/basic.ini
Normal file
@@ -0,0 +1,122 @@
|
||||
[General]
|
||||
Name=Default
|
||||
|
||||
[Output]
|
||||
Mode=Simple
|
||||
FilenameFormatting=%CCYY-%MM-%DD %hh-%mm-%ss
|
||||
DelayEnable=false
|
||||
DelaySec=20
|
||||
DelayPreserve=true
|
||||
Reconnect=true
|
||||
RetryDelay=2
|
||||
MaxRetries=25
|
||||
BindIP=default
|
||||
IPFamily=IPv4+IPv6
|
||||
NewSocketLoopEnable=false
|
||||
LowLatencyEnable=false
|
||||
|
||||
[Stream1]
|
||||
IgnoreRecommended=false
|
||||
EnableMultitrackVideo=false
|
||||
MultitrackVideoMaximumAggregateBitrateAuto=true
|
||||
MultitrackVideoMaximumVideoTracksAuto=true
|
||||
|
||||
[SimpleOutput]
|
||||
FilePath=/home/isaac/Videos/OBS
|
||||
RecFormat2=hybrid_mp4
|
||||
VBitrate=10000
|
||||
ABitrate=160
|
||||
Preset=veryfast
|
||||
NVENCPreset2=p5
|
||||
RecQuality=Small
|
||||
RecRB=true
|
||||
RecRBTime=32
|
||||
RecRBSize=4096
|
||||
RecRBPrefix=Replay
|
||||
StreamAudioEncoder=aac
|
||||
RecAudioEncoder=aac
|
||||
RecTracks=15
|
||||
StreamEncoder=nvenc_hevc
|
||||
RecEncoder=nvenc_hevc
|
||||
UseAdvanced=false
|
||||
|
||||
[AdvOut]
|
||||
ApplyServiceSettings=true
|
||||
UseRescale=false
|
||||
TrackIndex=1
|
||||
VodTrackIndex=2
|
||||
Encoder=obs_x264
|
||||
RecType=Standard
|
||||
RecFilePath=/home/isaac/Videos/OBS
|
||||
RecFormat2=hybrid_mp4
|
||||
RecUseRescale=false
|
||||
RecTracks=15
|
||||
RecEncoder=obs_x264
|
||||
FLVTrack=1
|
||||
StreamMultiTrackAudioMixes=1
|
||||
FFOutputToFile=true
|
||||
FFFilePath=/home/isaac
|
||||
FFVBitrate=2500
|
||||
FFVGOPSize=250
|
||||
FFUseRescale=false
|
||||
FFIgnoreCompat=false
|
||||
FFABitrate=160
|
||||
FFAudioMixes=1
|
||||
Track1Bitrate=160
|
||||
Track2Bitrate=160
|
||||
Track3Bitrate=160
|
||||
Track4Bitrate=160
|
||||
Track5Bitrate=160
|
||||
Track6Bitrate=160
|
||||
RecSplitFileTime=15
|
||||
RecSplitFileSize=2048
|
||||
RecRB=true
|
||||
RecRBTime=180
|
||||
RecRBSize=2048
|
||||
AudioEncoder=libfdk_aac
|
||||
RecAudioEncoder=libfdk_aac
|
||||
RecSplitFileType=Time
|
||||
FFFormat=
|
||||
FFFormatMimeType=
|
||||
FFVEncoderId=0
|
||||
FFVEncoder=
|
||||
FFAEncoderId=0
|
||||
FFAEncoder=
|
||||
RescaleRes=1920x1080
|
||||
RecRescaleRes=1280x720
|
||||
FFRescaleRes=1280x720
|
||||
Track1Name=Master
|
||||
Track2Name=Game
|
||||
Track3Name=Mic
|
||||
Track4Name=Discord
|
||||
|
||||
[Video]
|
||||
BaseCX=1920
|
||||
BaseCY=1080
|
||||
OutputCX=1920
|
||||
OutputCY=1080
|
||||
FPSType=0
|
||||
FPSCommon=60
|
||||
FPSInt=120
|
||||
FPSNum=30
|
||||
FPSDen=1
|
||||
ScaleType=bicubic
|
||||
ColorFormat=NV12
|
||||
ColorSpace=709
|
||||
ColorRange=Partial
|
||||
SdrWhiteLevel=300
|
||||
HdrNominalPeakLevel=1000
|
||||
|
||||
[Audio]
|
||||
MonitoringDeviceId=default
|
||||
MonitoringDeviceName=Default
|
||||
SampleRate=48000
|
||||
ChannelSetup=Stereo
|
||||
MeterDecayRate=23.53
|
||||
PeakMeterType=0
|
||||
|
||||
[Panels]
|
||||
CookieId=F3DCE35095516646
|
||||
|
||||
[Hotkeys]
|
||||
ReplayBuffer={"ReplayBuffer.Save":[]}
|
||||
@@ -0,0 +1,17 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBvOGhkRENSRGdkTExaQWlE
|
||||
a2Z4aWhrM0syYzZnV3hmN1ZYVUdnaHI5cENJCnAzU3dJVkl6SmVVZnlLOU5LQTEx
|
||||
amF5UzVJZFZNYjA5LzZmOEZ1RUsxcWcKLS0tIGhZVXhweHp1TW9HcWRRZVBCT1p5
|
||||
aDVjMGNJRzdtY0lPM3pVbEd0a0VrRDQKVPJcEYTMUtdVm1Pb1nel8uddL3sGZ5c0
|
||||
RkRuTUbU7VapANL2KL1VyZNuhSnKfzFSuBOKNYJObIK4KAq0SOpj/5cqWoMK8J6D
|
||||
ajxr4Ozk6crXC6YN9nIXqzR0Kckr1BuLsCb2cz0/nv4O4cnOXwFu4foo05sV7t/H
|
||||
oZXyQpqKckbPHfC1p6HMgsQ3R3QNvOsx5nTHVoqBTqfkV1RhhCdOFwV2eXz6UByC
|
||||
6HqciELPs1LPEJCGS0Gr5r3Ix61Z45Ttgr13hSYj+83SnkNQyzm2tfOgywDy5BOR
|
||||
Gu1+Tcim918IhgWDrp1wvf4O6Gz7+X6NTisVu8oRl1jLI6cyNL/LRF4tTc4qnifN
|
||||
zH5LTQea3emwcxidimrgV3fXUXTQ2mFpJPLvfAkzi6ROs+1CjorKHPW5Jk25tGjM
|
||||
APYLi6XaBgebbiU6OHnhbJ9gPAk/alClGYIDJ/EfsWoQp8Ys5Ji6QHLcf+4SmEdH
|
||||
X1CLVhSz6pYpFO+8wyP2g+n7ugfg5UQF+jcs6CR2nEuCKCVDJOjF25i/ZHf5dqZ4
|
||||
zgx9gk7a/1Mb8OJimU2zrK9HNFwPRplrhijv6/79PJ/xIDDQB0oqvMsHfEBDP5cE
|
||||
bA5hg7C2HPqmk/LKi5wEX4RGFwyMRi2yRHvTt1IaXtc0MzRHN27BUhHkFvK1fvzB
|
||||
S4TGXW1713dgYFbfoD3evBNMHrk1XZSSUaoHliJHRMI8WOtyQdwj+6QTqCol
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
642
dot_config/obs-studio/basic/scenes/Gaming.json
Normal file
642
dot_config/obs-studio/basic/scenes/Gaming.json
Normal file
@@ -0,0 +1,642 @@
|
||||
{
|
||||
"current_scene": "Display Capture",
|
||||
"current_program_scene": "Display Capture",
|
||||
"scene_order": [
|
||||
{
|
||||
"name": "Display Capture"
|
||||
}
|
||||
],
|
||||
"name": "Gaming",
|
||||
"sources": [
|
||||
{
|
||||
"prev_ver": 536870914,
|
||||
"name": "Display Capture",
|
||||
"uuid": "2a0cda15-1329-4224-96aa-0633210d2dae",
|
||||
"id": "scene",
|
||||
"versioned_id": "scene",
|
||||
"settings": {
|
||||
"id_counter": 7,
|
||||
"custom_size": false,
|
||||
"items": [
|
||||
{
|
||||
"name": "Screen Capture",
|
||||
"source_uuid": "23864929-52b2-4b4a-83f9-10d58a6ea4c9",
|
||||
"visible": true,
|
||||
"locked": false,
|
||||
"rot": 0.0,
|
||||
"scale_ref": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"align": 5,
|
||||
"bounds_type": 0,
|
||||
"bounds_align": 0,
|
||||
"bounds_crop": false,
|
||||
"crop_left": 0,
|
||||
"crop_top": 0,
|
||||
"crop_right": 0,
|
||||
"crop_bottom": 0,
|
||||
"id": 1,
|
||||
"group_item_backup": false,
|
||||
"pos": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"pos_rel": {
|
||||
"x": -1.7777777910232544,
|
||||
"y": -1.0
|
||||
},
|
||||
"scale": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"scale_rel": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"bounds": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"bounds_rel": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"scale_filter": "disable",
|
||||
"blend_method": "default",
|
||||
"blend_type": "normal",
|
||||
"show_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"hide_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"name": "Game Capture",
|
||||
"source_uuid": "f8481b2c-170c-425b-b259-4cbb2ec12b8b",
|
||||
"visible": true,
|
||||
"locked": false,
|
||||
"rot": 0.0,
|
||||
"scale_ref": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"align": 5,
|
||||
"bounds_type": 0,
|
||||
"bounds_align": 0,
|
||||
"bounds_crop": false,
|
||||
"crop_left": 0,
|
||||
"crop_top": 0,
|
||||
"crop_right": 0,
|
||||
"crop_bottom": 0,
|
||||
"id": 5,
|
||||
"group_item_backup": false,
|
||||
"pos": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"pos_rel": {
|
||||
"x": -1.7777777910232544,
|
||||
"y": -1.0
|
||||
},
|
||||
"scale": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"scale_rel": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"bounds": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"bounds_rel": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"scale_filter": "disable",
|
||||
"blend_method": "default",
|
||||
"blend_type": "normal",
|
||||
"show_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"hide_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"name": "Game Audio",
|
||||
"source_uuid": "80c60256-48e7-4397-8163-3bb44480d9ab",
|
||||
"visible": true,
|
||||
"locked": false,
|
||||
"rot": 0.0,
|
||||
"scale_ref": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"align": 5,
|
||||
"bounds_type": 0,
|
||||
"bounds_align": 0,
|
||||
"bounds_crop": false,
|
||||
"crop_left": 0,
|
||||
"crop_top": 0,
|
||||
"crop_right": 0,
|
||||
"crop_bottom": 0,
|
||||
"id": 7,
|
||||
"group_item_backup": false,
|
||||
"pos": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"pos_rel": {
|
||||
"x": -1.7777777910232544,
|
||||
"y": -1.0
|
||||
},
|
||||
"scale": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"scale_rel": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"bounds": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"bounds_rel": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"scale_filter": "disable",
|
||||
"blend_method": "default",
|
||||
"blend_type": "normal",
|
||||
"show_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"hide_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"name": "Discord",
|
||||
"source_uuid": "1f07b61b-b59b-4699-8435-e61d6ff8d8da",
|
||||
"visible": true,
|
||||
"locked": false,
|
||||
"rot": 0.0,
|
||||
"scale_ref": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"align": 5,
|
||||
"bounds_type": 0,
|
||||
"bounds_align": 0,
|
||||
"bounds_crop": false,
|
||||
"crop_left": 0,
|
||||
"crop_top": 0,
|
||||
"crop_right": 0,
|
||||
"crop_bottom": 0,
|
||||
"id": 3,
|
||||
"group_item_backup": false,
|
||||
"pos": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"pos_rel": {
|
||||
"x": -1.7777777910232544,
|
||||
"y": -1.0
|
||||
},
|
||||
"scale": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"scale_rel": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"bounds": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"bounds_rel": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"scale_filter": "disable",
|
||||
"blend_method": "default",
|
||||
"blend_type": "normal",
|
||||
"show_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"hide_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"name": "Mic",
|
||||
"source_uuid": "481a2879-3449-4d07-b2c2-812e978a2eab",
|
||||
"visible": true,
|
||||
"locked": false,
|
||||
"rot": 0.0,
|
||||
"scale_ref": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"align": 5,
|
||||
"bounds_type": 0,
|
||||
"bounds_align": 0,
|
||||
"bounds_crop": false,
|
||||
"crop_left": 0,
|
||||
"crop_top": 0,
|
||||
"crop_right": 0,
|
||||
"crop_bottom": 0,
|
||||
"id": 4,
|
||||
"group_item_backup": false,
|
||||
"pos": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"pos_rel": {
|
||||
"x": -1.7777777910232544,
|
||||
"y": -1.0
|
||||
},
|
||||
"scale": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"scale_rel": {
|
||||
"x": 1.0,
|
||||
"y": 1.0
|
||||
},
|
||||
"bounds": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"bounds_rel": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"scale_filter": "disable",
|
||||
"blend_method": "default",
|
||||
"blend_type": "normal",
|
||||
"show_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"hide_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"private_settings": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
"mixers": 0,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {
|
||||
"OBSBasic.SelectScene": [],
|
||||
"libobs.show_scene_item.1": [],
|
||||
"libobs.hide_scene_item.1": [],
|
||||
"libobs.show_scene_item.5": [],
|
||||
"libobs.hide_scene_item.5": [],
|
||||
"libobs.show_scene_item.7": [],
|
||||
"libobs.hide_scene_item.7": [],
|
||||
"libobs.show_scene_item.3": [],
|
||||
"libobs.hide_scene_item.3": [],
|
||||
"libobs.show_scene_item.4": [],
|
||||
"libobs.hide_scene_item.4": []
|
||||
},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"canvas_uuid": "6c69626f-6273-4c00-9d88-c5136d61696e",
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"prev_ver": 536870914,
|
||||
"name": "Screen Capture",
|
||||
"uuid": "23864929-52b2-4b4a-83f9-10d58a6ea4c9",
|
||||
"id": "pipewire-screen-capture-source",
|
||||
"versioned_id": "pipewire-screen-capture-source",
|
||||
"settings": {
|
||||
"RestoreToken": "1fc29a27-31d7-48e9-be88-6da6c592334b"
|
||||
},
|
||||
"mixers": 0,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"prev_ver": 536870914,
|
||||
"name": "Discord",
|
||||
"uuid": "1f07b61b-b59b-4699-8435-e61d6ff8d8da",
|
||||
"id": "pipewire_audio_application_capture",
|
||||
"versioned_id": "pipewire_audio_application_capture",
|
||||
"settings": {
|
||||
"TargetName": "Discord",
|
||||
"MatchPriorty": 1,
|
||||
"ExceptApp": false
|
||||
},
|
||||
"mixers": 201,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {
|
||||
"libobs.mute": [],
|
||||
"libobs.unmute": [],
|
||||
"libobs.push-to-mute": [],
|
||||
"libobs.push-to-talk": []
|
||||
},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {},
|
||||
"filters": [
|
||||
{
|
||||
"prev_ver": 536870914,
|
||||
"name": "Limiter",
|
||||
"uuid": "d659ba67-4350-446a-a50b-855bc8d4f202",
|
||||
"id": "limiter_filter",
|
||||
"versioned_id": "limiter_filter",
|
||||
"settings": {},
|
||||
"mixers": 255,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"prev_ver": 536870914,
|
||||
"name": "Mic",
|
||||
"uuid": "481a2879-3449-4d07-b2c2-812e978a2eab",
|
||||
"id": "pipewire_audio_input_capture",
|
||||
"versioned_id": "pipewire_audio_input_capture",
|
||||
"settings": {},
|
||||
"mixers": 197,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {
|
||||
"libobs.mute": [],
|
||||
"libobs.unmute": [],
|
||||
"libobs.push-to-mute": [],
|
||||
"libobs.push-to-talk": []
|
||||
},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {},
|
||||
"filters": [
|
||||
{
|
||||
"prev_ver": 536870914,
|
||||
"name": "Noise Suppression",
|
||||
"uuid": "91e69fad-ada8-43e6-9d13-7aa48fe508dd",
|
||||
"id": "noise_suppress_filter",
|
||||
"versioned_id": "noise_suppress_filter_v2",
|
||||
"settings": {},
|
||||
"mixers": 255,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"prev_ver": 536870914,
|
||||
"name": "Noise Gate",
|
||||
"uuid": "dbfba3f9-d478-46ae-824a-6284dcd44cee",
|
||||
"id": "noise_gate_filter",
|
||||
"versioned_id": "noise_gate_filter",
|
||||
"settings": {},
|
||||
"mixers": 255,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"prev_ver": 536870914,
|
||||
"name": "Game Capture",
|
||||
"uuid": "f8481b2c-170c-425b-b259-4cbb2ec12b8b",
|
||||
"id": "vkcapture-source",
|
||||
"versioned_id": "vkcapture-source",
|
||||
"settings": {
|
||||
"allow_transparency": true,
|
||||
"force_hdr": false
|
||||
},
|
||||
"mixers": 0,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"prev_ver": 536870914,
|
||||
"name": "Game Audio",
|
||||
"uuid": "80c60256-48e7-4397-8163-3bb44480d9ab",
|
||||
"id": "pipewire_audio_application_capture",
|
||||
"versioned_id": "pipewire_audio_application_capture",
|
||||
"settings": {
|
||||
"AppToAdd": "electron",
|
||||
"CaptureMode": 1,
|
||||
"MatchPriorty": 0,
|
||||
"ExceptApp": true,
|
||||
"apps": [
|
||||
{
|
||||
"value": "Discord",
|
||||
"uuid": "2db597ac-3993-4c10-88e4-3a28899e3bbd",
|
||||
"selected": false,
|
||||
"hidden": false
|
||||
},
|
||||
{
|
||||
"value": "Firefox",
|
||||
"uuid": "215c229d-28f5-41b7-9b71-55f51fd8dcef",
|
||||
"selected": false,
|
||||
"hidden": false
|
||||
},
|
||||
{
|
||||
"value": "Steam",
|
||||
"uuid": "10e62abf-3ff4-4bb1-b464-0f78abd21841",
|
||||
"selected": false,
|
||||
"hidden": false
|
||||
},
|
||||
{
|
||||
"value": "OBS",
|
||||
"uuid": "1d50838b-0e3a-481b-a957-69d656711ceb",
|
||||
"selected": false,
|
||||
"hidden": false
|
||||
},
|
||||
{
|
||||
"value": "Electron",
|
||||
"uuid": "a2b0af0f-e4ea-48b6-bf21-277d26054cf8",
|
||||
"selected": false,
|
||||
"hidden": false
|
||||
}
|
||||
]
|
||||
},
|
||||
"mixers": 195,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {
|
||||
"libobs.mute": [],
|
||||
"libobs.unmute": [],
|
||||
"libobs.push-to-mute": [],
|
||||
"libobs.push-to-talk": []
|
||||
},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
}
|
||||
],
|
||||
"groups": [],
|
||||
"quick_transitions": [
|
||||
{
|
||||
"name": "Cut",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 1,
|
||||
"fade_to_black": false
|
||||
},
|
||||
{
|
||||
"name": "Fade",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 2,
|
||||
"fade_to_black": false
|
||||
},
|
||||
{
|
||||
"name": "Fade",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 3,
|
||||
"fade_to_black": true
|
||||
}
|
||||
],
|
||||
"transitions": [],
|
||||
"saved_projectors": [],
|
||||
"canvases": [],
|
||||
"current_transition": "Fade",
|
||||
"transition_duration": 300,
|
||||
"preview_locked": false,
|
||||
"scaling_enabled": false,
|
||||
"scaling_level": -69,
|
||||
"scaling_off_x": 0.0,
|
||||
"scaling_off_y": 0.0,
|
||||
"virtual-camera": {
|
||||
"type2": 3
|
||||
},
|
||||
"modules": {
|
||||
"scripts-tool": [],
|
||||
"output-timer": {
|
||||
"streamTimerHours": 0,
|
||||
"streamTimerMinutes": 0,
|
||||
"streamTimerSeconds": 30,
|
||||
"recordTimerHours": 0,
|
||||
"recordTimerMinutes": 0,
|
||||
"recordTimerSeconds": 30,
|
||||
"autoStartStreamTimer": false,
|
||||
"autoStartRecordTimer": false,
|
||||
"pauseRecordTimer": true
|
||||
}
|
||||
},
|
||||
"resolution": {
|
||||
"x": 1920,
|
||||
"y": 1080
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
227
dot_config/obs-studio/basic/scenes/Webcam.json
Normal file
227
dot_config/obs-studio/basic/scenes/Webcam.json
Normal file
@@ -0,0 +1,227 @@
|
||||
{
|
||||
"current_scene": "Virtual Cam",
|
||||
"current_program_scene": "Virtual Cam",
|
||||
"scene_order": [
|
||||
{
|
||||
"name": "Virtual Cam"
|
||||
}
|
||||
],
|
||||
"name": "Webcam",
|
||||
"sources": [
|
||||
{
|
||||
"prev_ver": 536870913,
|
||||
"name": "Virtual Cam",
|
||||
"uuid": "11ddcc7c-a668-4282-bee5-8847a42155dd",
|
||||
"id": "scene",
|
||||
"versioned_id": "scene",
|
||||
"settings": {
|
||||
"id_counter": 3,
|
||||
"custom_size": false,
|
||||
"items": [
|
||||
{
|
||||
"name": "Video Capture Device (V4L2)",
|
||||
"source_uuid": "6d218351-f947-42ca-9772-26e606173df6",
|
||||
"visible": true,
|
||||
"locked": false,
|
||||
"rot": 0.0,
|
||||
"scale_ref": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"align": 5,
|
||||
"bounds_type": 2,
|
||||
"bounds_align": 0,
|
||||
"bounds_crop": false,
|
||||
"crop_left": 0,
|
||||
"crop_top": 0,
|
||||
"crop_right": 0,
|
||||
"crop_bottom": 0,
|
||||
"id": 2,
|
||||
"group_item_backup": false,
|
||||
"pos": {
|
||||
"x": 0.0,
|
||||
"y": 0.0
|
||||
},
|
||||
"pos_rel": {
|
||||
"x": -1.7777777910232544,
|
||||
"y": -1.0
|
||||
},
|
||||
"scale": {
|
||||
"x": 1.5,
|
||||
"y": 1.5
|
||||
},
|
||||
"scale_rel": {
|
||||
"x": 1.5,
|
||||
"y": 1.5
|
||||
},
|
||||
"bounds": {
|
||||
"x": 1920.0,
|
||||
"y": 1080.0
|
||||
},
|
||||
"bounds_rel": {
|
||||
"x": 3.555555582046509,
|
||||
"y": 2.0
|
||||
},
|
||||
"scale_filter": "disable",
|
||||
"blend_method": "default",
|
||||
"blend_type": "normal",
|
||||
"show_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"hide_transition": {
|
||||
"duration": 0
|
||||
},
|
||||
"private_settings": {}
|
||||
}
|
||||
]
|
||||
},
|
||||
"mixers": 0,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {
|
||||
"OBSBasic.SelectScene": [],
|
||||
"libobs.show_scene_item.2": [],
|
||||
"libobs.hide_scene_item.2": []
|
||||
},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"canvas_uuid": "6c69626f-6273-4c00-9d88-c5136d61696e",
|
||||
"private_settings": {}
|
||||
},
|
||||
{
|
||||
"prev_ver": 536870913,
|
||||
"name": "Video Capture Device (V4L2)",
|
||||
"uuid": "6d218351-f947-42ca-9772-26e606173df6",
|
||||
"id": "v4l2_input",
|
||||
"versioned_id": "v4l2_input",
|
||||
"settings": {
|
||||
"device_id": "/dev/video0",
|
||||
"White Balance, Automatic": true,
|
||||
"Power Line Frequency": 2,
|
||||
"White Balance Temperature": 3000,
|
||||
"Auto Exposure": 0,
|
||||
"Exposure Time, Absolute": 10,
|
||||
"Zoom, Absolute": 10,
|
||||
"input": 0,
|
||||
"pixelformat": 1196444237,
|
||||
"resolution": 5497558139600,
|
||||
"framerate": 30,
|
||||
"color_range": 2
|
||||
},
|
||||
"mixers": 0,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {},
|
||||
"filters": [
|
||||
{
|
||||
"prev_ver": 536870913,
|
||||
"name": "UnFish/Fish Lens",
|
||||
"uuid": "0340a54e-ff5a-4c8e-b132-660a43b45e33",
|
||||
"id": "filter-fish-lens",
|
||||
"versioned_id": "filter-fish-lens",
|
||||
"settings": {
|
||||
"fish_power": -0.1
|
||||
},
|
||||
"mixers": 0,
|
||||
"sync": 0,
|
||||
"flags": 0,
|
||||
"volume": 1.0,
|
||||
"balance": 0.5,
|
||||
"enabled": true,
|
||||
"muted": false,
|
||||
"push-to-mute": false,
|
||||
"push-to-mute-delay": 0,
|
||||
"push-to-talk": false,
|
||||
"push-to-talk-delay": 0,
|
||||
"hotkeys": {},
|
||||
"deinterlace_mode": 0,
|
||||
"deinterlace_field_order": 0,
|
||||
"monitoring_type": 0,
|
||||
"private_settings": {}
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"groups": [],
|
||||
"quick_transitions": [
|
||||
{
|
||||
"name": "Cut",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 1,
|
||||
"fade_to_black": false
|
||||
},
|
||||
{
|
||||
"name": "Fade",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 2,
|
||||
"fade_to_black": false
|
||||
},
|
||||
{
|
||||
"name": "Fade",
|
||||
"duration": 300,
|
||||
"hotkeys": [],
|
||||
"id": 3,
|
||||
"fade_to_black": true
|
||||
}
|
||||
],
|
||||
"transitions": [],
|
||||
"saved_projectors": [],
|
||||
"canvases": [],
|
||||
"current_transition": "Fade",
|
||||
"transition_duration": 300,
|
||||
"preview_locked": false,
|
||||
"scaling_enabled": false,
|
||||
"scaling_level": -10,
|
||||
"scaling_off_x": 0.0,
|
||||
"scaling_off_y": 0.0,
|
||||
"virtual-camera": {
|
||||
"type2": 3
|
||||
},
|
||||
"modules": {
|
||||
"scripts-tool": [
|
||||
{
|
||||
"path": "/home/isaac/.config/obs-studio/plugins/filter-fish-lens.lua",
|
||||
"settings": {}
|
||||
}
|
||||
],
|
||||
"output-timer": {
|
||||
"streamTimerHours": 0,
|
||||
"streamTimerMinutes": 0,
|
||||
"streamTimerSeconds": 30,
|
||||
"recordTimerHours": 0,
|
||||
"recordTimerMinutes": 0,
|
||||
"recordTimerSeconds": 30,
|
||||
"autoStartStreamTimer": false,
|
||||
"autoStartRecordTimer": false,
|
||||
"pauseRecordTimer": true
|
||||
}
|
||||
},
|
||||
"resolution": {
|
||||
"x": 1920,
|
||||
"y": 1080
|
||||
},
|
||||
"version": 2
|
||||
}
|
||||
21
dot_config/obs-studio/global.ini
Normal file
21
dot_config/obs-studio/global.ini
Normal file
@@ -0,0 +1,21 @@
|
||||
[General]
|
||||
Pre31Migrated=true
|
||||
MaxLogs=10
|
||||
InfoIncrement=-1
|
||||
ProcessPriority=Normal
|
||||
EnableAutoUpdates=true
|
||||
LastVersion=536870914
|
||||
BrowserHWAccel=true
|
||||
|
||||
[Video]
|
||||
Renderer=OpenGL
|
||||
|
||||
[Locations]
|
||||
Configuration=/home/isaac/.config
|
||||
SceneCollections=/home/isaac/.config
|
||||
Profiles=/home/isaac/.config
|
||||
PluginManagerSettings=/home/isaac/.config
|
||||
|
||||
[PropertiesWindow]
|
||||
cx=720
|
||||
cy=580
|
||||
183
dot_config/obs-studio/plugins/filter-fish-lens.lua
Normal file
183
dot_config/obs-studio/plugins/filter-fish-lens.lua
Normal file
@@ -0,0 +1,183 @@
|
||||
-- Inspired by Corner Pin effect filter v1.1 by khaver
|
||||
|
||||
obs = obslua
|
||||
bit = require("bit")
|
||||
|
||||
TEXT_FILTER_NAME = 'UnFish/Fish Lens'
|
||||
TEXT_FISH_POWER = 'Strength'
|
||||
|
||||
SETTING_FISH_POWER = 'fish_power'
|
||||
|
||||
source_def = {}
|
||||
source_def.id = 'filter-fish-lens'
|
||||
source_def.type = obs.OBS_SOURCE_TYPE_FILTER
|
||||
source_def.output_flags = bit.bor(obs.OBS_SOURCE_VIDEO)
|
||||
|
||||
function set_render_size(filter)
|
||||
target = obs.obs_filter_get_target(filter.context)
|
||||
|
||||
local width, height
|
||||
if target == nil then
|
||||
width = 0
|
||||
height = 0
|
||||
else
|
||||
width = obs.obs_source_get_base_width(target)
|
||||
height = obs.obs_source_get_base_height(target)
|
||||
end
|
||||
|
||||
filter.width = width
|
||||
filter.height = height
|
||||
end
|
||||
|
||||
source_def.get_name = function()
|
||||
return TEXT_FILTER_NAME
|
||||
end
|
||||
|
||||
source_def.create = function(settings, source)
|
||||
filter = {}
|
||||
filter.params = {}
|
||||
filter.context = source
|
||||
|
||||
set_render_size(filter)
|
||||
|
||||
obs.obs_enter_graphics()
|
||||
filter.effect = obs.gs_effect_create(shader, nil, nil)
|
||||
if filter.effect ~= nil then
|
||||
filter.params.fish_power = obs.gs_effect_get_param_by_name(filter.effect, 'fish_power')
|
||||
filter.params.texture_width = obs.gs_effect_get_param_by_name(filter.effect, 'texture_width')
|
||||
filter.params.texture_height = obs.gs_effect_get_param_by_name(filter.effect, 'texture_height')
|
||||
end
|
||||
obs.obs_leave_graphics()
|
||||
|
||||
if filter.effect == nil then
|
||||
source_def.destroy(filter)
|
||||
return nil
|
||||
end
|
||||
|
||||
source_def.update(filter, settings)
|
||||
return filter
|
||||
end
|
||||
|
||||
source_def.destroy = function(filter)
|
||||
if filter.effect ~= nil then
|
||||
obs.obs_enter_graphics()
|
||||
obs.gs_effect_destroy(filter.effect)
|
||||
obs.obs_leave_graphics()
|
||||
end
|
||||
end
|
||||
|
||||
source_def.get_width = function(filter)
|
||||
return filter.width
|
||||
end
|
||||
|
||||
source_def.get_height = function(filter)
|
||||
return filter.height
|
||||
end
|
||||
|
||||
source_def.update = function(filter, settings)
|
||||
filter.fish_power = obs.obs_data_get_double(settings, SETTING_FISH_POWER)
|
||||
|
||||
set_render_size(filter)
|
||||
end
|
||||
|
||||
source_def.video_render = function(filter, effect)
|
||||
if not obs.obs_source_process_filter_begin(filter.context, obs.GS_RGBA, obs.OBS_NO_DIRECT_RENDERING) then
|
||||
return
|
||||
end
|
||||
|
||||
obs.gs_effect_set_float(filter.params.fish_power, filter.fish_power)
|
||||
obs.gs_effect_set_float(filter.params.texture_width, filter.width)
|
||||
obs.gs_effect_set_float(filter.params.texture_height, filter.height)
|
||||
|
||||
obs.obs_source_process_filter_end(filter.context, filter.effect, filter.width, filter.height)
|
||||
end
|
||||
|
||||
source_def.get_properties = function(settings)
|
||||
props = obs.obs_properties_create()
|
||||
|
||||
obs.obs_properties_add_float_slider(props, SETTING_FISH_POWER, TEXT_FISH_POWER, -1.0, 2.0, 0.001)
|
||||
|
||||
return props
|
||||
end
|
||||
|
||||
source_def.get_defaults = function(settings)
|
||||
obs.obs_data_set_default_double(settings, SETTING_FISH_POWER, -0.18)
|
||||
end
|
||||
|
||||
source_def.video_tick = function(filter, seconds)
|
||||
set_render_size(filter)
|
||||
end
|
||||
|
||||
function script_description()
|
||||
return "Adds new video effect filter named '" .. TEXT_FILTER_NAME .. "' to imitate lens distortion"
|
||||
end
|
||||
|
||||
function script_load(settings)
|
||||
obs.obs_register_source(source_def)
|
||||
end
|
||||
|
||||
shader = [[
|
||||
// Adaptation by Suslik V
|
||||
// Based on the Sharpness shader of OBS Studio v27.0.0,
|
||||
// And the https://github.com/Oncorporation/obs-shaderfilter/
|
||||
|
||||
uniform float4x4 ViewProj;
|
||||
uniform texture2d image;
|
||||
|
||||
uniform float fish_power;
|
||||
uniform float texture_width;
|
||||
uniform float texture_height;
|
||||
|
||||
sampler_state def_sampler {
|
||||
Filter = Linear;
|
||||
AddressU = Clamp;
|
||||
AddressV = Clamp;
|
||||
};
|
||||
|
||||
struct VertData {
|
||||
float4 pos : POSITION;
|
||||
float2 uv : TEXCOORD0;
|
||||
};
|
||||
|
||||
VertData VSDefault(VertData v_in)
|
||||
{
|
||||
VertData vert_out;
|
||||
vert_out.pos = mul(float4(v_in.pos.xyz, 1.0), ViewProj);
|
||||
vert_out.uv = v_in.uv;
|
||||
return vert_out;
|
||||
}
|
||||
|
||||
float4 PSDrawBare(VertData v_in) : TARGET
|
||||
{
|
||||
int center_x_percent = 50;
|
||||
int center_y_percent = 50;
|
||||
float power = fish_power;
|
||||
float2 uv_pixel_interval;
|
||||
uv_pixel_interval.x = 1.0 / texture_width;
|
||||
uv_pixel_interval.y = 1.0 / texture_height;
|
||||
float2 center_pos = float2(center_x_percent * .01, center_y_percent * .01);
|
||||
float2 uv = v_in.uv;
|
||||
if (power >= 0.0001) {
|
||||
float b = sqrt(dot(center_pos, center_pos));
|
||||
uv = center_pos + normalize(v_in.uv - center_pos) * tan(distance(center_pos, v_in.uv) * power) * b / tan( b * power);
|
||||
} else if (power <= -0.0001) {
|
||||
float b;
|
||||
if (uv_pixel_interval.x < uv_pixel_interval.y){
|
||||
b = center_pos.x;
|
||||
} else {
|
||||
b = center_pos.y;
|
||||
}
|
||||
uv = center_pos + normalize(v_in.uv - center_pos) * atan(distance(center_pos, v_in.uv) * -power * 10.0) * b / atan(-power * b * 10.0);
|
||||
}
|
||||
return image.Sample(def_sampler, uv);
|
||||
}
|
||||
|
||||
technique Draw
|
||||
{
|
||||
pass
|
||||
{
|
||||
vertex_shader = VSDefault(v_in);
|
||||
pixel_shader = PSDrawBare(v_in);
|
||||
}
|
||||
}
|
||||
]]
|
||||
40
dot_config/paru/paru.conf
Normal file
40
dot_config/paru/paru.conf
Normal file
@@ -0,0 +1,40 @@
|
||||
#
|
||||
# $PARU_CONF
|
||||
# /etc/paru.conf
|
||||
# ~/.config/paru/paru.conf
|
||||
#
|
||||
# See the paru.conf(5) manpage for options
|
||||
|
||||
#
|
||||
# GENERAL OPTIONS
|
||||
#
|
||||
[options]
|
||||
PgpFetch
|
||||
Devel
|
||||
Provides
|
||||
DevelSuffixes = -git -cvs -svn -bzr -darcs -always -hg -fossil
|
||||
SudoLoop
|
||||
#AurOnly
|
||||
#BottomUp
|
||||
RemoveMake
|
||||
#UseAsk
|
||||
#SaveChanges
|
||||
CombinedUpgrade
|
||||
BatchInstall
|
||||
#CleanAfter
|
||||
#UpgradeMenu
|
||||
NewsOnUpgrade
|
||||
SkipReview
|
||||
#LocalRepo
|
||||
#Chroot
|
||||
#Sign
|
||||
#SignDb
|
||||
#KeepRepoCache
|
||||
|
||||
#
|
||||
# Binary OPTIONS
|
||||
#
|
||||
#[bin]
|
||||
#FileManager = vifm
|
||||
#MFlags = --skippgpcheck
|
||||
#Sudo = doas
|
||||
30
dot_config/starship.toml
Normal file
30
dot_config/starship.toml
Normal file
@@ -0,0 +1,30 @@
|
||||
add_newline = false
|
||||
username.show_always = true
|
||||
username.format = "[$user]($style)"
|
||||
username.style_user = "white"
|
||||
hostname.ssh_only = false
|
||||
hostname.format = "[$ssh_symbol$hostname]($style)"
|
||||
hostname.style = "white"
|
||||
hostname.ssh_symbol = " 🌐 "
|
||||
directory.truncate_to_repo = false
|
||||
directory.format = "[$path]($style)[$read_only]($read_only_style)"
|
||||
directory.style = "white"
|
||||
character.success_symbol = "[\\$](green)"
|
||||
character.error_symbol = "[\\$](red)"
|
||||
time.disabled = false
|
||||
time.format = "[$time]($style)"
|
||||
time.style = "white"
|
||||
git_branch.always_show_remote = true
|
||||
git_branch.format = "[$symbol](bright-black)[$branch]($style)"
|
||||
git_branch.style = "white"
|
||||
git_commit.only_detached = false
|
||||
git_commit.tag_disabled = false
|
||||
git_commit.format = "[$hash$tag]($style)"
|
||||
git_commit.style = "bright-black"
|
||||
|
||||
|
||||
# A minimal left prompt
|
||||
format = "[\\[](bright-black)$username[@](bright-black)$hostname $directory[\\]](bright-black)$character"
|
||||
|
||||
# move the rest of the prompt to the right
|
||||
right_format = """$git_branch $git_commit $time"""
|
||||
6
dot_config/systemd/user/amixer-autounmute.service
Normal file
6
dot_config/systemd/user/amixer-autounmute.service
Normal file
@@ -0,0 +1,6 @@
|
||||
[Unit]
|
||||
Description=Disable Auto-Mute on sound card on a range of 10 cards, since it can vary
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/bash -c 'for i in {1..10}; do amixer -c $i sset "Auto-Mute Mode" Disabled; done; exit 0'
|
||||
10
dot_config/systemd/user/amixer-autounmute.timer
Normal file
10
dot_config/systemd/user/amixer-autounmute.timer
Normal file
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Run amixer autounmute every 10 minutes
|
||||
|
||||
[Timer]
|
||||
OnBootSec=1min
|
||||
OnUnitActiveSec=10min
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
6
dot_config/systemd/user/kioworker-killer.service
Normal file
6
dot_config/systemd/user/kioworker-killer.service
Normal file
@@ -0,0 +1,6 @@
|
||||
[Unit]
|
||||
Description=Kill any long living kioworker threads
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/pkill kioworker
|
||||
10
dot_config/systemd/user/kioworker-killer.timer
Normal file
10
dot_config/systemd/user/kioworker-killer.timer
Normal file
@@ -0,0 +1,10 @@
|
||||
[Unit]
|
||||
Description=Kill kioworker threads every 10 minutes
|
||||
|
||||
[Timer]
|
||||
OnBootSec=1min
|
||||
OnUnitActiveSec=10min
|
||||
Persistent=true
|
||||
|
||||
[Install]
|
||||
WantedBy=timers.target
|
||||
9
dot_config/tcsh/dot_tcshrc
Normal file
9
dot_config/tcsh/dot_tcshrc
Normal file
@@ -0,0 +1,9 @@
|
||||
# If not running interactively, don't do anything
|
||||
if (! $?prompt) return
|
||||
|
||||
# Set starship if it's installed
|
||||
if (! `which starship >& /dev/null`) eval `starship init tcsh`
|
||||
|
||||
# Just use bash
|
||||
set SHELL = "/bin/bash"
|
||||
exec $SHELL -l
|
||||
2
dot_config/tealdeer/config.toml
Normal file
2
dot_config/tealdeer/config.toml
Normal file
@@ -0,0 +1,2 @@
|
||||
[updates]
|
||||
auto_update = true
|
||||
@@ -0,0 +1,16 @@
|
||||
# regular devices
|
||||
monitor.alsa.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
# Matches all sources
|
||||
node.name = "~alsa_card.*"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
api.alsa.soft-mixer = true
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,29 @@
|
||||
# https://old.reddit.com/r/linux_gaming/comments/14rghc5/solution_crackly_audio_while_gaming_w_pipewire/
|
||||
|
||||
context.modules = [
|
||||
#{ name = <module-name>
|
||||
# ( args = { <key> = <value> ... } )
|
||||
# ( flags = [ ( ifexists ) ( nofail ) ] )
|
||||
# ( condition = [ { <key> = <value> ... } ... ] )
|
||||
#}
|
||||
#
|
||||
# Loads a module with the given parameters.
|
||||
# If ifexists is given, the module is ignored when it is not found.
|
||||
# If nofail is given, module initialization failures are ignored.
|
||||
# If condition is given, the module is loaded only when the context
|
||||
# properties all match the match rules.
|
||||
#
|
||||
|
||||
# Uses realtime scheduling to boost the audio thread priorities. This uses
|
||||
# RTKit if the user doesn't have permission to use regular realtime
|
||||
# scheduling.
|
||||
{ name = libpipewire-module-rt
|
||||
args = {
|
||||
nice.level = -20
|
||||
rt.prio = 90
|
||||
rt.time.soft = 200000
|
||||
rt.time.hard = 200000
|
||||
}
|
||||
flags = [ ifexists nofail ]
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,40 @@
|
||||
# regular devices
|
||||
monitor.alsa.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
# Matches all sources
|
||||
node.name = "~alsa_input.*"
|
||||
},
|
||||
{
|
||||
# Matches all sinks
|
||||
node.name = "~alsa_output.*"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
session.suspend-timeout-seconds = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
# bluetooth devices
|
||||
monitor.bluez.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
# Matches all sources
|
||||
node.name = "~bluez_input.*"
|
||||
},
|
||||
{
|
||||
# Matches all sinks
|
||||
node.name = "~bluez_output.*"
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
session.suspend-timeout-seconds = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,16 @@
|
||||
access.rules = [
|
||||
{
|
||||
matches = [
|
||||
{
|
||||
application.process.binary = discord
|
||||
application.process.binary = chromeium
|
||||
application.process.binary = firefox
|
||||
}
|
||||
]
|
||||
actions = {
|
||||
update-props = {
|
||||
default_permissions = "rx"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
65
dot_config/zsh/dot_zshrc
Normal file
65
dot_config/zsh/dot_zshrc
Normal file
@@ -0,0 +1,65 @@
|
||||
# shellcheck shell=bash
|
||||
# shellcheck disable=SC1090,SC1091,SC2034
|
||||
|
||||
# Add local bin to PATH
|
||||
export PATH="$HOME/.local/bin:$PATH"
|
||||
|
||||
# If not running interactively, don't do anything
|
||||
[[ $- != *i* ]] && return
|
||||
|
||||
# Workaround for SSH/Login sessions
|
||||
# https://github.com/systemd/systemd/issues/7641#issuecomment-680694017
|
||||
set -a
|
||||
if [[ -o login && -f /usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator ]]; then
|
||||
eval "$(/usr/lib/systemd/user-environment-generators/30-systemd-environment-d-generator)"
|
||||
# Fallback to to manually parsing environment.d
|
||||
elif [[ -z "$XDG_DATA_HOME" && -z "$XDG_CONFIG_HOME" && -z "$XDG_STATE_HOME" && -z "$XDG_CACHE_HOME" ]]; then
|
||||
eval "$(<"$HOME/.config/environment.d/xdg.conf")"
|
||||
fi
|
||||
set +a
|
||||
|
||||
autoload -Uz promptinit
|
||||
autoload -Uz compinit
|
||||
compinit -d "$XDG_CACHE_HOME/zsh/zcompdump-$ZSH_VERSION"
|
||||
promptinit
|
||||
|
||||
# Some zsh plugins
|
||||
[[ -f /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]] && source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
[[ -f /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh ]] && source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
|
||||
|
||||
bindkey '^[[H' beginning-of-line
|
||||
bindkey '^[[F' end-of-line
|
||||
bindkey "^[[3~" delete-char
|
||||
|
||||
# Zsh XDG history
|
||||
HISTFILE="$XDG_STATE_HOME"/zsh/history
|
||||
HISTSIZE=10000
|
||||
SAVEHIST=10000
|
||||
setopt HIST_EXPIRE_DUPS_FIRST
|
||||
setopt HIST_IGNORE_DUPS
|
||||
setopt HIST_IGNORE_ALL_DUPS
|
||||
setopt INC_APPEND_HISTORY_TIME
|
||||
|
||||
# Helpful tool: https://zsh-prompt-generator.site/
|
||||
# On github: https://github.com/k-yokoishi/zsh-prompt-generator
|
||||
PROMPT="[%n@%m %~]$ "
|
||||
RPROMPT="%?:%h | %*"
|
||||
|
||||
[[ -f $XDG_CONFIG_HOME/bash/.bash_aliases ]] && source "$XDG_CONFIG_HOME/bash/.bash_aliases"
|
||||
|
||||
# Zsh specific alias
|
||||
alias rc='source "$XDG_CONFIG_HOME"/zsh/.zshrc'
|
||||
|
||||
# https://github.com/pkasemir/find-the-command
|
||||
[[ -f /usr/share/doc/find-the-command/ftc.zsh ]] && source /usr/share/doc/find-the-command/ftc.zsh noupdate quiet info
|
||||
# https://wiki.archlinux.org/title/Pkgfile#Command_not_found
|
||||
# [[ -f /usr/share/doc/pkgfile/command-not-found.zsh ]] && source /usr/share/doc/pkgfile/command-not-found.zsh
|
||||
|
||||
# Starship after defining custom prompt, easy to remove
|
||||
hash starship 2>/dev/null && eval "$(starship init zsh)"
|
||||
|
||||
# Zoxide init has to be last
|
||||
hash zoxide 2>/dev/null && eval "$(zoxide init zsh)"
|
||||
|
||||
# Return 0 to indicate success that the script has been sourced to completion
|
||||
return 0
|
||||
17
dot_hidden
17
dot_hidden
@@ -1,2 +1,15 @@
|
||||
go
|
||||
|
||||
Contacts
|
||||
Favorites
|
||||
Links
|
||||
Public
|
||||
Searches
|
||||
Templates
|
||||
My Documents
|
||||
Application Data
|
||||
Local Settings
|
||||
rogue.save
|
||||
rogue.scr
|
||||
xenia.log
|
||||
discord_utils.log
|
||||
discord_krisp.log
|
||||
VirtualBoxVM.dxvk-cache
|
||||
|
||||
71
dot_local/bin/executable_transcribe-video
Normal file
71
dot_local/bin/executable_transcribe-video
Normal file
@@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
# Suggested models from aur
|
||||
# whisper.cpp-model-large-v3-turbo-q5_0 whisper.cpp-model-medium-q5_0 whisper.cpp-model-small.en-q5_1 whisper.cpp-model-tiny.en-q5_1
|
||||
|
||||
set -e
|
||||
|
||||
# Check dependencies
|
||||
command -v ffmpeg >/dev/null || { echo "ffmpeg not found"; exit 1; }
|
||||
command -v whisper-cli >/dev/null || { echo "whisper-cli not found"; exit 1; }
|
||||
|
||||
# Check input file
|
||||
if [[ $# -lt 1 ]]; then
|
||||
echo "Usage: $0 <video_file.(mp4|mkv)>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Get whisper installed models
|
||||
model_folders=$(find /usr/share/ -maxdepth 1 -type d -name "whisper.cpp-model-*")
|
||||
if [[ -z "$model_folders" ]]; then
|
||||
echo "No whisper models found in /usr/share/"
|
||||
exit 1
|
||||
fi
|
||||
# Find bin files in the model folders
|
||||
model_files=$(find $model_folders -maxdepth 1 -type f -name "*.bin")
|
||||
if [[ -z "$model_files" ]]; then
|
||||
echo "No whisper model files found in /usr/share/"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# If --list-models is passed, list available models
|
||||
if [[ "$1" == "--list-models" ]]; then
|
||||
echo "Available whisper models:"
|
||||
for model in $model_files; do
|
||||
echo "$model"
|
||||
done
|
||||
exit 0
|
||||
fi
|
||||
|
||||
# One argument default
|
||||
INPUT="$1"
|
||||
|
||||
# If --model is passed, use the second argument as the model path,
|
||||
if [[ "$1" == "--model" && -n "$2" ]]; then
|
||||
if [[ ! -f "$2" ]]; then
|
||||
echo "Model file $2 does not exist."
|
||||
exit 1
|
||||
fi
|
||||
MODEL_PATH="$2"
|
||||
INPUT="$3"
|
||||
else
|
||||
# Default to the last model found
|
||||
MODEL_PATH=$(echo "$model_files" | head -n 1)
|
||||
fi
|
||||
|
||||
BASENAME=${INPUT%.*}
|
||||
TMP_WAV=$(mktemp --suffix=".wav")
|
||||
|
||||
# Extract and convert audio
|
||||
echo "Extracting and converting audio..."
|
||||
ffmpeg -y -i "$INPUT" -vn -acodec pcm_s16le -ar 16000 -ac 1 "$TMP_WAV" > /dev/null 2>&1
|
||||
|
||||
# Run whisper-cli
|
||||
echo "Transcribing with whisper-cli..."
|
||||
echo "Using model: $MODEL_PATH"
|
||||
# -pp to enable progress printing
|
||||
whisper-cli -sow -sns -pc -np --prompt "Please do not forget punctuation and capitalization, and keep the length of a line consistent!" -t "$(nproc)" -m "$MODEL_PATH" -f "$TMP_WAV" --output-srt -of "${BASENAME}"
|
||||
|
||||
# Cleanup
|
||||
rm -f "$TMP_WAV"
|
||||
echo "Done. Temporary file removed."
|
||||
37
dot_local/bin/executable_transcribe-videos
Normal file
37
dot_local/bin/executable_transcribe-videos
Normal file
@@ -0,0 +1,37 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
# Check if transcribe-video.sh is in PATH
|
||||
if ! command -v transcribe-video &> /dev/null; then
|
||||
echo "Error: transcribe-video not found in PATH."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Enable globbing for both mp4 and mkv
|
||||
shopt -s nullglob
|
||||
FILES=( *.mp4 *.mkv )
|
||||
|
||||
if [ ${#FILES[@]} -eq 0 ]; then
|
||||
echo "No .mp4 or .mkv files found in the current directory."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Found ${#FILES[@]} file(s) to process."
|
||||
|
||||
for FILE in "${FILES[@]}"; do
|
||||
# Get basename without extension
|
||||
BASENAME="${FILE%.*}"
|
||||
# Check if SRT file already exists
|
||||
SRT_FILE="${BASENAME}.srt"
|
||||
if [[ -f "$SRT_FILE" ]]; then
|
||||
echo "Skipping $FILE: SRT file already exists."
|
||||
continue
|
||||
fi
|
||||
echo "=== Processing: $FILE ==="
|
||||
transcribe-video "$FILE"
|
||||
echo "=== Done: $FILE ==="
|
||||
echo
|
||||
done
|
||||
|
||||
echo "All files processed."
|
||||
6
dot_local/share/mime/packages/rkt-text-x-scheme.xml
Normal file
6
dot_local/share/mime/packages/rkt-text-x-scheme.xml
Normal file
@@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
|
||||
<mime-type type="text/x-scheme">
|
||||
<glob pattern="*.rkt"/>
|
||||
</mime-type>
|
||||
</mime-info>
|
||||
1
dot_ssh/aur.ed25519.pub
Normal file
1
dot_ssh/aur.ed25519.pub
Normal file
@@ -0,0 +1 @@
|
||||
ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILP4HFJ0Yc9INgcIKcELy8LX6V+hE5tKXC4z0bdW2FpH isaac@junction
|
||||
16
dot_ssh/encrypted_private_aur.ed25519.age
Normal file
16
dot_ssh/encrypted_private_aur.ed25519.age
Normal file
@@ -0,0 +1,16 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1NDZPOUVSTUtMY2lLdHdE
|
||||
TG56QWszUndvL2hVa0tJMnRoTTgyVnliNUcwCjFUOGlNQnB6c1FUVjBKY0hTb0Rm
|
||||
c0ZEdkRud1lUcXZNR0dTVkRweHRTNkkKLS0tIEVLdGtJcHFHc01KeVBBcjlTRmJI
|
||||
VzFNOHNSUFNjS3pzc1pTTHJDaEhaM2sKTLb5rtG8fUlt5CNl7JRGfSEgYj7kDklt
|
||||
DB17yH1Dwnz6uU0hQ5eWR3EYqIHYfZpGLnLUcPeEJnLNlmseu8Q6jub2KD7RwZA4
|
||||
7OEeF2unWf6P4xEJj9dwdabinEOh5yaFKRA/pm5x9wrGrOLbP45LR/njhdbvnhip
|
||||
lwf2yzOgDAYCa1fbmVIbAuNAPC7rZq3rEq60yU1AauJqjRxIvNW5znzJz7D+JO0D
|
||||
eVU0SUWcViJkVd9Z9KOd3X3ry7RAHuSReQ6wHCY0IasP/7/0TnqAj00/Z73NNH+S
|
||||
H22oBLBCVzuqKkBQ7yp2m2GOsjf7w27CKDlQs0XfJyvYc66RYhz7C0hy6MKbhD7a
|
||||
Fc/w6hf0He7dRRh0v3wTR6I5kRpNLMYAZIFxv6bAJ5MLNr+VDMr3gU3JKLKmHxXO
|
||||
ROm9yIUp8GOkBPhs6I97MXBXisOg0TAT5okXlbS5yvWX8ZaSVDIhWKFpJUJQCUzV
|
||||
eMZIXMwxX4HUjedcGeoU1JpLHD6/m56DJE/SNuUTXnXDbGeWMEpm3EBxdD8gnp5B
|
||||
O8Y0DQoDFZBKWXZzu56Lo0U0S81y8jirQ3yShIAIM38rRu8Hlv4W3dhHlQYDA8El
|
||||
1zLofVbSwrjTSnFQETZ9Z8wHtwy2ILjVw5gBkTUDUOkn8JW8TRx3mA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
16
dot_ssh/encrypted_private_git.ed25519.age
Normal file
16
dot_ssh/encrypted_private_git.ed25519.age
Normal file
@@ -0,0 +1,16 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB1UnRZbm1nSkl4WURpVmZ3
|
||||
ZGdSM3FyRjRtS3Avc0tWVjB0cUZwdTI4eEd3CnpwZ3NyeUIyWUJsdEJLOXY3Wkx4
|
||||
YWJRTEh1S2Q2akRwb092N1FLTDZrYWMKLS0tIFBLbjByQ0JZbTlTL3VTSlQ4Q2p2
|
||||
UHZRT1NjS3p5YkdGMFBaTnc0cHQvM2sKWGl5w+C1ocUXo0CjtYSy9KLMFAog5tkA
|
||||
WRxI1uOs/Pg87EtnNgqMB9uI1OGaejJEVqn9oYmMl9mzouUeuLWzNIw47ypCg2aF
|
||||
xVX3qms+j7QkwYVRQ/qgFKzrxj4PNfiyn0Td1ionJmd0wi0fhDA0J6NDrsfIYPv2
|
||||
ZfiuwT+1IFQ/86Ryjf1e/1kEHntrLJGJzHZjkZqWdpK7yhBDWOdvwRHCpNpmGMWf
|
||||
Yd9qNObjW5a5GEQI/gdQWVd2cEbcfDM2g7JbvQw9ogGygNS+WzctxsMgQSa96Yuj
|
||||
2MQqd5zKCUlkTRxO4gaS8OPDk+RLIYAQ4AYF+2oMQWsDfjXME0NN5YbpVE2JYson
|
||||
wlfYXA9c2D3GHVFen8iM4j3Pw00hnsbtx8OFwn1BTDDIlGw0Gnm4l8c0+JvHsGOM
|
||||
aXsM8AGrAfFM2qz1Bj+iurezDhcMJ/IT6nLMPX6i4g8NOQ9M52XfiBRe4d1yAACd
|
||||
JaxPK/TyTRZIOQHUMfaetbUv+9vBsZhpTMLW+6aCEtcSBlfpJN/+agdFiZbi0Dfh
|
||||
7pzQrztwYFE2P1IAYlLolSuHJQSLMAi2R/RjPzvpBx1DshKiIomRCjJKIhNCRf+s
|
||||
qLy9hC4h4mU3+jJfJOkps4Id1VR8kdln5Mq0h5xu61/hB+9QIgEXNA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
@@ -1,16 +0,0 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBrYnYrT1lCNjR0WXU3QS9Z
|
||||
RzczckhNZEdJNis2OFJoWnQ2M0RzVExZT1NVCnpYNDVNOG1heFB5ZnlFSURMSWNV
|
||||
dnZnalExa1JIQVlhTDgxOWRrOTl4SXMKLS0tIDg0VWM2ZEt4a3oyOTIremRONWRy
|
||||
V1ZVajUxR0RHNDFsMjU1MVRyNzRVKzgKxyEjLdn0zxWGPH5bspmM/yfDbxM2sgf/
|
||||
ai8nDoYE0kqN4Sv9omqop2KFoTYSe/iksTlnBHt2QCa/v2haMf/FXKsKjeVDQDqP
|
||||
UGk76rqkp2tX02d/rBFxt4+sUVuregz/Opm6pyENMvzchxVUBW4leKELiIAYNGHL
|
||||
VfiETIuGMZFzV4n9WnAKn7rLXQM+UTV2e9mReqiG+2gvduawKPMGcrJJo3Gg0c9x
|
||||
cOa0q+MtCfFo4YPxZfKsgUBgkvVeahivTQOGrXQ3nAOqETj3wV45Ii47U13C0Ie1
|
||||
5mZm3Te6zgSxI5dVGd9yWi/8X4TyPvFlXSfkExb+++XeNV8K1q9JU4p/Yf8PeeEj
|
||||
eK95NnMfz138kuNEv7qx2UiK18dLHQC6jzhNStI3/tmDtbJSdcLUFtlm3ljXHaF1
|
||||
HvK+d4W1I+oEUuZf4zeieMMhWed2E7Dy6qnAeat4m4SfHkzp0+5dWrI11FzG/COZ
|
||||
sE1peXlvDq/9uDSk8bZzo93EUKzkbZgInahSRavo9d+AqVF6xkIMFQhs6t53BsTq
|
||||
I0XlHTCScovyqi0Cr5ayJrM6Nvrn9BNOv7hcdrxuTJDp5k6ofqS1Kf/7NC1oxT+n
|
||||
zPe6//I8JY8D64Lt1+/yuxJWsyTrFDpsSm9m6r2k0JsoJ3viInyTFA==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
@@ -1,16 +0,0 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSB4ZTU0VzVBektGV2E0TUpV
|
||||
TWtoVC9DRWdGeEtGaGJ6OXFNUzZtT2RqYzJvClZIZ2VtZVpVb0s0UGJGVzRjbC82
|
||||
VWZhZUQ0R1ZIa3kwckdrZGxVUC9CL2cKLS0tIGQ2Q3JENXhzWmlxcW9HbktsRWsv
|
||||
MjBXZ2t3enk4TUpxaElIMnAyV1B3KzgKsqyJFEqgeP5DvxECm74ANveqKOvtVvL+
|
||||
k1xZH5l9Ut5ItEnb9X0ZhgH+Z5Hf56Jw5ke6gxEurbFMCUtLeDutJIbfh0hpKauy
|
||||
O0BjbBXwTZSP0qOcWcXQyaw5rLL7bbyfPvIwnZAzPM8Zv5vJtp07plvGSrtFyd9H
|
||||
pfOFXsD7sblzTUhxuhybiYH6SEsR8j1hFOrGpC6nBB36/+ZLj+3mOR4IY8Iat0Z+
|
||||
NZbidKbAp2Nx/rep1lUMie084AI/vsXnCnf7ZAVB9x19D1ZV+u8WbXke0/jD9cJI
|
||||
IPh6kKy6Q3QuoHQ/k7hRpm9wVYMY2JfcJfHr7ZrQIly6RhAGTraiOwaZUTu/O9iU
|
||||
k8m6o17iJyRetGKQaKWzXE3/LBTWZAtSM/zrwyq1IXwTRG+Q6hRYB7yQKYYbaLXT
|
||||
WRVz/jOicjNLMbDPpZP7b/XA5/FVxaH59bcN+NEu27tkhkPQ0eDCO6S2rXgrTbJw
|
||||
QQFb188KABED0yuFs/HJO4LgX/VGs1s1wX7sb4McdTS9JMtULpp23gdr4EatgqED
|
||||
KjfO9XA2/dhlndLA7ZQ2L9Ss8aGl9ro+qFe9YZKJfmNp+wxUS0EyzxvEKbFdj5y/
|
||||
o8CWmrWFofTK+qlFqeDueYeBC1vibDSPCeQwAu0ucOhMYh8HJ8k/Hw==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
@@ -1,16 +0,0 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmSlIzaWNpSTNqSjdXei9z
|
||||
NDdtUUFKWFBnWlpvMnJ3SklUR1BzdUJhOENjCnRjK2lCdThSWTk3TnpXQk1HQy9Y
|
||||
eVE5WDRkUVJIWERRWWNQOUVzYTRPWkEKLS0tIHdHUDIyQVZObmhpU0g5R1k1Ym10
|
||||
RGxLQUVnQlQreVlibm1mZS9EVFVFTzAKEVSIqLQNHxEstIpk4NwmqBa1SeBGNUN0
|
||||
tL/KnbBhQt6otCUnej+8t9D+vXLUzCoNu/ZjO5brDPdUxh+HFE4Y6RaT2SML5gL8
|
||||
XrDd6p5glLNixAWoCv2MTnUXylZyddBulV4BL3REd1rvX3/RvGfxa6fgqUOI6ch+
|
||||
kKmVlYT+4q+4wXDbnlzqHUQ6vbcbvRHAenV6XqZGLvWPOCNLfEdb8ZZ60SJGD7U/
|
||||
5nEiajIzaaqB53oTRKs8mI8GcVc07q7IdTOjVmS4qptcwfixBDt9zFvTauZNcvRf
|
||||
W2421r7uh0o/DDEXVzY6Fg6gYVDP3Fs85Zr2ClAcf2+BbvUQh7c+13OvkMb8vrKy
|
||||
pAGgiNgv0vepCwunfggU3Ffd/g5BQFetzL0XhSrMv54o3c+KaYUApenIPv/uc7CC
|
||||
7TgP9n35h6YbxopnVqopOMA+YLab6kXDOco+t58g7NUN2jJSnMORtGW1i0PgypAx
|
||||
+zQmFjOjejXMtSDI0vUhAiLq1SNBjanquaS9LOb+/ArF5QF8kMTsCZG7pdgDfe/A
|
||||
fJBJbkD+m4KQW26CtdHNvuSfUCFvLopGI6nFxZteTaxQKmuepmA6LZO31yqfwDXh
|
||||
DZMh4Q==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
16
dot_ssh/encrypted_private_ubuntu.ed25519.age
Normal file
16
dot_ssh/encrypted_private_ubuntu.ed25519.age
Normal file
@@ -0,0 +1,16 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBTcXFDSjFOUENIM2UrWEFm
|
||||
dUJjVnJZaFl4dzFwN1ZBNzNjK1BsNU1nL1Y0CmpjV0krZElQQmJRWlVCSVVtL2JU
|
||||
TERxTEVyb3daYmFaOXNnTCswQ3RsTkUKLS0tIHdoQWxqNzdpODV3aEFJOWFodUdn
|
||||
dG9OdVZuekt3Z1N6b3NjcmZLNGtac3MK8NSuhga6AkZdzFiKLChbFz9fXYB0hEIy
|
||||
aYFc1I0jG6ThXkZFcKsXJX4D/ChU4xVnQNcT4m4Gqd/MXc/20cUvUfTgkNJLNFye
|
||||
GRQkSiCneiNv3BHSC2ojUvcKGkwv006kn6eJpdU6TJGhQlXi9+UySwxtf5+Zep+P
|
||||
9BsiW9NyYTePjkP+pd3fDZ0GawyMM/2C1iFm9u2KYCwCRSHVa3JPym93veGfs7zR
|
||||
Y4SWfaO5ovNwCdthueun0Y8xNyQC0AWEmu4xbKxFjY2seYjTXRBDZ2u+AMT/Bx0J
|
||||
a8MqSOX/AyBBl49vHB0b74OuPOdOzTjIx1uanf/ndHBrxQ+RDjkiqTBkK97YYaqL
|
||||
0jYF1AID8GJ/KWj8viTYOiXkzLcUDPSXKsRPspbhmahdmaofXqDxjgwgAlwm0+OH
|
||||
IvBTUuBG+FskRr7zTZ44ch5aLddfzPaTyN09ulkvtib3hs4y7zxWv8GwnV3xAQqW
|
||||
bpUmyYYl0d28bqey/2xYy4cAVodm/OhVruiEkc1CUOh5/CYe8Yg2SbrvzjEK+oIV
|
||||
/vp1FVtojq6iSZScNm3vGaDUoSdhUqgFx9BHNPwKw/xzpDXRKFXkeh4bg3tgQhzH
|
||||
dAzjr74GUd+cZCpf9lMGr5lQxkujj0hZp+pufjIH2rHtBzYE8Yl/EQ==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
16
dot_ssh/encrypted_private_unb.ed25519.age
Normal file
16
dot_ssh/encrypted_private_unb.ed25519.age
Normal file
@@ -0,0 +1,16 @@
|
||||
-----BEGIN AGE ENCRYPTED FILE-----
|
||||
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBmZ0pwT0tGRFcyNFJUNVF4
|
||||
MzdVSUw0dDdHdTQrM21GMUc2WDg2UTRaMFZVCno1MThxS3c3NldvMzRoc3NMZStD
|
||||
OTgxcXFvbGlNTUJ0RXg1LzNXa0NKMm8KLS0tIDJzWHpIUmc1SE01TkdYaDVqL0p6
|
||||
S1lGaUNtbk5nU0JGa3R0WS9qWm5ra2sKhMDNPfnBD6StxYaL5uCCO5uax9/eV6BM
|
||||
dnklqTH3BbFiD+hqZJXPg92G8RWHA3jv3wge0GRGK32l/tVT8KpzYFDH2/1l7jyz
|
||||
aA8REqKBJ7Zn9SrDu/EtYr62EOHJDoJ9PkmTxIbWMy8Rpg2KEKbaHb3CvlTk8VZb
|
||||
XlfOHNvBxNsDMF16U1moWg5Wlpke5qP2BWe/s0gY4Loygzz0nfTAGcF1QE4ywa/6
|
||||
RCSPWsPVJ8v2SG3SrmizP6YnlWXyltK5P8J+eCNzAyV8fiXT7kfbYzer+GcW0Net
|
||||
1WpZeOI7E/3IjgKyf9xvm66qYVI8pzfjrzx6s4564VMnsq0ax/FaWCoeKlRF7sNs
|
||||
FE/ZBylyyJqdG8sGpdjumTZs66KkgUawGBqM4bII1qUyrdCzNqfNs3yh05WzemYd
|
||||
h2nD8y8t+u0uRA0NX3HROfr6K2ao6pGG6dqWR4UfTlGbxiZWe6ew/XF71n0ZNNh7
|
||||
U2/geNJzmqUkwwOxY1cWkb43gRbP1zN5x9Zyyx4kCx/EEKTa8XI9sWP1C6gQGq9H
|
||||
wC1UbfMIVSl8pWfciD4YuyxDG+hZOGaV2OtoGrA2pbUMNqieQ8XvcFfpz7K1EFUm
|
||||
cTDL+g==
|
||||
-----END AGE ENCRYPTED FILE-----
|
||||
49
dot_ssh/executable_unb_hosts.py
Normal file
49
dot_ssh/executable_unb_hosts.py
Normal file
@@ -0,0 +1,49 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# External proxy hardcoded for UNB
|
||||
# fcslinux.cs.unb.ca
|
||||
proxy_url = "fcslinux.cs.unb.ca"
|
||||
|
||||
# https://www.cs.unb.ca/help/ssh-help.shtml
|
||||
# Remote Labs - 70 machines (remotelabm01 - remotelabm70)
|
||||
# GC112 - 70 machines (gc112m01 - gc112m70)
|
||||
# GC127A - 15 machines (gc127m01 - gc127m15)
|
||||
# GD124 - 10 machines (gd124m01 - gd124m10)
|
||||
# ITD414 - 50 machines (id414m01 - id414m50)
|
||||
# ITD415 - 50 machines (id415m01 - id415m50)
|
||||
|
||||
# prefix: range
|
||||
machines = {
|
||||
"remotelabm": 70,
|
||||
"gc112m": 70,
|
||||
"gc127m": 15,
|
||||
"gd124m": 10,
|
||||
"id414m": 50,
|
||||
"id415m": 50,
|
||||
}
|
||||
|
||||
# Username of UNB FCS account
|
||||
username = "ishoebot"
|
||||
|
||||
# Example of a config unit
|
||||
# Host remotelabm01.cs.unb.ca
|
||||
# \tUser <username>
|
||||
# \tProxyJump <proxy_url>
|
||||
|
||||
# Write the config units to a file named config_unb
|
||||
# with open("config_unb", "w") as f:
|
||||
# for prefix, count in machines.items():
|
||||
# for i in range(1, count + 1):
|
||||
# # Make sure index is 2 digit padded with 0
|
||||
# index = str(i).zfill(2)
|
||||
# f.write(f"Host {prefix}{index}.cs.unb.ca\n")
|
||||
# f.write(f"\tUser {username}\n")
|
||||
# f.write(f"\tProxyJump {proxy_url}\n")
|
||||
|
||||
# For tab completion
|
||||
with open("unb_hosts", "w") as f:
|
||||
for prefix, count in machines.items():
|
||||
for i in range(1, count + 1):
|
||||
# Make sure index is 2 digit padded with 0
|
||||
index = str(i).zfill(2)
|
||||
f.write(f"Host {prefix}{index}.cs.unb.ca\n")
|
||||
@@ -1,46 +1,46 @@
|
||||
Host fcslinux
|
||||
Hostname fcslinux.cs.unb.ca
|
||||
Port 22
|
||||
User ishoebot
|
||||
IdentityFile ~/.ssh/unb.ed25519
|
||||
AddKeysToAgent yes
|
||||
ForwardAgent yes
|
||||
# For UNB host tab completion
|
||||
Include unb_hosts
|
||||
|
||||
Host remotelab34
|
||||
Hostname remotelabm34.cs.unb.ca
|
||||
User ishoebot
|
||||
Port 22
|
||||
ProxyCommand ssh -q -W %h:%p fcslinux
|
||||
|
||||
Host remotelab35
|
||||
Hostname remotelabm35.cs.unb.ca
|
||||
User ishoebot
|
||||
Port 22
|
||||
ProxyCommand ssh -q -W %h:%p fcslinux
|
||||
|
||||
Host cs3103
|
||||
Hostname cs3103.cs.unb.ca
|
||||
User ishoebot
|
||||
Port 22
|
||||
ProxyCommand ssh -q -W %h:%p fcslinux
|
||||
|
||||
Host ubuntu
|
||||
Hostname ssh.shoebottom.ca
|
||||
# Personal webserver
|
||||
Host ssh.shoebottom.ca
|
||||
User isaac
|
||||
Port 2222
|
||||
IdentityFile ~/.ssh/ubuntu.ed25519
|
||||
AddKeysToAgent yes
|
||||
|
||||
Host github
|
||||
Hostname github.com
|
||||
User git
|
||||
IdentityFile ~/.ssh/git.ed25519
|
||||
# Bastion host for the CS department
|
||||
Host fcslinux.cs.unb.ca
|
||||
User ishoebot
|
||||
IdentityFile ~/.ssh/unb.ed25519
|
||||
AddKeysToAgent yes
|
||||
ForwardAgent yes
|
||||
|
||||
Host gitea
|
||||
Hostname ssh.shoebottom.ca
|
||||
User gitea
|
||||
IdentityFile ~/.ssh/git.ed25519
|
||||
# Individual hosts for the CS department
|
||||
Host *m??.cs.unb.ca
|
||||
User ishoebot
|
||||
AddKeysToAgent yes
|
||||
ForwardAgent yes
|
||||
ProxyJump fcslinux.cs.unb.ca
|
||||
|
||||
# GitHub ssh commits
|
||||
Host github.com
|
||||
User git
|
||||
IdentityFile ~/.ssh/git.ed25519
|
||||
AddKeysToAgent yes
|
||||
ForwardX11 no
|
||||
|
||||
# Gitea ssh commits
|
||||
Host git.shoebottom.ca
|
||||
Hostname ssh.shoebottom.ca
|
||||
User git
|
||||
Port 2221
|
||||
IdentityFile ~/.ssh/git.ed25519
|
||||
AddKeysToAgent yes
|
||||
ForwardX11 no
|
||||
|
||||
# AUR ssh commits
|
||||
Host aur.archlinux.org
|
||||
User aur
|
||||
IdentityFile ~/.ssh/aur.ed25519
|
||||
AddKeysToAgent yes
|
||||
ForwardX11 no
|
||||
|
||||
265
dot_ssh/unb_hosts
Normal file
265
dot_ssh/unb_hosts
Normal file
@@ -0,0 +1,265 @@
|
||||
Host remotelabm01.cs.unb.ca
|
||||
Host remotelabm02.cs.unb.ca
|
||||
Host remotelabm03.cs.unb.ca
|
||||
Host remotelabm04.cs.unb.ca
|
||||
Host remotelabm05.cs.unb.ca
|
||||
Host remotelabm06.cs.unb.ca
|
||||
Host remotelabm07.cs.unb.ca
|
||||
Host remotelabm08.cs.unb.ca
|
||||
Host remotelabm09.cs.unb.ca
|
||||
Host remotelabm10.cs.unb.ca
|
||||
Host remotelabm11.cs.unb.ca
|
||||
Host remotelabm12.cs.unb.ca
|
||||
Host remotelabm13.cs.unb.ca
|
||||
Host remotelabm14.cs.unb.ca
|
||||
Host remotelabm15.cs.unb.ca
|
||||
Host remotelabm16.cs.unb.ca
|
||||
Host remotelabm17.cs.unb.ca
|
||||
Host remotelabm18.cs.unb.ca
|
||||
Host remotelabm19.cs.unb.ca
|
||||
Host remotelabm20.cs.unb.ca
|
||||
Host remotelabm21.cs.unb.ca
|
||||
Host remotelabm22.cs.unb.ca
|
||||
Host remotelabm23.cs.unb.ca
|
||||
Host remotelabm24.cs.unb.ca
|
||||
Host remotelabm25.cs.unb.ca
|
||||
Host remotelabm26.cs.unb.ca
|
||||
Host remotelabm27.cs.unb.ca
|
||||
Host remotelabm28.cs.unb.ca
|
||||
Host remotelabm29.cs.unb.ca
|
||||
Host remotelabm30.cs.unb.ca
|
||||
Host remotelabm31.cs.unb.ca
|
||||
Host remotelabm32.cs.unb.ca
|
||||
Host remotelabm33.cs.unb.ca
|
||||
Host remotelabm34.cs.unb.ca
|
||||
Host remotelabm35.cs.unb.ca
|
||||
Host remotelabm36.cs.unb.ca
|
||||
Host remotelabm37.cs.unb.ca
|
||||
Host remotelabm38.cs.unb.ca
|
||||
Host remotelabm39.cs.unb.ca
|
||||
Host remotelabm40.cs.unb.ca
|
||||
Host remotelabm41.cs.unb.ca
|
||||
Host remotelabm42.cs.unb.ca
|
||||
Host remotelabm43.cs.unb.ca
|
||||
Host remotelabm44.cs.unb.ca
|
||||
Host remotelabm45.cs.unb.ca
|
||||
Host remotelabm46.cs.unb.ca
|
||||
Host remotelabm47.cs.unb.ca
|
||||
Host remotelabm48.cs.unb.ca
|
||||
Host remotelabm49.cs.unb.ca
|
||||
Host remotelabm50.cs.unb.ca
|
||||
Host remotelabm51.cs.unb.ca
|
||||
Host remotelabm52.cs.unb.ca
|
||||
Host remotelabm53.cs.unb.ca
|
||||
Host remotelabm54.cs.unb.ca
|
||||
Host remotelabm55.cs.unb.ca
|
||||
Host remotelabm56.cs.unb.ca
|
||||
Host remotelabm57.cs.unb.ca
|
||||
Host remotelabm58.cs.unb.ca
|
||||
Host remotelabm59.cs.unb.ca
|
||||
Host remotelabm60.cs.unb.ca
|
||||
Host remotelabm61.cs.unb.ca
|
||||
Host remotelabm62.cs.unb.ca
|
||||
Host remotelabm63.cs.unb.ca
|
||||
Host remotelabm64.cs.unb.ca
|
||||
Host remotelabm65.cs.unb.ca
|
||||
Host remotelabm66.cs.unb.ca
|
||||
Host remotelabm67.cs.unb.ca
|
||||
Host remotelabm68.cs.unb.ca
|
||||
Host remotelabm69.cs.unb.ca
|
||||
Host remotelabm70.cs.unb.ca
|
||||
Host gc112m01.cs.unb.ca
|
||||
Host gc112m02.cs.unb.ca
|
||||
Host gc112m03.cs.unb.ca
|
||||
Host gc112m04.cs.unb.ca
|
||||
Host gc112m05.cs.unb.ca
|
||||
Host gc112m06.cs.unb.ca
|
||||
Host gc112m07.cs.unb.ca
|
||||
Host gc112m08.cs.unb.ca
|
||||
Host gc112m09.cs.unb.ca
|
||||
Host gc112m10.cs.unb.ca
|
||||
Host gc112m11.cs.unb.ca
|
||||
Host gc112m12.cs.unb.ca
|
||||
Host gc112m13.cs.unb.ca
|
||||
Host gc112m14.cs.unb.ca
|
||||
Host gc112m15.cs.unb.ca
|
||||
Host gc112m16.cs.unb.ca
|
||||
Host gc112m17.cs.unb.ca
|
||||
Host gc112m18.cs.unb.ca
|
||||
Host gc112m19.cs.unb.ca
|
||||
Host gc112m20.cs.unb.ca
|
||||
Host gc112m21.cs.unb.ca
|
||||
Host gc112m22.cs.unb.ca
|
||||
Host gc112m23.cs.unb.ca
|
||||
Host gc112m24.cs.unb.ca
|
||||
Host gc112m25.cs.unb.ca
|
||||
Host gc112m26.cs.unb.ca
|
||||
Host gc112m27.cs.unb.ca
|
||||
Host gc112m28.cs.unb.ca
|
||||
Host gc112m29.cs.unb.ca
|
||||
Host gc112m30.cs.unb.ca
|
||||
Host gc112m31.cs.unb.ca
|
||||
Host gc112m32.cs.unb.ca
|
||||
Host gc112m33.cs.unb.ca
|
||||
Host gc112m34.cs.unb.ca
|
||||
Host gc112m35.cs.unb.ca
|
||||
Host gc112m36.cs.unb.ca
|
||||
Host gc112m37.cs.unb.ca
|
||||
Host gc112m38.cs.unb.ca
|
||||
Host gc112m39.cs.unb.ca
|
||||
Host gc112m40.cs.unb.ca
|
||||
Host gc112m41.cs.unb.ca
|
||||
Host gc112m42.cs.unb.ca
|
||||
Host gc112m43.cs.unb.ca
|
||||
Host gc112m44.cs.unb.ca
|
||||
Host gc112m45.cs.unb.ca
|
||||
Host gc112m46.cs.unb.ca
|
||||
Host gc112m47.cs.unb.ca
|
||||
Host gc112m48.cs.unb.ca
|
||||
Host gc112m49.cs.unb.ca
|
||||
Host gc112m50.cs.unb.ca
|
||||
Host gc112m51.cs.unb.ca
|
||||
Host gc112m52.cs.unb.ca
|
||||
Host gc112m53.cs.unb.ca
|
||||
Host gc112m54.cs.unb.ca
|
||||
Host gc112m55.cs.unb.ca
|
||||
Host gc112m56.cs.unb.ca
|
||||
Host gc112m57.cs.unb.ca
|
||||
Host gc112m58.cs.unb.ca
|
||||
Host gc112m59.cs.unb.ca
|
||||
Host gc112m60.cs.unb.ca
|
||||
Host gc112m61.cs.unb.ca
|
||||
Host gc112m62.cs.unb.ca
|
||||
Host gc112m63.cs.unb.ca
|
||||
Host gc112m64.cs.unb.ca
|
||||
Host gc112m65.cs.unb.ca
|
||||
Host gc112m66.cs.unb.ca
|
||||
Host gc112m67.cs.unb.ca
|
||||
Host gc112m68.cs.unb.ca
|
||||
Host gc112m69.cs.unb.ca
|
||||
Host gc112m70.cs.unb.ca
|
||||
Host gc127m01.cs.unb.ca
|
||||
Host gc127m02.cs.unb.ca
|
||||
Host gc127m03.cs.unb.ca
|
||||
Host gc127m04.cs.unb.ca
|
||||
Host gc127m05.cs.unb.ca
|
||||
Host gc127m06.cs.unb.ca
|
||||
Host gc127m07.cs.unb.ca
|
||||
Host gc127m08.cs.unb.ca
|
||||
Host gc127m09.cs.unb.ca
|
||||
Host gc127m10.cs.unb.ca
|
||||
Host gc127m11.cs.unb.ca
|
||||
Host gc127m12.cs.unb.ca
|
||||
Host gc127m13.cs.unb.ca
|
||||
Host gc127m14.cs.unb.ca
|
||||
Host gc127m15.cs.unb.ca
|
||||
Host gd124m01.cs.unb.ca
|
||||
Host gd124m02.cs.unb.ca
|
||||
Host gd124m03.cs.unb.ca
|
||||
Host gd124m04.cs.unb.ca
|
||||
Host gd124m05.cs.unb.ca
|
||||
Host gd124m06.cs.unb.ca
|
||||
Host gd124m07.cs.unb.ca
|
||||
Host gd124m08.cs.unb.ca
|
||||
Host gd124m09.cs.unb.ca
|
||||
Host gd124m10.cs.unb.ca
|
||||
Host id414m01.cs.unb.ca
|
||||
Host id414m02.cs.unb.ca
|
||||
Host id414m03.cs.unb.ca
|
||||
Host id414m04.cs.unb.ca
|
||||
Host id414m05.cs.unb.ca
|
||||
Host id414m06.cs.unb.ca
|
||||
Host id414m07.cs.unb.ca
|
||||
Host id414m08.cs.unb.ca
|
||||
Host id414m09.cs.unb.ca
|
||||
Host id414m10.cs.unb.ca
|
||||
Host id414m11.cs.unb.ca
|
||||
Host id414m12.cs.unb.ca
|
||||
Host id414m13.cs.unb.ca
|
||||
Host id414m14.cs.unb.ca
|
||||
Host id414m15.cs.unb.ca
|
||||
Host id414m16.cs.unb.ca
|
||||
Host id414m17.cs.unb.ca
|
||||
Host id414m18.cs.unb.ca
|
||||
Host id414m19.cs.unb.ca
|
||||
Host id414m20.cs.unb.ca
|
||||
Host id414m21.cs.unb.ca
|
||||
Host id414m22.cs.unb.ca
|
||||
Host id414m23.cs.unb.ca
|
||||
Host id414m24.cs.unb.ca
|
||||
Host id414m25.cs.unb.ca
|
||||
Host id414m26.cs.unb.ca
|
||||
Host id414m27.cs.unb.ca
|
||||
Host id414m28.cs.unb.ca
|
||||
Host id414m29.cs.unb.ca
|
||||
Host id414m30.cs.unb.ca
|
||||
Host id414m31.cs.unb.ca
|
||||
Host id414m32.cs.unb.ca
|
||||
Host id414m33.cs.unb.ca
|
||||
Host id414m34.cs.unb.ca
|
||||
Host id414m35.cs.unb.ca
|
||||
Host id414m36.cs.unb.ca
|
||||
Host id414m37.cs.unb.ca
|
||||
Host id414m38.cs.unb.ca
|
||||
Host id414m39.cs.unb.ca
|
||||
Host id414m40.cs.unb.ca
|
||||
Host id414m41.cs.unb.ca
|
||||
Host id414m42.cs.unb.ca
|
||||
Host id414m43.cs.unb.ca
|
||||
Host id414m44.cs.unb.ca
|
||||
Host id414m45.cs.unb.ca
|
||||
Host id414m46.cs.unb.ca
|
||||
Host id414m47.cs.unb.ca
|
||||
Host id414m48.cs.unb.ca
|
||||
Host id414m49.cs.unb.ca
|
||||
Host id414m50.cs.unb.ca
|
||||
Host id415m01.cs.unb.ca
|
||||
Host id415m02.cs.unb.ca
|
||||
Host id415m03.cs.unb.ca
|
||||
Host id415m04.cs.unb.ca
|
||||
Host id415m05.cs.unb.ca
|
||||
Host id415m06.cs.unb.ca
|
||||
Host id415m07.cs.unb.ca
|
||||
Host id415m08.cs.unb.ca
|
||||
Host id415m09.cs.unb.ca
|
||||
Host id415m10.cs.unb.ca
|
||||
Host id415m11.cs.unb.ca
|
||||
Host id415m12.cs.unb.ca
|
||||
Host id415m13.cs.unb.ca
|
||||
Host id415m14.cs.unb.ca
|
||||
Host id415m15.cs.unb.ca
|
||||
Host id415m16.cs.unb.ca
|
||||
Host id415m17.cs.unb.ca
|
||||
Host id415m18.cs.unb.ca
|
||||
Host id415m19.cs.unb.ca
|
||||
Host id415m20.cs.unb.ca
|
||||
Host id415m21.cs.unb.ca
|
||||
Host id415m22.cs.unb.ca
|
||||
Host id415m23.cs.unb.ca
|
||||
Host id415m24.cs.unb.ca
|
||||
Host id415m25.cs.unb.ca
|
||||
Host id415m26.cs.unb.ca
|
||||
Host id415m27.cs.unb.ca
|
||||
Host id415m28.cs.unb.ca
|
||||
Host id415m29.cs.unb.ca
|
||||
Host id415m30.cs.unb.ca
|
||||
Host id415m31.cs.unb.ca
|
||||
Host id415m32.cs.unb.ca
|
||||
Host id415m33.cs.unb.ca
|
||||
Host id415m34.cs.unb.ca
|
||||
Host id415m35.cs.unb.ca
|
||||
Host id415m36.cs.unb.ca
|
||||
Host id415m37.cs.unb.ca
|
||||
Host id415m38.cs.unb.ca
|
||||
Host id415m39.cs.unb.ca
|
||||
Host id415m40.cs.unb.ca
|
||||
Host id415m41.cs.unb.ca
|
||||
Host id415m42.cs.unb.ca
|
||||
Host id415m43.cs.unb.ca
|
||||
Host id415m44.cs.unb.ca
|
||||
Host id415m45.cs.unb.ca
|
||||
Host id415m46.cs.unb.ca
|
||||
Host id415m47.cs.unb.ca
|
||||
Host id415m48.cs.unb.ca
|
||||
Host id415m49.cs.unb.ca
|
||||
Host id415m50.cs.unb.ca
|
||||
13
dot_zshrc
13
dot_zshrc
@@ -1,13 +0,0 @@
|
||||
# Lines configured by zsh-newuser-install
|
||||
HISTFILE=~/.zsh_history
|
||||
HISTSIZE=1000
|
||||
SAVEHIST=1000
|
||||
setopt nomatch
|
||||
unsetopt autocd beep extendedglob notify
|
||||
# End of lines configured by zsh-newuser-install
|
||||
# The following lines were added by compinstall
|
||||
zstyle :compinstall filename '/home/isaac/.zshrc'
|
||||
|
||||
autoload -Uz compinit
|
||||
compinit
|
||||
# End of lines added by compinstall
|
||||
1
symlink_dot_bash_profile
Normal file
1
symlink_dot_bash_profile
Normal file
@@ -0,0 +1 @@
|
||||
.config/bash/.bashrc
|
||||
1
symlink_dot_bashrc
Normal file
1
symlink_dot_bashrc
Normal file
@@ -0,0 +1 @@
|
||||
.config/bash/.bashrc
|
||||
1
symlink_dot_editorconfig
Normal file
1
symlink_dot_editorconfig
Normal file
@@ -0,0 +1 @@
|
||||
.config/editorconfig/.editorconfig
|
||||
1
symlink_dot_renpy
Normal file
1
symlink_dot_renpy
Normal file
@@ -0,0 +1 @@
|
||||
.local/share/renpy
|
||||
1
symlink_dot_tcshrc
Normal file
1
symlink_dot_tcshrc
Normal file
@@ -0,0 +1 @@
|
||||
.config/tcsh/.tcshrc
|
||||
1
symlink_dot_zshrc
Normal file
1
symlink_dot_zshrc
Normal file
@@ -0,0 +1 @@
|
||||
.config/zsh/.zshrc
|
||||
Reference in New Issue
Block a user