Skip to content

Curs3W4ll/Dotfiles

Repository files navigation

Dotfiles

Latest commit

Personal Dotfiles. More information is in the wiki DeploymentZshNeovimTerminator Screenshots

Hey you, what's up? 👋

If you are here, you probably want to check my configuration for one of the tools I use (zsh, neovim...). 💻 Here are some things you should know before diving in. 🛀

First, you should know this repository comes from Github :octocat:, if you are already on Github jump to the next paragraph. The GitHub repository provides more features and links (wiki...) so it is recommended to see this repository on Github.

I manage my dotfiles using chezmoi. 🏠 More information in the deployment section.

I'm maintaining these configurations (except for the old Neovim vimscript one), so you can report bugs and see what I plan to do (help is welcomed 💌).

Deployment

chezmoi

As said before, I use chezmoi to manage my configuration. chezmoi is a Dotfiles manager CLI with many cool features, it can handle files, templates, secrets and more. If you just want to use one of my configuration without syncing all of them, do not use chezmoi and use installers per configuration.

More information and tips for chezmoi

How does chezmoi works?

chezmoi is just an add-on script on top of a Git repository. It will be linked to a Git repository and will sync your files and more using this repository.

Using chezmoi, you can't select the files you want to sync, but you can do this using installers per configuration

Install chezmoi

sh -c "$(curl -fsLS get.chezmoi.io)"

See official installation methods.

Use these dotfiles on a new machine

chezmoi init --apply Curs3W4ll

As Curs3W4ll is my username, so chezmoi will retrieve my Dotfiles repository on my account.

Sync to the latest dotfiles version

chezmoi update

See changes with the latest dotfiles version without applying any change

chezmoi git pull -- --autostash --rebase && chezmoi diff

And you can apply these changes using

chezmoi apply

Installers per configuration

To help you install only the configurations you want, you can use the following commands:

ZSH

ZSH installer

Execute the following command to install my ZSH configuration. See configuration details.

sh -c 'rm -f /tmp/zshInstaller.sh && curl -H "Cache-Control: no-cache, no-store" -fLo /tmp/zshInstaller.sh --create-dirs "https://raw.githubusercontent.com/Curs3W4ll/Dotfiles/main/installers/ZSH.sh" && chmod +x /tmp/zshInstaller.sh && /tmp/./zshInstaller.sh'
Terminator

Terminator installer

Execute the following command to install my Terminator configuration. See configuration details.

sh -c 'rm -f /tmp/terminatorInstaller.sh && curl -H "Cache-Control: no-cache, no-store" -fLo /tmp/terminatorInstaller.sh --create-dirs "https://raw.githubusercontent.com/Curs3W4ll/Dotfiles/main/installers/Terminator.sh" && chmod +x /tmp/terminatorInstaller.sh && /tmp/./terminatorInstaller.sh'
Git

Git installer

Execute the following command to install my Git configuration. See configuration details.

sh -c 'rm -f /tmp/gitInstaller.sh && curl -H "Cache-Control: no-cache, no-store" -fLo /tmp/gitInstaller.sh --create-dirs "https://raw.githubusercontent.com/Curs3W4ll/Dotfiles/main/installers/Git.sh" && chmod +x /tmp/gitInstaller.sh && /tmp/./gitInstaller.sh'
Neovim

Neovim installer

Execute the following command to install my Neovim configuration (Lua version). See configuration details.

sh -c 'rm -f /tmp/nvimLuaInstaller.sh && curl -H "Cache-Control: no-cache, no-store" -fLo /tmp/nvimLuaInstaller.sh --create-dirs "https://raw.githubusercontent.com/Curs3W4ll/Dotfiles/main/installers/Neovim_lua.sh" && chmod +x /tmp/nvimLuaInstaller.sh && /tmp/./nvimLuaInstaller.sh'
Old Vimscript version

If you want to install the older version of my Neovim configuration (using Vimscript), execute the following command. See configuration details.

⚠️ This configuration is not maintained anymore, use it at your own risk

sh -c 'rm -f /tmp/nvimVSInstaller.sh && curl -H "Cache-Control: no-cache, no-store" -fLo /tmp/nvimVSInstaller.sh --create-dirs "https://raw.githubusercontent.com/Curs3W4ll/Dotfiles/main/installers/Neovim_vimscript.sh" && chmod +x /tmp/nvimVSInstaller.sh && /tmp/./nvimVSInstaller.sh'

What's in this?

In this Dotfiles repository, you will find configurations I use, more details below.

You will also find some documentation about common topics in the wiki.


ZSH

My ZSH configuration defines aliases, colors and other things.
My ZSH configuration uses OhMyZSH with plugins and the p10k theme.

More information in the wiki


Terminator

My Terminator configuration defines how the Terminator will look.
It will also enable new key binds to make Terminator more easy to use.

More information in the wiki


ITerm2

My ITerm2 configuration defines how the settings for ITerm2 (settings & profiles).

More information in the wiki


Git

My Git configuration defines simple config such as the username and email used when committing changes.

More information in the wiki


Neovim

I previously used a Vimscript Neovim configuration I have built myself on over 2 years. But I wanted to change to the new Lua technology and refresh a bit my configuration.

So I started a new Neovim configuration from scratch using Lua. The goal of this configuration is to boost Neovim as much as possible and I want to make this configuration evolve as much as possible.
The idea of this configuration is to be upgraded continuously and frequently. I also want to maintain this configuration, so if you find any bug or want a new feature, please create a new issue.

More information in the wiki

Old Vimscript version

I have used my old Vimscript configuration for more than 2 years and it's working great, but I wanted to change to the new Lua technology and refresh a bit my configuration.
So as you may already understand, I do not use this configuration anymore and I do not (I don't want to) maintain it.

⚠️ If you want to use it, do it at your own risks, I will not provide you any help.

More information in the wiki