dotfiles mirror https://github.com/mbrav/dotfiles

mbrav 3d1e5d813e Migrate alacritty config to v0.14 1 month ago
conf_files 1307d6f598 Add install script and refactor cofn files 11 months ago
dotfiles 3d1e5d813e Migrate alacritty config to v0.14 1 month ago
.gitignore fc73137863 Exclude logs files in k9s 11 months ago
.gitmodules 6831072212 Add kubectl aliases and update README 1 year ago
Dockerfile 7e02b39c81 Update Dockerfile 1 month ago
README.md 26b49210d9 Add zoxide and move tmux panel to top 10 months ago
docker.sh 62312814dc Add docker container! 11 months ago
docker.webp 45dd208e41 Add docker screenshoot 11 months ago
install.sh 3d3ca1782d Move install script and add conditional bind mounts to docker 11 months ago
screenshot.webp 3ce60e4060 Update screenshoot 1 year ago

README.md

License tokei Hits-of-Code

dotfiles

My scripts and dot files

Consists of various DevOps-oriented configurations which are meant for my own personal Arch-based linux setup, but can be used in with other Linux distros such as Debian, Ubuntu, RHEL, etc.

Overview

My config overall consists of dotfiles and scripts/ that are meant to be fish and bash shell compatible as much as possible in cases where not all the components are allowed to be installed on certain servers for various reasons, etc. Since Fish shell is not POSIX complaint, Bash is meant to be used as a backup shell in cases where it would be more comfortable. But the main advantage of Fish shell, in my use case, is that outocompletion is setup automatically for tools such as docker, kubectl, etc, along with some other nice features.

The configs for Bash shell (.bashrc) and Fish (config.fish) reference aliases and commands defined in the scripts/ folder.

Programs

To take the most advantage of the config, a few tools are used, which are recommended for installation given that they are setup in _aliases, .bashrc and config.fish:

  • starship - A cross-shell prompt customizaion tool (Rust);
  • mcfly - A cross-shell tool for browsing through shell history (Rust);
  • fzf - A command-line fuzzy finder (Rust);
  • eza - A modern replacement for ls, based on exa (Rust);
  • zoxide - A modern replacement for cd (Rust).
  • bat - A modern replacement for cat (yes, you guessed it, Rust).

Font configuration

In order for the terminal to display those symbols correctly, you must install one of many Nerd Fonts and configure your terminal to use one of them.

Installation

⚠️ Warning: This will overwrite your configs!

Clone repo (It is important to clone with modules!):

git clone --recurse-submodules -j8 https://github.com/mbrav/dotfiles && cd dotfiles

Install dotfiles interactively:

./install.sh

Install dotfiles non-interactively

force=1 ./install.sh

Trying out these configs in a Docker container

Before you install these configs on your system, you can try them out in a docker container. This is a feature that is still a work in progress. You can build and run these configs by simply doing:

./docker.sh