Once the repo is cloned, execute the deploy script:
./deploy
This script guides you through the following:
- Checks to see if you have software installed.
- Installs them using your default package manager if you don't have some of them installed.
- Checks to see if your default shell is zsh.
- Sets zsh to your default shell.
Pretty convenient for configuring new servers.
All default dotfiles (.zshrc, .vimrc, etc) source something within the dotfiles repository. This helps separate changes that are synced across all your machines with system specific changes.
The prompt takes on the form:
[plugin, plugin, ...]:
Each plugin is sensitive to where you are and what you're doing, they reveal themselves when it's contextually relevant. Plugins include:
PWD plugin: always present, tells you where you are. Always the first plugin.Status code plugin: appears anytime a program returns with a non-zero status code. Tells you what status code the program completed with.Git plugin: appears when you're in a git repository. Tells you what branch you're on, and how many files have been changed since the last commit.Sudo plugin: tells you when you can sudo without a password. Or when you're logged in as root.Time plugin: appears when a program took more than 1s to execute. Tells you how long it took to execute.PID plugin: appears when you background a task. Tells you what the PID of the task is.
- zsh-autosuggestions: Searches your history while you type and provides suggestions.
- zsh-syntax-highlighting: Provides fish style syntax highlighting for zsh.
- ohmyzsh: Borrowed things like tab completion, fixing ls, tmux's vi-mode plugin.
- vimode-zsh allows you to hit
escand navigate the current buffer using vim movement keys.
- Leader key has ben remapped to
,
- Ctrl-B has been remapped to the backtick character (`). If you want to type the actual backtick character (`) itself, just hit the key twice.
%has been remapped tov.- Use vim movement keys for moving between panes.
- Copy buffer is coppied to xclip.
- Status bar tells you date, time, user, and hostname. Especially useful with nested ssh sessions.
- Install vimplug from https://github.com/junegunn/vim-plug, and then run :InstallPlug in the vim console
curl -fLo ~/.vim/autoload/plug.vim --create-dirs \
https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
- For arch you need to run ./install.sh --clang-completer --system-libclang
#Install ftp locally, assuming you are using a pi
sudo apt install proftpd
sudo vim /etc/proftpd/proftpd.conf
# add the following to the conf
ServerName "RaspberryPi"
# create a local directory for the service to use
DefaultRoot /home/pi/downloads/share
# You might have to create a user specifically for this purpose
sudo service proftpd reload
sudo service proftpd status
# Port Forwarding
# add a port forwarding for the local ip of the pi
# the external ports:
# 20,21
# and the internal port:
# 21
# using both udp and tcp
[client]
pager = pspg -X --quit-if-one-screen