Skip to content

stefaniuk/dotfiles-v1

Repository files navigation

Dotfiles

The aim of the dotfiles project is to configure Bash to provide a better user experience while using the command-line.

Supported operating systems are:

  • macOS
  • Ubuntu
  • Raspbian
  • Limited support for other Linux non-Debian based distributions

Most of the scripts should work well with other Linux distributions. If the installation ends with a message "Operating system not supported" see the system_detect function and examine the following condition statement.

Installation

Most common installation on a workstation

export USER_NAME="Dan Stefaniuk"
export USER_EMAIL="daniel.stefaniuk@gmail.com"
curl -L https://raw.githubusercontent.com/stefaniuk/dotfiles/master/dotfiles -o - | /bin/bash -s -- \
    --update-os \
    --install=utils-bundle,developer-bundle,stefaniuk-bundle \
    --config \
    --sudo

Minimal installation

curl -L http://bit.ly/shell-dotfiles -o - | /bin/bash -s -- --minimal

All files will be installed in the user's home directory.

After reloading Bash dotfiles command should be available on the command-line. Below is a screenshot of an installation of an additional software package managed by the dotfiles.

dotfiles

Testing

This project can be tested in a Docker container provided along with the source code. To use this facility, please make sure that VirtualBox and Vagrant are installed and available on the command-line.

cd ./opt
vagrant up
vagrant ssh
make build create start install bash

Extensions

TODO

  • Migrate to oh-my-zsh
  • Use git-crypt
  • Fix dotfiles-man installation, i.e. ~/dotfiles --extension-man
  • Better name handling for bundles installation and configuration
  • SSH key add function
  • Provide functionality to toggle Bash completion and alias scripts in etc/profile.d
  • Refactor system_info
  • Fix system_test
  • Version dotfiles
  • Configure htop
  • Remap the Caps Lock

See

Dotfiles
Projects

Releases

No releases published

Packages

No packages published