This repo contains the configuration for my system. The installation of software is done using Ansible. All the configuration files are managed using Stow.
First clone this repo to a location where you want to manage your config files from. For example:
git clone --recurse-submodules https://github.com/NMD03/dotfiles ~/.dotfiles
You can start a complete setup of a system including the installation of software as well as creating the symlinks for the config files using the installation script:
./install.sh
To update your config files you can update them in this repo and run the makefile:
make
To delete all symlinks created by this repo you can use the makefile:
make delete
If you only want to install the software you can run the setup.yml using Ansible:
ansible-playbook --ask-become-pass setup.yml
install.sh
is the installation script that does the following steps:
- run OS-specific installation script that installs packages to enable ansible setup
- run ansible roles based on the seutp.yml config
- handels directory conflicts that might occur on the running system
- runs the makefile that uses stow to create symlinks
- Add Nvim Mason dependencies to be installed automatically