From 73921527e32c8f0860faf7d9836bc0f098ec3f76 Mon Sep 17 00:00:00 2001 From: Tobias Maier Date: Mon, 13 Jun 2022 22:18:13 +0200 Subject: [PATCH] Complete refractoring --- arch_gnome.yml | 80 ++------------------------- arch_wsl.yaml | 113 ++++---------------------------------- modules/base.yml | 26 +++++++++ modules/base_packages.yml | 7 +++ modules/paru.yml | 20 +++++++ modules/userstuff.yml | 36 ++++++++++++ 6 files changed, 105 insertions(+), 177 deletions(-) create mode 100644 modules/base.yml create mode 100644 modules/base_packages.yml create mode 100644 modules/paru.yml create mode 100644 modules/userstuff.yml diff --git a/arch_gnome.yml b/arch_gnome.yml index f498727..e60d500 100644 --- a/arch_gnome.yml +++ b/arch_gnome.yml @@ -3,89 +3,17 @@ vars: - hostname: 'stargazer' tasks: - - name: Update and Upgrade all exisiting packages - community.general.pacman: - update_cache: yes - upgrade: yes - - name: Install archlinux-keyring - community.general.pacman: - name: archlinux-keyring - state: latest - - name: Install basic packages - community.general.pacman: - name: sudo,zsh,htop,autoconf,automake,binutils,bison,file,findutils,flex,gawk,gcc,gettext,grep,groff,gzip,libtool,m4,make,patch,pkgconf,sed,texinfo,which,base-devel,ttf-font-awesome,openssh - state: present - - - name: Make sure we have a 'wheel' group - group: - name: wheel - state: present - - - name: Make sure we have a 'docker' group - group: - name: docker - state: present - - - name: Allow 'wheel' to be sudo - lineinfile: - dest: /etc/sudoers - state: present - regexp: '^%wheel' - line: '%wheel ALL=(ALL) ALL' - - - name: Add the user tobi - ansible.builtin.user: - name: tobi - password: $6$9OnvBMN6Sxc.muW1$afASAJdoPZL/WxTp6.lh/SurRRiClaru2Pl19fEo6j1aDEQw99kdkfls6.DB8OBacBDnT3bpsLYD3JqrvXlE9/ - comment: Tobias Maier - groups: wheel,docker - shell: /bin/zsh - - - name: Add name to git config - community.general.git_config: - name: user.name - scope: system - value: Tobias Maier - - - name: Add email to git config - community.general.git_config: - name: user.email - scope: system - value: admin@maiertobi.de - - - name: Create the `aur_builder` user - ansible.builtin.user: - name: aur_builder - create_home: yes - #group: wheel - - - name: Allow the `aur_builder` user to run `sudo pacman` without a password - ansible.builtin.lineinfile: - path: /etc/sudoers.d/11-install-aur_builder - line: 'aur_builder ALL=(ALL) NOPASSWD: /usr/bin/pacman' - create: yes - validate: 'visudo -cf %s' - - - name: Install paru using makepkg if it isn't installed already - kewlfft.aur.aur: - name: paru - use: makepkg - state: present - become: yes - become_method: su - become_user: aur_builder - - - name: Include task list in play - import_tasks: modules/zsh.yml + - name: Install Base stuff + import_tasks: modules/base.yml - name: Set a hostname hostname: name: "{{ hostname }}" - - name: Install packages from AUR + - name: Install Gnome kewlfft.aur.aur: use: paru - name: gnome,gnome-extra,orchis-theme-git,python-pip,gnome-shell-extension-dash-to-panel,papirus-icon-theme,gnome-console + name: gnome,gnome-extra,orchis-theme-git,python-pip,papirus-icon-theme,gnome-console state: latest become: yes become_user: aur_builder diff --git a/arch_wsl.yaml b/arch_wsl.yaml index df600dc..f7bb9bd 100644 --- a/arch_wsl.yaml +++ b/arch_wsl.yaml @@ -5,114 +5,25 @@ community.general.pacman: update_cache: yes upgrade: yes + - name: Install archlinux-keyring community.general.pacman: name: archlinux-keyring state: latest - - name: Install basic packages + + - name: Install basic packages (Need to install base-devel manually due to wsl not supporting fakeroot) community.general.pacman: - name: sudo,zsh,htop,autoconf,automake,binutils,bison,file,findutils,flex,gawk,gcc,gettext,grep,groff,gzip,libtool,m4,make,patch,pkgconf,sed,texinfo,which,ttf-font-awesome,openssh + name: sudo,zsh,autoconf,automake,binutils,bison,file,findutils,flex,gawk,gcc,gettext,grep,groff,gzip,libtool,m4,make,patch,pkgconf,sed,texinfo,which state: present - - name: Make sure we have a 'wheel' group - group: - name: wheel - state: present + - name: Create User etc. + import_tasks: modules/userstuff.yml - - name: Make sure we have a 'docker' group - group: - name: docker - state: present + - name: Install Paru + import_tasks: modules/paru.yml - - name: Allow 'wheel' to be sudo - lineinfile: - dest: /etc/sudoers - state: present - regexp: '^%wheel' - line: '%wheel ALL=(ALL) ALL' + - name: Install zsh stuff + import_tasks: modules/zsh.yml - - name: Add the user tobi - ansible.builtin.user: - name: tobi - password: $6$9OnvBMN6Sxc.muW1$afASAJdoPZL/WxTp6.lh/SurRRiClaru2Pl19fEo6j1aDEQw99kdkfls6.DB8OBacBDnT3bpsLYD3JqrvXlE9/ - comment: Tobias Maier - groups: wheel,docker - shell: /bin/zsh - - - name: Add name to git config - community.general.git_config: - name: user.name - scope: system - value: Tobias Maier - - - name: Add email to git config - community.general.git_config: - name: user.email - scope: system - value: admin@maiertobi.de - - - name: Create the `aur_builder` user - ansible.builtin.user: - name: aur_builder - create_home: yes - group: wheel - - - name: Allow the `aur_builder` user to run `sudo pacman` without a password - ansible.builtin.lineinfile: - path: /etc/sudoers.d/11-install-aur_builder - line: 'aur_builder ALL=(ALL) NOPASSWD: ALL' - create: yes - validate: 'visudo -cf %s' - - - name: Install paru using makepkg if it isn't installed already - kewlfft.aur.aur: - name: paru - use: makepkg - state: present - become: yes - become_method: su - become_user: aur_builder - - - name: Install ZSH stuff - kewlfft.aur.aur: - use: paru - name: zsh-theme-powerlevel10k-git,zsh-autosuggestions,zsh-syntax-highlighting,zsh-sudo-git,zoxide - state: present - become: yes - become_user: aur_builder - - - name: Clone dotfiles - ansible.builtin.git: - repo: https://gitea.maiertobi.de/tobimai/dotfiles.git - dest: /tmp/dotfiles - - - name: Copy zshrc to home dir - ansible.builtin.copy: - src: //tmp/dotfiles/.zshrc - dest: /home/tobi/.zshrc - owner: tobi - group: tobi - mode: '0644' - - - name: Copy p10k to home dir - ansible.builtin.copy: - src: //tmp/dotfiles/.p10k.zsh - dest: /home/tobi/.p10k.zsh - owner: tobi - group: tobi - mode: '0644' - - name: Add ssh-rsa to ssh config as this seems to be disabled by default - blockinfile: - path: /etc/ssh/ssh_config - block: | - Host * - HostKeyAlgorithms ssh-rsa - PubkeyAcceptedKeyTypes ssh-rsa - - - name: Install Tools - kewlfft.aur.aur: - use: paru - name: exa,bat,vim,fd - state: present - become: yes - become_user: aur_builder \ No newline at end of file + - name: Install base packages + import_tasks: modules/base_packages.yml \ No newline at end of file diff --git a/modules/base.yml b/modules/base.yml new file mode 100644 index 0000000..3613951 --- /dev/null +++ b/modules/base.yml @@ -0,0 +1,26 @@ +- name: Update and Upgrade all exisiting packages + community.general.pacman: + update_cache: yes + upgrade: yes + +- name: Install archlinux-keyring + community.general.pacman: + name: archlinux-keyring + state: latest + +- name: Install basic packages + community.general.pacman: + name: sudo,zsh,base-devel,ttf-font-awesome,openssh + state: present + +- name: Create User etc. + import_tasks: modules/userstuff.yml + +- name: Install Paru + import_tasks: modules/paru.yml + +- name: Install zsh stuff + import_tasks: modules/zsh.yml + +- name: Install base packages + import_tasks: modules/base_packages.yml \ No newline at end of file diff --git a/modules/base_packages.yml b/modules/base_packages.yml new file mode 100644 index 0000000..043a67a --- /dev/null +++ b/modules/base_packages.yml @@ -0,0 +1,7 @@ +- name: Install Gnome + kewlfft.aur.aur: + use: paru + name: bat,zoxide,exa,fzf,vim,fd + state: latest + become: yes + become_user: aur_builder \ No newline at end of file diff --git a/modules/paru.yml b/modules/paru.yml new file mode 100644 index 0000000..c768e1e --- /dev/null +++ b/modules/paru.yml @@ -0,0 +1,20 @@ +- name: Create the `aur_builder` user + ansible.builtin.user: + name: aur_builder + create_home: yes + +- name: Allow the `aur_builder` user to run `sudo pacman` without a password + ansible.builtin.lineinfile: + path: /etc/sudoers.d/11-install-aur_builder + line: 'aur_builder ALL=(ALL) NOPASSWD: /usr/bin/pacman' + create: yes + validate: 'visudo -cf %s' + +- name: Install paru using makepkg if it isn't installed already + kewlfft.aur.aur: + name: paru + use: makepkg + state: present + become: yes + become_method: su + become_user: aur_builder \ No newline at end of file diff --git a/modules/userstuff.yml b/modules/userstuff.yml new file mode 100644 index 0000000..819a9ce --- /dev/null +++ b/modules/userstuff.yml @@ -0,0 +1,36 @@ +- name: Make sure we have a 'wheel' group + group: + name: wheel + state: present + +- name: Make sure we have a 'docker' group + group: + name: docker + state: present + +- name: Allow 'wheel' to be sudo + lineinfile: + dest: /etc/sudoers + state: present + regexp: '^%wheel' + line: '%wheel ALL=(ALL) ALL' + +- name: Add the user tobi + ansible.builtin.user: + name: tobi + password: $6$9OnvBMN6Sxc.muW1$afASAJdoPZL/WxTp6.lh/SurRRiClaru2Pl19fEo6j1aDEQw99kdkfls6.DB8OBacBDnT3bpsLYD3JqrvXlE9/ + comment: Tobias Maier + groups: wheel,docker + shell: /bin/zsh + +- name: Add name to git config + community.general.git_config: + name: user.name + scope: system + value: Tobias Maier + +- name: Add email to git config + community.general.git_config: + name: user.email + scope: system + value: admin@maiertobi.de \ No newline at end of file