Added initial vibe-coded project from Gemini

This commit is contained in:
2026-08-10 05:45:29 -04:00
parent 23d4808874
commit 5c7adf481e
5 changed files with 113 additions and 1 deletions
+45
View File
@@ -0,0 +1,45 @@
{% from "blender/map.jinja" import blender with context %}
# 1. Download and extract archive
blender_extract_tarball:
archive.extracted:
- name: {{ blender.archive_dir }}
- source: {{ blender.download_url }}
- skip_verify: True
- enforce_ownership_on: {{ blender.archive_dir }}
- options: '--strip-components=1'
- if_missing: {{ blender.archive_dir }}/blender
# 2. Maintain generic symlink pointing to active version
blender_opt_symlink:
file.symlink:
- name: {{ blender.symlink_dir }}
- target: {{ blender.archive_dir }}
- force: True
- require:
- archive: blender_extract_tarball
# 3. Create CLI launcher symlink
blender_bin_symlink:
file.symlink:
- name: {{ blender.bin_dir }}/blender
- target: {{ blender.symlink_dir }}/blender
- force: True
- require:
- file: blender_opt_symlink
# 4. Deploy desktop menu shortcut
blender_desktop_entry:
file.managed:
- name: {{ blender.desktop_dir }}/blender.desktop
- source: salt://blender/templates/blender.desktop.jinja
- template: jinja
- mode: '0644'
- user: root
- group: root
- context:
version: "{{ blender.version }}"
exec_path: "{{ blender.symlink_dir }}/blender %f"
icon_path: "{{ blender.symlink_dir }}/blender.svg"
- require:
- file: blender_opt_symlink
+23
View File
@@ -0,0 +1,23 @@
{% set default_version = '4.2.0' %}
{% set default_major = default_version.split('.')[0] ~ '.' ~ default_version.split('.')[1] %}
{% set defaults = {
'version': default_version,
'install_root': '/opt',
'bin_dir': '/usr/local/bin',
'desktop_dir': '/usr/share/applications',
'download_url_base': 'https://download.blender.org/release/Blender' ~ default_major
} %}
{# Merge pillar data under the 'blender' key over defaults #}
{% set blender = salt['pillar.get']('blender', default=defaults, merge=True) %}
{# Calculate derived paths dynamically #}
{% set major_version = blender.version.split('.')[0] ~ '.' ~ blender.version.split('.')[1] %}
{% set archive_name = 'blender-' ~ blender.version ~ '-linux-x64' %}
{% do blender.update({
'archive_dir': blender.install_root ~ '/' ~ archive_name,
'symlink_dir': blender.install_root ~ '/blender',
'download_url': blender.download_url_base ~ '/' ~ archive_name ~ '.tar.xz'
}) %}
+10
View File
@@ -0,0 +1,10 @@
[Desktop Entry]
Name=Blender {{ version }}
GenericName=3D modeller
Comment=3D creation suite
Exec={{ exec_path }}
Icon={{ icon_path }}
Terminal=false
Type=Application
Categories=Graphics;3DGraphics;
MimeType=application/x-blender;