Add Ansible

This commit is contained in:
sebastian
2025-04-20 19:27:58 +02:00
parent 212b3f36ce
commit afe01be453
3 changed files with 98 additions and 0 deletions

55
dot_bootstrap/setup.yml Normal file
View File

@@ -0,0 +1,55 @@
- name: Role out main Configuration to {{ ansible_hostname }}
hosts: localhost
connection: local
gather_facts: true
become: true
tasks:
- name: Get my user
ansible.builtin.set_fact:
regular_user: "{{ ansible_env.SUDO_USER or ansible_user_id }}"
- name: Install common packages
ansible.builtin.package:
name:
# Terminal tools
- git
- htop
- fzf
- zoxide
- bat
- eza
- duf
- ripgrep
- yazi
- tmux
# Editor
- nvim
# Backup/Restor
#- chezmoi
- rsync
# Network
- mosh
- nmap
- tcpdump
- name: Change shell to zsh
ansible.builtin.user:
name: "{{ regular_user }}"
shell: /usr/bin/zsh
- name: Create fonts directory
ansible.builtin.file:
path: "~{{ regular_user }}/.fonts"
state: directory
mode: "0755"
owner: "{{ regular_user }}"
- name: Installing Nerdfonts
ansible.builtin.unarchive:
src: https://github.com/eliheuer/caskaydia-cove/archive/refs/heads/master.zip
dest: "~{{ regular_user }}/.fonts/"
remote_src: true
mode: "0755"
owner: "{{ regular_user }}"

View File

@@ -0,0 +1,36 @@
#!/bin/bash
install_on_debian() {
sudo apt update
sudo apt install -y ansible
}
install_on_arch() {
sudo pacman -Sy ansible
}
install_linux() {
case $1 in
"Arch"|"EndevourOS")
install_on_arch
;;
"Ubuntu"|"Debian"|"Linuxmint")
install_on_debian
;;
esac
}
OS="$(uname -s)"
case "${OS}" in
Linux*)
if [ -f /etc/os-release ]; then
source /etc/os-release
else
export PRETTY_NAME="$(lsb_release -i | column --table -N Dist,ID,Name -H Dist,ID -d)"
fi
install_linux $PRETTY_NAME
;;
esac
ansible-playbook ~/.bootstrap/setup.yml --ask-become-pass

View File

@@ -0,0 +1,7 @@
#!/bin/bash
# .bootstrap/setup.yml hash: {{ include "dot_bootstrap/setup.yml" | sha256sum }}
if command -v ansible-playbook &> /dev/null; then
ansible-playbook {{ joinPath .chezmoi.sourceDir "dot_bootstrap/setup.yml" | quote }} --ask-become-pass
fi