• Stars
    star
    497
  • Rank 88,652 (Top 2 %)
  • Language
    Shell
  • Created over 8 years ago
  • Updated 5 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Sway acid dark

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