README+cleanup
This commit is contained in:
		
							parent
							
								
									0505ea2ce9
								
							
						
					
					
						commit
						5fc64864b6
					
				
					 5 changed files with 14 additions and 212 deletions
				
			
		
							
								
								
									
										13
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								README.md
									
									
									
									
									
								
							| 
						 | 
					@ -1,21 +1,22 @@
 | 
				
			||||||
## Configurations
 | 
					## Configurations
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- [Neovim Nightly](https://github.com/neovim/neovim)
 | 
					- [Neovim Nightly](https://github.com/neovim/neovim)
 | 
				
			||||||
- [Wezterm](https://github.com/wez/wezterm)
 | 
					 | 
				
			||||||
- [Fish Shell](https://github.com/fish-shell/fish-shell)
 | 
					- [Fish Shell](https://github.com/fish-shell/fish-shell)
 | 
				
			||||||
- And more
 | 
					- And more
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Pick and choose - you might want to change some stuff (git config for example).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Fonts
 | 
					## Fonts
 | 
				
			||||||
 | 
					
 | 
				
			||||||
You will have to install the fonts I use in these dotfiles separately
 | 
					You will have to install the fonts I use in these dotfiles separately
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- [ttf-jetbrains-mono-nerd](https://github.com/ryanoasis/nerd-fonts)
 | 
					- [ttf-jetbrains-mono-nerd](https://github.com/ryanoasis/nerd-fonts)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Nice programs to have
 | 
					## Tools
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- [ripgrep](https://github.com/BurntSushi/ripgrep) (used by nvim)
 | 
					- [ripgrep](https://github.com/BurntSushi/ripgrep) `grep` alternative (used by nvim)
 | 
				
			||||||
- [fd](https://github.com/sharkdp/fd) (used by nvim)
 | 
					- [fd](https://github.com/sharkdp/fd) - `find` alternative (used by nvim)
 | 
				
			||||||
- [exa](https://github.com/ogham/exa) (ls replacement used by fish)
 | 
					- [lsd](https://github.com/lsd-rs/lsd) - `ls` alternative
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Usage
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,8 +28,10 @@ cd ~/.dotfiles
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
- For automated dotfile linking use [just](https://github.com/casey/just)
 | 
					- For automated dotfile linking use [just](https://github.com/casey/just)
 | 
				
			||||||
 | 
					- Use `just add target` where target is the config directory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					cd ~/.dotfiles
 | 
				
			||||||
just add fish
 | 
					just add fish
 | 
				
			||||||
just add nvim
 | 
					just add nvim
 | 
				
			||||||
just add wezterm
 | 
					just add wezterm
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										12
									
								
								justfile
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								justfile
									
									
									
									
									
								
							| 
						 | 
					@ -1,8 +1,8 @@
 | 
				
			||||||
add target:
 | 
					add target:
 | 
				
			||||||
    #!/bin/env sh
 | 
					    #!/bin/env sh
 | 
				
			||||||
 | 
					    set -e
 | 
				
			||||||
    target={{trim_end_matches(target, '/')}}
 | 
					    target={{trim_end_matches(target, '/')}}
 | 
				
			||||||
    find $target -mindepth 1 | while read p
 | 
					    find $target -mindepth 1 | while read p; do
 | 
				
			||||||
    do
 | 
					 | 
				
			||||||
        t=~/`echo -n $p | sed "s/^$target\///" | sed s/dot-/./g`
 | 
					        t=~/`echo -n $p | sed "s/^$target\///" | sed s/dot-/./g`
 | 
				
			||||||
        s="{{justfile_directory()}}/$p"
 | 
					        s="{{justfile_directory()}}/$p"
 | 
				
			||||||
        if ( ! test -e $t ); then
 | 
					        if ( ! test -e $t ); then
 | 
				
			||||||
| 
						 | 
					@ -13,13 +13,13 @@ add target:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
remove target:
 | 
					remove target:
 | 
				
			||||||
    #!/bin/env sh
 | 
					    #!/bin/env sh
 | 
				
			||||||
 | 
					    set -e
 | 
				
			||||||
    target={{trim_end_matches(target, '/')}}
 | 
					    target={{trim_end_matches(target, '/')}}
 | 
				
			||||||
    find $target -mindepth 1 | while read p
 | 
					    find $target -mindepth 1 | while read p; do
 | 
				
			||||||
    do
 | 
					 | 
				
			||||||
        t=~/`echo -n $p | sed "s/^$target\///" | sed s/dot-/./g`
 | 
					        t=~/`echo -n $p | sed "s/^$target\///" | sed s/dot-/./g`
 | 
				
			||||||
        if ( test -L $t ); then
 | 
					        if ( test -L $t ); then
 | 
				
			||||||
            rm $t && echo "rm $t"
 | 
					            rm $t && echo "Removing $t"
 | 
				
			||||||
        fi
 | 
					        fi
 | 
				
			||||||
    done
 | 
					    done
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# vim: set ft=sh :
 | 
					# vim: set syntax=sh :
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,88 +0,0 @@
 | 
				
			||||||
#!/bin/env bash
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# share.sh - Shares a file with a link by uploading to a "Gokapi" backend
 | 
					 | 
				
			||||||
# Depends on: curl, jq, libsecret
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
set -e
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
URL="https://${SHARE_DOMAIN}/api/files/add"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
usage() {
 | 
					 | 
				
			||||||
    printf "share - Share a file
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Usage: share [options] FILE
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
Options:
 | 
					 | 
				
			||||||
    -f <name>\tName of the file that will be uploaded
 | 
					 | 
				
			||||||
    -p <passwd>\tPassword
 | 
					 | 
				
			||||||
    -d <number>\tAllowed nubmer of downloads
 | 
					 | 
				
			||||||
    -e <expiry>\tExpiry in days\n"
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[ $# -eq 0 ] && usage && exit 1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
options=$(getopt "hp:d:e:f:" "$@")
 | 
					 | 
				
			||||||
eval set -- "$options"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
while true; do
 | 
					 | 
				
			||||||
    case $1 in
 | 
					 | 
				
			||||||
        -p)
 | 
					 | 
				
			||||||
            shift
 | 
					 | 
				
			||||||
            PASSWORD="$1"
 | 
					 | 
				
			||||||
            ;;
 | 
					 | 
				
			||||||
        -d)
 | 
					 | 
				
			||||||
            shift
 | 
					 | 
				
			||||||
            ALLOWED_DOWNLOADS="$1"
 | 
					 | 
				
			||||||
            ;;
 | 
					 | 
				
			||||||
        -e)
 | 
					 | 
				
			||||||
            shift
 | 
					 | 
				
			||||||
            EXPIRY_DAYS="$1"
 | 
					 | 
				
			||||||
            ;;
 | 
					 | 
				
			||||||
        -f)
 | 
					 | 
				
			||||||
            shift
 | 
					 | 
				
			||||||
            FILENAME="$1"
 | 
					 | 
				
			||||||
            ;;
 | 
					 | 
				
			||||||
        -h)
 | 
					 | 
				
			||||||
            usage
 | 
					 | 
				
			||||||
            exit 0
 | 
					 | 
				
			||||||
            ;;
 | 
					 | 
				
			||||||
        --)
 | 
					 | 
				
			||||||
            shift
 | 
					 | 
				
			||||||
            break;;
 | 
					 | 
				
			||||||
    esac
 | 
					 | 
				
			||||||
    shift
 | 
					 | 
				
			||||||
done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[ $# -eq 0 ] && usage && exit 1 || FILE=$1
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ ! -f "$FILE" ] && [ $FILE != "-" ]; then
 | 
					 | 
				
			||||||
    echo "File ${FILE} not found."
 | 
					 | 
				
			||||||
    exit 1
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
APIKEY=$(secret-tool lookup share apikey)
 | 
					 | 
				
			||||||
if [ ! "$APIKEY" ]; then
 | 
					 | 
				
			||||||
    echo "Please enter your API key for Gokapi"
 | 
					 | 
				
			||||||
    secret-tool store --label "API key for share.sh" share apikey
 | 
					 | 
				
			||||||
    APIKEY=$(secret-tool lookup share apikey)
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
read RESULT ID URL HOTLINKURL HOTLINKID < <(echo $(curl -# -X POST \
 | 
					 | 
				
			||||||
    --fail \
 | 
					 | 
				
			||||||
    -F "file=@${FILE};filename=${FILENAME:-$FILE}" \
 | 
					 | 
				
			||||||
    -F "password=${PASSWORD}" \
 | 
					 | 
				
			||||||
    -F "allowedDownloads=${ALLOWED_DOWNLOADS:-0}" \
 | 
					 | 
				
			||||||
    -F "expiryDays=${EXPIRY_DAYS}" \
 | 
					 | 
				
			||||||
    -H "accept: application/json" \
 | 
					 | 
				
			||||||
    -H "apikey: ${APIKEY}" \
 | 
					 | 
				
			||||||
    -H "Content-Type: multipart/form-data" \
 | 
					 | 
				
			||||||
    "${URL}" | jq -r '.Result, .FileInfo.Id, .Url, .HotlinkUrl, .FileInfo.HotlinkId'))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ $RESULT != "OK" ]; then
 | 
					 | 
				
			||||||
    echo "An error occured when trying to upload the file."
 | 
					 | 
				
			||||||
    echo "Result was: $RESULT"
 | 
					 | 
				
			||||||
    exit 1
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
echo "Uploaded url: ${URL}${ID}"
 | 
					 | 
				
			||||||
[ ! "$HOTLINKID" ] || echo "Hotlink: ${HOTLINKURL}${HOTLINKID}"
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,15 +0,0 @@
 | 
				
			||||||
#!/bin/env bash
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# shot - Take a screenshot and upload it
 | 
					 | 
				
			||||||
# Depends on: share
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
filename=$(date "+%F_%T").png
 | 
					 | 
				
			||||||
flameshot_cmd="flatpak run org.flameshot.Flameshot"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if command -v $flameshot_cmd &> /dev/null; then
 | 
					 | 
				
			||||||
    $flameshot_cmd gui -r | ~/.local/bin/share -f $filename - | grep "Hotlink:" | cut -d ' ' -f2 | xclip -selection c \
 | 
					 | 
				
			||||||
        && notify-send "Shot" "Screenshot URL copied to clipboard"
 | 
					 | 
				
			||||||
else
 | 
					 | 
				
			||||||
    echo "No supported screenshot program found"
 | 
					 | 
				
			||||||
    exit 1
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
							
								
								
									
										98
									
								
								zsh/.zshrc
									
									
									
									
									
								
							
							
						
						
									
										98
									
								
								zsh/.zshrc
									
									
									
									
									
								
							| 
						 | 
					@ -1,98 +0,0 @@
 | 
				
			||||||
unsetopt beep
 | 
					 | 
				
			||||||
# unsetopt AUTO_MENU
 | 
					 | 
				
			||||||
# setopt MENU_COMPLETE
 | 
					 | 
				
			||||||
# setopt AUTO_CD
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# History
 | 
					 | 
				
			||||||
HISTFILE=~/.zsh_history
 | 
					 | 
				
			||||||
HISTSIZE=10000
 | 
					 | 
				
			||||||
SAVEHIST=10000
 | 
					 | 
				
			||||||
setopt HIST_IGNORE_ALL_DUPS
 | 
					 | 
				
			||||||
setopt EXTENDED_HISTORY
 | 
					 | 
				
			||||||
setopt APPEND_HISTORY
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
if [ -e "/usr/share/fzf" ]; then
 | 
					 | 
				
			||||||
    source /usr/share/fzf/key-bindings.zsh
 | 
					 | 
				
			||||||
    source /usr/share/fzf/completion.zsh
 | 
					 | 
				
			||||||
fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### Aliases ---------------------------------------------
 | 
					 | 
				
			||||||
alias vim="nvim"
 | 
					 | 
				
			||||||
alias rm="rm -i"
 | 
					 | 
				
			||||||
alias mv="mv -i"
 | 
					 | 
				
			||||||
alias ls="exa --group-directories-first"
 | 
					 | 
				
			||||||
alias ll="ls -lh"
 | 
					 | 
				
			||||||
alias la="ls -lha"
 | 
					 | 
				
			||||||
alias grep="grep --color=auto"
 | 
					 | 
				
			||||||
alias less="less -r"
 | 
					 | 
				
			||||||
alias nnn="nnn -e"
 | 
					 | 
				
			||||||
[ "$TERM" = "xterm-kitty" ] && alias ssh="kitty +kitten ssh"
 | 
					 | 
				
			||||||
alias gs="git status"
 | 
					 | 
				
			||||||
alias gap="git add -p"
 | 
					 | 
				
			||||||
alias gc="git commit"
 | 
					 | 
				
			||||||
alias lg="lazygit"
 | 
					 | 
				
			||||||
### -----------------------------------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# Fix keys
 | 
					 | 
				
			||||||
bindkey '^[[H'      beginning-of-line
 | 
					 | 
				
			||||||
bindkey '^[[F'      end-of-line
 | 
					 | 
				
			||||||
bindkey '^H'        backward-delete-word
 | 
					 | 
				
			||||||
bindkey '^[[1;5D'   backward-word
 | 
					 | 
				
			||||||
bindkey '^[[1;5C'   forward-word
 | 
					 | 
				
			||||||
bindkey '^[[3~'     delete-char
 | 
					 | 
				
			||||||
bindkey '^[[3;5~'   delete-word
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### zsh-autosuggestions
 | 
					 | 
				
			||||||
ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE="fg=#a6a6a6"
 | 
					 | 
				
			||||||
ZSH_AUTOSUGGEST_USE_ASYNC=1
 | 
					 | 
				
			||||||
ZSH_AUTOSUGGEST_BUFFER_MAX_SIZE=20
 | 
					 | 
				
			||||||
zle -N autosuggest-accept
 | 
					 | 
				
			||||||
bindkey '^ ' autosuggest-accept
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
export ZISH_HOME=$HOME/.local/share/zish
 | 
					 | 
				
			||||||
export RUSTUP_HOME="$XDG_DATA_HOME"/rustup
 | 
					 | 
				
			||||||
export PATH="$PATH:$HOME/.local/bin"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
install_plugin() {
 | 
					 | 
				
			||||||
    IFS='/' read group project <<< "$1"
 | 
					 | 
				
			||||||
    repo=$1
 | 
					 | 
				
			||||||
    dir="$ZISH_HOME/repos/$repo"
 | 
					 | 
				
			||||||
    shift
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    while [ $# -gt 0 ]; do
 | 
					 | 
				
			||||||
        IFS=':' read action value <<< "$1"
 | 
					 | 
				
			||||||
        case $action in
 | 
					 | 
				
			||||||
            "build")
 | 
					 | 
				
			||||||
                build=$value
 | 
					 | 
				
			||||||
                ;;
 | 
					 | 
				
			||||||
            "use")
 | 
					 | 
				
			||||||
                use=$dir/$value
 | 
					 | 
				
			||||||
                ;;
 | 
					 | 
				
			||||||
        esac
 | 
					 | 
				
			||||||
        shift
 | 
					 | 
				
			||||||
    done
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    if [[ ! -d $dir ]]; then
 | 
					 | 
				
			||||||
        mkdir -p $dir && cd $dir && git clone --depth=1 "https://github.com/$repo" .
 | 
					 | 
				
			||||||
        [ -v build ] && eval $build
 | 
					 | 
				
			||||||
    fi
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    [ -v use ] && source $use || source $dir/$project.plugin.zsh
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
install_plugin "zsh-users/zsh-syntax-highlighting"
 | 
					 | 
				
			||||||
install_plugin "zsh-users/zsh-autosuggestions"
 | 
					 | 
				
			||||||
install_plugin "zsh-users/zsh-completions"
 | 
					 | 
				
			||||||
install_plugin "trapd00r/LS_COLORS" build:"dircolors -b LS_COLORS > c.zsh" use:"c.zsh"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
zstyle ":completion:*" list-colors ${(s.:.)LS_COLORS}
 | 
					 | 
				
			||||||
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
 | 
					 | 
				
			||||||
zstyle ':completion:*' menu select
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
autoload -U compinit
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
eval "$(zoxide init zsh)"
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
# starship prompt: https://github.com/starship/starship
 | 
					 | 
				
			||||||
# Must be at end of file
 | 
					 | 
				
			||||||
eval "$(starship init zsh)"
 | 
					 | 
				
			||||||
		Loading…
	
		Reference in a new issue