# Welcome to Dotfiles v0.2.462

# Introduction

A set of Bash configuration files for macOS, Linux and Windows, that you can use to customize your shell and applications. All in one place and ready to use.

The Dotfiles live right in your home directory, so you can keep them under version control, and you can use them on any computer, anywhere.

They aggregates a collection of standalone dotfiles combined into a single lib directory located in your home directory ~/.dotfiles/lib. They provide convenient aliases, functions, and a few ready-to-use settings built for speed and high performance for your shell.

Try them out and let us know what you think of Dotfiles. We are always looking for ways to improve our products and services.

# Getting Started

We are so delighted that you have decided to try Dotfiles, and are sure that you will find them unique and helpful.

We have provided a range of installation methods to help you get started. We recommend that you choose the one that best suits your needs.

TIP

But before you begin your installation, please use the below instructions to ensure that you meet all the hardware, software, and system requirements for installing Dotfiles on your computer and backup any current configuration files you may have.

# 1️⃣ System Requirements

You need a modern operating system to install Dotfiles and we recommend that you use the latest version of macOS, Linux or Windows for best performance, security and compatibility with the latest Dotfiles features.

# 2️⃣ Software Requirements

The latest version of the following software is required to install Dotfiles:

  1. A command line shell (Bash (opens new window) or Zsh (opens new window)), to run configuration scripts and functions.
  2. Git (opens new window) (2.0 or higher), for cloning the Dotfiles source code repository.
  3. Curl (opens new window) (7.0 or higher) or Wget (opens new window) (1.0 or higher), for downloading the Dotfiles installer.
  4. Make (opens new window) (3.0 or higher), or PnPM (opens new window) (6.0 or higher) , for running the Dotfiles installer with the make or pnpm commands.
  5. Tmux (opens new window) (3.0 or higher), a terminal multiplexer. It lets you switch easily between several programs in one terminal, detach them (they keep running in the background) and reattach them to a different terminal.

# 3️⃣ Font Requirements

We also recommend using an open-source typeface such as JetBrains Mono for configuring your terminal, and any IDEs or editors you may use.

JetBrains Mono is a free and open source typeface for developers designed to be comfortable to read. It is available in a wide range of weights and styles, and supports a wide range of programming languages.

  • On macOS, you can install the font by simply typing the following command in your terminal:

    brew tap homebrew/cask-fonts && brew install --cask font-jetbrains-mono
    
  • On Debian based Linux distributions, you can install the font using the following command:

    sudo apt install fonts-jetbrains-mono
    

# How to Install

# 1️⃣ Back Up Your Existing Data

WARNING

Before installing Dotfiles, we strongly recommend that you back up your existing data. It is always a good idea to backup as there might be situations in which you could be required to restore your previous installation.

The Dotfiles installer will try to automatically backup any previous installation of known dotfiles into a backup directory $HOME/dotfiles_backup.

The list of files that will be backed up are listed below. This list is not exhaustive and may change over time as Dotfiles evolves.

.alias
.bash_aliases
.bash_profile
.bash_prompt
.bashrc
.curlrc
.dir_colors
.exports
.functions
.gitattributes
.gitconfig
.gitignore
.gitmessage
.inputrc
.npmrc
.path
.profile
.tmux.conf
.vimrc
.wgetrc
.yarnrc
.zshenv
.zshrc
cacert.pem

# 2️⃣ Download Dotfiles

Download the latest version of Dotfiles (v0.2.462) through any of these methods:

# 3️⃣ Installation using Make

The easiest way to install Dotfiles is to use the make command in your shell. This will install the latest version of the dotfiles and will automatically try to backup any existing dotfiles you may have into a dedicated backup directory $HOME/dotfiles_backup.

Switch to the dotfiles-0.2.462 directory that you have downloaded and run:

make build

You can also just check the installer options, by simply running:

make help

# 4️⃣ Installation using Node.js

If you want to install Dotfiles using Node.js, switch to the dotfiles-0.2.462 directory and run:

node .

# 5️⃣ Installation using PnPM

If you want to install Dotfiles using PnPM, switch to the dotfiles-0.2.462 directory and run:

pnpm run build

# 6️⃣ Post installation

Following the installation, you can now verify that the dotfiles are installed in the following directory $HOME/.dotfiles. To complete the setup, just restart your terminal.

If the installation is successful, you should be able to see the new Dotfiles interface in your terminal and you can start using it right away.

# What's included

Dotfiles contains core elements that are used to configure your shell, and other components catered for your environment setup.

Within the $HOME/.dotfiles folder, you will find the following directories and files:

