Dotfiles

curol/dotfiles

Minimalistic dotfiles.

1. Stack

2. Getting started

Install dependencies, clone repo, and install dotfiles. For an uninteractive terminal, use option -f, ./dotfiles/install.sh -f.

Requirements

If requirements are not installed, install requirements using your package manager.

2.1. Ubuntu/Debian

For ubuntu/debian, use package manager apt

1.) Install packages

sudo apt-get update && sudo apt-get upgrade
sudo apt-get install -y zsh fzf ripgrep fd-find bat rsync git curl wget

2.) Link fdfind to fd

ln -s $(which fdfind) /usr/bin/fd

3.) Install bat extras

    BAT_EXTRAS_PATH="${XDG_DATA_HOME:-$HOME/.local/share}/bat-extras"

    git clone https://github.com/eth-p/bat-extras "$BAT_EXTRAS_PATH"

    "$BAT_EXTRAS_PATH/build.sh" --install

4.) Clone repo

git clone https://github.com/curol/dotfiles ~/dotfiles

5.) Install dotfiles

./dotfiles/install.sh

For an uninteractive terminal, use option -f

 ./dotfiles/install.sh -f

2.2. Mac

For mac, use package manager brew

1.) Install packages

brew install fzf ripgrep fd-find bat rsync git zsh curl wget eth-p/software/bat-extras

2.) Clone repo

git clone https://github.com/curol/dotfiles ~/dotfiles

3.) Install dotfiles

./dotfiles/install.sh

3. Reference

.
├── .aliases
├── .exports
├── .p10k.zsh
├── .zprofile
├── .zshenv
├── .zshrc
└── .config
    ├── brew
    │   └── packages.txt
    ├── fzf
    │   ├── completions.zsh
    │   ├── fzf.zsh
    │   └── keybindings.zsh
    ├── iterm2
    │   ├── Default.json
    │   ├── default-and-natural-keybindings.itermkeymap
    │   └── default-keybindings.itermkeymap
    ├── nvim
    │   ├── .gitignore
    │   ├── .neoconf.json
    │   ├── LICENSE
    │   ├── init.lua
    │   ├── stylua.toml
    │   └── lua
    │       ├── config
    │       │   ├── autocmds.lua
    │       │   ├── keymaps.lua
    │       │   ├── lazy.lua
    │       │   └── options.lua
    │       └── plugins
    │           └── example.lua
    └── vscode
        └── js.code-profile

10 directories, 24 files
  • .zshenv - Runs on every new command.

  • .zprofile - Runs only once on an interactive login shell session. Commands in .zprofile should be variables that take some time to complete and/or variables not updated frequently.

  • .zshrc - Runs on every interactive shell session. Commands in .zshrc should be: - command completion, correction, suggestion, highlighting

    • aliases

    • key bindings

    • commands history management

    • set any variables that are only used in the interactive shell $LS_COLORS.

  • .aliases - Stores aliases for shell. Current aliases are oppionionated.

  • .exports - Stores shared environment variables for zsh/bash.

  • .p10k.zsh - Config for powerlevel10k terminal prompt.

  • .config - Directory for user-specific configuration files.