README+cleanup

This commit is contained in:
Nikos Papadakis 2023-09-12 20:22:31 +03:00
parent 0505ea2ce9
commit 5fc64864b6
Signed by untrusted user who does not match committer: nikos
GPG key ID: 78871F9905ADFF02
5 changed files with 14 additions and 212 deletions

View file

@ -1,21 +1,22 @@
## Configurations
- [Neovim Nightly](https://github.com/neovim/neovim)
- [Wezterm](https://github.com/wez/wezterm)
- [Fish Shell](https://github.com/fish-shell/fish-shell)
- And more
Pick and choose - you might want to change some stuff (git config for example).
## Fonts
You will have to install the fonts I use in these dotfiles separately
- [ttf-jetbrains-mono-nerd](https://github.com/ryanoasis/nerd-fonts)
## Nice programs to have
## Tools
- [ripgrep](https://github.com/BurntSushi/ripgrep) (used by nvim)
- [fd](https://github.com/sharkdp/fd) (used by nvim)
- [exa](https://github.com/ogham/exa) (ls replacement used by fish)
- [ripgrep](https://github.com/BurntSushi/ripgrep) `grep` alternative (used by nvim)
- [fd](https://github.com/sharkdp/fd) - `find` alternative (used by nvim)
- [lsd](https://github.com/lsd-rs/lsd) - `ls` alternative
## Usage
@ -27,8 +28,10 @@ cd ~/.dotfiles
```
- 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 nvim
just add wezterm

View file

@ -1,8 +1,8 @@
add target:
#!/bin/env sh
set -e
target={{trim_end_matches(target, '/')}}
find $target -mindepth 1 | while read p
do
find $target -mindepth 1 | while read p; do
t=~/`echo -n $p | sed "s/^$target\///" | sed s/dot-/./g`
s="{{justfile_directory()}}/$p"
if ( ! test -e $t ); then
@ -13,13 +13,13 @@ add target:
remove target:
#!/bin/env sh
set -e
target={{trim_end_matches(target, '/')}}
find $target -mindepth 1 | while read p
do
find $target -mindepth 1 | while read p; do
t=~/`echo -n $p | sed "s/^$target\///" | sed s/dot-/./g`
if ( test -L $t ); then
rm $t && echo "rm $t"
rm $t && echo "Removing $t"
fi
done
# vim: set ft=sh :
# vim: set syntax=sh :

View file

@ -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}"

View file

@ -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

View file

@ -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)"