diff --git a/.bashrc b/.bashrc index f4cfd16..b85394d 100644 --- a/.bashrc +++ b/.bashrc @@ -1,29 +1,101 @@ -# ~/.bashrc: executed by bash(1) for non-login shells. +# Path to your oh-my-bash installation. +export OSH=/home/tobias/.config/bash/oh-my-bash -source $HOME/.config/environment +# Set name of the theme to load. Optionally, if you set this to "random" +# it'll load a random theme each time that oh-my-bash is loaded. +OSH_THEME="font" -# If not running interactively, don't do anything -[ -z "$PS1" ] && return +# Uncomment the following line to use case-sensitive completion. +# CASE_SENSITIVE="true" -# ignoredups and ignorespace -HISTCONTROL=ignoreboth -HISTFILE=$HOME/.cache/bash_history +# Uncomment the following line to use hyphen-insensitive completion. Case +# sensitive completion must be off. _ and - will be interchangeable. +# HYPHEN_INSENSITIVE="true" -# append to the history file, don't overwrite it -shopt -s histappend +# Uncomment the following line to disable bi-weekly auto-update checks. +# DISABLE_AUTO_UPDATE="true" -# check the window size after each command and, if necessary, -# update the values of LINES and COLUMNS. -shopt -s checkwinsize +# Uncomment the following line to change how often to auto-update (in days). +# export UPDATE_OSH_DAYS=13 -[ -f $HOME/.config/bash/colours ] && source $HOME/.config/bash/colours +# Uncomment the following line to disable colors in ls. +# DISABLE_LS_COLORS="true" -PS1="$PURPLE\u$nc@$BLUE\H$nc:$GREEN\w$YELLOW"'$(__git_ps1)'"$nc\\n$GREEN\$$nc " +# Uncomment the following line to disable auto-setting terminal title. +# DISABLE_AUTO_TITLE="true" -if [ -f /usr/share/git/completion/git-prompt.sh ]; then - source /usr/share/git/completion/git-prompt.sh -else - function __git_ps1() { echo ""; }; -fi +# Uncomment the following line to enable command auto-correction. +# ENABLE_CORRECTION="true" -[ -f "$HOME/.config/aliasrc" ] && source $HOME/.config/aliasrc +# Uncomment the following line to display red dots whilst waiting for completion. +# COMPLETION_WAITING_DOTS="true" + +# Uncomment the following line if you want to disable marking untracked files +# under VCS as dirty. This makes repository status check for large repositories +# much, much faster. +# DISABLE_UNTRACKED_FILES_DIRTY="true" + +# Uncomment the following line if you want to change the command execution time +# stamp shown in the history command output. +# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" +# HIST_STAMPS="mm/dd/yyyy" + +# Would you like to use another custom folder than $OSH/custom? +# OSH_CUSTOM=/path/to/new-custom-folder + +# Which completions would you like to load? (completions can be found in ~/.oh-my-bash/completions/*) +# Custom completions may be added to ~/.oh-my-bash/custom/completions/ +# Example format: completions=(ssh git bundler gem pip pip3) +# Add wisely, as too many completions slow down shell startup. +completions=( + git + composer + ssh +) + +# Which aliases would you like to load? (aliases can be found in ~/.oh-my-bash/aliases/*) +# Custom aliases may be added to ~/.oh-my-bash/custom/aliases/ +# Example format: aliases=(vagrant composer git-avh) +# Add wisely, as too many aliases slow down shell startup. +aliases=( + general +) + +# Which plugins would you like to load? (plugins can be found in ~/.oh-my-bash/plugins/*) +# Custom plugins may be added to ~/.oh-my-bash/custom/plugins/ +# Example format: plugins=(rails git textmate ruby lighthouse) +# Add wisely, as too many plugins slow down shell startup. +plugins=( + git + bashmarks +) + +source $OSH/oh-my-bash.sh + +# User configuration +# export MANPATH="/usr/local/man:$MANPATH" + +# You may need to manually set your language environment +# export LANG=en_US.UTF-8 + +# Preferred editor for local and remote sessions +# if [[ -n $SSH_CONNECTION ]]; then +# export EDITOR='vim' +# else +# export EDITOR='mvim' +# fi + +# Compilation flags +# export ARCHFLAGS="-arch x86_64" + +# ssh +# export SSH_KEY_PATH="~/.ssh/rsa_id" + +# Set personal aliases, overriding those provided by oh-my-bash libs, +# plugins, and themes. Aliases can be placed here, though oh-my-bash +# users are encouraged to define aliases within the OSH_CUSTOM folder. +# For a full list of active aliases, run `alias`. +# +# Example aliases +# alias bashconfig="mate ~/.bashrc" +# alias ohmybash="mate ~/.oh-my-bash" diff --git a/.config/aliasrc b/.config/aliasrc index 06dbe50..e289a99 100644 --- a/.config/aliasrc +++ b/.config/aliasrc @@ -7,7 +7,7 @@ alias aliases='vim ~/.config/aliasrc && source ~/.config/aliasrc' alias bfg='java -jar ~/tools/bfg-1.13.0.jar' -alias cp='cp -i' +alias cp='cp -iv' alias df='df -h' alias doas='doas -- ' @@ -23,11 +23,14 @@ alias hist-grep='history 0 | grep ' alias j='jump' -alias ls='ls -Flh --color=auto' +alias less='less -FS' +alias ls='ls -lFh --color=auto' alias lsblk='lsblk -o +PARTLABEL -o +FSTYPE' alias make='make -j5' +alias mkdir='mkdir -pv' +alias mv='mv -iv' alias pacman-autoremove='pacman -Rns $(pacman -Qtdq)' @@ -35,8 +38,11 @@ alias qutebrowser-kiosk='qutebrowser -B $XDG_DATA_DIR/qutebrowser-kiosk -C $XDG_ alias rm='rm -I --one-file-system -v' +alias s3cmd="s3cmd --config=$XDG_CONFIG_DIR/s3cmd/config" alias sudo='sudo ' +alias wget='wget -c' + ### conditionals [ -x "$(command -v bat)" ] && alias cat='bat -pp' diff --git a/.config/bash/.gitkeep b/.config/bash/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/.config/bash/colours b/.config/bash/colours deleted file mode 100644 index b6aafd1..0000000 --- a/.config/bash/colours +++ /dev/null @@ -1,33 +0,0 @@ -black='\[\e[0;30m\]' -BLACK='\[\e[1;30m\]' -blackbg='\[\e[40m\]' - -red='\[\e[0;31m\]' -RED='\[\e[1;31m\]' -redbg='\[\e[41m\]' - -green='\[\e[0;32m\]' -GREEN='\[\e[1;32m\]' -greenbg='\[\e[42m\]' - -yellow='\[\e[0;33m\]' -YELLOW='\[\e[1;33m\]' -yellowbg='\[\e[43m\]' - -blue='\[\e[0;34m\]' -BLUE='\[\e[1;34m\]' -bluebg='\[\e[44m\]' - -purple='\[\e[0;35m\]' -PURPLE='\[\e[1;35m\]' -purplebg='\[\e[45m\]' - -cyan='\[\e[0;36m\]' -CYAN='\[\e[1;36m\]' -cyanbg='\[\e[46m\]' - -white='\[\e[0;37m\]' -WHITE='\[\e[1;37m\]' -whitebg='\[\e[47m\]' - -nc='\[\e[0m\]' diff --git a/.config/bspwm/bspwmrc b/.config/bspwm/bspwmrc index 4283bde..af1a9d6 100755 --- a/.config/bspwm/bspwmrc +++ b/.config/bspwm/bspwmrc @@ -49,11 +49,12 @@ bspc rule -a 'Element' desktop='voip' locked='true' bspc rule -a 'Element (Riot)' desktop='voip' locked='true' bspc rule -a 'discord' desktop='voip' bspc rule -a 'Evolution' desktop='messenger' -bspc rule -a 'Signal' desktop='messenger' locked='true' #bspc rule -a 'Steam' desktop='game' bspc rule -a 'Zathura' state='tiled' -bspc rule -a 'Guitarix:guitarix' desktop='messenger' bspc rule -a 'sticky-note:sticky-note' state='floating' sticky='on' border='off' bspc rule -a 'Xarchiver' state='floating' +bspc rule -a 'Signal' desktop='messenger' locked='true' +bspc rule -a 'Thunderbird:Mail' desktop='messenger' locked='true' + $HOME/.config/polybar/launch.sh & diff --git a/.config/environment b/.config/environment index 8cea1b7..3197b23 100644 --- a/.config/environment +++ b/.config/environment @@ -13,10 +13,12 @@ export MARKPATH="$HOME/.config/zsh/jump_marks" export NOTMUCH_CONFIG="$HOME/.config/notmuch/config" -export PASSWORD_STORE_GENERATED_LENGTH='64' +export OSH="$HOME/.config/bash/oh-my-bash" +export PASSWORD_STORE_GENERATED_LENGTH='64' export PATH=/usr/local/bin:/usr/bin:/usr/sbin:/bin:/sbin:$HOME/.local/bin:$GOPATH/bin export VIMINIT="source $HOME/.config/vim/vimrc" export ZDOTDIR="$HOME/.config/zsh" +export ZSH="$ZDOTDIR/oh-my-zsh" diff --git a/.config/paru/paru.conf b/.config/paru/paru.conf index f7a1ffa..8539eb5 100644 --- a/.config/paru/paru.conf +++ b/.config/paru/paru.conf @@ -4,7 +4,7 @@ CombinedUpgrade = true BatchInstall = true NewsOnUpgrade = true RemoveMake = yes -BuildDir = $HOME/.local/share/aur-source +BuildDir = .local/share/aur-source [bin] Sudo = doas diff --git a/.config/qutebrowser/config-kiosk.py b/.config/qutebrowser/config-kiosk.py index b92d2c7..4f57d5d 100644 --- a/.config/qutebrowser/config-kiosk.py +++ b/.config/qutebrowser/config-kiosk.py @@ -3,3 +3,8 @@ config.load_autoconfig(False) c.tabs.show = 'never' c.statusbar.show = 'never' c.auto_save.session = False + +c.url.start_pages = ['https://rustplatz.live/'] + +config.bind('<Ctrl-Tab>', 'tab-next') +config.bind('<Ctrl-Shift-Tab>', 'tab-prev') diff --git a/.config/qutebrowser/config.py b/.config/qutebrowser/config.py index d787391..3b6c9fd 100644 --- a/.config/qutebrowser/config.py +++ b/.config/qutebrowser/config.py @@ -25,9 +25,10 @@ config.bind(',B', 'hint links spawn brave {hint-url}') config.bind(',j', 'spawn --userscript format_json') -config.bind(',s', 'spawn steam steam://openurl/{url}') +config.bind(',g', 'open {url:scheme}://github1s.com{url:path}{url:query}') config.bind(',rr', 'open {url:scheme}://removeddit.com{url:path}{url:query}') config.bind(',rt', 'open {url:scheme}://reddit.tube{url:path}{url:query}') +config.bind(',s', 'spawn steam steam://openurl/{url}') PASS_SCRIPT_DEFAULT = 'spawn --userscript qute-pass --no-insert-mode --username-target secret --username-pattern "login: (.+)" ' config.bind(',p', PASS_SCRIPT_DEFAULT) diff --git a/.config/vim/vimrc b/.config/vim/vimrc index 9328f8b..8843c0a 100644 --- a/.config/vim/vimrc +++ b/.config/vim/vimrc @@ -1,5 +1,12 @@ set runtimepath+=~/.config/vim,~/.config/vim/after -set viminfo+=n~/.cache/viminfo + +if has('nvim') + " Neovim specific commands + set viminfo+=n~/.cache/nviminfo +else + " Standard vim specific commands + set viminfo+=n~/.cache/viminfo +endif " Plug plugins using VimPlug call plug#begin('~/.config/vim/plugged') @@ -20,6 +27,8 @@ call plug#begin('~/.config/vim/plugged') Plug 'lervag/vimtex' Plug 'fatih/vim-go' Plug 'machakann/vim-swap' + Plug 'tpope/vim-sleuth' + Plug 'neoclide/coc.nvim', { 'branch': 'release' } call plug#end() packadd termdebug @@ -138,3 +147,23 @@ let g:tex_flavor = 'latex' let g:vimtex_compiler_latexmk = { \ 'build_dir': 'latexmk_output' \} + + +inoremap <expr> <Tab> pumvisible() ? "\<C-n>" : "\<Tab>" +inoremap <expr> <S-Tab> pumvisible() ? "\<C-p>" : "\<S-Tab>" + +inoremap <silent><expr> <C-space> coc#refresh() + +"GoTo code navigation +nmap <leader>g <C-o> +nmap <silent> gd <Plug>(coc-definition) +nmap <silent> gt <Plug>(coc-type-definition) +nmap <silent> gi <Plug>(coc-implementation) +nmap <silent> gr <Plug>(coc-references) + +nmap <leader>rn <Plug>(coc-rename) + +"show all diagnostics. +nnoremap <silent> <leader>d :<C-u>CocList diagnostics<cr> +"manage extensions. +nnoremap <silent> <leader>e :<C-u>CocList extensions<cr> diff --git a/.config/zsh/.zshrc b/.config/zsh/.zshrc index db0135a..e022a86 100644 --- a/.config/zsh/.zshrc +++ b/.config/zsh/.zshrc @@ -1,5 +1,4 @@ -# Path to your oh-my-zsh installation. -export ZSH="$ZDOTDIR/oh-my-zsh" +source "$HOME/.config/environment" if [ ! -f "$ZSH/oh-my-zsh.sh" ] then diff --git a/.local/bin/rankmirrors-personal-pref b/.local/bin/rankmirrors-personal-pref index a95cbca..34e9d29 100755 --- a/.local/bin/rankmirrors-personal-pref +++ b/.local/bin/rankmirrors-personal-pref @@ -1,3 +1,5 @@ #!/bin/env sh -curl -Ls "https://www.archlinux.org/mirrorlist/?country=AT&country=BY&country=BE&country=BA&country=BG&country=HR&country=CZ&country=DK&country=FI&country=FR&country=DE&country=GR&country=HU&country=IS&country=IE&country=IT&country=LV&country=LT&country=LU&country=NL&country=MK&country=NO&country=PL&country=PT&country=RO&country=RS&country=SK&country=SI&country=ES&country=SE&country=CH&country=UA&country=GB&protocol=https&ip_version=4" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 25 - +echo "#Server = https://archive.archlinux.org/repos/$(date +"%Y/%m/%d")/\$repo/os/\$arch" + +curl -Ls "https://www.archlinux.org/mirrorlist/?country=AT&country=BY&country=BE&country=BA&country=BG&country=HR&country=CZ&country=DK&country=FI&country=FR&country=DE&country=GR&country=HU&country=IS&country=IE&country=IT&country=LV&country=LT&country=LU&country=NL&country=MK&country=NO&country=PL&country=PT&country=RO&country=RS&country=SK&country=SI&country=ES&country=SE&country=CH&country=UA&country=GB&protocol=https&ip_version=4" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 25 - diff --git a/.local/bin/start_jack b/.local/bin/start_jack index b28074c..23483ca 100755 --- a/.local/bin/start_jack +++ b/.local/bin/start_jack @@ -1,6 +1,5 @@ #!/bin/bash -sleep 8 systemctl --user stop pulseaudio.service systemctl --user stop pulseaudio.socket diff --git a/.xprofile b/.xprofile index 7661c23..39b68f6 100644 --- a/.xprofile +++ b/.xprofile @@ -33,7 +33,10 @@ _autostart_on_launch() conky --daemonize --config="$HOME/.config/conky/archlinux-updates.conf" feh --bg-fill $XDG_PICTURES_DIR/wallpaper/active_wallpaper - sleep 8 + ### wait for internet and audio + sleep 10 + start_jack + sleep 2 syncthing -no-browser & @@ -44,14 +47,19 @@ _autostart_on_launch() steam-runtime -silent -tcp & qutebrowser & - start_jack sleep 1 + + ### Workspace VOIP teamspeak3 & - sleep 2 - alacritty --class "mail" --command sh -c "neomutt" & + #sleep 2 + #alacritty --class "mail" --command sh -c "neomutt" & sleep 1 element-desktop & + + ### Workspace Messenger signal-desktop & + sleep 1 + thunderbird & mopidy & } diff --git a/.zprofile b/.zprofile index 74be40d..7f63a86 100644 --- a/.zprofile +++ b/.zprofile @@ -2,6 +2,8 @@ export VIMINIT='source ~/.config/vim/vimrc' export PASSWORD_STORE_GENERATED_LENGTH='64' export ZDOTDIR="$HOME/.config/zsh" +source "$HOME/.config/environment" + if [ -x "$(command -v gpgconf)" ]; then export SSH_AUTH_SOCK=$(gpgconf --list-dirs agent-ssh-socket) gpgconf --launch gpg-agent