diff --git a/playbooks/box.yml b/playbooks/box.yml index 6567851..1ad2b7a 100644 --- a/playbooks/box.yml +++ b/playbooks/box.yml @@ -13,7 +13,7 @@ - cli vars_prompt: - name: tools_in - prompt: "Specify comma separated list of required tool packages (cpp, js, haskell, ocaml, coq, txt, lang, truffle)" + prompt: "Specify comma separated list of required tool packages (cpp, js, haskell, ocaml, coq, txt, lang, truffle, gamedev)" private: false pre_tasks: - name: Get tools list diff --git a/roles/dev/tasks/gamedev.yml b/roles/dev/tasks/gamedev.yml new file mode 100644 index 0000000..a75a99c --- /dev/null +++ b/roles/dev/tasks/gamedev.yml @@ -0,0 +1,64 @@ +- name: Getting programs list to check fish presence + ansible.builtin.package_facts: + manager: auto + +# defold +- name: Creating defold game engine dir + ansible.builtin.file: + path: "{{ ansible_env.HOME }}/truffle/defold" + state: directory + mode: a +- name: Installing defold game engine + ansible.builtin.unarchive: + remote_src: true + src: "https://github.com/defold/defold/releases/latest/download/Defold-x86_64-linux.zip" + dest: "{{ ansible_env.HOME }}/defold" + mode: a + keep_newer: true + extra_opts: [--strip-components=1] +- name: Updating fish path for defold + ansible.builtin.shell: fish_add_path -m {{ ansible_env.HOME }}/defold + args: + executable: /usr/bin/fish + changed_when: false + +# lua lsp +- name: Get latest typst version + community.general.github_release: + user: typst + repo: typst + action: latest_release + register: lua_lsp_version + +- name: Installing lua lsp {{ lua_lsp_version.tag }} + become: true + ansible.builtin.unarchive: + remote_src: true + # TODO: remove v before version ?? + src: "https://github.com/LuaLS/lua-language-server/releases/download/{{ lua_lsp_version.tag }}/lua-language-server-{{ lua_lsp_version.tag }}-linux-x64.tar.gz" + dest: "{{ ansible_env.HOME }}/.lua_lsp" + keep_newer: true + mode: a + extra_opts: [--strip-components=1] +- name: Updating fish path for lua lsp + ansible.builtin.shell: fish_add_path -m {{ ansible_env.HOME }}/.lua_lsp/bin + args: + executable: /usr/bin/fish + changed_when: false + +# TODO: download directly, add godot c# (?) +# godot +- name: Installing godot game engine + become: true + ansible.builtin.dnf5: + name: + - godot + state: latest + +# raylib +- name: Installing raylib + become: true + ansible.builtin.dnf5: + name: + - raylib-devel + state: latest diff --git a/roles/dev/tasks/main.yml b/roles/dev/tasks/main.yml index 6130574..33ffcde 100644 --- a/roles/dev/tasks/main.yml +++ b/roles/dev/tasks/main.yml @@ -32,3 +32,7 @@ - name: Truffle development environment ansible.builtin.import_tasks: truffle.yml when: "'truffle' in tools" + +- name: Truffle development environment + ansible.builtin.import_tasks: gamedev.yml + when: "'gamedev' in tools" diff --git a/roles/dev/tasks/truffle.yml b/roles/dev/tasks/truffle.yml index 8d8d24d..b118b61 100644 --- a/roles/dev/tasks/truffle.yml +++ b/roles/dev/tasks/truffle.yml @@ -1,3 +1,7 @@ +- name: Getting programs list to check fish presence + ansible.builtin.package_facts: + manager: auto + - name: Creating truffle dir ansible.builtin.file: path: "{{ ansible_env.HOME }}/truffle" @@ -32,9 +36,30 @@ link: /usr/bin/java path: "{{ ansible_env.HOME }}/truffle/graalvm-23/bin/java" -- name: Installing Intellij IDEA - ansible.builtin.include_role: - name: gantsign.intellij +# NOTE: does not work properly (?) +# - name: Installing Intellij IDEA +# ansible.builtin.include_role: +# name: gantsign.intellij + +# intellij idea +- name: Creating intellij idea dir + ansible.builtin.file: + path: "{{ ansible_env.HOME }}/idea" + state: directory + mode: a +- name: Installing intellij idea + ansible.builtin.unarchive: + remote_src: true + src: "https://github.com/JetBrains/intellij-community/releases/download/idea%2F2025.2/ideaIC-252.23892.409.tar.gz" + dest: "{{ ansible_env.HOME }}/idea" + mode: a + keep_newer: true + extra_opts: [--strip-components=1] +- name: Updating fish path for intellil idea + ansible.builtin.shell: fish_add_path -m {{ ansible_env.HOME }}/idea/bin + args: + executable: /usr/bin/fish + changed_when: false # examples - name: Clone simple language example