mirror of
https://github.com/alrayyes/server-dotfiles
synced 2023-11-14 15:56:25 +00:00
Compare commits
9 Commits
226af1a23b
...
5802691084
Author | SHA1 | Date | |
---|---|---|---|
5802691084 | |||
de266d3640 | |||
fe414adce2 | |||
d677fc7ea4 | |||
643968a462 | |||
787539704b | |||
215c451896 | |||
efe07eef8b | |||
d230bfabff |
22
LICENSE.md
22
LICENSE.md
@ -1,22 +0,0 @@
|
||||
The MIT License (MIT)
|
||||
=====================
|
||||
|
||||
Copyright (c) `2019` `Ryan Kes`
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
this software and associated documentation files (the "Software"), to deal in
|
||||
the Software without restriction, including without limitation the rights to
|
||||
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
of the Software, and to permit persons to whom the Software is furnished to do
|
||||
so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
25
LICENSE.org
Normal file
25
LICENSE.org
Normal file
@ -0,0 +1,25 @@
|
||||
* The MIT License (MIT)
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: the-mit-license-mit
|
||||
:END:
|
||||
|
||||
Copyright © =<2019>= =<Ryan Kes>=
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included
|
||||
in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||
OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
25
README.md
25
README.md
@ -1,25 +0,0 @@
|
||||
# Server Dotfiles
|
||||
|
||||
A repository of my personal server configuration files.
|
||||
|
||||
# Requirements
|
||||
|
||||
[stow](http://www.gnu.org/software/stow/)
|
||||
|
||||
# Installation
|
||||
|
||||
```shell
|
||||
./install.sh
|
||||
```
|
||||
# Packages
|
||||
|
||||
* [neovim](https://neovim.io/)
|
||||
* [tmux](https://tmux.github.io/)
|
||||
* [vifm](https://vifm.info/)
|
||||
* [zsh](https://www.zsh.org/)
|
||||
|
||||
# License
|
||||
|
||||
This theme is released under the MIT License. For more information read the [license][license].
|
||||
|
||||
[license]: LICENSE.md
|
73
README.org
Normal file
73
README.org
Normal file
@ -0,0 +1,73 @@
|
||||
#+TITLE: Server Dotfiles
|
||||
#+DATE: February 9, 2020
|
||||
#+SINCE: {replace with next tagged release version}
|
||||
#+STARTUP: inlineimages nofold
|
||||
|
||||
* Table of Contents :TOC_3:noexport:
|
||||
- [[#description][Description]]
|
||||
- [[#maintainers][Maintainers]]
|
||||
- [[#prerequisites][Prerequisites]]
|
||||
- [[#applications][Applications]]
|
||||
- [[#zsh][Zsh]]
|
||||
- [[#theme][Theme]]
|
||||
- [[#plugin-manager][Plugin Manager]]
|
||||
- [[#plugins][Plugins]]
|
||||
- [[#configuration][Configuration]]
|
||||
- [[#installation][Installation]]
|
||||
- [[#find--delete-orphaned-symlinks][Find & delete orphaned symlinks]]
|
||||
- [[#license][License]]
|
||||
|
||||
* Description
|
||||
A repository of my personal configuration files.
|
||||
|
||||
** Maintainers
|
||||
+ [[https://github.com/alrayyes][@alrayyes]]
|
||||
|
||||
* Prerequisites
|
||||
- [[http://www.gnu.org/software/stow/][stow]]
|
||||
|
||||
* Applications
|
||||
- [[https://the.exa.website/][exa]]
|
||||
- [[https://git-scm.com/][git]]
|
||||
- [[https://gnupg.org/][gnupg]]
|
||||
- [[https://github.com/gokcehan/lf][lf]]
|
||||
- [[https://neovim.io/][neovim]]
|
||||
- [[https://tmux.github.io/][tmux]]
|
||||
- [[https://vifm.info/][vifm]]
|
||||
|
||||
* Zsh
|
||||
** Theme
|
||||
- [[https://github.com/denysdovhan/spaceship-prompt][spaceship zsh]]
|
||||
** Plugin Manager
|
||||
- [[https://github.com/zplug/zplug][zplug]]
|
||||
** Plugins
|
||||
- [[https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/docker][docker]]
|
||||
- [[https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/docker-compose][docker-compose]]
|
||||
- [[https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/extract][extract]]
|
||||
- [[https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/git][git]]
|
||||
- [[https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/gitignore][gitignore]]
|
||||
- [[https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/ripgrep][ripgrep]]
|
||||
- [[https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/rsync][rsync]]
|
||||
- [[https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/sudo][sudo]]
|
||||
- [[https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/systemd][systemd]]
|
||||
- [[https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/tmux][tmux]]
|
||||
- [[https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/vi-mode][vi-mode]]
|
||||
- [[https://github.com/zsh-users/zsh-autosuggestions][zsh-autosuggestions]]
|
||||
- [[https://github.com/zsh-users/zsh-syntax-highlighting][zsh-syntax-highlighting]]
|
||||
|
||||
* Configuration
|
||||
** Installation
|
||||
#+BEGIN_SRC shell
|
||||
./install.sh
|
||||
#+END_SRC
|
||||
** Find & delete orphaned symlinks
|
||||
#+BEGIN_SRC shell
|
||||
./clean-dead-symlinks
|
||||
#+END_SRC
|
||||
|
||||
* License
|
||||
:PROPERTIES:
|
||||
:CUSTOM_ID: license
|
||||
:END:
|
||||
This theme is released under the MIT License. For more information read
|
||||
the [[file:LICENSE.org][license]].
|
14
git/.gitconfig
Normal file
14
git/.gitconfig
Normal file
@ -0,0 +1,14 @@
|
||||
[name]
|
||||
name = Ryan
|
||||
email = ryan@andthensome.nl
|
||||
|
||||
[core]
|
||||
editor = nvim
|
||||
excludesfile = /home/alrayyes/.gitignore_global
|
||||
|
||||
[push]
|
||||
default = matching
|
||||
[user]
|
||||
email = alrayyes@gmail.com
|
||||
name = Ryan Kes
|
||||
signingkey = alrayyes@gmail.com
|
105
lfcd/.config/lf/lfrc
Normal file
105
lfcd/.config/lf/lfrc
Normal file
@ -0,0 +1,105 @@
|
||||
# interpreter for shell commands (needs to be POSIX compatible)
|
||||
set shell zsh
|
||||
|
||||
# enable icons
|
||||
set icons on
|
||||
|
||||
# set '-eu' options for shell commands
|
||||
# These options are used to have safer shell commands. Option '-e' is used to
|
||||
# exit on error and option '-u' is used to give error for unset variables.
|
||||
# Option '-f' disables pathname expansion which can be useful when $f, $fs, and
|
||||
# $fx variables contain names with '*' or '?' characters. However, this option
|
||||
# is used selectively within individual commands as it can be limiting at
|
||||
# times.
|
||||
set shellopts '-eu'
|
||||
|
||||
# set internal field separator (IFS) to "\n" for shell commands
|
||||
# This is useful to automatically split file names in $fs and $fx properly
|
||||
# since default file separator used in these variables (i.e. 'filesep' option)
|
||||
# is newline. You need to consider the values of these options and create your
|
||||
# commands accordingly.
|
||||
set ifs "\n"
|
||||
|
||||
# leave some space at the top and the bottom of the screen
|
||||
set scrolloff 10
|
||||
|
||||
# use enter for shell commands
|
||||
map <enter> shell
|
||||
|
||||
# execute current file (must be executable)
|
||||
map x $$f
|
||||
map X !$f
|
||||
|
||||
# dedicated keys for file opener actions
|
||||
map o &mimeopen $f
|
||||
map O $mimeopen --ask $f
|
||||
|
||||
# map fzf
|
||||
map f $lf -remote "send $id select '$(fzf)'"
|
||||
|
||||
# define a custom 'open' command
|
||||
# This command is called when current file is not a directory. You may want to
|
||||
# use either file extensions and/or mime types here. Below uses an editor for
|
||||
# text files and a file opener for the rest.
|
||||
cmd open ${{
|
||||
case $(file --mime-type $f -b) in
|
||||
text/*) $EDITOR $fx;;
|
||||
*) for f in $fx; do $OPENER $f > /dev/null 2> /dev/null & done;;
|
||||
esac
|
||||
}}
|
||||
|
||||
# define a custom 'rename' command without prompt for overwrite
|
||||
# cmd rename %[ -e $1 ] && printf "file exists" || mv $f $1
|
||||
# map r push :rename<space>
|
||||
|
||||
# make sure trash folder exists
|
||||
# %mkdir -p ~/.trash
|
||||
|
||||
# move current file or selected files to trash folder
|
||||
# (also see 'man mv' for backup/overwrite options)
|
||||
cmd trash %set -f; mv $fx ~/.trash
|
||||
|
||||
# define a custom 'delete' command
|
||||
# cmd delete ${{
|
||||
# set -f
|
||||
# printf "$fx\n"
|
||||
# printf "delete?[y/n]"
|
||||
# read ans
|
||||
# [ $ans = "y" ] && rm -rf $fx
|
||||
# }}
|
||||
|
||||
# use '<delete>' key for either 'trash' or 'delete' command
|
||||
# map <delete> trash
|
||||
map <delete> delete
|
||||
|
||||
# extract the current file with the right command
|
||||
# (xkcd link: https://xkcd.com/1168/)
|
||||
cmd extract ${{
|
||||
set -f
|
||||
case $f in
|
||||
*.tar.bz|*.tar.bz2|*.tbz|*.tbz2) tar xjvf $f;;
|
||||
*.tar.gz|*.tgz) tar xzvf $f;;
|
||||
*.tar.xz|*.txz) tar xJvf $f;;
|
||||
*.zip) unzip $f;;
|
||||
*.rar) unrar x $f;;
|
||||
*.7z) 7z x $f;;
|
||||
esac
|
||||
}}
|
||||
|
||||
# compress current file or selected files with tar and gunzip
|
||||
cmd tar ${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
tar czf $1.tar.gz $1
|
||||
rm -rf $1
|
||||
}}
|
||||
|
||||
# compress current file or selected files with zip
|
||||
cmd zip ${{
|
||||
set -f
|
||||
mkdir $1
|
||||
cp -r $fx $1
|
||||
zip -r $1.zip $1
|
||||
rm -rf $1
|
||||
}}
|
@ -1,3 +0,0 @@
|
||||
set runtimepath^=~/.vim runtimepath+=~/.vim/after
|
||||
let &packpath = &runtimepath
|
||||
source ~/.vimrc
|
1
nvim/.config/nvim/init.vim
Symbolic link
1
nvim/.config/nvim/init.vim
Symbolic link
@ -0,0 +1 @@
|
||||
/home/alrayyes/.spf13-vim-3/.vimrc
|
@ -1 +0,0 @@
|
||||
Subproject commit d848c94804918138375041a9f800f401bec12068
|
22
zsh/.zshenv
Normal file
22
zsh/.zshenv
Normal file
@ -0,0 +1,22 @@
|
||||
path_if_exists() {
|
||||
if [[ -d $1 ]]; then
|
||||
export PATH="$1:$PATH"
|
||||
fi
|
||||
}
|
||||
|
||||
# Stop tmux bitching about 256 colours
|
||||
TERM="xterm-256color"
|
||||
|
||||
# PATH
|
||||
path_if_exists ~/.config/yarn/global/node_modules/.bin
|
||||
path_if_exists ~/.local/bin
|
||||
path_if_exists ~/.emacs.d/bin
|
||||
|
||||
# Set GPG TTY
|
||||
export GPG_TTY="$(tty)"
|
||||
|
||||
# editor
|
||||
export EDITOR="nvim"
|
||||
|
||||
# Save history file in proper place
|
||||
HISTFILE=~/.cache/zsh/history
|
151
zsh/.zshrc
151
zsh/.zshrc
@ -1,127 +1,60 @@
|
||||
# Ifkyou come from bash you might have to change your $PATH.
|
||||
# export PATH=$HOME/bin:/usr/local/bin:$PATH
|
||||
source_if_exists() {
|
||||
if [[ -f $1 ]]; then
|
||||
source $1
|
||||
fi
|
||||
}
|
||||
|
||||
# Stop tmux bitching about 256 colours
|
||||
TERM="xterm-256color"
|
||||
# Check if zplug is installed
|
||||
if [[ ! -d ~/.zplug ]]; then
|
||||
git clone https://github.com/b4b4r07/zplug ~/.zplug
|
||||
fi
|
||||
source ~/.zplug/init.zsh
|
||||
|
||||
# Path to your oh-my-zsh installation.
|
||||
ZSH="/home/alrayyes/.oh-my-zsh"
|
||||
# Spaceship theme
|
||||
zplug "denysdovhan/spaceship-prompt", use:spaceship.zsh, from:github, as:theme
|
||||
|
||||
# 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-zsh is loaded.
|
||||
# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
|
||||
#ZSH_THEME="robbyrussell"
|
||||
ZSH_THEME="powerlevel9k/powerlevel9k"
|
||||
# Oh my zsh lugins
|
||||
# sudo must start after vi-mode for it to work properly
|
||||
zplug "plugins/docker", from:oh-my-zsh
|
||||
zplug "plugins/docker-compose", from:oh-my-zsh
|
||||
zplug "plugins/extract", from:oh-my-zsh
|
||||
zplug "plugins/git", from:oh-my-zsh
|
||||
zplug "plugins/gitignore", from:oh-my-zsh
|
||||
zplug "plugins/ripgrep", from:oh-my-zsh
|
||||
zplug "plugins/rsync", from:oh-my-zsh
|
||||
zplug "plugins/systemd", from:oh-my-zsh
|
||||
zplug "plugins/tmux", from:oh-my-zsh
|
||||
zplug "plugins/vi-mode", from:oh-my-zsh
|
||||
zplug "plugins/sudo", from:oh-my-zsh
|
||||
zplug "zsh-users/zsh-autosuggestions", from:github, defer:3
|
||||
zplug "zsh-users/zsh-syntax-highlighting", from:github, defer:3
|
||||
|
||||
# Uncomment the following line to use case-sensitive completion.
|
||||
# CASE_SENSITIVE="true"
|
||||
# Install packages
|
||||
if ! zplug check --verbose; then
|
||||
printf "Install zplug plugins? [y/N]: "
|
||||
if read -q; then
|
||||
echo
|
||||
zplug install
|
||||
fi
|
||||
fi
|
||||
|
||||
# Uncomment the following line to use hyphen-insensitive completion. Case
|
||||
# sensitive completion must be off. _ and - will be interchangeable.
|
||||
# HYPHEN_INSENSITIVE="true"
|
||||
|
||||
# Uncomment the following line to disable bi-weekly auto-update checks.
|
||||
# DISABLE_AUTO_UPDATE="true"
|
||||
|
||||
# Uncomment the following line to change how often to auto-update (in days).
|
||||
# export UPDATE_ZSH_DAYS=13
|
||||
|
||||
# Uncomment the following line to disable colors in ls.
|
||||
# DISABLE_LS_COLORS="true"
|
||||
|
||||
# Uncomment the following line to disable auto-setting terminal title.
|
||||
# DISABLE_AUTO_TITLE="true"
|
||||
|
||||
# Uncomment the following line to enable command auto-correction.
|
||||
# ENABLE_CORRECTION="true"
|
||||
|
||||
# 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 $ZSH/custom?
|
||||
# ZSH_CUSTOM=/path/to/new-custom-folder
|
||||
|
||||
# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*)
|
||||
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/
|
||||
# Example format: plugins=(rails git textmate ruby lighthouse)
|
||||
# Add wisely, as too many plugins slow down shell startup.
|
||||
plugins=(aws archlinux bower common-aliases composer docker git git-flow pass sudo symfony2 systemd tmux fzf gitignore )
|
||||
|
||||
source $ZSH/oh-my-zsh.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-zsh libs,
|
||||
# plugins, and themes. Aliases can be placed here, though oh-my-zsh
|
||||
# users are encouraged to define aliases within the ZSH_CUSTOM folder.
|
||||
# For a full list of active aliases, run `alias`.
|
||||
#
|
||||
# Example aliases
|
||||
# alias zshconfig="mate ~/.zshrc"
|
||||
# alias ohmyzsh="mate ~/.oh-my-zsh"
|
||||
zplug load
|
||||
|
||||
# nvim alias
|
||||
alias vim="nvim"
|
||||
alias vi="nvim"
|
||||
|
||||
# ls alias
|
||||
alias ls="lsd"
|
||||
alias l="lsd -al"
|
||||
alias ls="exa"
|
||||
alias l="exa -al"
|
||||
|
||||
# vifm alias
|
||||
alias vifm="vifmrun"
|
||||
|
||||
transfer() { if [ $# -eq 0 ]; then echo -e "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; return 1; fi
|
||||
tmpfile=$( mktemp -t transferXXX ); if tty -s; then basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g'); curl --progress-bar --upload-file "$1" "https://share.higherlearning.eu/$basefile" >> $tmpfile; else curl --progress-bar --upload-file "-" "https://share.higherlearning.eu/$1" >> $tmpfile ; fi; cat $tmpfile; rm -f $tmpfile; }
|
||||
transferats() { if [ $# -eq 0 ]; then echo -e "No arguments specified. Usage:\necho transfer /tmp/test.md\ncat /tmp/test.md | transfer test.md"; return 1; fi
|
||||
tmpfile=$( mktemp -t transferXXX ); if tty -s; then basefile=$(basename "$1" | sed -e 's/[^a-zA-Z0-9._-]/-/g'); curl --progress-bar --upload-file "$1" "https://share.andthensome.nl/$basefile" >> $tmpfile; else curl --progress-bar --upload-file "-" "https://share.andthensome.nl/$1" >> $tmpfile ; fi; cat $tmpfile; rm -f $tmpfile; }
|
||||
|
||||
# Emberjs settings
|
||||
export PATH="$PATH:/home/alrayyes/.config/yarn/global/node_modules/.bin:/home/alrayyes/.scripts"
|
||||
|
||||
# Set GPG TTY
|
||||
export GPG_TTY="$(tty)"
|
||||
|
||||
# Set default browser
|
||||
export BROWSER="firefox"
|
||||
|
||||
# Set default terminal
|
||||
export TERMINAL="st"
|
||||
|
||||
# pkg editor
|
||||
export VISUAL="vim"
|
||||
|
||||
# Enable password store extensions
|
||||
export PASSWORD_STORE_ENABLE_EXTENSIONS="true"
|
||||
|
||||
# Refresh gpg-agent tty in case user switches into an X session
|
||||
gpg-connect-agent updatestartuptty /bye >/dev/null
|
||||
|
||||
source_if_exists ~/.fzf/key-bindings.zsh
|
||||
source_if_exists ~/.fzf/completion.zsh
|
||||
|
||||
neofetch
|
||||
|
Loading…
Reference in New Issue
Block a user