Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

rse/dotfiles

Open more actions menu

Repository files navigation

Essential Unix Dot-Files

Abstract

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.

Overview

The particular Unix "dot-files" are:

Installation

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

Local Override Configurations

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)

Hint

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.

License

Copyright © 1995-2026 Dr. Ralf S. Engelschall.
Distributed under MIT license.

About

Small Opinionated Collection of Unix Configuration Files for User Shell Environment

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.