diff --git a/dot_bootstrap/setup.yml b/dot_bootstrap/setup.yml new file mode 100644 index 0000000..5c48186 --- /dev/null +++ b/dot_bootstrap/setup.yml @@ -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 }}" + diff --git a/run_once_install_ansible.sh b/run_once_install_ansible.sh new file mode 100644 index 0000000..d37b82b --- /dev/null +++ b/run_once_install_ansible.sh @@ -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 diff --git a/run_onchange_bootstrap.sh.tmpl b/run_onchange_bootstrap.sh.tmpl new file mode 100644 index 0000000..3859854 --- /dev/null +++ b/run_onchange_bootstrap.sh.tmpl @@ -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