diff --git a/README.md b/README.md index f249222f..8ff867c1 100644 --- a/README.md +++ b/README.md @@ -14,85 +14,7 @@ ansible-galaxy collection install -r requirements.yml - add native-graphic-designer - add native-developer-basic - add native-workspaces - -# Refactor -```bash -info "Setup, configuration and installation of dependencies for installed software..." - -if pacman -Qi "arduino" > /dev/null ; then - info "Configurate system for arduino..." && - sudo usermod -a -G uucp "$USER" && - sudo usermod -a -G lock "$USER" || error "Couldn't add \"$USER\" to the relevant groups." -fi - -if pacman -Qi "docker" > /dev/null ; then - info "Setting up docker..." && - info "Add current user \"$USER\" to user group docker..." && - sudo usermod -a -G docker "$USER" || error "Failed to add user." - info "Restarting docker service..." && - sudo systemctl restart docker && - info "Disable and stop docker service..." && - sudo systemctl disable --now docker || error "\"systemctl\" produced an error." - info "For performance reasons docker is not enabled. Start docker by executing \"sudo systemctl restart docker\" when you need it." -fi - -if [ ! "$(pacman -Qi "virtualbox")" ] ; then - info "Setting up virtualbox..." && - sudo pacman -S virtualbox "$(pacman -Qsq "^linux" | grep "^linux[0-9]*[-rt]*$" | awk '{print $1"-virtualbox-host-modules"}' ORS=' ')" && - sudo vboxreload && - pamac build virtualbox-ext-oracle && - sudo gpasswd -a "$USER" vboxusers || error - info "Keep in mind to install the guest additions in the virtualized system. See https://wiki.manjaro.org/index.php?title=VirtualBox" -fi - -install_gnome_extension(){ - info "Install GNOME extension \"$1\"..." - extension_folder="$HOME/.local/share/gnome-shell/extensions/$1/" - if [ -d "$extension_folder" ]; - then - if [ -d "$extension_folder"".git" ]; - then - warning "Found a .git repository didn't expect to find this here." && - info "Pulling changes from git..." && - (cd "$extension_folder" && git pull) || error - else - info "No git repository. Extension will not be updated." - fi - else - info "Install..." && - git clone "$2" "$extension_folder" || error - fi - - if [ -f "$extension_folder""Makefile" ]; - then - - tmp_extension_folder="/tmp/$1" - mv "$extension_folder" "$tmp_extension_folder" - info "Compilling extension.." - (cd "$tmp_extension_folder" && make install) || error "Compilation with failed." - - info "Cleaning up tmp-extension folder..."&& - rm -fr "$tmp_extension_folder" || error - - else - info "No Makefile found. Skipping compilation..." - fi - - info "Activating GNOME extension \"$1\"..." && - gnome-extensions enable "$1" || error -} - -if [ "$DESKTOP_SESSION" == "gnome" ]; then - info "Synchronizing gnome tools..." && - install_yay_packages_if_needed "$(get_packages "client/yay/gnome")" || error "Syncronisation failed." - info "Install GNOME extensions..." && - install_gnome_extension "nasa_apod@elinvention.ovh" "https://github.com/Elinvention/gnome-shell-extension-nasa-apod.git" - install_gnome_extension "caffeine@patapon.info" "https://github.com/eonpatapon/gnome-shell-extension-caffeine.git" - info "Deactivating \"Dash to Dock\"..." && - gnome-extensions disable dash-to-dock@micxgx.gmail.com || error - -fi -``` +- add shell-extension-manager # See - https://www.middlewareinventory.com/blog/run-ansible-playbook-locally/ diff --git a/playbook.yml b/playbook.yml index 2a4e2fc0..976d133e 100644 --- a/playbook.yml +++ b/playbook.yml @@ -3,10 +3,14 @@ become: true roles: - native-pacman-update - - native-general - native-administrator - native-caffeine - native-non-free-drivers +- name: native-collection-office + hosts: collection_officetools_hosts + become: true + roles: + - native-collection-office - name: GNOME setup hosts: gnome_hosts become: true diff --git a/roles/application-caffeine/meta/main.yml b/roles/application-caffeine/meta/main.yml new file mode 100644 index 00000000..acdfd860 --- /dev/null +++ b/roles/application-caffeine/meta/main.yml @@ -0,0 +1,3 @@ +dependencies: +- native-aur-helper +- system-gnome \ No newline at end of file diff --git a/roles/native-caffeine/tasks/main.yml b/roles/application-caffeine/tasks/main.yml similarity index 100% rename from roles/native-caffeine/tasks/main.yml rename to roles/application-caffeine/tasks/main.yml diff --git a/roles/native-dia/tasks/main.yml b/roles/application-dia/tasks/main.yml similarity index 100% rename from roles/native-dia/tasks/main.yml rename to roles/application-dia/tasks/main.yml diff --git a/roles/application-docker/tasks/main.yml b/roles/application-docker/tasks/main.yml new file mode 100644 index 00000000..d45a5d61 --- /dev/null +++ b/roles/application-docker/tasks/main.yml @@ -0,0 +1,11 @@ +- name: install docker + community.general.pacman: + name: + - docker + - docker-compose + state: present + +- name: Adding user {{client_username}} to relevant arduino usergroups + user: name={{client_username}} + groups=docker + append=yes diff --git a/roles/native-git/tasks/main.yml b/roles/application-git/tasks/main.yml similarity index 100% rename from roles/native-git/tasks/main.yml rename to roles/application-git/tasks/main.yml diff --git a/roles/native-hunspell/tasks/main.yml b/roles/application-hunspell/tasks/main.yml similarity index 100% rename from roles/native-hunspell/tasks/main.yml rename to roles/application-hunspell/tasks/main.yml diff --git a/roles/application-java/tasks/main.yml b/roles/application-java/tasks/main.yml new file mode 100644 index 00000000..53c98527 --- /dev/null +++ b/roles/application-java/tasks/main.yml @@ -0,0 +1,5 @@ +- name: install java + community.general.pacman: + name: + - jdk11-openjdk + state: present diff --git a/roles/application-virtual-box/Readme.md b/roles/application-virtual-box/Readme.md new file mode 100644 index 00000000..343eba11 --- /dev/null +++ b/roles/application-virtual-box/Readme.md @@ -0,0 +1,9 @@ +# application-virtual-box + +```bash + sudo pacman -S virtualbox "$(pacman -Qsq "^linux" | grep "^linux[0-9]*[-rt]*$" | awk '{print $1"-virtualbox-host-modules"}' ORS=' ')" && + sudo vboxreload && + pamac build virtualbox-ext-oracle && + sudo gpasswd -a "$USER" vboxusers || exit 1 + echo "Keep in mind to install the guest additions in the virtualized system. See https://wiki.manjaro.org/index.php?title=VirtualBox" +``` \ No newline at end of file diff --git a/roles/native-administrator/meta/main.yml b/roles/collection-administrator-tools-base/meta/main.yml similarity index 100% rename from roles/native-administrator/meta/main.yml rename to roles/collection-administrator-tools-base/meta/main.yml diff --git a/roles/native-administrator/tasks/main.yml b/roles/collection-administrator-tools-base/tasks/main.yml similarity index 100% rename from roles/native-administrator/tasks/main.yml rename to roles/collection-administrator-tools-base/tasks/main.yml diff --git a/roles/collection-administrator-tools-network-analyze/meta/main.yml b/roles/collection-administrator-tools-network-analyze/meta/main.yml new file mode 100644 index 00000000..cf8941d7 --- /dev/null +++ b/roles/collection-administrator-tools-network-analyze/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- collection-administrator-tools-base \ No newline at end of file diff --git a/roles/collection-administrator-tools-network-analyze/tasks/main.yml b/roles/collection-administrator-tools-network-analyze/tasks/main.yml new file mode 100644 index 00000000..3691918c --- /dev/null +++ b/roles/collection-administrator-tools-network-analyze/tasks/main.yml @@ -0,0 +1,7 @@ +- name: install administrator network analyze tools + community.general.pacman: + name: + - traceroute + - wireshark-qt + - wireshark-cli + state: present diff --git a/roles/collection-developer-tools-arduino/meta/main.yml b/roles/collection-developer-tools-arduino/meta/main.yml new file mode 100644 index 00000000..a0a02398 --- /dev/null +++ b/roles/collection-developer-tools-arduino/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- collection-developer-tools-base \ No newline at end of file diff --git a/roles/collection-developer-tools-arduino/tasks/main.yml b/roles/collection-developer-tools-arduino/tasks/main.yml new file mode 100644 index 00000000..07edb31d --- /dev/null +++ b/roles/collection-developer-tools-arduino/tasks/main.yml @@ -0,0 +1,11 @@ +- name: install arduino developer tools + community.general.pacman: + name: + - arduino + - arduino-docs + state: present + +- name: Adding user {{client_username}} to relevant arduino usergroups + user: name={{client_username}} + groups=uucp lock + append=yes diff --git a/roles/collection-developer-tools-base/meta/main.yml b/roles/collection-developer-tools-base/meta/main.yml new file mode 100644 index 00000000..cf8941d7 --- /dev/null +++ b/roles/collection-developer-tools-base/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- collection-administrator-tools-base \ No newline at end of file diff --git a/roles/collection-developer-tools-base/tasks/main.yml b/roles/collection-developer-tools-base/tasks/main.yml new file mode 100644 index 00000000..2f983f45 --- /dev/null +++ b/roles/collection-developer-tools-base/tasks/main.yml @@ -0,0 +1,5 @@ +- name: install base developer tools + community.general.pacman: + name: + - code + state: present diff --git a/roles/collection-developer-tools-bash/meta/main.yml b/roles/collection-developer-tools-bash/meta/main.yml new file mode 100644 index 00000000..a0a02398 --- /dev/null +++ b/roles/collection-developer-tools-bash/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- collection-developer-tools-base \ No newline at end of file diff --git a/roles/collection-developer-tools-bash/tasks/main.yml b/roles/collection-developer-tools-bash/tasks/main.yml new file mode 100644 index 00000000..e771680d --- /dev/null +++ b/roles/collection-developer-tools-bash/tasks/main.yml @@ -0,0 +1,5 @@ +- name: install bash developer tools + community.general.pacman: + name: + - shellcheck + state: present diff --git a/roles/collection-developer-tools-java/meta/main.yml b/roles/collection-developer-tools-java/meta/main.yml new file mode 100644 index 00000000..8b24dd36 --- /dev/null +++ b/roles/collection-developer-tools-java/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- application-java \ No newline at end of file diff --git a/roles/collection-developer-tools-php/meta/main.yml b/roles/collection-developer-tools-php/meta/main.yml new file mode 100644 index 00000000..a0a02398 --- /dev/null +++ b/roles/collection-developer-tools-php/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- collection-developer-tools-base \ No newline at end of file diff --git a/roles/collection-developer-tools-php/tasks/main.yml b/roles/collection-developer-tools-php/tasks/main.yml new file mode 100644 index 00000000..195f723d --- /dev/null +++ b/roles/collection-developer-tools-php/tasks/main.yml @@ -0,0 +1,5 @@ +- name: install php developer tools + community.general.pacman: + name: + - php + state: present diff --git a/roles/collection-developer-tools-python/meta/main.yml b/roles/collection-developer-tools-python/meta/main.yml new file mode 100644 index 00000000..a0a02398 --- /dev/null +++ b/roles/collection-developer-tools-python/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- collection-developer-tools-base \ No newline at end of file diff --git a/roles/collection-developer-tools-python/tasks/main.yml b/roles/collection-developer-tools-python/tasks/main.yml new file mode 100644 index 00000000..6becf91b --- /dev/null +++ b/roles/collection-developer-tools-python/tasks/main.yml @@ -0,0 +1,5 @@ +- name: install python developer tools + community.general.pacman: + name: + - python + state: present diff --git a/roles/native-games/tasks/main.yml b/roles/collection-games/tasks/main.yml similarity index 100% rename from roles/native-games/tasks/main.yml rename to roles/collection-games/tasks/main.yml diff --git a/roles/collection-office-tools/meta/main.yml b/roles/collection-office-tools/meta/main.yml new file mode 100644 index 00000000..a5fa2770 --- /dev/null +++ b/roles/collection-office-tools/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- native-libreoffice \ No newline at end of file diff --git a/roles/collection-office-tools/tasks/main.yml b/roles/collection-office-tools/tasks/main.yml new file mode 100644 index 00000000..28357887 --- /dev/null +++ b/roles/collection-office-tools/tasks/main.yml @@ -0,0 +1,6 @@ +- name: install shutter + community.general.pacman: + name: + - chromium + - shutter + state: present diff --git a/roles/collection-security-tools/tasks/main.yml b/roles/collection-security-tools/tasks/main.yml new file mode 100644 index 00000000..c1db09fa --- /dev/null +++ b/roles/collection-security-tools/tasks/main.yml @@ -0,0 +1,7 @@ +- name: install security tools + community.general.pacman: + name: + - ecryptfs-utils + - encfs + - keepassxc + state: present diff --git a/roles/native-epson-multiprinter/Readme.md b/roles/driver-epson-multiprinter/Readme.md similarity index 100% rename from roles/native-epson-multiprinter/Readme.md rename to roles/driver-epson-multiprinter/Readme.md diff --git a/roles/native-caffeine/meta/main.yml b/roles/driver-epson-multiprinter/meta/main.yml similarity index 100% rename from roles/native-caffeine/meta/main.yml rename to roles/driver-epson-multiprinter/meta/main.yml diff --git a/roles/native-epson-multiprinter/tasks/main.yml b/roles/driver-epson-multiprinter/tasks/main.yml similarity index 100% rename from roles/native-epson-multiprinter/tasks/main.yml rename to roles/driver-epson-multiprinter/tasks/main.yml diff --git a/roles/native-msi-perkeyrgb/Readme.md b/roles/driver-msi-perkeyrgb/Readme.md similarity index 100% rename from roles/native-msi-perkeyrgb/Readme.md rename to roles/driver-msi-perkeyrgb/Readme.md diff --git a/roles/native-epson-multiprinter/meta/main.yml b/roles/driver-msi-perkeyrgb/meta/main.yml similarity index 100% rename from roles/native-epson-multiprinter/meta/main.yml rename to roles/driver-msi-perkeyrgb/meta/main.yml diff --git a/roles/native-msi-perkeyrgb/tasks/main.yml b/roles/driver-msi-perkeyrgb/tasks/main.yml similarity index 100% rename from roles/native-msi-perkeyrgb/tasks/main.yml rename to roles/driver-msi-perkeyrgb/tasks/main.yml diff --git a/roles/native-non-free-drivers/tasks/main.yml b/roles/driver-non-free/tasks/main.yml similarity index 100% rename from roles/native-non-free-drivers/tasks/main.yml rename to roles/driver-non-free/tasks/main.yml diff --git a/roles/native-docker/tasks/main.yml b/roles/native-docker/tasks/main.yml deleted file mode 100644 index 75af8363..00000000 --- a/roles/native-docker/tasks/main.yml +++ /dev/null @@ -1,6 +0,0 @@ -- name: Install docker - community.general.pacman: - name: - - docker - - docker-compose - state: present diff --git a/roles/native-general/tasks/main.yml b/roles/native-general/tasks/main.yml index 81eed79d..fe441439 100644 --- a/roles/native-general/tasks/main.yml +++ b/roles/native-general/tasks/main.yml @@ -1,43 +1,17 @@ - name: install general software community.general.pacman: name: - # programing language interpreters - #- jdk11-openjdk - #- python - #- php - # description language interpreters #- texlive-most # compression tools #- p7zip - # network analyze tools - #- traceroute - #- wireshark-qt - #- wireshark-cli - - # security tools - #- ecryptfs-utils - #- encfs - #- keepassxc - - # browsers - - chromium - # video/picture manipulation #- gimp #- blender #- obs-studio - # code quality tools - #- shellcheck - - # ide's - #- atom - #- arduino - #- arduino-docs - # virtualization tools #- qemu state: present diff --git a/roles/native-gnome/tasks/main.yml b/roles/native-gnome/tasks/main.yml deleted file mode 100644 index 778451f9..00000000 --- a/roles/native-gnome/tasks/main.yml +++ /dev/null @@ -1,15 +0,0 @@ -- name: Install Gnome Software - community.general.pacman: - name: - - gnome-shell-extensions - - gnome-shell-extension-desktop-icons-ng - - gnome-terminal - state: present - -- name: GNOME Activate Extensions - ansible.builtin.shell: gsettings set org.gnome.shell disable-user-extensions false - become: false - -- name: GNOME Set favorite apps - ansible.builtin.shell: gsettings set org.gnome.shell favorite-apps "{{favorite_apps}}" - become: false diff --git a/roles/native-msi-perkeyrgb/meta/main.yml b/roles/native-msi-perkeyrgb/meta/main.yml deleted file mode 100644 index 795fd094..00000000 --- a/roles/native-msi-perkeyrgb/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: -- native-aur-helper \ No newline at end of file diff --git a/roles/native-ssh/tasks copy/main.yml b/roles/native-ssh/tasks copy/main.yml deleted file mode 100644 index 738d4211..00000000 --- a/roles/native-ssh/tasks copy/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: Install caffeine - kewlfft.aur.aur: - use: yay - name: - - caffeine-ng \ No newline at end of file diff --git a/roles/native-aur-helper/Readme.md b/roles/system-aur-helper/Readme.md similarity index 100% rename from roles/native-aur-helper/Readme.md rename to roles/system-aur-helper/Readme.md diff --git a/roles/native-aur-helper/tasks/main.yml b/roles/system-aur-helper/tasks/main.yml similarity index 100% rename from roles/native-aur-helper/tasks/main.yml rename to roles/system-aur-helper/tasks/main.yml diff --git a/roles/native-gnome/Readme.md b/roles/system-gnome/Readme.md similarity index 100% rename from roles/native-gnome/Readme.md rename to roles/system-gnome/Readme.md diff --git a/roles/system-gnome/tasks/main.yml b/roles/system-gnome/tasks/main.yml new file mode 100644 index 00000000..5ae505e8 --- /dev/null +++ b/roles/system-gnome/tasks/main.yml @@ -0,0 +1,27 @@ +- name: Install Gnome Software + community.general.pacman: + name: + - gnome-shell-extensions + - gnome-shell-extension-desktop-icons-ng + - gnome-terminal + state: present + +- name: GNOME Activate Extensions + ansible.builtin.shell: gsettings set org.gnome.shell disable-user-extensions false + become: false + +- name: GNOME Set favorite apps + ansible.builtin.shell: gsettings set org.gnome.shell favorite-apps "{{favorite_apps}}" + become: false + +- name: pull CLI GNOME Extension manager script + git: + repo: "git@github.com:kevinveenbirkenbach/cli-gnome-extension-manager.git" + dest: "$HOME/Repositories/github.com/kevinveenbirkenbach/cli-gnome-extension-manager" + update: yes + become: false + +- name: Execute CLI GNOME Extension manager script + ansible.builtin.shell: bash "/home/{{client_username}}/Repositories/github.com/kevinveenbirkenbach/cli-gnome-extension-manager/gnome-extension-manager.sh" "{{ item[0] }}" "{{ item[1] }}" "{{ item[2] }}" + loop: "{{gnome_extensions}}" + become: true diff --git a/roles/native-pacman-update/tasks/main.yml b/roles/system-pacman/tasks/main.yml similarity index 100% rename from roles/native-pacman-update/tasks/main.yml rename to roles/system-pacman/tasks/main.yml diff --git a/roles/native-ssh/meta/main.yml b/roles/system-swapfile/meta/main.yml similarity index 100% rename from roles/native-ssh/meta/main.yml rename to roles/system-swapfile/meta/main.yml diff --git a/roles/native-swapfile/tasks/main.yml b/roles/system-swapfile/tasks/main.yml similarity index 100% rename from roles/native-swapfile/tasks/main.yml rename to roles/system-swapfile/tasks/main.yml diff --git a/roles/native-libreoffice/meta/main.yml b/roles/tool-libreoffice/meta/main.yml similarity index 100% rename from roles/native-libreoffice/meta/main.yml rename to roles/tool-libreoffice/meta/main.yml diff --git a/roles/native-libreoffice/tasks/main.yml b/roles/tool-libreoffice/tasks/main.yml similarity index 100% rename from roles/native-libreoffice/tasks/main.yml rename to roles/tool-libreoffice/tasks/main.yml diff --git a/roles/native-nextcloud-client/tasks/main.yml b/roles/tool-nextcloud-client/tasks/main.yml similarity index 100% rename from roles/native-nextcloud-client/tasks/main.yml rename to roles/tool-nextcloud-client/tasks/main.yml diff --git a/roles/native-nextcloud-client/vars/main.yml b/roles/tool-nextcloud-client/vars/main.yml similarity index 100% rename from roles/native-nextcloud-client/vars/main.yml rename to roles/tool-nextcloud-client/vars/main.yml diff --git a/roles/native-swapfile/meta/main.yml b/roles/tool-ssh-client/meta/main.yml similarity index 100% rename from roles/native-swapfile/meta/main.yml rename to roles/tool-ssh-client/meta/main.yml diff --git a/roles/native-ssh/tasks/main.yml b/roles/tool-ssh-client/tasks/main.yml similarity index 100% rename from roles/native-ssh/tasks/main.yml rename to roles/tool-ssh-client/tasks/main.yml diff --git a/roles/native-torbrowser/tasks/main.yml b/roles/tool-torbrowser/tasks/main.yml similarity index 100% rename from roles/native-torbrowser/tasks/main.yml rename to roles/tool-torbrowser/tasks/main.yml