.
└── lib
    ├── aliases
    │   ├── default
    │   │   └── default.aliases.sh
    │   ├── gcloud
    │   │   └── gcloud.aliases.sh
    │   ├── git
    │   │   └── git.aliases.sh
    │   ├── heroku
    │   │   └── heroku.aliases.sh
    │   ├── jekyll
    │   │   └── jekyll.aliases.sh
    │   ├── pnpm
    │   │   └── pnpm.aliases.sh
    │   ├── subversion
    │   │   └── subversion.aliases.sh
    │   └── tmux
    │       └── tmux.aliases.sh
    ├── configurations
    │   ├── bash
    │   │   └── bashrc
    │   ├── curl
    │   │   ├── cacert.pem
    │   │   └── curlrc
    │   ├── default
    │   │   ├── color.sh
    │   │   ├── constants.sh
    │   │   ├── editor.sh
    │   │   └── prompt.sh
    │   ├── gem
    │   │   └── gemrc
    │   ├── input
    │   │   └── inputrc
    │   ├── jshint
    │   │   └── jshintrc
    │   ├── nano
    │   │   └── nanorc
    │   ├── profile
    │   │   └── profile
    │   ├── tmux
    │   │   ├── default
    │   │   ├── display
    │   │   ├── linux
    │   │   ├── navigation
    │   │   ├── panes
    │   │   ├── theme
    │   │   ├── tmux
    │   │   └── vi
    │   ├── vim
    │   │   └── vimrc
    │   ├── wget
    │   │   └── wgetrc
    │   ├── zsh
    │   │   └── zshrc
    │   └── README.md
    ├── functions
    │   ├── README.md
    │   ├── cdls.sh
    │   ├── curlheader.sh
    │   ├── curltime.sh
    │   ├── encode64.sh
    │   ├── environment.sh
    │   ├── extract.sh
    │   ├── filehead.sh
    │   ├── genpwd.sh
    │   ├── goto.sh
    │   ├── hidehiddenfiles.sh
    │   ├── hostinfo.sh
    │   ├── hstats.sh
    │   ├── httpdebug.sh
    │   ├── keygen.sh
    │   ├── last.sh
    │   ├── logout.sh
    │   ├── lowercase.sh
    │   ├── macos.sh
    │   ├── matrix.sh
    │   ├── mcd.sh
    │   ├── mount_read_only.sh
    │   ├── myproc.sh
    │   ├── prependpath.sh
    │   ├── ql.sh
    │   ├── rd.sh
    │   ├── remove_disk.sh
    │   ├── ren.sh
    │   ├── showhiddenfiles.sh
    │   ├── size.sh
    │   ├── stopwatch.sh
    │   ├── uppercase.sh
    │   ├── view-source.sh
    │   ├── vscode.sh
    │   ├── whoisport.sh
    │   └── zipf.sh
    ├── paths
    │   ├── ant
    │   │   └── ant.paths.sh
    │   ├── default
    │   │   └── default.paths.sh
    │   ├── homebrew
    │   │   └── homebrew.paths.sh
    │   ├── java
    │   │   └── java.paths.sh
    │   ├── maven
    │   │   └── maven.paths.sh
    │   ├── node
    │   │   └── node.paths.sh
    │   ├── nvm
    │   │   └── nvm.paths.sh
    │   ├── pnpm
    │   │   └── pnpm.paths.sh
    │   ├── python
    │   │   └── python.paths.sh
    │   ├── ruby
    │   │   └── ruby.paths.sh
    │   └── tmux
    │       └── tmux.paths.sh
    ├── README.md
    ├── aliases.sh
    ├── configurations.sh
    ├── exit.sh
    ├── functions.sh
    ├── history.sh
    └── paths.sh

36 directories, 86 files

# Releases

Releases are available on the GitHub releases page (opens new window).

# Semantic versioning policy

For transparency into our release cycle and in striving to maintain backward compatibility, Dotfiles follows Semantic Versioning (opens new window).

# Changelog

# Code of Conduct

We are committed to preserving and fostering a diverse, welcoming community. Please read our Code of Conduct (opens new window).

# Our Values

  • We believe perfection must consider everything.
  • We take our passion beyond code into our daily practices.
  • We are just obsessed about creating and delivering exceptional solutions.

# Contributing

Thank you for using Dotfiles! If you like the library, it would be great if you can give it a star ⭐ on Github (opens new window).

There are also many ways in which you can participate in this project, for example:

Please read carefully through our Contributing Guidelines (opens new window) for further details on the process for submitting pull requests to us.

# License

This project is licensed under the MIT License (opens new window) file for details.

# Acknowledgements

Dotfiles (opens new window) is beautifully crafted by these people and a bunch of awesome contributors (opens new window)

sr (opens new window) gr (opens new window)
Sebastien Rousseau (opens new window) Graham Colgate (opens new window)