This repository contains my personal dotfiles. This repository uses Ansible to bootstrap and provision a fresh install of a Fedora >=37 distribution.
Ansible is an IT automation platform that serves as a good base for deploying dotfiles on a target machine: from installing required dependencies to managing and linking configuration files.
- Secrets management:
- Installation of private SSH and GPG keys
- Installation of private environment variables (such as API keys)
- Installation of X.509 certificates
- Installation of base-dependencies
- Git configuration
- Nerd fonts installation
- Installation of development toolchains: python, golang, c/cpp, rust, nodejs, java, maven, ...
- Automatic installation and configuration of the following desktop programs:
- zsh with starship prompt
- kitty terminal emulator
- tmux
- i3
- neovim (with lsp support)
- git and lazygit
- vscode
- google-chrome
- brave-browser
- ...
- ... and much more
Contrary to other solutions for managing dotfiles such as GNU Stow and Dotbot, which I both used in the past, ansible offers more features:
- It can manage and synchronize multiple machines in a network.
- It can do more complex tasks: such as programmatically editing single lines in configuration files, fetching remote sources, performing simple REST API queries.
- It is a better alternative for installing software and for managing the overall dependencies of the system.
- It can store and manage secrets.
Install a fresh Fedora >=37 Gnome distribution.
Simply run:
bash <(curl -Ls https://dparo.github.io/dotfiles)
to bootstrap the dotfiles.
Equivalently you can use the following command:
bash <(curl -s https://raw.githubusercontent.com/dparo/dotfiles/master/scripts/bootstrap.sh)