Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mbrav/dotfiles
My scripts and dotfiles
https://github.com/mbrav/dotfiles
bash dotfiles fish fzf linux neovim shell tmux vim
Last synced: about 2 months ago
JSON representation
My scripts and dotfiles
- Host: GitHub
- URL: https://github.com/mbrav/dotfiles
- Owner: mbrav
- Created: 2022-11-11T07:58:45.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-08-02T18:01:05.000Z (6 months ago)
- Last Synced: 2024-08-02T20:39:17.526Z (6 months ago)
- Topics: bash, dotfiles, fish, fzf, linux, neovim, shell, tmux, vim
- Language: Shell
- Homepage:
- Size: 917 KB
- Stars: 5
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
[![License](https://img.shields.io/badge/License-BSD_3--Clause-yellow.svg)](https://opensource.org/licenses/BSD-3-Clause)
[![tokei](https://tokei.rs/b1/github/mbrav/configs?category=lines)](https://tokei.rs/b1/github/mbrav/configs)
[![Hits-of-Code](https://hitsofcode.com/github/mbrav/dotfiles?branch=main)](https://hitsofcode.com/github/mbrav/dotfiles/view?branch=main)# 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.
![](./screenshot.webp)
## Overview
My config overall consists of dotfiles and [`scripts/`](dotfiles/.config/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`](dotfiles/.bashrc)) and Fish ([`config.fish`](dotfiles/.config/fish/config.fish)) reference aliases and commands defined in the [`scripts/`](dotfiles/.config/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`](dotfiles/.config/scripts/_aliases), [`.bashrc`](dotfiles/.bashrc) and [`config.fish`](dotfiles/.config/fish/config.fish):
- [starship](https://starship.rs/) - A cross-shell prompt customizaion tool (Rust);
- [mcfly](https://github.com/cantino/mcfly) - A cross-shell tool for browsing through shell history (Rust);
- [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder (Rust);
- [eza](https://github.com/eza-community/eza) - A modern replacement for `ls`, based on `exa` (Rust);
- [zoxide](https://github.com/ajeetdsouza/zoxide) - A modern replacement for `cd` (Rust).
- [bat](https://github.com/sharkdp/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](https://www.nerdfonts.com) 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!):
```bash
git clone --recurse-submodules -j8 https://github.com/mbrav/dotfiles && cd dotfiles
```Install dotfiles interactively:
```bash
./install.sh
```Install dotfiles non-interactively
```bash
force=1 ./install.sh
```## Trying out these configs in a Docker container
![](./docker.webp)
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:
```bash
./docker.sh
```