--- # Common/Devel: Install and Configure Dev Environment (optionally VS Code) # - Installs VS Code, if user_vscode is set # - Installs development tools, if the corresponding variable is set # but will not try to configure VS Code, if user_vscode is not set. # - Also configures VS Code, of user_vscode is set # Variables: # - user_vscode: Boolean, if vscode should be installed and configured # - user_lang_cpp: Boolean for C and C++ # - user_lang_python: Boolean for Python # - user_lang_golang: Boolean for Golang # - user_lang_golang_gopath: Go workspace directory # - user_lang_latex: Boolean for LaTeX - name: vscode - Install and configure VS Code ansible.builtin.include_tasks: "{{ item }}" with_first_found: - "devel-{{ ansible_distribution }}.yml" - "devel-{{ (override_os_family is defined) | ternary(override_os_family,ansible_os_family) }}.yml" # Install Visual Studio Code and Set Basic Configuration - name: vscode - Basics when: user_vscode == true block: - name: vscode - Basics - Configure ansible.builtin.shell: | PATH=/usr/local/bin:$PATH code --install-extension chiehyu.vscode-astyle code --install-extension editorconfig code --install-extension mhutchie.git-graph code --install-extension yzane.markdown-pdf code --install-extension jebbs.plantuml code --install-extension mechatroner.rainbow-csv code --install-extension grapecity.gc-excelviewer # VS Code - C/C++ Development Tools - name: vscode - C/C++ when: user_vscode == true and user_lang_cpp == true block: - name: vscode - C/C++ - Configure VS Code ansible.builtin.shell: | PATH=/usr/local/bin:$PATH code --install-extension ms-vscode.cpptools code --install-extension ms-vscode.cmake-tools code --install-extension twxs.cmake # VS Code - Python Development Tools - name: devel - Python - Install python dev packages when: user_lang_python == true ansible.builtin.package: name: - python-autopep8 # TODO: not available in arch # - pylint # must be installed in each venv individually! - name: vscode - Python when: user_vscode == true and user_lang_python == true block: - name: vscode - Python - Configure VS Code ansible.builtin.shell: | PATH=/usr/local/bin:$PATH code --install-extension ms-python.python # VC Code - Golang Development Tools # https://golang.org/doc/install - name: devel - Golang - Setup Environment when: user_lang_golang == true block: - name: devel - Golang - Create workspace directory ansible.builtin.file: path: "{{ user_lang_golang_gopath }}" state: directory - name: devel - Golang - Create zshrc-host ansible.builtin.file: path: "{{ ansible_user_dir }}/.zshrc-host" state: touch - name: devel - Golang - Add GOPATH ansible.builtin.lineinfile: path: "{{ ansible_user_dir }}/.zshrc-host" line: "export GOPATH={{ user_lang_golang_gopath }}" state: present backup: yes - name: devel - Golang - Add go bin to PATH ansible.builtin.lineinfile: path: "{{ ansible_user_dir }}/.zshrc-host" line: "export PATH=$PATH:{{ user_lang_golang_gopath }}/bin" state: present backup: yes # TODO: make this resilient against changes # and group all golang stuff in one section inside zshrc-host - name: vscode - Golang when: user_vscode == true and user_lang_golang == true block: - name: vscode - Golang - Configure VS Code ansible.builtin.shell: | PATH=/usr/local/bin:$PATH code --install-extension golang.go # VS Code - LaTeX Distribution - name: devel - LaTeX - Install TeX packages when: user_lang_latex == true become: yes ansible.builtin.shell: | PATH=/Library/TeX/texbin:$PATH tlmgr update --self tlmgr install latexmk latexindent biblatex logreq xstring biber tlmgr install collection-fontsextra collection-fontsrecommended collection-fontutils collection-langgerman collection-langenglish collection-mathscience tlmgr install todonotes textpos lipsum pgfopts xpatch enumitem nomencl glossaries glossaries-german glossaries-english datatool mfirstuc xfor substr tracklang placeins placeins-plain csquotes appendixnumberbeamer fontaxes hyphenat - name: vscode - LaTeX when: user_vscode == true and user_lang_latex == true block: - name: vscode - Basics - Configure ansible.builtin.shell: | PATH=/usr/local/bin:$PATH code --install-extension james-yu.latex-workshop