Skip to content

eoli3n/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

6010ada · Jul 1, 2024
May 20, 2021
Nov 6, 2023
Nov 16, 2023
Jul 1, 2024
May 13, 2020
Feb 22, 2022
Nov 14, 2023
Apr 26, 2020
Mar 14, 2024
May 13, 2020
May 23, 2021
Nov 7, 2023
Nov 8, 2020
Mar 24, 2024
May 15, 2020
Apr 11, 2024

Repository files navigation

Sway Acid Dark

Build Status

Sway fish pure waybar neovim

alt tag

Tiny irc client

alt tag

Firefox/Tabliss Wofi

alt tag

Connman/Thunar GTK Theme

alt tag

Why Ansible ?

  • Modularity: Roles as modules.
  • Factorization: It uses jinja2 templating engine.
  • Simplicity: No agent, only SSH, available via pip.
  • Flexibility: Push your dotfiles from/to any hosts.
  • Toolbox: Dry-run mode, diff mode, secrets encryption, tags...

How to

Use carefully, backup your home before using !
You should use --check and --diff to dryrun first.

Check details in roles/*/README.md.

This project only manages dotfiles.
To install required packages, use arch-config, void-config or nix-config.

1. Fork Me!
2. Clone your repo
git clone https://github.com/*/dotfiles

Then, configure desktop environment in group_vars/all.yml.

3. Configure inventory

Create inventory file from template.

cd dotfiles
cp hosts.template hosts

Add your hostnames in section:

  • cli: only cli dotfiles
  • desktop: cli dotfiles + desktop environment
    Define which user will get configurations with ansible_user var.
a. localhost run
[cli]
[desktop]
localhost ansible_connection=local
b. multiple hosts run

Note: desktop hosts can't use root.

[cli]
server1 ansible_user=root
[desktop]
host1 ansible_user=user
host2 ansible_user=user2
4. Configure SSH

Push your SSH public key on all your users@hosts

ssh-copy-id -i path/to/ssh/key.pub user@host
5. (Dry)Run
ansible-playbook install.yml -CD
ansible-playbook install.yml

For desktop hosts, if ansible_user is sudoer, to install cli tools for root, use:

ansible-playbook install.yml -l host1 -b -K

Previously