Compare commits

..

No commits in common. "main" and "testing" have entirely different histories.

9 changed files with 35 additions and 38 deletions

2
.gitignore vendored
View File

@ -1,5 +1,3 @@
environments
inventories
.vagrant .vagrant
.vagrant_settings .vagrant_settings
.vscode .vscode

3
Vagrantfile vendored
View File

@ -45,7 +45,6 @@ Vagrant.configure("2") do |config|
config.vm.provision "ansible" do |ansible| config.vm.provision "ansible" do |ansible|
ENV['ANSIBLE_ROLES_PATH'] = File.dirname(__FILE__) + "/roles" ENV['ANSIBLE_ROLES_PATH'] = File.dirname(__FILE__) + "/roles"
ansible.compatibility_mode = "2.0" ansible.compatibility_mode = "2.0"
ansible.playbook = "dev/workstation.yml" ansible.playbook = "site-vagrant.yml"
ansible.raw_arguments = ["--diff"]
end end
end end

View File

@ -9,27 +9,20 @@ packages:
# Virtualization # Virtualization
- qemu-system - qemu-system
- libvirt-daemon-system
- vagrant-libvirt - vagrant-libvirt
- virt-manager - libvirt-daemon-system
# Configuration management
- ansible
users: users:
- name: vagrant - name: vagrant
groups: groups:
- libvirt - libvirt
#manage_gui: true favorites:
- firefox-esr.desktop
- terminator.desktop
- org.kde.dolphin.desktop
- org.remmina.Remmina.desktop
#darkmode: true pinned:
#favorites: - firefox-esr.desktop
# - firefox-esr.desktop - terminator.desktop
# - terminator.desktop
# - org.kde.dolphin.desktop
# - org.remmina.Remmina.desktop
#pinned:
# - firefox-esr.desktop
# - terminator.desktop

View File

@ -1,9 +1,7 @@
darkmode: false
development: false
homedir: "/home/{{ item.name }}" homedir: "/home/{{ item.name }}"
# Follows homelab package list: # Follows homelab package list:
# https://git.krislamo.org/kris/homelab/src/branch/main/roles/base/defaults/main.yml#L6 # https://github.com/krislamo/homelab/blob/main/roles/base/defaults/main.yml#L5
homelab_packages: homelab_packages:
- apache2-utils - apache2-utils
- cryptsetup - cryptsetup
@ -21,6 +19,5 @@ homelab_packages:
- vim - vim
- wget - wget
manage_gui: false
packages: packages:
- "{{ homelab_packages }}" - "{{ homelab_packages }}"

View File

@ -3,3 +3,4 @@
name: vagrant name: vagrant
password: "$6$xu0I8bbf.Nva7uCo$OHz5/64u0SjHa1jn0EwCLSNw7Zoj5ejhL\ password: "$6$xu0I8bbf.Nva7uCo$OHz5/64u0SjHa1jn0EwCLSNw7Zoj5ejhL\
6NtaXYY6zlC0CQa0J4kZIxAp2Ls4lMdLmuo7oMQX/vlDucR9BbcA." 6NtaXYY6zlC0CQa0J4kZIxAp2Ls4lMdLmuo7oMQX/vlDucR9BbcA."

View File

@ -5,17 +5,15 @@
update_cache: true update_cache: true
- name: Create autostart-scripts directory - name: Create autostart-scripts directory
ansible.builtin.file: file:
path: "{{ homedir }}/.config/autostart-scripts/" path: "{{ homedir }}/.config/autostart-scripts/"
state: directory state: directory
owner: "{{ item.name }}" owner: "{{ item.name }}"
group: "{{ item.name }}" group: "{{ item.name }}"
mode: 0700
loop: "{{ users }}" loop: "{{ users }}"
when: manage_gui
- name: Enable KDE dark theme - name: Enable KDE dark theme
ansible.builtin.copy: copy:
dest: "{{ homedir }}/.config/autostart-scripts/darkmode.sh" dest: "{{ homedir }}/.config/autostart-scripts/darkmode.sh"
mode: a+x mode: a+x
content: | content: |
@ -24,13 +22,16 @@
lookandfeeltool -a $(lookandfeeltool --list | grep dark) lookandfeeltool -a $(lookandfeeltool --list | grep dark)
fi fi
loop: "{{ users }}" loop: "{{ users }}"
when: manage_gui and darkmode
- name: Install packages
ansible.builtin.apt:
name: "{{ item }}"
loop: "{{ packages }}"
- name: Install sqlite3 - name: Install sqlite3
ansible.builtin.apt: ansible.builtin.apt:
name: sqlite3 name: sqlite3
state: present state: present
when: manage_gui and favorites is defined or pinned is defined
- name: Change favorites menu - name: Change favorites menu
ansible.builtin.template: ansible.builtin.template:
@ -38,7 +39,6 @@
dest: "{{ homedir }}/.config/autostart-scripts/favorites.sh" dest: "{{ homedir }}/.config/autostart-scripts/favorites.sh"
mode: a+x mode: a+x
loop: "{{ users }}" loop: "{{ users }}"
when: manage_gui and favorites is defined
- name: Change task manager pinned apps - name: Change task manager pinned apps
ansible.builtin.template: ansible.builtin.template:
@ -46,4 +46,11 @@
dest: "{{ homedir }}/.config/autostart-scripts/pinnedapps.sh" dest: "{{ homedir }}/.config/autostart-scripts/pinnedapps.sh"
mode: a+x mode: a+x
loop: "{{ users }}" loop: "{{ users }}"
when: manage_gui and pinned is defined
- name: Ensure we have our own comment added to /etc/services
ansible.builtin.lineinfile:
path: "{{ homedir }}/.config/autostart-scripts/pinnedapps.sh"
regexp: '^# port for http'
insertbefore: '^www.*80/tcp'
line: '# port for http by default'
loop: "{{ users }}"

View File

@ -9,8 +9,15 @@
name: "{{ item.name }}" name: "{{ item.name }}"
state: present state: present
groups: "{{ item.groups }}" groups: "{{ item.groups }}"
append: true append: yes
shell: "{{ item.shell | default('/bin/bash') }}" shell: "{{ item.shell | default('/bin/bash') }}"
create_home: "{{ item.home | default(false) }}" create_home: "{{ item.home | default(false) }}"
loop: "{{ users }}" loop: "{{ users }}"
when: users is defined when: users is defined
- name: Change favorites menu
ansible.builtin.template:
src: favorites.sh.j2
dest: "{{ homedir }}/.config/autostart-scripts/favorites.sh"
mode: a+x
loop: "{{ users }}"

View File

@ -1,5 +0,0 @@
- name: Install Workstation
hosts: localhost
become: true
roles:
- common