From 5231fedcdcb3d3993053070073a9dce766231921 Mon Sep 17 00:00:00 2001 From: Hyperling Date: Fri, 11 Sep 2026 18:16:52 -0700 Subject: [PATCH] Add hugo playbook after testing it in combination with the nodejs changes. --- local.yml | 1 + tasks/workstation/linux/software/hugo.yml | 64 +++++++++++++++------ tasks/workstation/linux/software/nodejs.yml | 54 ++++++++++------- 3 files changed, 79 insertions(+), 40 deletions(-) diff --git a/local.yml b/local.yml index 61c2664..46b1376 100644 --- a/local.yml +++ b/local.yml @@ -152,6 +152,7 @@ - include_tasks: tasks/workstation/linux/software/vscodium.yml - include_tasks: tasks/workstation/linux/software/vpn.yml - include_tasks: tasks/workstation/linux/software/nodejs.yml + - include_tasks: tasks/workstation/linux/software/hugo.yml - include_tasks: tasks/workstation/linux/software/brave.yml when: ansible_pkg_mgr in ("apt", "dnf", "zypper") and not mobile when: ansible_system == "Linux" diff --git a/tasks/workstation/linux/software/hugo.yml b/tasks/workstation/linux/software/hugo.yml index 3e37659..1a851d7 100644 --- a/tasks/workstation/linux/software/hugo.yml +++ b/tasks/workstation/linux/software/hugo.yml @@ -2,29 +2,55 @@ # 2026-09-11 Hyperling # Move all Hugo development needs to a specific place. -- name: Workstation | Hugo +- name: Workstation | Linux | Software | Hugo block: - - name: Workstation | Hugo | Facts (pacman) - set_fact: - - sass_old: ruby-sass - - sass_current: dart-sass + - name: Workstation | Linux | Software | Hugo | pacman + block: + + - name: Workstation | Linux | Software | Hugo | pacman | Facts + set_fact: + sass_old: ruby-sass + sass_current: dart-sass + + - name: Workstation | Linux | Software | Hugo | pacman | Remove Old + package: + name: + - "{{ sass_old }}" + state: absent + + - name: Workstation | Linux | Software | Hugo | pacman | Install New + package: + name: + - "{{ sass_current }}" + state: present + when: ansible_pkg_mgr == "pacman" - #- name: Workstation | Hugo | Facts (apt) - # set_fact: - # - sass_old: htop - # - sass_current: htop - # when: ansible_pkg_mgr == "apt" + # This must exist after nodejs.yml so that NPM is installed. + - name: Workstation | Linux | Software | Hugo | npm + block: - - name: Workstation | Hugo | Remove - package: - - "{{ sass_old }}" - state: absent + - name: Workstation | Linux | Software | Hugo | npm | Facts + set_fact: + sass_old: node-sass + sass_current: sass - - name: Workstation | Hugo | Install - package: - - "{{ sass_current }}" - state: present + - name: Workstation | Linux | Software | Hugo | npm | Gather + shell: npm prefix -g + register: npm_bin_dir # Provides /usr/local/ on Devuan, /usr/ on Artix. + changed_when: false - when: code is true + - name: Workstation | Linux | Software | Hugo | npm | Remove Old + shell: "npm remove -g {{ sass_old }}" + args: + creates: "{{ npm_bin_dir.stdout }}/bin/sass" + + - name: Workstation | Linux | Software | Hugo | npm | Install New + shell: "npm install -g {{ sass_current }}" + args: + creates: "{{ npm_bin_dir.stdout }}/bin/sass" + + when: ansible_pkg_mgr == "apt" + + when: coding is true diff --git a/tasks/workstation/linux/software/nodejs.yml b/tasks/workstation/linux/software/nodejs.yml index 287b4bd..6d84806 100644 --- a/tasks/workstation/linux/software/nodejs.yml +++ b/tasks/workstation/linux/software/nodejs.yml @@ -7,29 +7,41 @@ - name: Workstation | Software | NodeJS block: - - name: Workstation | Software | NodeJS | Facts - set_fact: - node_version: node_24.x + - name: Workstation | Software | NodeJS | apt + block: - - name: Workstation | Software | NodeJS | Old | Remove - package: - name: npm - state: absent + - name: Workstation | Software | NodeJS | apt | Facts + set_fact: + node_version: node_24.x - - name: Workstation | Software | NodeJS | extrepo | Install + - name: Workstation | Software | NodeJS | apt | Old | Remove + package: + name: npm + state: absent + + - name: Workstation | Software | NodeJS | apt | extrepo | Install + package: + name: extrepo + state: present + update_cache: yes + + - name: Workstation | Software | NodeJS | apt | extrepo | Enable + shell: "extrepo enable {{ node_version }}" + + - name: Workstation | Software | NodeJS | apt | Install + package: + name: nodejs + state: latest + update_cache: yes + + when: ansible_pkg_mgr == "apt" + + - name: Workstation | Software | NodeJS | All Others | Install package: - name: extrepo + name: + - nodejs + - npm state: present - update_cache: yes + when: ansible_pkg_mgr != "apt" - - name: Workstation | Software | NodeJS | extrepo | Enable {{ node_version }} - shell: "extrepo enable {{ node_version }}" - - - name: Workstation | Software | NodeJS | Install - package: - name: nodejs - state: latest - update_cache: yes - - when: ansible_pkg_mgr == "apt" - and coding == true + when: coding == true