Cătălin’s dotfiles 
These are the base dotfiles that I start with when I set up a new
environment. For more specific local needs I use the *.local files
described in the Local Settings section.
Table of Contents
Setup
To set up the dotfiles run the appropriate snippet in the terminal:
(setup snippet if you do not fully understand
what it does. Seriously, DON'T!)
| OS | Snippet |
|---|---|
macOS |
bash -c "$(curl -LsS https://raw.github.com/alrra/dotfiles/main/src/os/setup.sh)" |
Ubuntu |
bash -c "$(wget -qO - https://raw.github.com/alrra/dotfiles/main/src/os/setup.sh)" |
That's it!
The setup process will:
- Download the dotfiles on your computer
(by default it will suggest
~/projects/dotfiles). - Create some additional directories.
- Symlink the
git,shell, andvimfiles. - Install applications / command-line tools for
macOS/Ubuntu. - Set custom
macOS/Ubuntupreferences. - Install
vimplugins.
Setup process in action:
![]() |
![]() |
|---|---|
macOS |
Ubuntu |
Customize
Local Settings
The dotfiles can be easily extended to suit additional local
requirements by using the following files:
~/.bash.local
The ~/.bash.local file will be automatically sourced after all
the other bash related files, thus, allowing its content
to add to or overwrite the existing aliases, settings, PATH, etc.
Here is a very simple example of a ~/.bash.local file:
#!/bin/bash
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set local aliases.
alias g="git"
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Set PATH additions.
PATH="$PATH:$HOME/projects/dotfiles/src/bin"
export PATH
~/.gitconfig.local
The ~/.gitconfig.local file will be automatically included after
the configurations from ~/.gitconfig, thus, allowing its content
to overwrite or add to the existing Git configurations.
Note: Use ~/.gitconfig.local to store sensitive information
such as the Git user credentials, e.g.:
[commit]
# Sign commits using GPG.
# https://help.github.com/articles/signing-commits-using-gpg/
gpgSign = true
[user]
name = Cătălin Mariș
email = account@example.com
signingKey = XXXXXXXX~/.vimrc.local
The ~/.vimrc.local file will be automatically sourced after
~/.vimrc, thus, allowing its content to add or overwrite the
settings from ~/.vimrc.
Forks
If you decide to fork this project, do not forget to substitute
my username with your own in the setup snippets and
in the setup script.
Update
To update the dotfiles you can either run the setup script
or, if you want to update one particular part, run the appropriate
os script.
Screenshots
Git
Output for Git status:
![]() |
![]() |
|---|---|
macOS |
Ubuntu |
Output for Git log:
![]() |
![]() |
|---|---|
macOS |
Ubuntu |
tmux & Vim
![]() |
![]() |
|---|---|
macOS |
Ubuntu |
License
The code is available under the MIT license.







