diff --git a/roles/dev/tasks/build.yml b/roles/dev/tasks/build.yml index 7e16532..fbe4587 100644 --- a/roles/dev/tasks/build.yml +++ b/roles/dev/tasks/build.yml @@ -5,4 +5,5 @@ - perl - ninja-build - git + - make state: latest diff --git a/roles/dev/tasks/coq.yml b/roles/dev/tasks/coq.yml new file mode 100644 index 0000000..001fcbd --- /dev/null +++ b/roles/dev/tasks/coq.yml @@ -0,0 +1,32 @@ +- name: Install vscode (uncoded) + ansible.builtin.import_tasks: vscode.yml + +- name: Install ocaml (required for lsp) + ansible.builtin.import_tasks: ocaml.yml + +# TODO: add otion to choose ocaml switch +- name: "Installing coq lsp: pin version" + ansible.builtin.command: + cmd: opam pin add coq 8.18.0 --yes + environment: + OPAMSWITCH: default + changed_when: false + +- name: "Installing coq lsp: lsp install" + ansible.builtin.command: + cmd: opam install vscoq-language-server --yes + environment: + OPAMSWITCH: default + changed_when: false + +- name: Downloading vscode coq lsp extension + ansible.builtin.get_url: + url: "https://open-vsx.org/api/maximedenes/vscoq/2.2.6/file/maximedenes.vscoq-2.2.6.vsix" + dest: "{{ ansible_env.HOME }}/.vscode_ext/vscoq.vsi" + mode: a + force: false + +- name: "Installing vscode coq lsp extension" + ansible.builtin.command: + cmd: "{{ ansible_env.HOME }}/.bin/code --install-extension {{ ansible_env.HOME }}/.vscode_ext/vscoq.vsi" + changed_when: false diff --git a/roles/dev/tasks/main.yml b/roles/dev/tasks/main.yml index f0fed15..271b310 100644 --- a/roles/dev/tasks/main.yml +++ b/roles/dev/tasks/main.yml @@ -13,6 +13,14 @@ ansible.builtin.import_tasks: haskell.yml when: "'haskell' in tools" +- name: OCaml dev environment + ansible.builtin.import_tasks: haskell.yml + when: "'ocaml' in tools" + +- name: Coq dev environment + ansible.builtin.import_tasks: coq.yml + when: "'coq' in tools" + - name: Text writing (typst) environment ansible.builtin.import_tasks: txt.yml when: "'txt' in tools" @@ -21,4 +29,4 @@ ansible.builtin.import_tasks: lang.yml when: "'lang' in tools" -# TODO: ocaml, truffle, coq ... +# TODO: ocaml, truffle ... diff --git a/roles/dev/tasks/ocaml.yml b/roles/dev/tasks/ocaml.yml new file mode 100644 index 0000000..d667079 --- /dev/null +++ b/roles/dev/tasks/ocaml.yml @@ -0,0 +1,23 @@ +# TODO: use ansible ocaml package for install ?? +- name: Install opam + ansible.builtin.dnf5: + name: + - opam + - gmp-devel + state: latest + +- name: "Installing coq lsp: pin version" + ansible.builtin.command: + cmd: opam switch create default 5.3.0 + changed_when: false + +# update fish path +- name: Get programs list to check fish presence + ansible.builtin.package_facts: + manager: auto + +- name: Update fish path for bun + ansible.builtin.shell: fish_add_path {{ ansible_env.HOME }}/.opam/default/bin + args: + executable: /usr/bin/fish + changed_when: true # change is checked inside fish_add_path diff --git a/roles/dev/tasks/vscode.yml b/roles/dev/tasks/vscode.yml new file mode 100644 index 0000000..6aa535c --- /dev/null +++ b/roles/dev/tasks/vscode.yml @@ -0,0 +1,34 @@ +- name: Installing vscode deps + ansible.builtin.dnf5: + name: + - fuse + - libX11-devel + - libxkbfile-devel + - libsecret-devel + - fakeroot + - python3 + - nss + - at-spi2-atk + - gtk3-devel + state: latest + +# TODO: dinamically get url from forder +- name: Installing vscode (uncoded) + # become: true + ansible.builtin.get_url: + url: "https://tilde.club/~megastallman/uncoded/code-oss-1754477678_amd64.AppImage" + dest: "{{ ansible_env.HOME }}/.bin/code" + mode: a+x + force: false + +- name: Downloading vscode helix extension + ansible.builtin.get_url: + url: "https://open-vsx.org/api/jasew/vscode-helix-emulation/0.6.2/file/jasew.vscode-helix-emulation-0.6.2.vsix" + dest: "{{ ansible_env.HOME }}/.vscode_ext/vscode-helix-emulation.vsi" + mode: a + force: false + +- name: "Installing vscode helix extension" + ansible.builtin.command: + cmd: "{{ ansible_env.HOME }}/.bin/code --install-extension {{ ansible_env.HOME }}/.vscode_ext/vscode-helix-emulation.vsi" + changed_when: false diff --git a/roles/installs/tasks/cli.yml b/roles/installs/tasks/cli.yml index a3b10bd..f16ae02 100644 --- a/roles/installs/tasks/cli.yml +++ b/roles/installs/tasks/cli.yml @@ -5,6 +5,7 @@ - bash - fish - trash-cli + - bat # dev utils - just @@ -14,7 +15,7 @@ # edit utils - helix - micro - - nano + # - nano - tmux - tmate - ripgrep