This repo gathers:
- my collection of configuration files,
- the setup files to install all programs I need,
- the setup script.
I've got a set of configuration files to deploy when configuring a new computer. Some of them are the same whatever the conputer (e.g. vim, git, compton, ...), but some are host-specific.
Concerning host-specific files, what I whant is to build the final file to be deployed based on three files:
- a prefix-file common to all hosts,
- a middle-file depending on the host,
- a post-file common to all hosts.
Both prefix-file and post-file are optional (in case none of them are used, the whole file is host-specific).
The dotfile manager is based on GNU stow.
Each folder located in config (compton, git, ...) is an application.
The applications are divided into those:
- to be deployed for all users (root included),
- to be deployed for non-root-user only.
This is defined in setup.sh.
When deploying an application - let's say i3 -, the application arborescence
~/.dotfiles/config/i3
└── .config
└── i3is copied into the home directory.
~
└── .config
└── i3Then, all application files are linked into the home directory arborescence
~/.config/i3/config -> ~/.dotfiles/config/i3/config
~/.config/i3/lock.sh -> ~/.dotfiles/config/i3/lock.shInstall the dependencies.
$ sudo apt-get install stowPull the repository.
$ git clone https://github.com/etienne-monier/dotfiles.git $HOME/.dotfiles
$ cd $HOME/.dotfilesConfigure the applications to be installed for all users / non-root users in setup.sh.
# Applications for all users (incl. root).
base=(
'zsh'
'vim'
)
# Applications for non-root users.
useronly=(
'git'
'i3'
'compton'
'matplotlib'
'polybar'
'rofi'
'sublime-text'
'ipython'
'vim'
'latexmk'
'texstudio'
)Deploy the applications using the setup.sh script.
$ chmod +x setup.sh
$ ./setup.shThese dotfiles are implemented by Etienne Monier and are distributed under the MIT license.