This is a small collection of really essential Unix "dot-files"
(~/.xxx), i.e., opinionated configuration files for the Unix shell
environments of Ralf S. Engelschall under FreeBSD, Linux and macOS. This
Unix environment is based on the following absolutely essential tools:
- the GNU Bash shell environment
- the TMux terminal multiplexer
- the Less file pager
- the Vim file editor
- the Vifm file manager
- the Git version control system
- the OpenSSH remote access facility
The intention of these "dot-files" is not to be an extensive tool feature configuration, but to be the bare minimum of an opinionated tool standard configuration.
The particular Unix "dot-files" are:
- dot.bash_login (
~/.bash_login): bash(1) login run-command script - dot.bash_logout (
~/.bash_logout): bash(1) logout run-command script - dot.bashrc (
~/.bashrc): bash(1) run-command script - dot.inputrc (
~/.inputrc): bash(1) readline configuration - dot.tmux.conf (
~/.tmux.conf): tmux(1) configuration - dot.vimrc (
~/.vimrc): vim(1) configuration - dot.vifmrc (
~/.vifm/vifmrc): vifm(1) configuration - dot.gitconfig (
~/.gitconfig): git(1) configuration - dot.sshconfig (
~/.ssh/config): ssh(1) configuration
You can install the package into your system with:
$ make install [DESTDIR=<dir>] [prefix=<dir>] [bindir=<dir>] [datadir=<dir>]
You can install the "dot-files" into the home-directory <dir> of an
account (either locally or remotely via SSH) with:
$ dotfiles [-q|--quiet] [-f|--force] [-p|--preserve] [-r|--remote <user>@<host>] <dir>
Additionally, ensure that the essential Unix commands bash(1), tmux(1),
less(1), vim(1), vifm(1) and git(1) are available in $PATH of the
using account. If not, install them into your system with your preferred
Unix software packaging mechanism:
-
Debian/Ubuntu [Apt]:
$ apt-get install bash tmux less vim vifm git openssh-client -
FreeBSD [pkg]:
$ pkg install bash tmux less vim vifm git openssh-portable -
macOS [MacPorts]:
$ port install bash tmux less vim vifm git openssh -
Unix [OpenPKG]:
$ openpkg build bash tmux less vim vifm git openssh | sh
You can easily override the configuration with the following optional files (which are automatically included and pre-generated):
~/.dotfiles/bashrc(for overriding~/.bashrc)~/.dotfiles/inputrc(for overriding~/.inputrc)~/.dotfiles/tmux.conf(for overriding~/.tmux.conf)~/.dotfiles/vimrc(for overriding~/.vimrc)~/.dotfiles/vifmrc(for overriding~/.vifm/vifmrc)~/.dotfiles/gitconfig(for overriding~/.gitconfig)~/.dotfiles/sshconfig(for overriding~/.ssh/config)
In practice, this optimally should be combined with my bash-fzf
script which further enhances the GNU Bash shell environment with the excellent FZF searching functionality.
For this, just copy the bash-fzf.rc script
to ~/.bash-fzf.rc and ensure that the FZF utility is in your $PATH, too.
Similarly, this optimally can also be combined with my bash-envrc
script which further enhances the GNU Bash shell environment with the possibility to automatically
activate environment variables through the execution of (explicitly to be whitelisted) .envrc run-command scripts.
For this, just copy the bash-envrc.rc script
to ~/.bash-envrc.rc.
Copyright © 1995-2020 Dr. Ralf S. Engelschall.
Distributed under MIT license.