diff --git a/playbooks/launch b/playbooks/launch index 67469eb..471071e 100755 --- a/playbooks/launch +++ b/playbooks/launch @@ -9,8 +9,8 @@ elif [[ $(uname) == "Linux" ]]; then if [[ $(command -v pacman) ]]; then sudo pacman -Sy --noconfirm ansible elif [[ $(command -v zypper) ]]; then - sudo zypper install -y ansible - sudo ln -sf /usr/bin/python3 /usr/bin/python + sudo zypper install -y ansible + sudo ln -sf /usr/bin/python3 /usr/bin/python elif [[ $(command -v apt) ]]; then sudo apt install -y ansible python3-apt # ubuntu doesn't create a /usr/bin/python, so we have to make one ourselves @@ -24,4 +24,6 @@ elif [[ $(uname) == "Darwin" ]]; then /usr/local/bin/brew install ansible fi +ansible-galaxy install kewlfft.aur ansible-playbook --ask-become-pass -i inventory main.yml + diff --git a/playbooks/roles/arch/meta/main.yml b/playbooks/roles/arch/meta/main.yml new file mode 100644 index 0000000..0adb501 --- /dev/null +++ b/playbooks/roles/arch/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: +- kewlfft.aur diff --git a/playbooks/roles/arch/tasks/main.yml b/playbooks/roles/arch/tasks/main.yml index b30f889..f4e9076 100644 --- a/playbooks/roles/arch/tasks/main.yml +++ b/playbooks/roles/arch/tasks/main.yml @@ -16,8 +16,18 @@ - cmake - tmux - gnupg - - neovim - fzf + - rsync + state: latest + +- name: Install packaged neovim + become: yes + become_method: sudo + when: + - dev_machine != true + pacman: + name: + - neovim state: latest - name: Install Development Tools @@ -31,10 +41,37 @@ - openssl state: latest +- name: Create aur_builder user + when: + - dev_machine == true + user: + name: aur_builder + group: wheel + +- name: aur_builder can run pacman without sudo + when: + - dev_machine == true + 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: Create yay tmp directory + when: + - dev_machine == true + file: + dest: /tmp/yay + state: directory + mode: '0755' + owner: aur_builder + group: wheel + - name: clone yay from github when: - dev_machine == true - become: false + become: true + become_user: aur_builder git: repo: https://aur.archlinux.org/yay.git dest: /tmp/yay @@ -42,18 +79,14 @@ update: yes # notify: makepkg -si -- name: makepkg --noconfirm -si +- name: Makepkg yay when: - dev_machine == true - become: false + become: yes + become_user: aur_builder command: makepkg --noconfirm -si args: chdir: /tmp/yay creates: /usr/bin/yay -- name: Install hstr - when: - - dev_machine == true - command: yay -Sy --noconfirm --needed --cleanafter hstr - args: - creates: /usr/local/bin/hstr +- include_tasks: neovim-nightly.yml diff --git a/playbooks/roles/arch/tasks/neovim-nightly.yml b/playbooks/roles/arch/tasks/neovim-nightly.yml new file mode 100644 index 0000000..07e4580 --- /dev/null +++ b/playbooks/roles/arch/tasks/neovim-nightly.yml @@ -0,0 +1,6 @@ +--- +- aur: name=neovim-nightly + become: yes + become_user: aur_builder + when: + - nightly_neovim == true diff --git a/playbooks/roles/fedora/tasks/main.yml b/playbooks/roles/fedora/tasks/main.yml index 7d9fe6a..4b2ff48 100644 --- a/playbooks/roles/fedora/tasks/main.yml +++ b/playbooks/roles/fedora/tasks/main.yml @@ -20,7 +20,7 @@ - rsync state: latest -- include_tasks: neovim-nightly.yaml +- include_tasks: neovim-nightly.yml - name: Install @development-tools when: diff --git a/playbooks/roles/fedora/tasks/neovim-nightly.yaml b/playbooks/roles/fedora/tasks/neovim-nightly.yml similarity index 87% rename from playbooks/roles/fedora/tasks/neovim-nightly.yaml rename to playbooks/roles/fedora/tasks/neovim-nightly.yml index 7cabe35..ec53e5c 100644 --- a/playbooks/roles/fedora/tasks/neovim-nightly.yaml +++ b/playbooks/roles/fedora/tasks/neovim-nightly.yml @@ -17,12 +17,11 @@ warn: false creates: /etc/yum.repos.d/_copr_agriffis_neovim-nightly.repo -- name: Install neovim-nightly +- name: Install neovim become: yes become_method: sudo - when: - - nightly_neovim == true dnf: name: - neovim state: latest + diff --git a/playbooks/roles/opensuse/tasks/main.yml b/playbooks/roles/opensuse/tasks/main.yml index 143513d..307dc4d 100644 --- a/playbooks/roles/opensuse/tasks/main.yml +++ b/playbooks/roles/opensuse/tasks/main.yml @@ -16,10 +16,12 @@ - cmake - tmux - gpg - - neovim - fzf + - rsync state: latest +- include_tasks: neovim-nightly.yml + - name: Install devel_* when: - dev_machine == true diff --git a/playbooks/roles/opensuse/tasks/neovim-nightly.yml b/playbooks/roles/opensuse/tasks/neovim-nightly.yml new file mode 100644 index 0000000..0eb217e --- /dev/null +++ b/playbooks/roles/opensuse/tasks/neovim-nightly.yml @@ -0,0 +1,39 @@ +--- +- name: Download neovim-nightly from github appimage + become: yes + become_method: sudo + when: + - nightly_neovim == true + command: + cmd: curl -L -o /tmp/nvim.appimage 'https://github.com/neovim/neovim/releases/download/nightly/nvim.appimage' + warn: false + +- name: Ensure nvim.appimage has proper permissions + become: yes + become_method: sudo + when: + - nightly_neovim == true + file: + path: /tmp/nvim.appimage + mode: u=rwx,g=rx,o=rx + +- name: Install nvim.appimage into /usr/local/bin/nvim + become: yes + become_method: sudo + when: + - nightly_neovim == true + synchronize: + src: /tmp/nvim.appimage + dest: /usr/local/bin/nvim + + +- name: Install neovim from repo + become: yes + become_method: sudo + when: + - nightly_neovim == false + zypper: + name: + - neovim + state: latest +