diff --git a/home/dot_local/share/applications/SuperSlicer.desktop b/home/dot_local/share/applications/SuperSlicer.desktop new file mode 100644 index 00000000..9643351b --- /dev/null +++ b/home/dot_local/share/applications/SuperSlicer.desktop @@ -0,0 +1,6 @@ +[Desktop Entry] +Type=Application +Name=SuperSlicer +Comment=SuperSlicer +Exec=/usr/local/bin/SuperSlicer +Terminal=false diff --git a/provision/tasks/desktop/packages.yml b/provision/tasks/desktop/packages.yml index c3b97d90..7e148519 100644 --- a/provision/tasks/desktop/packages.yml +++ b/provision/tasks/desktop/packages.yml @@ -1,4 +1,4 @@ -- name: Install desktop dnf packages +- name: Install desktop void packages xbps: name: - xorg # X.org meta-package @@ -27,7 +27,6 @@ - xsel # Command-line getting and setting the contents of the X selection - clipmenu # Clipboard management using dmenu - nerd-fonts # Iconic font aggregator, collection and patcher - - PrusaSlicer # PrusaSlicer-2.4.2_2 G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.) state: present become: true @@ -47,4 +46,3 @@ - com.github.tchx84.Flatseal # Manage Flatpak permissions state: present become: true - diff --git a/provision/tasks/development/packages.yml b/provision/tasks/development/packages.yml index 598d9338..e0417e5b 100644 --- a/provision/tasks/development/packages.yml +++ b/provision/tasks/development/packages.yml @@ -1,4 +1,4 @@ -- name: Install development dnf packages +- name: Install development void packages xbps: name: - python3 # Python programming language (3.11 series) diff --git a/provision/tasks/engineering/_main.yml b/provision/tasks/engineering/_main.yml new file mode 100644 index 00000000..68d12ab3 --- /dev/null +++ b/provision/tasks/engineering/_main.yml @@ -0,0 +1,2 @@ +- import_tasks: packages.yml + tags: ["packages"] diff --git a/provision/tasks/engineering/packages.yml b/provision/tasks/engineering/packages.yml new file mode 100644 index 00000000..b240c5fb --- /dev/null +++ b/provision/tasks/engineering/packages.yml @@ -0,0 +1,8 @@ +- name: Install engineering void packages + xbps: + name: + - freecad # General purpose 3D CAD modeler + state: present + become: true + +- include_tasks: superslicer.yml # PrusaSlicer fork (which is a slic3r fork) diff --git a/provision/tasks/engineering/superslicer.yml b/provision/tasks/engineering/superslicer.yml new file mode 100644 index 00000000..583ba256 --- /dev/null +++ b/provision/tasks/engineering/superslicer.yml @@ -0,0 +1,6 @@ +- name: Install SuperSlicer + include_tasks: ../include/download-github-bin.yml + loop: + - user: supermerill + repo: SuperSlicer + regex: "SuperSlicer-ubuntu_18.04-[0-9]" diff --git a/provision/tasks/gaming/packages.yml b/provision/tasks/gaming/packages.yml index 5e8f9650..ccbf76d2 100644 --- a/provision/tasks/gaming/packages.yml +++ b/provision/tasks/gaming/packages.yml @@ -1,4 +1,4 @@ -- name: Install gaming dnf packages +- name: Install gaming void packages xbps: name: - libdrm-32bit # Userspace interface to kernel DRM services (32bit) diff --git a/provision/tasks/include/download-github.yml b/provision/tasks/include/download-github-archive.yml similarity index 76% rename from provision/tasks/include/download-github.yml rename to provision/tasks/include/download-github-archive.yml index ba636146..eb14e9e3 100644 --- a/provision/tasks/include/download-github.yml +++ b/provision/tasks/include/download-github-archive.yml @@ -4,9 +4,9 @@ return_content: true register: repo_latest -- name: Install {{ item.repo }} - {{ repo_latest.json.tag_name }} +- name: Install archived {{ item.repo }} - {{ repo_latest.json.tag_name }} loop: "{{ repo_latest.json.assets }}" - when: "item.match in asset.name" + when: "asset.name is regex(item.regex)" unarchive: src: "{{ asset.browser_download_url }}" dest: /usr/local/bin diff --git a/provision/tasks/include/download-github-bin.yml b/provision/tasks/include/download-github-bin.yml new file mode 100644 index 00000000..cfc909c0 --- /dev/null +++ b/provision/tasks/include/download-github-bin.yml @@ -0,0 +1,16 @@ +- name: Get {{ item.repo }} release information + uri: + url: https://api.github.com/repos/{{ item.user }}/{{ item.repo }}/releases/latest + return_content: true + register: repo_latest + +- name: Install un-archived {{ item.repo }} - {{ repo_latest.json.tag_name }} + loop: "{{ repo_latest.json.assets }}" + when: "asset.name is regex(item.regex)" + get_url: + url: "{{ asset.browser_download_url }}" + dest: /usr/local/bin/{{ item.repo }} + mode: 0775 + loop_control: + loop_var: asset + become: true diff --git a/provision/tasks/system/packages.yml b/provision/tasks/system/packages.yml index 2fe8ea00..70b1f0bc 100644 --- a/provision/tasks/system/packages.yml +++ b/provision/tasks/system/packages.yml @@ -1,4 +1,4 @@ -- name: Install system repos +- name: Install system void repos xbps: name: - void-repo-multilib # Void Linux drop-in file for the multilib repository @@ -7,7 +7,7 @@ state: present become: true -- name: Install system dnf packages +- name: Install system void packages xbps: name: - git # Fast Version Control System diff --git a/provision/tasks/terminal/packages.yml b/provision/tasks/terminal/packages.yml index c006299f..610a79ee 100644 --- a/provision/tasks/terminal/packages.yml +++ b/provision/tasks/terminal/packages.yml @@ -1,4 +1,4 @@ -- name: Install terminal dnf packages +- name: Install terminal void packages xbps: name: - neovim # Vim-fork focused on extensibility and agility diff --git a/provision/tasks/terminal/taskwarrior-tui.yml b/provision/tasks/terminal/taskwarrior-tui.yml index 1d5510f6..3e8a3c23 100644 --- a/provision/tasks/terminal/taskwarrior-tui.yml +++ b/provision/tasks/terminal/taskwarrior-tui.yml @@ -1,6 +1,6 @@ - name: Install taskwarrior-tui - include_tasks: ../include/download-github.yml + include_tasks: ../include/download-github-archive.yml loop: - user: kdheepak repo: taskwarrior-tui - match: unknown-linux-gnu.tar.gz + regex: unknown-linux-gnu.tar.gz