Compare commits

...

5 commits

Author SHA1 Message Date
ProgramSnail
8466b55f19 add neovim 2025-12-27 19:07:21 +03:00
ProgramSnail
c1c9bb3e57 add tmp to gitignore 2025-12-27 18:27:20 +03:00
ProgramSnail
61c486bebd uv, uvx autocompletions 2025-12-27 18:05:40 +03:00
ProgramSnail
7ccd53b236 python, fixes 2025-12-27 18:03:01 +03:00
ProgramSnail
76ce2b944b opam roles 2025-12-27 17:19:06 +03:00
17 changed files with 90 additions and 30 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
**.ssh
galaxy_cache/
.ansible/
tmp/

3
.gitmodules vendored
View file

@ -4,3 +4,6 @@
[submodule "roles/gantsign.intellij"]
path = roles/gantsign.intellij
url = https://github.com/gantsign/ansible-role-intellij
[submodule "opam-ansible"]
path = opam-ansible
url = https://github.com/plescornet/opam-ansible

1
opam-ansible Submodule

@ -0,0 +1 @@
Subproject commit dc0ebd6843daf590ee2cd372367277686e6c8ace

View file

@ -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, gamedev, qt, clojure, arend)"
prompt: "Specify comma separated list of required tool packages (cpp, js, haskell, ocaml, ocanren, coq, txt, lang, truffle, gamedev, qt, clojure, python, arend)"
private: false
pre_tasks:
- name: Get tools list

View file

@ -9,7 +9,7 @@
prompt: "Specify comma separated list of required installation packages (ansible, cli, gui, host, proxy, wm, quickshell)"
private: false
- name: tools_in
prompt: "Specify comma separated list of required tool packages (cpp, js, haskell, ocaml, coq, txt, lang, truffle, gamedev, qt, clojure, arend)"
prompt: "Specify comma separated list of required tool packages (cpp, js, haskell, ocaml, ocanren, coq, txt, lang, truffle, gamedev, qt, clojure, python, arend)"
private: false
pre_tasks:
- name: Get configuration list

View file

@ -1,2 +1 @@
bin_install_path: '{{ ansible_env.HOME }}/.local/bin'

View file

@ -1,5 +1,5 @@
# is done at the main
# - name: Install build comon deps
# - name: Install build common deps
# ansible.builtin.import_tasks: build.yml
- name: Installing tools for cpp dev

View file

@ -1,10 +1,9 @@
- name: installing hlint # TODO: install by cabal (?)
- name: Installing hlint # TODO: install by cabal (?)
become: true
ansible.builtin.dnf5:
name:
- hlint
state: latest
- name: Downloading ghcup bootstrap script
ansible.builtin.uri:

View file

@ -17,6 +17,10 @@
ansible.builtin.import_tasks: ocaml.yml
when: "'ocaml' in tools"
- name: OCanren dev environment
ansible.builtin.import_tasks: ocanren.yml
when: "'ocanren' in tools"
- name: Coq dev environment
ansible.builtin.import_tasks: coq.yml
when: "'coq' in tools"
@ -49,6 +53,10 @@
ansible.builtin.import_tasks: clojure.yml
when: "'clojure' in tools"
- name: Python development environment
ansible.builtin.import_tasks: python.yml
when: "'python' in tools"
# TODO
- name: Arend proof assistant development environment
ansible.builtin.import_tasks: arend.yml

View file

@ -1,31 +1,34 @@
# TODO: use ansible ocaml package for install ??
- name: Installing opam
- name: Installing opam dependencies
become: true
ansible.builtin.dnf5:
name:
- opam
- gmp-devel
state: latest
- name: Initializing opam
ansible.builtin.command:
cmd: opam init
changed_when: false
ignore_errors: true
- name: Creating opam default switch (5.3.0)
ansible.builtin.command:
cmd: opam switch create default 5.3.0
changed_when: false
ignore_errors: true
- name: Installing ocaml
ansible.builtin.import_role:
name: opam-ansible
vars:
opam_install_method: package_manager
opam_install_location: user
opam_switches:
- name: "default"
compiler: "--packages=ocaml-variants.5.3.0+options,ocaml-option-flambda"
packages:
- dune
- ocaml-lsp-server
- ocamlformat
- qcheck
# NOTE: done during usage by switch eval
# ---
# update fish path
- name: Get programs list to check fish presence
ansible.builtin.package_facts:
manager: auto
# - 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 -m {{ ansible_env.HOME }}/.opam/default/bin
args:
executable: /usr/bin/fish
changed_when: false
# - name: Update fish path for opam
# ansible.builtin.shell: fish_add_path -m {{ ansible_env.HOME }}/.opam/default/bin
# args:
# executable: /usr/bin/fish
# changed_when: false

View file

@ -0,0 +1,24 @@
- name: Installing ocaml
ansible.builtin.import_tasks: ocaml.yml
- name: Installing ocanren switch
ansible.builtin.import_role:
name: opam-ansible
vars:
opam_install_method: package_manager
opam_install_location: user
opam_switches:
- name: "ocanren"
compiler: "--packages=ocaml-variants.5.3.0+options,ocaml-option-flambda"
packages:
- dune
- ocaml-lsp-server
- ocamlformat
- qcheck
- camlp5
- GT
- OCanren
- OCanren-ppx
- ppx_expect_nobase
- benchmark

View file

@ -0,0 +1,21 @@
- name: Installing tools for python dev
become: true
ansible.builtin.dnf5:
name:
- python
- pip
- pipx
- uv
state: latest
- name: Install ty typechecker
ansible.builtin.command:
cmd: "uv tool install ty@latest"
changed_when: false
- name: Install ruff lineter
ansible.builtin.command:
cmd: "uv tool install ruff@latest"
changed_when: false

View file

@ -1,2 +1 @@
bin_install_path: '{{ ansible_env.HOME }}/.local/bin'

View file

@ -0,0 +1 @@
uv generate-shell-completion fish | source

View file

@ -0,0 +1 @@
uvx --generate-shell-completion fish | source

View file

@ -1,2 +1 @@
bin_install_path: '{{ ansible_env.HOME }}/.local/bin'

View file

@ -15,6 +15,7 @@
- shellcheck
# edit utils
- neovim
- helix
- micro
# - nano