An open API service indexing awesome lists of open source software.

https://github.com/reireias/dotfiles

configuration for vim, bash, zsh, etc...
https://github.com/reireias/dotfiles

bash bashrc dotfiles fonts neovim tmux tmux-conf vim vimrc zsh zsh-plugins zshrc

Last synced: 24 days ago
JSON representation

configuration for vim, bash, zsh, etc...

Awesome Lists containing this project

README

          

[![Actions Status](https://github.com/reireias/dotfiles/workflows/install/badge.svg)](https://github.com/reireias/dotfiles/actions) [![Actions Status](https://github.com/reireias/dotfiles/workflows/lint/badge.svg)](https://github.com/reireias/dotfiles/actions) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

# reireias's dotfiles

My dotfiles for Linux and macOS.

Image

Image

Image

## Quick Start

- clone this repository
- `make dotfiles && make dependencies`

## Features

- **Shell**: zsh with [zi](https://github.com/z-shell/zi) plugin manager
- **Prompt**: [powerlevel10k](https://github.com/romkatv/powerlevel10k)
- **Search**: fuzzy file search with [fzf](https://github.com/junegunn/fzf)
- **Editor**: Neovim with [lazy.nvim](https://github.com/folke/lazy.nvim)
- **Terminal Multiplexer**: [tmux](https://github.com/tmux/tmux)

## Details

### Installation
This dotfiles installation is managed by [Ansible](https://docs.ansible.com/) and Makefile.

`make dotfiles` create symbolic links in home directory.
Files are created as symbolic links and directories are created as directories.

`make dependencies` installs packages and plugins.

These implementations can be found in the [ansible](ansible) directory.

### Customize with local rc files
The following script in `.zshrc` allows you to write machine-specific settings in the `.zshrc_local` file, such as a proxy.

```bash
if [[ -e ~/.zshrc_local ]]; then
source ~/.zshrc_local
fi
```

The same is true for vimrc.

## Development
Run lint (shellcheck, ansible-lint)

```console
$ make lint
```

Test .bashrc and .zshrc syntax.

```console
$ make test
```

## Test on Docker

```console
$ docker run --rm -it -u ubuntu reireias/non-root-user-ubuntu:22.04 bash
$ sudo apt update
$ cd
$ git clone https://github.com/reireias/dotfiles.git
$ cd dotfiles
$ make dotfiles
$ make dependencies
$ zsh

# onliner
$ sudo apt update && cd && git clone https://github.com/reireias/dotfiles.git && cd dotfiles && make dotfiles && make dependencies && zsh
```