Browse Source

working on desktop workstation playbook

AETH-erial 11 months ago
parent
commit
69b1fe3e4c

+ 4 - 0
.gitignore

@@ -67,3 +67,7 @@ inventory
 host_vars/
 
 
+temp_*
+
+inventory*
+

+ 5 - 0
extra_vars.yml

@@ -0,0 +1,5 @@
+---
+system_user: ""
+dotfile_repo: ""
+wallpaper_repo: ""
+machine_type: ""

+ 0 - 0
files/packages.txt → files/workstations/packages.txt


+ 15 - 6
playbook_configure_desktop.yml

@@ -1,10 +1,19 @@
 ---
-- name: "00: PRE-TASK clone dotfiles"
+- name: "Configuring desktops"
+  hosts: "workstations"
+  pre_tasks:
+    - name: "00: PRE-TASK clone dotfiles"
+      ansible.builtin.include_tasks: "tasks/task_clone_dotfiles.yml"
 
-- name: "10: PRE-TASK clone wallpapers"
+    - name: "10: PRE-TASK clone wallpapers"
+      ansible.builtin.include_tasks: "tasks/task_clone_wallpaper.yml"
 
-- name: "20: CREATE USER"
+  tasks:
+    - name: "00: Install vim plug manager"
+      - ansible.builtin.include_tasks: "tasks/task_install_vimplug.yml"
+    
+    - name: "10: INSTALL PACKAGES"
+      ansible.builtin.include_tasks: "tasks/task_install_packages.yml"
 
-- name: "30: INSTALL PACKAGES"
-
-- name: "40: SYSTEM CONFIGURATION NONSENSE"
+    - name: "20: SYSTEM CONFIGURATION NONSENSE"
+      ansible.builtin.include_tasks: "tasks/task_system_configuration_nonsense.yml"

+ 19 - 0
tasks/task_create_user.yml

@@ -0,0 +1,19 @@
+---
+- name: "10: Create user account"
+  ansible.builtin.user:
+    name: "aeth"
+    shell: "/bin/zsh"
+    groups: "wheel"
+    append: "yes"
+    generate_ssh_key: "yes"
+    ssh_key_bits: 2048
+    ssh_key_type: "ed25519"
+    ssh_key_file: ".ssh/id_ed25519"
+
+
+- name: "20: Set user password"
+  ansible.builtin.user:
+    name: "aeth"
+    update_password: "always"
+    password: "{{ domain_wide_password|password_hash('sha512') }}"
+

+ 12 - 0
tasks/task_install_alacritty_themes.yml

@@ -0,0 +1,12 @@
+---
+- name: "10: Create alacritty themes directory"
+  ansible.builtin.file:
+    path: "/home/{{ system_user }}/.config/alacritty/themes"
+    state: "directory"
+    recurse: True
+  
+- name: "20: Clone the alacritty themes"
+  ansible.builtin.git:
+    repo: "https://github.com/alacritty/alacritty-theme.git"
+    dest: "/home/{{ system_user }}/.config/alacritty/themes"
+

+ 18 - 0
tasks/task_install_packages.yml

@@ -0,0 +1,18 @@
+---
+- name: "10: Determine needed system packages"
+  ansible.builtin.set_fact:
+    packages: "{{ lookup('ansible.builtin.fule', '{{ item }}') | trim }}"
+  with_first_found:
+    - "files/{{ machine_type }}/{{ use_case }}/packages.txt"
+    - "files/{{ machine_type }}/packages.txt"
+    - "files/packages.txt"
+
+- name: "20: Install packages"
+  become: True
+  ansible.builtin.packages:
+    name: "{{ _package_name }}" 
+    state: "present"
+  loop: "{{ packages.splitlines() }}"
+  loop_control:
+    loop_var: "_package_name"
+

+ 11 - 0
tasks/task_install_vimplug.yml

@@ -0,0 +1,11 @@
+---
+- name: "00: Create vim plug directories"
+  ansible.builtin.file:
+    path: "/home/{{ system_user }}/.vim/autoload"
+    state: "directory"
+    recurse: True
+
+- name: "10: Download vim plug files"
+  ansible.builtin.get_url:
+    url: "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim"
+    dest: "/home/{{system_user }}/.vim/autoload/plug.vim"