diff --git a/linsetup.yml b/linsetup.yml new file mode 100644 index 0000000..b99b561 --- /dev/null +++ b/linsetup.yml @@ -0,0 +1,10 @@ +- hosts: ucilnice-prototip + become_method: sudo + become: true + vars: + ansible_port: 1001 + ansible_become_pass: '{{ lookup("env", "ANSIBLE_PASSWORD") }}' + ansible_password: '{{ lookup("env", "ANSIBLE_PASSWORD") }}' + ansible_connection: 'ssh' + roles: + - all_classes diff --git a/macsetup.yml b/macsetup.yml new file mode 100644 index 0000000..13dcd0b --- /dev/null +++ b/macsetup.yml @@ -0,0 +1,5 @@ +- hosts: all + vars: + roles: + - macroom + # - linroom_ad diff --git a/roles/7zip/tasks/main.yml b/roles/7zip/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/7zip/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/7zip/tasks/main_lin.yml b/roles/7zip/tasks/main_lin.yml new file mode 100644 index 0000000..94c08d4 --- /dev/null +++ b/roles/7zip/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install 7zip + apt: + name: 7zip + state: latest diff --git a/roles/7zip/tasks/main_win.yml b/roles/7zip/tasks/main_win.yml new file mode 100644 index 0000000..05aebff --- /dev/null +++ b/roles/7zip/tasks/main_win.yml @@ -0,0 +1,18 @@ +- name: Install 7-zip + win_chocolatey: + name: 7zip + register: install + +- when: install.changed + block: + - name: Create 7-zip filetype + win_command: cmd.exe /c ftype 7-zip=%ProgramFiles%\7-zip\7zFM.exe + + - name: Associate 7-zip with archive filetypes + win_command: cmd.exe /c assoc .{{ item }}=7-zip + loop: + - gz + - tar + - targz + - rar + - 7z diff --git a/roles/AAHRP-63263/meta/main.yml b/roles/AAHRP-63263/meta/main.yml new file mode 100644 index 0000000..814de57 --- /dev/null +++ b/roles/AAHRP-63263/meta/main.yml @@ -0,0 +1,7 @@ +# Analiza algoritmov in hevristično reševanje problemov +# matej.piculin@fri.uni-lj.si +# Windows, Java JDK, Eclipse, R, RStudio +dependencies: + - role: rstudio + - role: eclipse + - role: jdk diff --git a/roles/APS1-63279/meta/main.yml b/roles/APS1-63279/meta/main.yml new file mode 100644 index 0000000..d138e5e --- /dev/null +++ b/roles/APS1-63279/meta/main.yml @@ -0,0 +1,9 @@ +# Algoritmi in podatkovne strukture 1 +# tomaz.hocevar@fri.uni-lj.si, bojan.zunkovic@fri.uni-lj.si, polz@fri.uni-lj.si +# Windows, Java JDK, Eclipse +# - role: JDK +# - role: Eclipse +dependencies: + - role: c_development + - role: vscode + diff --git a/roles/ARP1-63545C/meta/main.yml b/roles/ARP1-63545C/meta/main.yml new file mode 100644 index 0000000..9890852 --- /dev/null +++ b/roles/ARP1-63545C/meta/main.yml @@ -0,0 +1,5 @@ +# Aktualno raziskovalno področje 1 +# Veljko.Pejovic@fri.uni-lj.si +# Android Studio +dependencies: + - role: android_studio diff --git a/roles/BMO-63259/meta/main.yml b/roles/BMO-63259/meta/main.yml new file mode 100644 index 0000000..31928ec --- /dev/null +++ b/roles/BMO-63259/meta/main.yml @@ -0,0 +1,6 @@ +# Brezžična in mobilna omrežja +# Ziga.Pusnik@fri.uni-lj.si, Miran.Koprivec@fri.uni-lj.si +# Windows, VMware Workstation 16.2.4 Player, wireshark +dependencies: + - role: wireshark + - role: vmware_player diff --git a/roles/DF-63530/meta/main.yml b/roles/DF-63530/meta/main.yml new file mode 100644 index 0000000..63df613 --- /dev/null +++ b/roles/DF-63530/meta/main.yml @@ -0,0 +1,6 @@ +# Digitalna forenzika +# Aleks.Huc@fri.uni-lj.si, Gasper.FeleZorz@fri.uni-lj.si +# Windows, GNU/Linux, GNS3, VirtualBox +dependencies: + - role: gns3 + - role: virtualbox diff --git a/roles/DN-63260/meta/main.yml b/roles/DN-63260/meta/main.yml new file mode 100644 index 0000000..aaa0ce9 --- /dev/null +++ b/roles/DN-63260/meta/main.yml @@ -0,0 +1,5 @@ +# Digitalno načrtovanje +# Nejc.Ilc@fri.uni-lj.si +# Windows, Vivado 2022.1 +dependencies: + - role: vivado diff --git a/roles/DPS-63744/meta/main.yml b/roles/DPS-63744/meta/main.yml new file mode 100644 index 0000000..1ebf218 --- /dev/null +++ b/roles/DPS-63744/meta/main.yml @@ -0,0 +1,8 @@ +# Digitalno procesiranje signalov +# Aleks.Huc@fri.uni-lj.si +# Windows, GNU/Linux, Matlab, wfdb, Octave, Audacity +dependencies: + - role: matlab + - role: wfdb + - role: octave + - role: audacity diff --git a/roles/DV-63718/meta/main.yml b/roles/DV-63718/meta/main.yml new file mode 100644 index 0000000..34d2ebe --- /dev/null +++ b/roles/DV-63718/meta/main.yml @@ -0,0 +1,5 @@ +# Digitalna vezja +# Miha.Moskon@fri.uni-lj.si +# Windows, Logisim, Logisim Evolution +dependencies: + - role: logisim diff --git a/roles/EP-63249/meta/main.yml b/roles/EP-63249/meta/main.yml new file mode 100644 index 0000000..fefd8f1 --- /dev/null +++ b/roles/EP-63249/meta/main.yml @@ -0,0 +1,7 @@ +# Elektronsko poslovanje +# David.Jelenc@fri.uni-lj.si +# Windows, VirtualBox, Android Studio +# +dependencies: + - role: virtualbox + - role: android_studio diff --git a/roles/FP-63507/meta/main.yml b/roles/FP-63507/meta/main.yml new file mode 100644 index 0000000..c33ab62 --- /dev/null +++ b/roles/FP-63507/meta/main.yml @@ -0,0 +1,12 @@ +# Funkcijsko programiranje +# Klemen.Klanjscek@fri.uni-lj.si, Matjaz.Kukar@fri.uni-lj.si +# Windows, GNU/Linux, VS Code, Python 3, Racket (z DrRacket), SML/NJ, Emacs, rlwrap +# +dependencies: + - role: vscode + - role: python3 + - role: racket + - role: emacs + - role: smlnj + + diff --git a/roles/GO-63715/meta/main.yml b/roles/GO-63715/meta/main.yml new file mode 100644 index 0000000..e50e8b4 --- /dev/null +++ b/roles/GO-63715/meta/main.yml @@ -0,0 +1,10 @@ +# Grafično oblikovanje +# Blaz.Meden@fri.uni-lj.si, ilb@fri.uni-lj.si +# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje) +# +dependencies: + - role: blender + - role: adobe_cs + - role: inkscape + - role: gimp + diff --git a/roles/IS-63714/meta/main.yml b/roles/IS-63714/meta/main.yml new file mode 100644 index 0000000..fb9009f --- /dev/null +++ b/roles/IS-63714/meta/main.yml @@ -0,0 +1,10 @@ +# Informacijski sistemi +# Miha.Grohar@fri.uni-lj.si +# Windows, GNU/Linux, Docker, VS Code, dotnet6 SDK, GIT, Android Studio +dependencies: + - role: docker + - role: vscode + - role: dotnet6 + - role: git + - role: android_studio + diff --git a/roles/IVZ-63521/meta/main.yml b/roles/IVZ-63521/meta/main.yml new file mode 100644 index 0000000..3f2d5f2 --- /dev/null +++ b/roles/IVZ-63521/meta/main.yml @@ -0,0 +1,7 @@ +# Informacijska varnost in zasebnost +# David.Jelenc@fri.uni-lj.si +# Java JDK, IntelliJ IDEA, VirtualBox +dependencies: + - role: jdk + - role: idea + - role: virtualbox diff --git a/roles/KCR-63550/meta/main.yml b/roles/KCR-63550/meta/main.yml new file mode 100644 index 0000000..67f718a --- /dev/null +++ b/roles/KCR-63550/meta/main.yml @@ -0,0 +1,8 @@ +# Komunikacija človek računalnik +# Ales.Smrdel@fri.uni-lj.si +# Java JDK, Matlab, wfdb, Apache NetBeans +dependencies: + - role: jdk + - role: matlab + - role: wfdb + - role: netbeans diff --git a/roles/KPOV-63716/meta/main.yml b/roles/KPOV-63716/meta/main.yml new file mode 100644 index 0000000..e671a45 --- /dev/null +++ b/roles/KPOV-63716/meta/main.yml @@ -0,0 +1,6 @@ +# Komunikacijski protokoli in omrežna varnost +# Aleks.Huc@fri.uni-lj.si, Gasper.FeleZorz@fri.uni-lj.si +# Windows, GNU/Linux, GNS3, VirtualBox +dependencies: + - role: gns3 + - role: virtualbox diff --git a/roles/KRV-63528/meta/main.yml b/roles/KRV-63528/meta/main.yml new file mode 100644 index 0000000..96bd0ff --- /dev/null +++ b/roles/KRV-63528/meta/main.yml @@ -0,0 +1,7 @@ +# Kriptografija in računalniška varnost +# Klemen.Klanjscek@fri.uni-lj.si, Janos.Vidali@fri.uni-lj.si +# GNU/Linux, SageMath, Python 3, Jupyter Notebook, OpenSSL, OpenSSH client +dependencies: + - role: sagemath + - role: jupyter + - role: openssl diff --git a/roles/MRO-63257/meta/main.yml b/roles/MRO-63257/meta/main.yml new file mode 100644 index 0000000..b3a18ca --- /dev/null +++ b/roles/MRO-63257/meta/main.yml @@ -0,0 +1,5 @@ +# Modeliranje računalniških omrežij +# Miha.Janez@fri.uni-lj.si +# OMNeT++, INET Framework +dependencies: + - role: omnetpp diff --git a/roles/MV-63288/meta/main.yml b/roles/MV-63288/meta/main.yml new file mode 100644 index 0000000..f7f6a1b --- /dev/null +++ b/roles/MV-63288/meta/main.yml @@ -0,0 +1,9 @@ +# Multimedijske vsebine +# Blaz.Meden@fri.uni-lj.si +# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje) +dependencies: + - role: blender + - role: adobe_cs + - role: processing + - role: inkscape + - role: gimp diff --git a/roles/NDN-63729/meta/main.yml b/roles/NDN-63729/meta/main.yml new file mode 100644 index 0000000..be198ec --- /dev/null +++ b/roles/NDN-63729/meta/main.yml @@ -0,0 +1,9 @@ +# Načrtovanje digitalnih naprav +# Miran.Koprivec@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si +# Windows, Vivado 2022.1 +# Načrtovanje digitalnih naprav +# Miha.Moskon@fri.uni-lj.si +# Windows, Vivado 2022.1 +dependencies: + - role: vivado + - role: cp210x-vcp-drivers-win10 diff --git a/roles/NM-63522/meta/main.yml b/roles/NM-63522/meta/main.yml new file mode 100644 index 0000000..fdeef6b --- /dev/null +++ b/roles/NM-63522/meta/main.yml @@ -0,0 +1,6 @@ +# Numerična matematika +# Martin.Vuk@fri.uni-lj.si +# VS Code, Julia +dependencies: + - role: vscode + - role: julia diff --git a/roles/NPMP-63512/meta/main.yml b/roles/NPMP-63512/meta/main.yml new file mode 100644 index 0000000..d91713b --- /dev/null +++ b/roles/NPMP-63512/meta/main.yml @@ -0,0 +1,5 @@ +# Nekonvencionalne platforme in metode procesiranja +# Miha.Janez@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si +# QCADesigner-E +dependencies: + - role: qcadesigner-e diff --git a/roles/NRG-63553/meta/main.yml b/roles/NRG-63553/meta/main.yml new file mode 100644 index 0000000..d53d809 --- /dev/null +++ b/roles/NRG-63553/meta/main.yml @@ -0,0 +1,5 @@ +# Napredna računalniška grafika +# Ziga.Lesar@fri.uni-lj.si +# Windows, Build Tools for Visual Studio 2022 +dependencies: + - role: visual_studio diff --git a/roles/OBSS-63514/meta/main.yml b/roles/OBSS-63514/meta/main.yml new file mode 100644 index 0000000..8187799 --- /dev/null +++ b/roles/OBSS-63514/meta/main.yml @@ -0,0 +1,6 @@ +# Obdelava biomedicinskih signalov in slik +# Ziga.Pirnar@fri.uni-lj.si +# GNU/Linux, Matlab, wfdb +dependencies: + - role: matlab + - role: wfdb diff --git a/roles/ODV-63204/meta/main.yml b/roles/ODV-63204/meta/main.yml new file mode 100644 index 0000000..f303a38 --- /dev/null +++ b/roles/ODV-63204/meta/main.yml @@ -0,0 +1,5 @@ +# Osnove digitalnih vezij +# Ziga.Pusnik@fri.uni-lj.si, Miran.Koprivec@fri.uni-lj.si +# Windows, Logisim, Logisim Evolution +dependencies: + - role: logisim diff --git a/roles/OIS-63215/meta/main.yml b/roles/OIS-63215/meta/main.yml new file mode 100644 index 0000000..b193583 --- /dev/null +++ b/roles/OIS-63215/meta/main.yml @@ -0,0 +1,7 @@ +# Osnove Informacijskih Sistemov +# dejan.lavbic@fri.uni-lj.si +# git, docker, Node.js + npm, Visual Studio Code +dependencies: + - role: git + - role: docker + - role: nodejs diff --git a/roles/OO-63271/meta/main.yml b/roles/OO-63271/meta/main.yml new file mode 100644 index 0000000..0c11c27 --- /dev/null +++ b/roles/OO-63271/meta/main.yml @@ -0,0 +1,9 @@ +# Osnove oblikovanja +# Blaz.Meden@fri.uni-lj.si, Narvika.Bovcon@fri.uni-lj.si +# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje) +dependencies: + - role: blender + - role: adobe_cs + - role: inkscape + - role: gimp + diff --git a/roles/OR-63717/meta/main.yml b/roles/OR-63717/meta/main.yml new file mode 100644 index 0000000..70b9078 --- /dev/null +++ b/roles/OR-63717/meta/main.yml @@ -0,0 +1,11 @@ +# Organizacija računalnikov +# Robert.Rozman@fri.uni-lj.si +# Windows, Logisim, Logisim Evolution, RAVINOR, CubeIDE + QEMU Embedded plugin +dependencies: + - role: logisim + - role: stm32cube + - role: stm32duino + - role: ninja + - role: cmake + - role: gcc-arm +# TODO: RAVINOR, CubeIDE diff --git a/roles/ORS-63218/meta/main.yml b/roles/ORS-63218/meta/main.yml new file mode 100644 index 0000000..8764eef --- /dev/null +++ b/roles/ORS-63218/meta/main.yml @@ -0,0 +1,6 @@ +# Osnove Računalniških Sistemov +# Patricio.Bulic@fri.uni-lj.si +# +dependencies: + - role: vscode + - role: sifive diff --git a/roles/OS-63709/meta/main.yml b/roles/OS-63709/meta/main.yml new file mode 100644 index 0000000..f20e123 --- /dev/null +++ b/roles/OS-63709/meta/main.yml @@ -0,0 +1,5 @@ +# Operacijski sistemi +# Borut.Batagelj@fri.uni-lj.si, Ziga.Emersic@fri.uni-lj.si, Bojan.Klemenc@fri.uni-lj.si, Matej.Vitek@fri.uni-lj.si +# VirtualBox +dependencies: + - role: virtualbox diff --git a/roles/OS-63741/meta/main.yml b/roles/OS-63741/meta/main.yml new file mode 100644 index 0000000..4d5e31d --- /dev/null +++ b/roles/OS-63741/meta/main.yml @@ -0,0 +1,3 @@ +# Odločitveni sistemi +# Martin.Mozina@fri.uni-lj.si +# Windows diff --git a/roles/OUI-63214/meta/main.yml b/roles/OUI-63214/meta/main.yml new file mode 100644 index 0000000..0917005 --- /dev/null +++ b/roles/OUI-63214/meta/main.yml @@ -0,0 +1,7 @@ +# Osnove umetne inteligence +# Jure.Zabkar@fri.uni-lj.si, Ales.Papic@fri.uni-lj.si, matej.piculin@fri.uni-lj.si, Marko.Zeman@fri.uni-lj.si, bojan.zunkovic@fri.uni-lj.si +# Orange, Weka 3, BayesFusion +dependencies: + - role: orange + - role: weka + - role: bayesfusion diff --git a/roles/P2-63278/meta/main.yml b/roles/P2-63278/meta/main.yml new file mode 100644 index 0000000..72accdb --- /dev/null +++ b/roles/P2-63278/meta/main.yml @@ -0,0 +1,8 @@ +# Programiranje 2 +# bostjan.slivnik@fri.uni-lj.si +# gedit, vscode, pdf viewer (evince), gcc, g++, make, JDK +dependencies: + - role: jdk + - role: gedit + - role: vscode + - role: c_development diff --git a/roles/P2-63706/meta/main.yml b/roles/P2-63706/meta/main.yml new file mode 100644 index 0000000..f17f74c --- /dev/null +++ b/roles/P2-63706/meta/main.yml @@ -0,0 +1,7 @@ +# Programiranje 2 +# Tomaz.Dobravec@fri.uni-lj.si +# Windows, Java JDK, IntelliJ IDEA, Apache NetBeans +dependencies: + - role: jdk + - role: idea + - role: netbeans diff --git a/roles/PA-63737/meta/main.yml b/roles/PA-63737/meta/main.yml new file mode 100644 index 0000000..f42edd6 --- /dev/null +++ b/roles/PA-63737/meta/main.yml @@ -0,0 +1,5 @@ +# Procesna avtomatika +# Nejc.Ilc@fri.uni-lj.si +# Windows, VMware Workstation 16.2.4 Player +dependencies: + - role: vmware_player diff --git a/roles/PB-63707/meta/main.yml b/roles/PB-63707/meta/main.yml new file mode 100644 index 0000000..2ffafb3 --- /dev/null +++ b/roles/PB-63707/meta/main.yml @@ -0,0 +1,13 @@ +# Podatkovne baze +# Ales.Jaklic@fri.uni-lj.si, matej.piculin@fri.uni-lj.si, Luka.Sajn@fri.uni-lj.si +# Windows, Power designer 12.5, Java JDK, Python 3, dotnet6 SDK, Jupyter Notebook, Eclipse, MySql Workbench, MySQL ODBC Connector, Notepad++ +dependencies: + - role: eclipse + - role: dotnet6 + - role: jupyter + - role: jdk + - role: powerdesigner + - role: pyodbc + - role: mysql_workbench + - role: mysql-odbc-connector + - role: notepad++ diff --git a/roles/PB2-63713/meta/main.yml b/roles/PB2-63713/meta/main.yml new file mode 100644 index 0000000..c55a3bc --- /dev/null +++ b/roles/PB2-63713/meta/main.yml @@ -0,0 +1,8 @@ +# Podatkovne baze 2 +# Aljaz.Zrnec@fri.uni-lj.si +# Windows +# Podatkovne baze 2 +# Aljaz.Zrnec@fri.uni-lj.si +# Power designer 12.5 +dependencies: + - role: powerdesigner diff --git a/roles/PJC-63769/meta/main.yml b/roles/PJC-63769/meta/main.yml new file mode 100644 index 0000000..0c5fab1 --- /dev/null +++ b/roles/PJC-63769/meta/main.yml @@ -0,0 +1,5 @@ +# Programski jezik C +# Tomaz.Dobravec@fri.uni-lj.si +# Windows, Pelles C +dependencies: + - role: pelles-c diff --git a/roles/PPJ-63220/meta/main.yml b/roles/PPJ-63220/meta/main.yml new file mode 100644 index 0000000..4a98d42 --- /dev/null +++ b/roles/PPJ-63220/meta/main.yml @@ -0,0 +1,11 @@ +# Principi programskih jezikov +# Klemen.Klanjscek@fri.uni-lj.si +# Windows, GNU/Linux, VS Code, Ocaml, Eclipse, Haskell, SWI-Prolog, rlwrap +dependencies: + - role: vscode + - role: ocaml + - role: eclipse + - role: haskell + - role: swi-prolog + - role: rlwrap + diff --git a/roles/PS-63261/meta/main.yml b/roles/PS-63261/meta/main.yml new file mode 100644 index 0000000..1236057 --- /dev/null +++ b/roles/PS-63261/meta/main.yml @@ -0,0 +1,6 @@ +# Porazdeljeni sistemi +# Davor.Sluga@fri.uni-lj.si +# Windows, VS Code, golang +dependencies: + - role: vscode + - role: golang diff --git a/roles/PSP-63287/meta/main.yml b/roles/PSP-63287/meta/main.yml new file mode 100644 index 0000000..b29b221 --- /dev/null +++ b/roles/PSP-63287/meta/main.yml @@ -0,0 +1,6 @@ +# Programiranje specifičnih platform +# Veljko.Pejovic@fri.uni-lj.si +# Android Studio, Arduino IDE +dependencies: + - role: android_studio + - role: arduino diff --git a/roles/PUI-63768/meta/main.yml b/roles/PUI-63768/meta/main.yml new file mode 100644 index 0000000..a76d3df --- /dev/null +++ b/roles/PUI-63768/meta/main.yml @@ -0,0 +1,5 @@ +# Planiranje in upravljanje informatike +# damjan.fujs@fri.uni-lj.si +# Planiranje in upravljanje informatike (VS) +dependencies: + - role: projectlibre diff --git a/roles/RA-63703/meta/main.yml b/roles/RA-63703/meta/main.yml new file mode 100644 index 0000000..e4cfb9d --- /dev/null +++ b/roles/RA-63703/meta/main.yml @@ -0,0 +1,13 @@ +# Računalniška arhitektura +# Ziga.Pusnik@fri.uni-lj.si, Rok.Cesnovar@fri.uni-lj.si, Robert.Rozman@fri.uni-lj.si, Mira.Trebar@fri.uni-lj.si +# Windows, RAVINOR, CubeIDE + QEMU Embedded plugin, WinIdea 9.21 + GCC + QEMU, WinIdea 9.12.256 (FRISMS kompatibilna), Visual2 +dependencies: + - role: stm32cube + - role: stm32duino + - role: winidea + - role: winidea-frisms + - role: git + - role: visual2 + - role: algobuilder + - role: putty + - role: pulseview diff --git a/roles/README.md b/roles/README.md new file mode 100644 index 0000000..3013d5d --- /dev/null +++ b/roles/README.md @@ -0,0 +1,25 @@ +# Recepti za nameščanje programske opreme + +Recepti za nameščanje programske opreme v učilnicah FRI se nahajajo v: + + - linroom/tasks za GNU/Linux + - windows/tasks za Microsoft Windows + +Vsako leto predvidoma popravimo recepte - sezname potrebnih programov in recepte za nameščanje le-teh. + +## Zahteve za predmet + +V imeniku tasks za vsak predmet obstaja YAML datoteka s seznamom zahtevanih programov. +Na primer, za predmet Komunikacijski protokoli in omrežna varnost obstaja datoteka KPOV-63716.yml. +V datoteki je po ena vrstica z besedo "include" za vsak program, ki ga pri predmetu potrebujemo. + +Trenutno za vsak predmet obstajata po dve datoteki - ena pod linroom/tasks, druga pod winroom/tasks. + +## Nameščanje posameznega programa + +Datoteke za nameščanje programov se prav tako nahajajo v imeniku tasks. +Na primer, za nameščanje Microsoftovega VSCode, obstaja datoteka vscode.yml. + +Za nameščanje pod GNU/Linux in Windows sta datoteki seveda različni. + +Ker nekateri programi niso javno dostopni, se pri nekaterih receptih uporabljajo datoteke z datotečnega strežnika UcilniceSMB. Kako to popraviti, je zaenkrat odprto vprašanje. diff --git a/roles/RGTI-63269/meta/main.yml b/roles/RGTI-63269/meta/main.yml new file mode 100644 index 0000000..8a0e4f4 --- /dev/null +++ b/roles/RGTI-63269/meta/main.yml @@ -0,0 +1,5 @@ +# Računalniška grafika in tehnologija iger +# Ziga.Lesar@fri.uni-lj.si +# Windows, Unity +dependencies: + - role: unity diff --git a/roles/RIS-63252/meta/main.yml b/roles/RIS-63252/meta/main.yml new file mode 100644 index 0000000..d104016 --- /dev/null +++ b/roles/RIS-63252/meta/main.yml @@ -0,0 +1,5 @@ +# Razvoj informacijskih sistemov +# Aljaz.Zrnec@fri.uni-lj.si +# Power designer 12.5 +dependencies: + - role: powerdesigner diff --git a/roles/RK-63209/meta/main.yml b/roles/RK-63209/meta/main.yml new file mode 100644 index 0000000..e49e38e --- /dev/null +++ b/roles/RK-63209/meta/main.yml @@ -0,0 +1,10 @@ +# Računalniške komunikacije +# Ales.Jaklic@fri.uni-lj.si, Matjaz.Pancur@fri.uni-lj.si, Jure.Tuta@fri.uni-lj.si, Domen.Kosir@fri.uni-lj.si +# GNU/Linux, GNS3, Docker, VS Code, wireshark, Java JDK, Python 3 +dependencies: + - role: docker + - role: gns3 + - role: vscode + - role: wireshark + - role: jdk + diff --git a/roles/RK-63708/meta/main.yml b/roles/RK-63708/meta/main.yml new file mode 100644 index 0000000..bc7eefc --- /dev/null +++ b/roles/RK-63708/meta/main.yml @@ -0,0 +1,10 @@ +# Računalniške komunikacije +# Matjaz.Pancur@fri.uni-lj.si, Miha.Grohar@fri.uni-lj.si +# GNU/Linux, GNS3, Docker, VS Code, wireshark, Java JDK, Python 3 +dependencies: + - role: docker + - role: gns3 + - role: vscode + - role: wireshark + - role: jdk + diff --git a/roles/RPOI-90066/meta/main.yml b/roles/RPOI-90066/meta/main.yml new file mode 100644 index 0000000..7b01660 --- /dev/null +++ b/roles/RPOI-90066/meta/main.yml @@ -0,0 +1,8 @@ +# Računalniška podpora oblikovanju I (ALUO) +# Matija.Marolt@fri.uni-lj.si +# SolidWorks +# Računalniška podpora oblikovanju I (ALUO) +# Matija.Marolt@fri.uni-lj.si +# SolidWorks +dependencies: + - role: solidworks diff --git a/roles/RZP-63523/meta/main.yml b/roles/RZP-63523/meta/main.yml new file mode 100644 index 0000000..7a01705 --- /dev/null +++ b/roles/RZP-63523/meta/main.yml @@ -0,0 +1,8 @@ +# Računalniška zvočna produkcija +# Aleks.Huc@fri.uni-lj.si +# IntelliJ IDEA, Audacity, GIT +dependencies: + - role: git + - role: audacity + - role: idea + diff --git a/roles/SP-63255/meta/main.yml b/roles/SP-63255/meta/main.yml new file mode 100644 index 0000000..404a978 --- /dev/null +++ b/roles/SP-63255/meta/main.yml @@ -0,0 +1,8 @@ +# Spletno Programiranje +# dejan.lavbic@fri.uni-lj.si +# git, docker, Node.js + npm, Visual Studio Code +dependencies: + - role: git + - role: docker + - role: nodejs + - role: webstorm diff --git a/roles/ST-63727/meta/main.yml b/roles/ST-63727/meta/main.yml new file mode 100644 index 0000000..3b21ea9 --- /dev/null +++ b/roles/ST-63727/meta/main.yml @@ -0,0 +1,6 @@ +# Spletne tehnologije +# David.Jelenc@fri.uni-lj.si +# Windows, VS Code, XAMPP +dependencies: + - role: vscode + - role: xampp diff --git a/roles/SU-63519/meta/main.yml b/roles/SU-63519/meta/main.yml new file mode 100644 index 0000000..c1f84bf --- /dev/null +++ b/roles/SU-63519/meta/main.yml @@ -0,0 +1,11 @@ +# Strojno učenje +# matej.piculin@fri.uni-lj.si, Petar.Vracar@fri.uni-lj.si +# Windows, R, RStudio +dependencies: + - role: python3 + - role: pandas + - role: scipy + - role: xgboost + - role: statsmodels + - role: tensorflow + - role: statsmodels diff --git a/roles/TINR-63740/meta/main.yml b/roles/TINR-63740/meta/main.yml new file mode 100644 index 0000000..440a353 --- /dev/null +++ b/roles/TINR-63740/meta/main.yml @@ -0,0 +1,5 @@ +# Tehnologija iger in navidezna resničnost +# Bojan.Klemenc@fri.uni-lj.si +# macOS, Xcode +dependencies: + - role: xcode diff --git a/roles/TIS-63216/meta/main.yml b/roles/TIS-63216/meta/main.yml new file mode 100644 index 0000000..189307b --- /dev/null +++ b/roles/TIS-63216/meta/main.yml @@ -0,0 +1,6 @@ +# Teorija informacij in sistemov +# Davor.Sluga@fri.uni-lj.si +# Windows, VS Code, Python 3 +dependencies: + - role: vscode + - role: thonny diff --git a/roles/TUP-63226/meta/main.yml b/roles/TUP-63226/meta/main.yml new file mode 100644 index 0000000..ca4d031 --- /dev/null +++ b/roles/TUP-63226/meta/main.yml @@ -0,0 +1,13 @@ +# Tehnologija upravljanja podatkov +# Luka.Sajn@fri.uni-lj.si +# Windows, Power designer 12.5, Java JDK, Python 3, dotnet6 SDK, Jupyter Notebook, Eclipse, MySql Workbench, MySQL ODBC Connector, Notepad++ +dependencies: + - role: eclipse + - role: dotnet6 + - role: jupyter + - role: jdk + - role: powerdesigner + - role: mysql_workbench + - role: mysql-odbc-connector + - role: notepad++ + diff --git a/roles/UI-63720/meta/main.yml b/roles/UI-63720/meta/main.yml new file mode 100644 index 0000000..6079586 --- /dev/null +++ b/roles/UI-63720/meta/main.yml @@ -0,0 +1,5 @@ +# Umetna inteligenca +# Petar.Vracar@fri.uni-lj.si +# Windows, R, RStudio +dependencies: + - role: rstudio diff --git a/roles/UV-63721/meta/main.yml b/roles/UV-63721/meta/main.yml new file mode 100644 index 0000000..16df5ca --- /dev/null +++ b/roles/UV-63721/meta/main.yml @@ -0,0 +1,9 @@ +# Uporabniški vmesniki +# Ales.Smrdel@fri.uni-lj.si +# Windows, GNU/Linux, Java JDK, IntelliJ IDEA, javafx, SceneBuilder, X11 development, Wayland development, gtk+ development, glade, python +dependencies: + - role: jdk + - role: idea + - role: javafx + - role: gui_development + - role: scenebuilder diff --git a/roles/UZ-63267/meta/main.yml b/roles/UZ-63267/meta/main.yml new file mode 100644 index 0000000..0058748 --- /dev/null +++ b/roles/UZ-63267/meta/main.yml @@ -0,0 +1,5 @@ +# Umetno zaznavanje +# jon.muhovic@fe.uni-lj.si +# Python3, Python 3 +dependencies: + - role: python3 diff --git a/roles/VN-63728/meta/main.yml b/roles/VN-63728/meta/main.yml new file mode 100644 index 0000000..72630f8 --- /dev/null +++ b/roles/VN-63728/meta/main.yml @@ -0,0 +1,9 @@ +# Vhodno-izhodne naprave +# Robert.Rozman@fri.uni-lj.si +# Windows, Logisim Evolution, RAVINOR, WinIdea 9.12.256 (FRISMS kompatibilna), LTSpice +dependencies: + - role: logisim + - role: winidea-frisms + - role: winidea + - role: ltspice + diff --git a/roles/VP-63775/meta/main.yml b/roles/VP-63775/meta/main.yml new file mode 100644 index 0000000..4bf1623 --- /dev/null +++ b/roles/VP-63775/meta/main.yml @@ -0,0 +1,14 @@ +# Varnost Podatkov +# david.jelenc@fri.uni-lj.si +# Python (in standardno pripadajoča šara jupyter lab) in IntelliJ IDEA PyCharm CE +# PyCharm +# Java (kar je bilo lani bo ok) in IntelliJ IDEA CE +# maven +# git +dependencies: + - role: git + - role: maven + - role: idea + - role: jdk + - role: jupyter + - role: pycharm diff --git a/roles/VPSA-63735/meta/main.yml b/roles/VPSA-63735/meta/main.yml new file mode 100644 index 0000000..cbd44ba --- /dev/null +++ b/roles/VPSA-63735/meta/main.yml @@ -0,0 +1,6 @@ +# Vzporedni in porazdeljeni sistemi in algoritmi +# Davor.Sluga@fri.uni-lj.si, Rok.Cesnovar@fri.uni-lj.si +# Windows, VS Code, Build Tools for Visual Studio 2022 +dependencies: + - role: vscode + - role: visual_studio diff --git a/roles/VZR-63543/meta/main.yml b/roles/VZR-63543/meta/main.yml new file mode 100644 index 0000000..ae0e94c --- /dev/null +++ b/roles/VZR-63543/meta/main.yml @@ -0,0 +1,5 @@ +# Visoko zmogljivo računanje +# Davor.Sluga@fri.uni-lj.si +# Windows, VS Code +dependencies: + - role: vscode diff --git a/roles/ad_joined/tasks/main.yml b/roles/ad_joined/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/ad_joined/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/ad_joined/tasks/main_lin.yml b/roles/ad_joined/tasks/main_lin.yml new file mode 100644 index 0000000..d1cadbb --- /dev/null +++ b/roles/ad_joined/tasks/main_lin.yml @@ -0,0 +1,34 @@ +- name: Enable create homedir on login + command: pam-auth-update --enable mkhomedir + become: true +- name: Check whether we already joined + command: /bin/bash -c "/usr/sbin/realm list" + register: realm_list_results + - name: Set OU + set_fact: + ou_path: "OU={{locations[0]}},OU=Ucilnice" + - name: Show state + debug: + msg: "Host: {{inventory_hostname}}, OU: {{ou_path}}" + # - import_tasks: ne_sysprep.yaml + - name: "Rename" + # Racunalnik najprej preimenujmo, da ne bosta v domeni obenem 2 z istim imenom + hostname: + name: "{{inventory_hostname}}" + register: hostname_res + +- name: Join using realmd + expect: + command: realm join --user={{ad_join_user}} --computer-ou={{ou_path}} FRI1.UNI-LJ.SI + responses: + (?i)Password: "{{ad_join_password}}" + ignore_errors: yes + when: realm_list_results.stdout == "" + +- name: Copy sssd config + template: + src: sssd.conf + dest: "/etc/sssd/sssd.conf" + owner: root + mode: 0600 + diff --git a/roles/ad_joined/tasks/main_win.yml b/roles/ad_joined/tasks/main_win.yml new file mode 100644 index 0000000..79481e3 --- /dev/null +++ b/roles/ad_joined/tasks/main_win.yml @@ -0,0 +1,49 @@ +- name: Set OU + set_fact: + ou_path: "OU={{locations[0]}},OU=Ucilnice,DC=fri1,DC=uni-lj,DC=si" +- name: "Rename" + # Racunalnik najprej preimenujmo, da ne bosta v domeni obenem 2 z istim imenom + win_hostname: + name: "{{inventory_hostname}}" + register: hostname_res +- name: "Reboot after hostname change" + win_reboot: + when: hostname_res.reboot_required +- name: Stop Windows Update Service + win_service: + name: wuauserv + state: stopped +- name: Clear WSUS ID from registry + win_regedit: + path: HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate + name: "{{item}}" + state: absent + delete_key: yes + with_items: + - PingID + - AccountDomainSid + - SusClientId + - SusClientIDValidation +- name: Start Windows Update Service + win_service: + name: wuauserv + state: started +- name: "Join domain" + win_domain_membership: + domain_admin_user: "{{adjoin_user}}" + domain_admin_password: "{{adjoin_password}}" + dns_domain_name: "{{domain_name}}" + domain_ou_path: "{{ou_path}}" + hostname: "{{inventory_hostname}}" + state: domain + register: domain_state +- name: Reset WSUS authorization + win_command: wuauclt.exe /resetauthorization /detectnow + ignore_errors: yes +- name: Update windows + win_command: wuauclt.exe /updatenow + ignore_errors: yes +- name: Reboot + win_command: "shutdown /r" + when: domain_state.reboot_required + diff --git a/roles/ad_joined/templates/sssd.conf b/roles/ad_joined/templates/sssd.conf new file mode 100644 index 0000000..117793c --- /dev/null +++ b/roles/ad_joined/templates/sssd.conf @@ -0,0 +1,31 @@ +[sssd] +config_file_version = 2 +domains = fri1.uni-lj.si +enable_files_domain = False +services = nss, pam + +[nss] +filtered_groups = root +filtered_users = root +reconnection_retries = 3 + +[pam] +reconnection_retries = 3 + +[domain/fri1.uni-lj.si] +ad_domain = fri1.uni-lj.si +ad_server = dcv1fri1.fri1.uni-lj.si,dcv2fri1.fri1.uni-lj.si +ad_maximum_machine_account_password_age = 0 +ad_gpo_access_control = permissive +ad_enabled_domains = fri1.uni-lj.si, student.uni-lj.si, fkkt1.uni-lj.si, ef1.uni-lj.si, fe1.uni-lj.si, ff.uni-lj.si, fmf.uni-lj.si, fu.uni-lj.si, pef.uni-lj.si +krb5_realm = FRI1.UNI-LJ.SI +ad_gpo_ignore_unreadable = True +realmd_tags = manages-system joined-with-adcli +cache_credentials = True +id_provider = ad +krb5_store_password_if_offline = True +default_shell = /bin/bash +ldap_id_mapping = True +use_fully_qualified_names = True +fallback_homedir = /home/%u@%d +access_provider = ad diff --git a/roles/adobe_cs/tasks/main.yml b/roles/adobe_cs/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/adobe_cs/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/adobe_cs/tasks/main_lin.yml b/roles/adobe_cs/tasks/main_lin.yml new file mode 100644 index 0000000..a033864 --- /dev/null +++ b/roles/adobe_cs/tasks/main_lin.yml @@ -0,0 +1 @@ +# TODO ugotovi, kaj narediti z Adobe CS diff --git a/roles/adobe_cs/tasks/main_win.yml b/roles/adobe_cs/tasks/main_win.yml new file mode 100644 index 0000000..a033864 --- /dev/null +++ b/roles/adobe_cs/tasks/main_win.yml @@ -0,0 +1 @@ +# TODO ugotovi, kaj narediti z Adobe CS diff --git a/roles/algobuilder/tasks/main.yml b/roles/algobuilder/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/algobuilder/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/algobuilder/tasks/main_lin.yml b/roles/algobuilder/tasks/main_lin.yml new file mode 100644 index 0000000..24f0d0e --- /dev/null +++ b/roles/algobuilder/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Do not install AlgoBuilder + debug: + msg: "Do not install AlgoBuilder on Linux" + diff --git a/roles/algobuilder/tasks/main_win.yml b/roles/algobuilder/tasks/main_win.yml new file mode 100644 index 0000000..3ccb74c --- /dev/null +++ b/roles/algobuilder/tasks/main_win.yml @@ -0,0 +1,30 @@ +# TODO check install status +- name: Check AlgoBuilder install status + win_stat: + path: C:\Program Files (x86)\Thonny\thonny.exe + register: file + +- when: not file.stat.exists + block: + - name: Download AlgoBuilder + win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EZhqHxJoAfdEjdlMu0uGWGcBOqrT0vTVv2_nhynWZ3fOwQ?e=rcskhq&download=1" -O C:\AlgoBuilderSuite.exe + args: + creates: C:\AlgoBuilderSuite.exe + #win_get_url: + # follow_redirects: all + # http_agent: Wget/1.21.3 + # url: https://unilj-my.sharepoint.com/:u:/r/personal/rozman_fri1_uni-lj_si/Documents/Arhiv/ImportantFiles/AlgoBuilderSuite.exe?download=1 + # dest: C:\AlgoBuilderSuite.exe + #register: download + + - name: Install AlgoBuilder + win_package: + path: C:\AlgoBuilderSuite.exe + # path: "{{ download.dest }}" + arguments: /Verysilent /AllUsers + + - name: Remove temporary files + win_file: + path: C:\AlgoBuilderSuite.exe + # path: "{{ download.dest }}" + state: absent diff --git a/roles/all_classes/meta/main.yml b/roles/all_classes/meta/main.yml new file mode 100644 index 0000000..8c8121f --- /dev/null +++ b/roles/all_classes/meta/main.yml @@ -0,0 +1,62 @@ +dependencies: + - role: fri_base + - role: AAHRP-63263 + - role: APS1-63279 + - role: ARP1-63545C + - role: BMO-63259 + - role: DF-63530 + - role: DN-63260 + - role: DPS-63744 + - role: DV-63718 + - role: EP-63249 + - role: FP-63507 + - role: GO-63715 + - role: IS-63714 + - role: IVZ-63521 + - role: KCR-63550 + - role: KPOV-63716 + - role: KRV-63528 + - role: MRO-63257 + - role: MV-63288 + - role: NDN-63729 + - role: NM-63522 + - role: NPMP-63512 + - role: NRG-63553 + - role: OBSS-63514 + - role: ODV-63204 + - role: OO-63271 + - role: OR-63717 + - role: ORS-63218 + - role: OS-63709 + - role: OS-63741 + - role: OUI-63214 + - role: P2-63278 + - role: P2-63706 + - role: PA-63737 + - role: PB2-63713 + - role: PB-63707 + - role: PJC-63769 + - role: PPJ-63220 + - role: PS-63261 + - role: PSP-63287 + - role: PUI-63768 + - role: RA-63703 + - role: RGTI-63269 + - role: RIS-63252 + - role: RK-63209 + - role: RK-63708 + - role: RPOI-90066 + - role: RZP-63523 + - role: SP-63255 + - role: ST-63727 + - role: SU-63519 + - role: TINR-63740 + - role: TIS-63216 + - role: TUP-63226 + - role: UI-63720 + - role: UV-63721 + - role: UZ-63267 + - role: VN-63728 + - role: VP-63775 + - role: VPSA-63735 + - role: VZR-63543 diff --git a/roles/android_studio/meta/main.yml b/roles/android_studio/meta/main.yml new file mode 100644 index 0000000..44dfcc3 --- /dev/null +++ b/roles/android_studio/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: + - role: msys2 diff --git a/roles/android_studio/tasks/androidsdk_packages.yml b/roles/android_studio/tasks/androidsdk_packages.yml new file mode 100644 index 0000000..da206a7 --- /dev/null +++ b/roles/android_studio/tasks/androidsdk_packages.yml @@ -0,0 +1,29 @@ +AndroidSDK_packages: + - add-ons;addon-google_apis-google-24 + - build-tools;34.0.0-rc3 + - cmake;3.22.1 + - cmdline-tools;latest + - emulator + - extras;android;m2repository + - extras;google;auto + - extras;google;google_play_services + - extras;google;instantapps + - extras;google;m2repository + - extras;google;market_apk_expansion + - extras;google;market_licensing + - extras;google;simulators + - extras;google;webdriver + - extras;m2repository;com;android;support;constraint;constraint-layout-solver;1.0.2 + - extras;m2repository;com;android;support;constraint;constraint-layout;1.0.2 + - ndk-bundle + - patcher;v4 + - platform-tools + - platforms;android-34 + - platforms;android-32 + - platforms;android-UpsideDownCakePrivacySandbox + - skiaparser;3 + - sources;android-34 + - system-images;android-34;google_apis;x86_64 + - system-images;android-32;google_apis;x86_64 + - system-images;android-34;google_apis_playstore;x86_64 + - system-images;android-UpsideDownCakePrivacySandbox;google_apis_playstore;x86_64 diff --git a/roles/android_studio/tasks/main.yml b/roles/android_studio/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/android_studio/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/android_studio/tasks/main_lin.yml b/roles/android_studio/tasks/main_lin.yml new file mode 100644 index 0000000..d664992 --- /dev/null +++ b/roles/android_studio/tasks/main_lin.yml @@ -0,0 +1,37 @@ +- name: Install Android Studio + block: + - name: Create destination for Android Studio + file: + path: /opt/Android_Studio + state: directory + - name: Download and unpack Android Studio + unarchive: + # src: https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.16/android-studio-2021.3.1.16-linux.tar.gz + src: https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.3.1.19/android-studio-2022.3.1.19-linux.tar.gz + creates: /opt/Android_Studio/android-studio/build.txt + dest: /opt/Android_Studio + remote_src: yes + + - name: Install Android Studio Command line tools + block: + - name: Create destination for Android Studio Command line tools + file: + path: /opt/Android_SDK + state: directory + - name: Download and unpack Android Studio Command line tools + unarchive: + # src: https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.16/android-studio-2021.3.1.16-linux.tar.gz + src: https://dl.google.com/android/repository/commandlinetools-linux-10406996_latest.zip + creates: /opt/Android_SDK/cmdline-tools/lib/README + dest: /opt/Android_SDK + remote_src: yes + + - name: Include Android SDK packages + include_vars: androidsdk_packages.yml + + - name: Accept Android SDK package licenses + shell: yes | /opt/Android_SDK/cmdline-tools/bin/sdkmanager --sdk_root=/opt/Android_SDK --licenses + + - name: Install Android SDK packages + command: /opt/Android_SDK/cmdline-tools/bin/sdkmanager --sdk_root=/opt/Android_SDK --install "{{ item }}" + loop: "{{ AndroidSDK_packages }}" diff --git a/roles/android_studio/tasks/main_win.yml b/roles/android_studio/tasks/main_win.yml new file mode 100644 index 0000000..059c428 --- /dev/null +++ b/roles/android_studio/tasks/main_win.yml @@ -0,0 +1,84 @@ +- name: Set Android Studio version + set_fact: + sdk_path: C:\android-sdk + studio_version: "2021.3.1.16" + tools_version: "8512546_latest" + +- name: Check Android Studio tools + win_stat: + path: "{{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager.bat" + register: tools + +- when: not tools.stat.exists + block: + - name: Download Android Studio tools + win_get_url: + url: "https://dl.google.com/android/repository/commandlinetools-win-{{ tools_version }}.zip" + dest: C:\ + + - name: Extract Android Studio tools + win_unzip: + src: "C:\\commandlinetools-win-{{ tools_version }}.zip" + dest: "{{ sdk_path }}\\cmdline-tools" + delete_archive: yes + +- name: Accept Android SDK licenses + win_shell: sh -c "yes | /c/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager.bat --licenses" + +- name: Include Android SDK packages + include_vars: androidsdk_packages.yml + +- name: Install Android SDK + win_shell: | + {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "{{ item }}" + loop: "{{ AndroidSDK_packages }}" + + +# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "{{ AndroidSDK_packages | join(' ') }}" +# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "build-tools;33.0.0" "cmdline-tools;latest" "emulator" "ndk-bundle" "ndk;25.1.8937393" "platform-tools" "platforms;android-33" "sources;android-33" "system-images;android-33;google_apis;arm64-v8a" "system-images;android-33;google_apis;x86_64" + +- name: Install Android Studio + win_package: + path: "https://redirector.gvt1.com/edgedl/android/studio/install/{{ studio_version }}/android-studio-{{ studio_version }}-windows.exe" + arguments: /S /AllUsers + expected_return_code: [0, 1223, 3010] + creates_path: "%ProgramFiles%\\Android\\Android Studio\\bin\\studio64.exe" + +- name: Create Android Studio data directory + win_file: + path: D:\.android + state: directory + +- name: Set Android Studio environment variables + win_environment: + level: machine + variables: + ANDROID_HOME: "{{ sdk_path }}" + ANDROID_PREFS_ROOT: D:\ + GRADLE_USER_HOME: D:\.gradle + +- name: Check HAXM install status + win_stat: + path: "%ProgramFiles%\\Intel\\HAXM" + register: file + +- when: not file.stat.exists + block: + - name: Download HAXM + win_get_url: + url: https://github.com/intel/haxm/releases/download/v7.7.1/haxm-windows_v7_7_1.zip + dest: C:\ + register: download + + - name: Unzip HAXM + win_unzip: + src: "{{ download.dest }}" + dest: C:\haxm + + - name: Install HAXM + win_command: C:\haxm\silent_install.bat + + - name: Remove temporaries + win_file: + path: C:\haxm + state: absent diff --git a/roles/arduino/tasks/main.yml b/roles/arduino/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/arduino/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/arduino/tasks/main_lin.yml b/roles/arduino/tasks/main_lin.yml new file mode 100644 index 0000000..de9d922 --- /dev/null +++ b/roles/arduino/tasks/main_lin.yml @@ -0,0 +1,25 @@ +- name: create destination + file: + path: /opt/Arduino + state: directory + +- name: unpack Arduino + unarchive: + src: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.2.1_Linux_64bit.zip + dest: /opt/Arduino + remote_src: yes + +- name: unpack Arduino-cli + unarchive: + src: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Linux_64bit.tar.gz + dest: /opt/Arduino + remote_src: yes + creates: /opt/Arduino/arduino-cli + +- name: Add symlink to /usr/local/bin + file: + src: /opt/Arduino/arduino-cli + path: /usr/local/bin/arduino-cli + state: link + + diff --git a/roles/arduino/tasks/main_win.yml b/roles/arduino/tasks/main_win.yml new file mode 100644 index 0000000..a607b37 --- /dev/null +++ b/roles/arduino/tasks/main_win.yml @@ -0,0 +1,16 @@ +- name: Install Arduino IDE + win_package: + # path: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.0.0_Windows_64bit.exe + path: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.2.1_Windows_64bit.exe + arguments: /S /AllUsers + creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe" + +- name: Install Arduino-cli + win_package: + # path: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.0.0_Windows_64bit.exe + path: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip + arguments: /S /AllUsers + # creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe" + + +# TODO check if anything else is needed (esp8266com)? diff --git a/roles/audacity/tasks/main.yml b/roles/audacity/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/audacity/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/audacity/tasks/main_lin.yml b/roles/audacity/tasks/main_lin.yml new file mode 100644 index 0000000..1481dd7 --- /dev/null +++ b/roles/audacity/tasks/main_lin.yml @@ -0,0 +1,5 @@ +- name: Install Audacity + apt: + name: audacity + state: latest + diff --git a/roles/audacity/tasks/main_win.yml b/roles/audacity/tasks/main_win.yml new file mode 100644 index 0000000..bd11fd6 --- /dev/null +++ b/roles/audacity/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install Audacity + win_chocolatey: + name: audacity diff --git a/roles/bayesfusion/tasks/main.yml b/roles/bayesfusion/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/bayesfusion/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/bayesfusion/tasks/main_lin.yml b/roles/bayesfusion/tasks/main_lin.yml new file mode 100644 index 0000000..d6903b4 --- /dev/null +++ b/roles/bayesfusion/tasks/main_lin.yml @@ -0,0 +1,10 @@ +# TODO install BayesFusion.yml +# https://download.bayesfusion.com/files.html?category=Academia#GeNIe +- name: Install Wine + apt: + name: wine-development + state: latest +- name: Install Wine binfmt support + apt: + name: wine-binfmt + state: latest diff --git a/roles/bayesfusion/tasks/main_win.yml b/roles/bayesfusion/tasks/main_win.yml new file mode 100644 index 0000000..4dfbd99 --- /dev/null +++ b/roles/bayesfusion/tasks/main_win.yml @@ -0,0 +1,5 @@ +- name: Install BayesFusion + win_package: + path: "{{ installers }}\\genie-academic-setup-4.0.1922-x86.exe" + arguments: /VerySilent + creates_path: "%ProgramFiles(x86)%\\GeNIe 4.0 Academic\\genie.exe" diff --git a/roles/blender/tasks/main.yml b/roles/blender/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/blender/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/blender/tasks/main_lin.yml b/roles/blender/tasks/main_lin.yml new file mode 100644 index 0000000..7a3281e --- /dev/null +++ b/roles/blender/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install blender + apt: + name: blender + state: latest diff --git a/roles/blender/tasks/main_win.yml b/roles/blender/tasks/main_win.yml new file mode 100644 index 0000000..8985fd2 --- /dev/null +++ b/roles/blender/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install Blender + win_package: + path: https://ftp.nluug.nl/pub/graphics/blender/release/Blender3.3/blender-3.3.0-windows-x64.msi diff --git a/roles/c_development/tasks/main.yml b/roles/c_development/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/c_development/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/c_development/tasks/main_lin.yml b/roles/c_development/tasks/main_lin.yml new file mode 100644 index 0000000..b201e3d --- /dev/null +++ b/roles/c_development/tasks/main_lin.yml @@ -0,0 +1,10 @@ +- name: Install C/C++ development tools + apt: + name: + - gcc + - make + - automake + - g++ + - gdb + - cmake + state: latest diff --git a/roles/c_development/tasks/main_win.yml b/roles/c_development/tasks/main_win.yml new file mode 100644 index 0000000..1d8c75c --- /dev/null +++ b/roles/c_development/tasks/main_win.yml @@ -0,0 +1,8 @@ +- name: Do not install C development tools + debug: + msg: "Do not install C development tools" + +- name: Install MinGW + win_chocolatey: + name: mingw + state: latest diff --git a/roles/chrome/tasks/main.yml b/roles/chrome/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/chrome/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/chrome/tasks/main_lin.yml b/roles/chrome/tasks/main_lin.yml new file mode 100644 index 0000000..390d25c --- /dev/null +++ b/roles/chrome/tasks/main_lin.yml @@ -0,0 +1,12 @@ +- name: Add Chromium not-a-snap repository + apt_repository: + repo: ppa:xtradeb/apps + state: present + update_cache: True + validate_certs: False + +- name: Install Chromium instead of Chrome + apt: + name: chromium-browser + state: latest + diff --git a/roles/chrome/tasks/main_win.yml b/roles/chrome/tasks/main_win.yml new file mode 100644 index 0000000..41368c5 --- /dev/null +++ b/roles/chrome/tasks/main_win.yml @@ -0,0 +1,11 @@ +- name: Install Chrome + win_chocolatey: + name: googlechrome + ignore_checksums: True # TODO: re-enable checksums when the package is fixed + +- name: Disable Chrome updates + win_regedit: + path: HKLM:\SOFTWARE\Policies\Google\Update + name: AutoUpdateCheckPeriodMinutes + type: dword + data: 0 diff --git a/roles/cmake/tasks/main.yml b/roles/cmake/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/cmake/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/cmake/tasks/main_lin.yml b/roles/cmake/tasks/main_lin.yml new file mode 100644 index 0000000..30bebe4 --- /dev/null +++ b/roles/cmake/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install cmake + apt: + name: cmake + state: latest diff --git a/roles/cmake/tasks/main_win.yml b/roles/cmake/tasks/main_win.yml new file mode 100644 index 0000000..a678bdf --- /dev/null +++ b/roles/cmake/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Do not install cmake + debug: + msg: "Do not install cmake" diff --git a/roles/cp2102_driver/tasks/main.yml b/roles/cp2102_driver/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/cp2102_driver/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/cp2102_driver/tasks/main_lin.yml b/roles/cp2102_driver/tasks/main_lin.yml new file mode 100644 index 0000000..1304d4b --- /dev/null +++ b/roles/cp2102_driver/tasks/main_lin.yml @@ -0,0 +1,3 @@ +- name: do not install a special driver under Linux + debug: + msg: "Serial drivers are in mainline" diff --git a/roles/cp2102_driver/tasks/main_win.yml b/roles/cp2102_driver/tasks/main_win.yml new file mode 100644 index 0000000..a578ecb --- /dev/null +++ b/roles/cp2102_driver/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install CP210x USB to UART Bridge VCP Drivers + win_chocolatey: + name: cp210x-vcp-drivers-win10 diff --git a/roles/docker/tasks/main.yml b/roles/docker/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/docker/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/docker/tasks/main_lin.yml b/roles/docker/tasks/main_lin.yml new file mode 100644 index 0000000..7daef92 --- /dev/null +++ b/roles/docker/tasks/main_lin.yml @@ -0,0 +1,23 @@ + +- name: "Install Podman" + apt: + name: podman + state: latest + +- name: "Install containerd" + apt: + name: containerd + state: latest + +- name: "Install docker" + apt: + name: docker + state: latest + +- name: "Install docker-compose" + apt: + name: docker-compose + state: latest + + +# TODO uredi skupine, da bodo studentje lahko docker tudi uporabljali diff --git a/roles/docker/tasks/main_win.yml b/roles/docker/tasks/main_win.yml new file mode 100644 index 0000000..4640904 --- /dev/null +++ b/roles/docker/tasks/main_win.yml @@ -0,0 +1 @@ +# TODO diff --git a/roles/dotnet6/tasks/main.yml b/roles/dotnet6/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/dotnet6/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/dotnet6/tasks/main_lin.yml b/roles/dotnet6/tasks/main_lin.yml new file mode 100644 index 0000000..08fc2da --- /dev/null +++ b/roles/dotnet6/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: "Install Dotnet 6.0" + apt: + name: dotnet6 + state: latest diff --git a/roles/dotnet6/tasks/main_win.yml b/roles/dotnet6/tasks/main_win.yml new file mode 100644 index 0000000..62e8167 --- /dev/null +++ b/roles/dotnet6/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install .NET 6 SDK + win_chocolatey: + name: dotnet-6.0-sdk diff --git a/roles/eclipse/tasks/main.yml b/roles/eclipse/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/eclipse/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/eclipse/tasks/main_lin.yml b/roles/eclipse/tasks/main_lin.yml new file mode 100644 index 0000000..1bba73f --- /dev/null +++ b/roles/eclipse/tasks/main_lin.yml @@ -0,0 +1,16 @@ +- name: Install Eclipse snap + community.general.snap: + name: + - eclipse + classic: true +# - name: Install Eclipse from tarball +# block: +# - name: Create destination for Eclipse +# file: +# path: /opt/Eclipse +# state: directory +# - name: Download and unpack Eclipse +# unarchive: +# src: https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2022-09/R/eclipse-inst-jre-linux64.tar.gz +# dest: /opt/Eclipse +# remote_src: yes diff --git a/roles/eclipse/tasks/main_win.yml b/roles/eclipse/tasks/main_win.yml new file mode 100644 index 0000000..238e4d7 --- /dev/null +++ b/roles/eclipse/tasks/main_win.yml @@ -0,0 +1,15 @@ +- name: Set Eclipse version + set_fact: + target_version: "4.28.0" + +- name: Install Eclipse + win_chocolatey: + name: eclipse + state: upgrade + version: "{{ target_version }}" + +- name: Set up default directories for Eclipse + win_lineinfile: + path: "%ProgramFiles%\\Eclipse {{ target_version }}\\eclipse\\eclipse.ini" + regexp: "osgi.instance.area.default" + line: "-Dosgi.instance.area.default=H:/Documents/eclipse-workspace" diff --git a/roles/emacs/tasks/main.yml b/roles/emacs/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/emacs/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/emacs/tasks/main_lin.yml b/roles/emacs/tasks/main_lin.yml new file mode 100644 index 0000000..ee13e14 --- /dev/null +++ b/roles/emacs/tasks/main_lin.yml @@ -0,0 +1,14 @@ +- name: Install emacs + apt: + name: emacs + state: latest + +- name: Install emacs-nox + apt: + name: emacs-nox + state: latest + +- name: Install emacs-gtk + apt: + name: emacs-gtk + state: latest diff --git a/roles/emacs/tasks/main_win.yml b/roles/emacs/tasks/main_win.yml new file mode 100644 index 0000000..6d177a0 --- /dev/null +++ b/roles/emacs/tasks/main_win.yml @@ -0,0 +1,4 @@ +- name: Install Emacs + win_chocolatey: + name: emacs.install + state: present diff --git a/roles/firefox/tasks/main.yml b/roles/firefox/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/firefox/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/firefox/tasks/main_lin.yml b/roles/firefox/tasks/main_lin.yml new file mode 100644 index 0000000..c80124a --- /dev/null +++ b/roles/firefox/tasks/main_lin.yml @@ -0,0 +1,22 @@ +- name: Add Firefox not-a-snap repository + block: + - name: Pin Firefox PPA package priority + template: + src: mozilla-firefox-apt-preferences + dest: /etc/apt/preferences.d/mozilla-firefox + - name: Enable Firefox unattended upgrades + template: + src: mozilla-firefox-unattended-upgrades + dest: /etc/apt/apt.conf.d/51unattended-upgrades-firefox + - name: Add Firefox PPA + apt_repository: + repo: ppa:mozillateam/ppa + state: present + update_cache: True + validate_certs: False + +- name: Install Firefox + apt: + name: + - firefox + state: latest diff --git a/roles/firefox/tasks/main_win.yml b/roles/firefox/tasks/main_win.yml new file mode 100644 index 0000000..53987a9 --- /dev/null +++ b/roles/firefox/tasks/main_win.yml @@ -0,0 +1,26 @@ +- name: Install Firefox + win_chocolatey: + name: firefox +- name: Create Firefox policy directory + win_file: + dest: C:\Program Files\Mozilla Firefox\distribution + state: directory +- name: Set Firefox policies + copy: + dest: C:\Program Files\Mozilla Firefox\distribution\policies.json + content: | + { + "policies": { + "DisableAppUpdate": true, + "DisableSystemAddonUpdate": true, + "DisableTelemetry": true, + "UserMessaging": { + "WhatsNew": false, + "ExtensionRecommendations": false, + "FeatureRecommendations": false, + "UrlbarInterventions": false, + "SkipOnboarding": true, + "MoreFromMozilla": false + } + } + } diff --git a/roles/firefox/templates/mozilla-firefox-apt-preferences b/roles/firefox/templates/mozilla-firefox-apt-preferences new file mode 100644 index 0000000..f854044 --- /dev/null +++ b/roles/firefox/templates/mozilla-firefox-apt-preferences @@ -0,0 +1,3 @@ +Package: * +Pin: release o=LP-PPA-mozillateam +Pin-Priority: 1001 diff --git a/roles/firefox/templates/mozilla-firefox-unattended-upgrades b/roles/firefox/templates/mozilla-firefox-unattended-upgrades new file mode 100644 index 0000000..358d833 --- /dev/null +++ b/roles/firefox/templates/mozilla-firefox-unattended-upgrades @@ -0,0 +1 @@ +Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}"; diff --git a/roles/fri_base/files/99-wakeonlan.rules b/roles/fri_base/files/99-wakeonlan.rules new file mode 100644 index 0000000..d4729ac --- /dev/null +++ b/roles/fri_base/files/99-wakeonlan.rules @@ -0,0 +1 @@ +ACTION=="add", SUBSYSTEM=="net", NAME=="e*", RUN+="/usr/sbin/ethtool -s $name wol g" diff --git a/roles/fri_base/meta/main.yml b/roles/fri_base/meta/main.yml new file mode 100644 index 0000000..ca40277 --- /dev/null +++ b/roles/fri_base/meta/main.yml @@ -0,0 +1,11 @@ +dependencies: + - role: firefox + - role: libreoffice + - role: 7zip + - role: chrome + - role: msys2 + - role: pycharm # not required by anyone but used by everyone + - role: sublime-text + - role: sumatrapdf + - role: vlc + - role: wget diff --git a/roles/fri_base/tasks/main.yml b/roles/fri_base/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/fri_base/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/fri_base/tasks/main_lin.yml b/roles/fri_base/tasks/main_lin.yml new file mode 100644 index 0000000..7a2987d --- /dev/null +++ b/roles/fri_base/tasks/main_lin.yml @@ -0,0 +1,138 @@ +- name: Install generally useful packages + apt: + name: + - i3 + - sway + - vlc + - mpv + - ffmpeg + - emacs + - kwrite + - kate + - krita + - blender + - inkscape + - pcmanfm-qt + - qutebrowser + - chromium-browser + - firefox + - qemu + - qemu-kvm + - qemu-utils + - virt-manager + - wine-development + - dosbox + - webext-ublock-origin-chromium + - webext-ublock-origin-firefox + - nethack-console + - zsh + - tmux + - screen + - curl + - git-gui + - git-cola + - kdiff3 + - thonny + - ttf-mscorefonts-installer + - libhivex-bin + - overlayroot + - nfs-common + - cifs-utils + - neovim-qt + - binwalk + - iotop + - htop + - jdupes + state: latest + update_cache: yes + +- name: Remove broken or unnecessary packages + apt: + name: + - xfce4-screensaver + - xscreensaver + state: absent + +- name: Set up additional groups for students + vars: + additional_groups: + - wireshark + - kvm + - dialout + - libvirt + - vboxusers + - ubridge + - docker + block: + - name: create user@.service.d + file: + path: /etc/systemd/system/user@.service.d + state: directory + - name: override groups in systemd + template: + src: systemd_group_override.conf + dest: /etc/systemd/system/user@.service.d/override.conf + - name: create /etc/security/group.conf + template: + src: security_group.conf + dest: /etc/security/group.conf + - name: create pam config for libpam_group + template: + src: pamconfig_groups + dest: /usr/share/pam-configs/groups + - name: enable libpam_group + shell: pam-auth-update --enable groups + +- name: Set default keyboard layout to SI + template: + src: default_keyboard + dest: /etc/default/keyboard + +- name: Add mount - C + mount: + boot: true + fstype: ntfs-3g + src: UUID=A09E30889E30594C + path: /mnt/C + state: mounted + opts: defaults,nofail + +- name: Add mount - D + mount: + boot: true + fstype: ntfs-3g + src: "LABEL=D:" + path: /mnt/D + state: mounted + opts: defaults,nofail + +- name: Add mount - partimag + mount: + boot: true + fstype: nfs + src: "10.32.254.16:/srv/nfs/clonezilla_images" + path: /home/partimag + state: mounted + opts: defaults,nofail + +- name: Add mount - ucilnice_d + mount: + boot: true + fstype: cifs + src: "//ucilnicesmb.fri1.uni-lj.si/ucilnice_d" + path: /mnt/ucilnice_d + state: mounted + opts: guest,soft,nofail + +- name: Set time to local RTC + shell: "timedatectl set-local-rtc 1 --adjust-system-clock" + +- name: Install ethtool + apt: + name: ethtool + state: latest + +- name: Add udev rule to enable wake-on-lan for ethernet interfaces + copy: + dest: /etc/udev/rules.d/ + src: 99-wakeonlan.rules diff --git a/roles/fri_base/tasks/main_win.yml b/roles/fri_base/tasks/main_win.yml new file mode 100644 index 0000000..680e906 --- /dev/null +++ b/roles/fri_base/tasks/main_win.yml @@ -0,0 +1,16 @@ +- name: Set timezone + win_timezone: + timezone: Central Europe Standard Time +- name: Show file extensions in Explorer + win_regedit: + path: HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced + name: HideFileExt + data: 0 + type: dword +- name: Install PSCX + community.windows.win_psmodule: + name: Pscx + state: present + +# TODO: turn on GPO to allow guest SMB logins +# TODO: open firewall for Samba diff --git a/roles/fri_base/templates/default_keyboard b/roles/fri_base/templates/default_keyboard new file mode 100644 index 0000000..7477e81 --- /dev/null +++ b/roles/fri_base/templates/default_keyboard @@ -0,0 +1,10 @@ +# KEYBOARD CONFIGURATION FILE + +# Consult the keyboard(5) manual page. + +XKBMODEL="pc105" +XKBLAYOUT="si" +XKBVARIANT="" +XKBOPTIONS="" + +BACKSPACE="guess" diff --git a/roles/fri_base/templates/pamconfig_groups b/roles/fri_base/templates/pamconfig_groups new file mode 100644 index 0000000..ebde502 --- /dev/null +++ b/roles/fri_base/templates/pamconfig_groups @@ -0,0 +1,6 @@ +Name: Additional group management through /etc/security/groups.conf +Default: yes +Priority: 0 +Auth-Type: Additional +Auth-Final: + optional pam_group.so diff --git a/roles/fri_base/templates/security_group.conf b/roles/fri_base/templates/security_group.conf new file mode 100644 index 0000000..0568a16 --- /dev/null +++ b/roles/fri_base/templates/security_group.conf @@ -0,0 +1,108 @@ +# +# This is the configuration file for the pam_group module. +# + +# +# *** Please note that giving group membership on a session basis is +# *** NOT inherently secure. If a user can create an executable that +# *** is setgid a group that they are infrequently given membership +# *** of, they can basically obtain group membership any time they +# *** like. Example: games are allowed between the hours of 6pm and 6am +# *** user joe logs in at 7pm writes a small C-program toplay.c that +# *** invokes their favorite shell, compiles it and does +# *** "chgrp play toplay; chmod g+s toplay". They are basically able +# *** to play games any time... You have been warned. AGM +# + +*;*;*;Al0000-2400;{{ additional_groups|join(',') }} + +# +# The syntax of the lines is as follows: +# +# services;ttys;users;times;groups +# +# white space is ignored and lines maybe extended with '\\n' (escaped +# newlines). From reading these comments, it is clear that +# text following a '#' is ignored to the end of the line. +# +# the combination of individual users/terminals etc is a logic list +# namely individual tokens that are optionally prefixed with '!' (logical +# not) and separated with '&' (logical and) and '|' (logical or). +# +# services +# is a logic list of PAM service names that the rule applies to. +# +# ttys +# is a logic list of terminal names that this rule applies to. +# +# users +# is a logic list of users or a netgroup of users to whom this +# rule applies. +# +# NB. For these items the simple wildcard '*' may be used only once. +# With netgroups no wildcards or logic operators are allowed. +# +# times +# It is used to indicate "when" these groups are to be given to the +# user. The format here is a logic list of day/time-range +# entries the days are specified by a sequence of two character +# entries, MoTuSa for example is Monday Tuesday and Saturday. Note +# that repeated days are unset MoMo = no day, and MoWk = all weekdays +# bar Monday. The two character combinations accepted are +# +# Mo Tu We Th Fr Sa Su Wk Wd Al +# +# the last two being week-end days and all 7 days of the week +# respectively. As a final example, AlFr means all days except Friday. +# +# Each day/time-range can be prefixed with a '!' to indicate "anything +# but" +# +# The time-range part is two 24-hour times HHMM separated by a hyphen +# indicating the start and finish time (if the finish time is smaller +# than the start time it is deemed to apply on the following day). +# +# groups +# The (comma or space separated) list of groups that the user +# inherits membership of. These groups are added if the previous +# fields are satisfied by the user's request +# +# For a rule to be active, ALL of service+ttys+users must be satisfied +# by the applying process. +# + +# +# Note, to get this to work as it is currently typed you need +# +# 1. to run an application as root +# 2. add the following groups to the /etc/group file: +# floppy, play, sound +# + +# +# Here is a simple example: running 'xsh' on tty* (any ttyXXX device), +# the user 'us' is given access to the floppy (through membership of +# the floppy group) +# + +#xsh;tty*&!ttyp*;us;Al0000-2400;floppy + +# +# another example: running 'xsh' on tty* (any ttyXXX device), +# the user 'sword' is given access to games (through membership of +# the sound and play group) after work hours. +# + +#xsh; tty* ;sword;!Wk0900-1800;sound, play +#xsh; tty* ;*;Al0900-1800;floppy + +# +# yet another example: any member of the group 'admin' running +# 'xsh' on tty*, is granted access (at any time) to the group 'plugdev' +# + +#xsh; tty* ;%admin;Al0000-2400;plugdev + +# +# End of group.conf file +# diff --git a/roles/fri_base/templates/sssd.conf b/roles/fri_base/templates/sssd.conf new file mode 100644 index 0000000..cd745fa --- /dev/null +++ b/roles/fri_base/templates/sssd.conf @@ -0,0 +1,30 @@ +[sssd] +config_file_version = 2 +domains = fri1.uni-lj.si +enable_files_domain = False +services = nss, pam + +[nss] +filtered_groups = root +filtered_users = root +reconnection_retries = 3 + +[pam] +reconnection_retries = 3 + +[domain/fri1.uni-lj.si] +ad_domain = fri1.uni-lj.si +ad_server = dcv1fri1.fri1.uni-lj.si,dcv2fri1.fri1.uni-lj.si +ad_maximum_machine_account_password_age = 0 +ad_gpo_access_control = permissive +ad_enabled_domains = fri1.uni-lj.si, student.uni-lj.si, fkkt1.uni-lj.si, ef1.uni-lj.si, fe1.uni-lj.si, ff.uni-lj.si, fmf.uni-lj.si, fu.uni-lj.si, pef.uni-lj.si +krb5_realm = FRI1.UNI-LJ.SI +realmd_tags = manages-system joined-with-adcli +cache_credentials = True +id_provider = ad +krb5_store_password_if_offline = True +default_shell = /bin/bash +ldap_id_mapping = True +use_fully_qualified_names = True +fallback_homedir = /home/%u@%d +access_provider = ad diff --git a/roles/fri_base/templates/systemd_group_override.conf b/roles/fri_base/templates/systemd_group_override.conf new file mode 100644 index 0000000..f3d177b --- /dev/null +++ b/roles/fri_base/templates/systemd_group_override.conf @@ -0,0 +1,2 @@ +[Service] +SupplementaryGroups={{ additional_groups|join(' ') }} diff --git a/roles/gcc-arm/tasks/main.yml b/roles/gcc-arm/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/gcc-arm/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/gcc-arm/tasks/main_lin.yml b/roles/gcc-arm/tasks/main_lin.yml new file mode 100644 index 0000000..fe8c316 --- /dev/null +++ b/roles/gcc-arm/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: install GCC for ARM + apt: + name: gcc-12-arm-linux-gnueabi + state: latest diff --git a/roles/gcc-arm/tasks/main_win.yml b/roles/gcc-arm/tasks/main_win.yml new file mode 100644 index 0000000..a42f775 --- /dev/null +++ b/roles/gcc-arm/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Do not install gcc for arm + debug: + msg: "Do not install gcc for arm" diff --git a/roles/gedit/tasks/main.yml b/roles/gedit/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/gedit/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/gedit/tasks/main_lin.yml b/roles/gedit/tasks/main_lin.yml new file mode 100644 index 0000000..7df7041 --- /dev/null +++ b/roles/gedit/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install Gedit + apt: + name: gedit + state: latest diff --git a/roles/gedit/tasks/main_win.yml b/roles/gedit/tasks/main_win.yml new file mode 100644 index 0000000..072e835 --- /dev/null +++ b/roles/gedit/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Do not install GEdit + debug: + msg: "Do not install GEdit" diff --git a/roles/gimp/tasks/main.yml b/roles/gimp/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/gimp/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/gimp/tasks/main_lin.yml b/roles/gimp/tasks/main_lin.yml new file mode 100644 index 0000000..5461c3e --- /dev/null +++ b/roles/gimp/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install GIMP + apt: + name: gimp + state: latest diff --git a/roles/gimp/tasks/main_win.yml b/roles/gimp/tasks/main_win.yml new file mode 100644 index 0000000..fa361a0 --- /dev/null +++ b/roles/gimp/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install GIMP + win_chocolatey: + name: gimp diff --git a/roles/git/tasks/main.yml b/roles/git/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/git/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/git/tasks/main_lin.yml b/roles/git/tasks/main_lin.yml new file mode 100644 index 0000000..5a5a1df --- /dev/null +++ b/roles/git/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install git + apt: + name: git + state: latest diff --git a/roles/git/tasks/main_win.yml b/roles/git/tasks/main_win.yml new file mode 100644 index 0000000..b08c7c9 --- /dev/null +++ b/roles/git/tasks/main_win.yml @@ -0,0 +1,8 @@ +- name: Install git + win_chocolatey: + name: git.install + package_params: /GitAndUnixToolsOnPath + +- name: Install git-extensions + win_chocolatey: + name: gitextensions, kdiff3 diff --git a/roles/gns3/tasks/main.yml b/roles/gns3/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/gns3/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/gns3/tasks/main_lin.yml b/roles/gns3/tasks/main_lin.yml new file mode 100644 index 0000000..df2807d --- /dev/null +++ b/roles/gns3/tasks/main_lin.yml @@ -0,0 +1,15 @@ +- name: Add GNS3 repository + apt_repository: + repo: ppa:gns3/ppa + state: present + update_cache: True + validate_certs: False +- name: Install gns3 server + ansible.builtin.apt: + name: gns3-server + state: latest +- name: Install gns3 GUI + ansible.builtin.apt: + name: gns3-gui + state: latest + diff --git a/roles/gns3/tasks/main_win.yml b/roles/gns3/tasks/main_win.yml new file mode 100644 index 0000000..2cc5ce3 --- /dev/null +++ b/roles/gns3/tasks/main_win.yml @@ -0,0 +1,4 @@ +- name: GNS3 na Windows ne deluje + debug: + msg: "GNS3 na Windows zaenkrat ne vklapljamo" + diff --git a/roles/golang/tasks/main.yml b/roles/golang/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/golang/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/golang/tasks/main_lin.yml b/roles/golang/tasks/main_lin.yml new file mode 100644 index 0000000..e699dba --- /dev/null +++ b/roles/golang/tasks/main_lin.yml @@ -0,0 +1,5 @@ +- name: Install the GO programming language + apt: + name: golang + state: latest + diff --git a/roles/golang/tasks/main_win.yml b/roles/golang/tasks/main_win.yml new file mode 100644 index 0000000..3065ec5 --- /dev/null +++ b/roles/golang/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install the GO programming language + win_chocolatey: + name: golang diff --git a/roles/gui_development/tasks/main.yml b/roles/gui_development/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/gui_development/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/gui_development/tasks/main_lin.yml b/roles/gui_development/tasks/main_lin.yml new file mode 100644 index 0000000..a47bfc0 --- /dev/null +++ b/roles/gui_development/tasks/main_lin.yml @@ -0,0 +1,35 @@ +- name: Install X11 development + apt: + name: + - libx11-dev + - libxext-dev + - x11-utils + state: latest + +- name: Install GTK development + apt: + name: + - libgtk-4-dev + - libgtk-3-dev + - libgtkmm-3.0-dev + state: latest + +- name: Install Wayland development + apt: + name: + - libwayland-dev + - libwlroots-dev + - qt6-wayland-dev + - qt6-wayland-dev-tools + - weston + state: latest + +- name: Install Glade + apt: + name: glade + state: latest + +- name: Install QT Creator + apt: + name: qtcreator + state: latest diff --git a/roles/gui_development/tasks/main_win.yml b/roles/gui_development/tasks/main_win.yml new file mode 100644 index 0000000..8276898 --- /dev/null +++ b/roles/gui_development/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Do not install GUI devel tools + debug: + msg: "Do not install GUI development libraries and tools" diff --git a/roles/haskell/tasks/main.yml b/roles/haskell/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/haskell/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/haskell/tasks/main_lin.yml b/roles/haskell/tasks/main_lin.yml new file mode 100644 index 0000000..a5f4818 --- /dev/null +++ b/roles/haskell/tasks/main_lin.yml @@ -0,0 +1,14 @@ +- name: install Haskell platform + apt: + name: haskell-platform + state: latest + +- name: install Haskell Tool Stack + apt: + name: haskell-stack + state: latest + +- name: install Haskell compiler + apt: + name: ghc + state: latest diff --git a/roles/haskell/tasks/main_win.yml b/roles/haskell/tasks/main_win.yml new file mode 100644 index 0000000..da6988e --- /dev/null +++ b/roles/haskell/tasks/main_win.yml @@ -0,0 +1,25 @@ +- name: Check Haskell install status + win_stat: + path: C:\ghcup\bin\ghc.exe + register: file + +- when: not file.stat.exists + block: + - name: Download Haskell + win_get_url: + url: "https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1" + dest: 'C:\' + register: download + + - name: Install Haskell + win_command: powershell.exe {{ download.dest }} -InBash -ExistingMsys2Dir C:\msys64 + + - name: Add Haskell to PATH + win_path: + elements: + C:\ghcup\bin + + - name: Remove temporary files + win_file: + path: "{{ download.dest }}" + state: absent diff --git a/roles/idea/tasks/main.yml b/roles/idea/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/idea/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/idea/tasks/main_lin.yml b/roles/idea/tasks/main_lin.yml new file mode 100644 index 0000000..89023cd --- /dev/null +++ b/roles/idea/tasks/main_lin.yml @@ -0,0 +1,12 @@ +- name: Install IDEA + block: + - name: Create destination for JetBrains IDEA + file: + path: /opt/IDEA + state: directory + - name: Download and unpack JetBrains IDEA + unarchive: + src: https://download.jetbrains.com/idea/ideaIC-2023.2.1.tar.gz + dest: /opt/IDEA + creates: /opt/IDEA/idea-IC-232.9559.62/build.txt + remote_src: yes diff --git a/roles/idea/tasks/main_win.yml b/roles/idea/tasks/main_win.yml new file mode 100644 index 0000000..2c6cf1b --- /dev/null +++ b/roles/idea/tasks/main_win.yml @@ -0,0 +1,9 @@ +- name: Set IDEA version + set_fact: + target_version: "2023.2.1" + +- name: Install IDEA + win_package: + path: "https://download.jetbrains.com/idea/ideaIC-{{ target_version }}.exe" + arguments: /S + creates_path: "%ProgramFiles(x86)%\\JetBrains\\IntelliJ IDEA Community Edition {{ target_version }}\\bin\\idea64.exe" diff --git a/roles/inkscape/tasks/main.yml b/roles/inkscape/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/inkscape/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/inkscape/tasks/main_lin.yml b/roles/inkscape/tasks/main_lin.yml new file mode 100644 index 0000000..4c8441a --- /dev/null +++ b/roles/inkscape/tasks/main_lin.yml @@ -0,0 +1,10 @@ +- name: Add Inkscape repository + apt_repository: + repo: ppa:inkscape.dev/stable + state: present + update_cache: True + validate_certs: False +- name: Install Inkscape + apt: + name: inkscape + state: latest diff --git a/roles/inkscape/tasks/main_win.yml b/roles/inkscape/tasks/main_win.yml new file mode 100644 index 0000000..d8621f6 --- /dev/null +++ b/roles/inkscape/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install Inkscape + win_chocolatey: + name: inkscape diff --git a/roles/javafx/tasks/main.yml b/roles/javafx/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/javafx/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/javafx/tasks/main_lin.yml b/roles/javafx/tasks/main_lin.yml new file mode 100644 index 0000000..dd530f3 --- /dev/null +++ b/roles/javafx/tasks/main_lin.yml @@ -0,0 +1,8 @@ +- name: Install JavaFX + apt: + name: openjfx + state: latest +- name: Install JavaFX source + apt: + name: openjfx-source + state: latest diff --git a/roles/javafx/tasks/main_win.yml b/roles/javafx/tasks/main_win.yml new file mode 100644 index 0000000..9bc5d80 --- /dev/null +++ b/roles/javafx/tasks/main_win.yml @@ -0,0 +1,20 @@ +- name: Check javafx install + win_find: + paths: "C:\\Program Files\\Java" + patterns: ['javafx-sdk-*'] + file_type: directory + register: install + +- when: install.matched == 0 + block: + - name: Download javafx + win_get_url: + url: https://download2.gluonhq.com/openjfx/19/openjfx-19_windows-x64_bin-sdk.zip + dest: C:\ + register: download + + - name: Install javafx + win_unzip: + src: "{{ download.dest }}" + dest: "%ProgramFiles%\\Java" + delete_archive: yes diff --git a/roles/jdk/tasks/main.yml b/roles/jdk/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/jdk/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/jdk/tasks/main_lin.yml b/roles/jdk/tasks/main_lin.yml new file mode 100644 index 0000000..8173858 --- /dev/null +++ b/roles/jdk/tasks/main_lin.yml @@ -0,0 +1,41 @@ +- name: Install OpenJDK 18 + apt: + name: openjdk-18-jdk + state: latest + +- name: Install OpenJDK 19 + apt: + name: openjdk-19-jdk + state: latest + +- name: Install OpenJDK 11 + apt: + name: openjdk-11-jdk + state: latest + +- name: Install default JDK + apt: + name: default-jdk + state: latest + +- name: Install Java docs + apt: + name: default-jdk-doc + state: latest + + +- name: Install Oracle Java dependencies + apt: + name: + - libc6-i386 + - libc6-x32 + state: latest + +- name: Install Oracle JDK 20 + apt: + deb: "https://download.oracle.com/java/20/latest/jdk-20_linux-x64_bin.deb" + +- name: Install Java docs + apt: + deb: "https://download.oracle.com/java/20/latest/jdk-20_linux-x64_bin.deb" + diff --git a/roles/jdk/tasks/main_win.yml b/roles/jdk/tasks/main_win.yml new file mode 100644 index 0000000..08d0d20 --- /dev/null +++ b/roles/jdk/tasks/main_win.yml @@ -0,0 +1,50 @@ +- name: Install Oracle JDK + win_package: + path: https://download.oracle.com/java/20/latest/jdk-20_windows-x64_bin.msi + arguments: INSTALLLEVEL=3 + +- name: Find Java version + win_reg_stat: + path: HKLM:\SOFTWARE\JavaSoft\JDK + name: CurrentVersion + register: reg + +- name: Find Java home + win_reg_stat: + path: "HKLM:\\SOFTWARE\\JavaSoft\\JDK\\{{ reg['value'] }}" + name: JavaHome + register: reg + +- name: Set JAVA_HOME + win_environment: + name: JAVA_HOME + value: "{{ reg['raw_value'] }}" + level: machine + +- name: Add "." to CLASSPATH + win_path: + name: CLASSPATH + elements: "." + state: present + scope: machine + +- name: Disable Java updates + win_regedit: + path: HKLM:\SOFTWARE\WOW6432Node\JavaSoft\Java Update\Policy + name: EnableJavaUpdate + type: dword + data: 0 + +#- name: Download Java documentation +# TODO: download Java doc +- name: Download Java doc + win_get_url: + path: "{{ reg['raw_value'] }}" + url: https://download.oracle.com/otn_software/java/jdk/21+35/fd2272bbf8e04c3dbaee13770090416c/jdk-21_doc-all.zip + register: downloaded_docs + +- name: Unpack Java docs + win_unzip: + path: "{{ downloaded_docs }}" + dest: "{{ reg['raw_value'] }}\\docs" + delete_archive: yes diff --git a/roles/jlink/tasks/main.yml b/roles/jlink/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/jlink/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/jlink/tasks/main_lin.yml b/roles/jlink/tasks/main_lin.yml new file mode 100644 index 0000000..2d7cb3f --- /dev/null +++ b/roles/jlink/tasks/main_lin.yml @@ -0,0 +1,2 @@ +apt: + deb: https://www.segger.com/downloads/jlink/JLink_Linux_x86_64.deb diff --git a/roles/jlink/tasks/main_win.yml b/roles/jlink/tasks/main_win.yml new file mode 100644 index 0000000..276eea8 --- /dev/null +++ b/roles/jlink/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Do not install JLink on Windows + debug: + msg: "Do not install JLink on Windows" diff --git a/roles/julia/tasks/main.yml b/roles/julia/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/julia/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/julia/tasks/main_lin.yml b/roles/julia/tasks/main_lin.yml new file mode 100644 index 0000000..0d9c800 --- /dev/null +++ b/roles/julia/tasks/main_lin.yml @@ -0,0 +1,12 @@ +- name: Install Julia from tarball + block: + - name: Create destination for Julia + file: + path: /opt/Julia + state: directory + - name: Download and unpack Eclipse + unarchive: + src: https://julialang-s3.julialang.org/bin/linux/x64/1.9/julia-1.9.3-linux-x86_64.tar.gz + dest: /opt/Julia + remote_src: yes + diff --git a/roles/julia/tasks/main_win.yml b/roles/julia/tasks/main_win.yml new file mode 100644 index 0000000..ed2164a --- /dev/null +++ b/roles/julia/tasks/main_win.yml @@ -0,0 +1,4 @@ +- name: Install Julia + win_package: + path: https://julialang-s3.julialang.org/bin/winnt/x64/1.9/julia-1.9.3-win64.exe + arguments: /VerySilent /AllUsers diff --git a/roles/jupyter/meta/main.yml b/roles/jupyter/meta/main.yml new file mode 100644 index 0000000..b783143 --- /dev/null +++ b/roles/jupyter/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: + - role: python3 diff --git a/roles/jupyter/tasks/main.yml b/roles/jupyter/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/jupyter/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/jupyter/tasks/main_lin.yml b/roles/jupyter/tasks/main_lin.yml new file mode 100644 index 0000000..c0dc1ed --- /dev/null +++ b/roles/jupyter/tasks/main_lin.yml @@ -0,0 +1,16 @@ +- name: Install Jupyter + apt: + name: jupyter + state: latest +- name: Install Jupyter Console + apt: + name: jupyter-console + state: latest +- name: Install Jupyter QT Console + apt: + name: jupyter-qtconsole + state: latest +- name: Install Jupyter Notebook + apt: + name: jupyter-notebook + state: latest diff --git a/roles/jupyter/tasks/main_win.yml b/roles/jupyter/tasks/main_win.yml new file mode 100644 index 0000000..7a3001d --- /dev/null +++ b/roles/jupyter/tasks/main_win.yml @@ -0,0 +1,8 @@ +- name: Install Jupyter Notebook + win_command: pip install jupyter jupyterlab + +- name: Create Jupyter Notebook shortcut + win_shortcut: + dest: "C:\\Users\\Public\\Desktop\\Jupyter Notebook.lnk" + src: cmd.exe + arguments: /k jupyter notebook diff --git a/roles/libreoffice/tasks/main.yml b/roles/libreoffice/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/libreoffice/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/libreoffice/tasks/main_lin.yml b/roles/libreoffice/tasks/main_lin.yml new file mode 100644 index 0000000..c478e25 --- /dev/null +++ b/roles/libreoffice/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install LibreOffice + apt: + name: libreoffice + state: latest diff --git a/roles/libreoffice/tasks/main_win.yml b/roles/libreoffice/tasks/main_win.yml new file mode 100644 index 0000000..0a9b610 --- /dev/null +++ b/roles/libreoffice/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install LibreOffice + win_chocolatey: + name: libreoffice diff --git a/roles/linroom/files/99-wakeonlan.rules b/roles/linroom/files/99-wakeonlan.rules new file mode 100644 index 0000000..d4729ac --- /dev/null +++ b/roles/linroom/files/99-wakeonlan.rules @@ -0,0 +1 @@ +ACTION=="add", SUBSYSTEM=="net", NAME=="e*", RUN+="/usr/sbin/ethtool -s $name wol g" diff --git a/roles/linroom/handlers/main.yml b/roles/linroom/handlers/main.yml new file mode 100644 index 0000000..70c210e --- /dev/null +++ b/roles/linroom/handlers/main.yml @@ -0,0 +1,4 @@ +# Mark everything in bin/ directories executable. Some extensions do +# this on activation, but non-root users don’t have permission for it. +- name: fix VS code extensions + command: find /usr/share/code/resources/app -name bin -exec chmod -R +x '{}' ';' diff --git a/roles/linroom/tasks/7zip.yml b/roles/linroom/tasks/7zip.yml new file mode 100644 index 0000000..94c08d4 --- /dev/null +++ b/roles/linroom/tasks/7zip.yml @@ -0,0 +1,4 @@ +- name: Install 7zip + apt: + name: 7zip + state: latest diff --git a/roles/linroom/tasks/AAHRP-63263.yml b/roles/linroom/tasks/AAHRP-63263.yml new file mode 100644 index 0000000..0e66b32 --- /dev/null +++ b/roles/linroom/tasks/AAHRP-63263.yml @@ -0,0 +1,6 @@ +# Analiza algoritmov in hevristično reševanje problemov +# matej.piculin@fri.uni-lj.si +# Windows, Java JDK, Eclipse, R, RStudio +- include_tasks: rstudio.yml +- include_tasks: eclipse.yml +- include_tasks: jdk.yml diff --git a/roles/linroom/tasks/APS1-63279.yml b/roles/linroom/tasks/APS1-63279.yml new file mode 100644 index 0000000..b35fcad --- /dev/null +++ b/roles/linroom/tasks/APS1-63279.yml @@ -0,0 +1,8 @@ +# Algoritmi in podatkovne strukture 1 +# tomaz.hocevar@fri.uni-lj.si, bojan.zunkovic@fri.uni-lj.si, polz@fri.uni-lj.si +# Windows, Java JDK, Eclipse +# - include_tasks: JDK.yml +# - include_tasks: Eclipse.yml +- include_tasks: c_development.yml +- include_tasks: vscode.yml + diff --git a/roles/linroom/tasks/ARP1-63545C.yml b/roles/linroom/tasks/ARP1-63545C.yml new file mode 100644 index 0000000..4c50bf0 --- /dev/null +++ b/roles/linroom/tasks/ARP1-63545C.yml @@ -0,0 +1,4 @@ +# Aktualno raziskovalno področje 1 +# Veljko.Pejovic@fri.uni-lj.si +# Android Studio +- include_tasks: android_studio.yml diff --git a/roles/linroom/tasks/BMO-63259.yml b/roles/linroom/tasks/BMO-63259.yml new file mode 100644 index 0000000..10c9e00 --- /dev/null +++ b/roles/linroom/tasks/BMO-63259.yml @@ -0,0 +1,5 @@ +# Brezžična in mobilna omrežja +# Ziga.Pusnik@fri.uni-lj.si, Miran.Koprivec@fri.uni-lj.si +# Windows, VMware Workstation 16.2.4 Player, wireshark +- include_tasks: wireshark.yml +- include_tasks: vmware_player.yml diff --git a/roles/linroom/tasks/DF-63530.yml b/roles/linroom/tasks/DF-63530.yml new file mode 100644 index 0000000..5e24a7a --- /dev/null +++ b/roles/linroom/tasks/DF-63530.yml @@ -0,0 +1,5 @@ +# Digitalna forenzika +# Aleks.Huc@fri.uni-lj.si, Gasper.FeleZorz@fri.uni-lj.si +# Windows, GNU/Linux, GNS3, VirtualBox +- include_tasks: GNS3.yml +- include_tasks: virtualbox.yml diff --git a/roles/linroom/tasks/DN-63260.yml b/roles/linroom/tasks/DN-63260.yml new file mode 100644 index 0000000..ff2006a --- /dev/null +++ b/roles/linroom/tasks/DN-63260.yml @@ -0,0 +1,4 @@ +# Digitalno načrtovanje +# Nejc.Ilc@fri.uni-lj.si +# Windows, Vivado 2022.1 +- include_tasks: vivado.yml diff --git a/roles/linroom/tasks/DPS-63744.yml b/roles/linroom/tasks/DPS-63744.yml new file mode 100644 index 0000000..c389a45 --- /dev/null +++ b/roles/linroom/tasks/DPS-63744.yml @@ -0,0 +1,7 @@ +# Digitalno procesiranje signalov +# Aleks.Huc@fri.uni-lj.si +# Windows, GNU/Linux, Matlab, wfdb, Octave, Audacity +- include_tasks: matlab.yml +- include_tasks: wfdb.yml +- include_tasks: octave.yml +- include_tasks: audacity.yml diff --git a/roles/linroom/tasks/DV-63718.yml b/roles/linroom/tasks/DV-63718.yml new file mode 100644 index 0000000..b730380 --- /dev/null +++ b/roles/linroom/tasks/DV-63718.yml @@ -0,0 +1,4 @@ +# Digitalna vezja +# Miha.Moskon@fri.uni-lj.si +# Windows, Logisim, Logisim Evolution +- include_tasks: logisim.yml diff --git a/roles/linroom/tasks/EP-63249.yml b/roles/linroom/tasks/EP-63249.yml new file mode 100644 index 0000000..1cc049d --- /dev/null +++ b/roles/linroom/tasks/EP-63249.yml @@ -0,0 +1,6 @@ +# Elektronsko poslovanje +# David.Jelenc@fri.uni-lj.si +# Windows, VirtualBox, Android Studio +# +- include_tasks: virtualbox.yml +- include_tasks: android_studio.yml diff --git a/roles/linroom/tasks/FP-63507.yml b/roles/linroom/tasks/FP-63507.yml new file mode 100644 index 0000000..6c333c4 --- /dev/null +++ b/roles/linroom/tasks/FP-63507.yml @@ -0,0 +1,11 @@ +# Funkcijsko programiranje +# Klemen.Klanjscek@fri.uni-lj.si, Matjaz.Kukar@fri.uni-lj.si +# Windows, GNU/Linux, VS Code, Python 3, Racket (z DrRacket), SML/NJ, Emacs, rlwrap +# +- include_tasks: vscode.yml +- include_tasks: python3.yml +- include_tasks: racket.yml +- include_tasks: emacs.yml +- include_tasks: smlnj.yml + + diff --git a/roles/linroom/tasks/GNS3.yml b/roles/linroom/tasks/GNS3.yml new file mode 100644 index 0000000..1e42fc6 --- /dev/null +++ b/roles/linroom/tasks/GNS3.yml @@ -0,0 +1,14 @@ +- name: Add GNS3 repository + apt_repository: + repo: ppa:gns3/ppa + state: present + update_cache: True + validate_certs: False +- name: Install gns3 server + ansible.builtin.apt: + name: gns3-server + state: latest +- name: Install gns3 GUI + ansible.builtin.apt: + name: gns3-gui + state: latest diff --git a/roles/linroom/tasks/GO-63715.yml b/roles/linroom/tasks/GO-63715.yml new file mode 100644 index 0000000..926fc4a --- /dev/null +++ b/roles/linroom/tasks/GO-63715.yml @@ -0,0 +1,9 @@ +# Grafično oblikovanje +# Blaz.Meden@fri.uni-lj.si, ilb@fri.uni-lj.si +# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje) +# +- include_tasks: blender.yml +- include_tasks: adobe_cs.yml +- include_tasks: inkscape.yml +- include_tasks: gimp.yml + diff --git a/roles/linroom/tasks/IS-63714.yml b/roles/linroom/tasks/IS-63714.yml new file mode 100644 index 0000000..2dd62b0 --- /dev/null +++ b/roles/linroom/tasks/IS-63714.yml @@ -0,0 +1,10 @@ +# Informacijski sistemi +# Miha.Grohar@fri.uni-lj.si +# Windows, GNU/Linux, Docker, VS Code, dotnet6 SDK, GIT, Android Studio + +- include_tasks: docker.yml +- include_tasks: vscode.yml +- include_tasks: dotnet6.yml +- include_tasks: git.yml +- include_tasks: android_studio.yml + diff --git a/roles/linroom/tasks/IVZ-63521.yml b/roles/linroom/tasks/IVZ-63521.yml new file mode 100644 index 0000000..ca0a419 --- /dev/null +++ b/roles/linroom/tasks/IVZ-63521.yml @@ -0,0 +1,6 @@ +# Informacijska varnost in zasebnost +# David.Jelenc@fri.uni-lj.si +# Java JDK, IntelliJ IDEA, VirtualBox +- include_tasks: jdk.yml +- include_tasks: idea.yml +- include_tasks: virtualbox.yml diff --git a/roles/linroom/tasks/KCR-63550.yml b/roles/linroom/tasks/KCR-63550.yml new file mode 100644 index 0000000..9fa8298 --- /dev/null +++ b/roles/linroom/tasks/KCR-63550.yml @@ -0,0 +1,7 @@ +# Komunikacija človek računalnik +# Ales.Smrdel@fri.uni-lj.si +# Java JDK, Matlab, wfdb, Apache NetBeans +- include_tasks: jdk.yml +- include_tasks: matlab.yml +- include_tasks: wfdb.yml +- include_tasks: netbeans.yml diff --git a/roles/linroom/tasks/KPOV-63716.yml b/roles/linroom/tasks/KPOV-63716.yml new file mode 100644 index 0000000..5411878 --- /dev/null +++ b/roles/linroom/tasks/KPOV-63716.yml @@ -0,0 +1,5 @@ +# Komunikacijski protokoli in omrežna varnost +# Aleks.Huc@fri.uni-lj.si, Gasper.FeleZorz@fri.uni-lj.si +# Windows, GNU/Linux, GNS3, VirtualBox +- include_tasks: GNS3.yml +- include_tasks: virtualbox.yml diff --git a/roles/linroom/tasks/KRV-63528.yml b/roles/linroom/tasks/KRV-63528.yml new file mode 100644 index 0000000..3d5690e --- /dev/null +++ b/roles/linroom/tasks/KRV-63528.yml @@ -0,0 +1,7 @@ +# Kriptografija in računalniška varnost +# Klemen.Klanjscek@fri.uni-lj.si, Janos.Vidali@fri.uni-lj.si +# GNU/Linux, SageMath, Python 3, Jupyter Notebook, OpenSSL, OpenSSH client + +- include_tasks: sagemath.yml +- include_tasks: jupyter.yml +- include_tasks: openssl.yml diff --git a/roles/linroom/tasks/MRO-63257.yml b/roles/linroom/tasks/MRO-63257.yml new file mode 100644 index 0000000..617f9e2 --- /dev/null +++ b/roles/linroom/tasks/MRO-63257.yml @@ -0,0 +1,4 @@ +# Modeliranje računalniških omrežij +# Miha.Janez@fri.uni-lj.si +# OMNeT++, INET Framework +- include_tasks: omnetpp.yml diff --git a/roles/linroom/tasks/MV-63288.yml b/roles/linroom/tasks/MV-63288.yml new file mode 100644 index 0000000..288fc10 --- /dev/null +++ b/roles/linroom/tasks/MV-63288.yml @@ -0,0 +1,9 @@ +# Multimedijske vsebine +# Blaz.Meden@fri.uni-lj.si +# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje) + +- include_tasks: blender.yml +- include_tasks: adobe_cs.yml +- include_tasks: processing.yml +- include_tasks: inkscape.yml +- include_tasks: gimp.yml diff --git a/roles/linroom/tasks/NDN-63729.yml b/roles/linroom/tasks/NDN-63729.yml new file mode 100644 index 0000000..c4c5ed3 --- /dev/null +++ b/roles/linroom/tasks/NDN-63729.yml @@ -0,0 +1,7 @@ +# Načrtovanje digitalnih naprav +# Miran.Koprivec@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si +# Windows, Vivado 2022.1 +# Načrtovanje digitalnih naprav +# Miha.Moskon@fri.uni-lj.si +# Windows, Vivado 2022.1 +- include_tasks: vivado.yml diff --git a/roles/linroom/tasks/NM-63522.yml b/roles/linroom/tasks/NM-63522.yml new file mode 100644 index 0000000..abc6437 --- /dev/null +++ b/roles/linroom/tasks/NM-63522.yml @@ -0,0 +1,5 @@ +# Numerična matematika +# Martin.Vuk@fri.uni-lj.si +# VS Code, Julia +- include_tasks: vscode.yml +- include_tasks: julia.yml diff --git a/roles/linroom/tasks/NPMP-63512.yml b/roles/linroom/tasks/NPMP-63512.yml new file mode 100644 index 0000000..caa3040 --- /dev/null +++ b/roles/linroom/tasks/NPMP-63512.yml @@ -0,0 +1,5 @@ +# Nekonvencionalne platforme in metode procesiranja +# Miha.Janez@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si +# QCADesigner-E + +- include_tasks: qcadesigner-e.yml diff --git a/roles/linroom/tasks/NRG-63553.yml b/roles/linroom/tasks/NRG-63553.yml new file mode 100644 index 0000000..2533fca --- /dev/null +++ b/roles/linroom/tasks/NRG-63553.yml @@ -0,0 +1,5 @@ +# Napredna računalniška grafika +# Ziga.Lesar@fri.uni-lj.si +# Windows, Build Tools for Visual Studio 2022 + +- include_tasks: visual_studio.yml diff --git a/roles/linroom/tasks/OBSS-63514.yml b/roles/linroom/tasks/OBSS-63514.yml new file mode 100644 index 0000000..daaa24c --- /dev/null +++ b/roles/linroom/tasks/OBSS-63514.yml @@ -0,0 +1,5 @@ +# Obdelava biomedicinskih signalov in slik +# Ziga.Pirnar@fri.uni-lj.si +# GNU/Linux, Matlab, wfdb +- include_tasks: matlab.yml +- include_tasks: wfdb.yml diff --git a/roles/linroom/tasks/ODV-63204.yml b/roles/linroom/tasks/ODV-63204.yml new file mode 100644 index 0000000..401665b --- /dev/null +++ b/roles/linroom/tasks/ODV-63204.yml @@ -0,0 +1,4 @@ +# Osnove digitalnih vezij +# Ziga.Pusnik@fri.uni-lj.si, Miran.Koprivec@fri.uni-lj.si +# Windows, Logisim, Logisim Evolution +- include_tasks: logisim.yml diff --git a/roles/linroom/tasks/OO-63271.yml b/roles/linroom/tasks/OO-63271.yml new file mode 100644 index 0000000..50cdbdb --- /dev/null +++ b/roles/linroom/tasks/OO-63271.yml @@ -0,0 +1,8 @@ +# Osnove oblikovanja +# Blaz.Meden@fri.uni-lj.si, Narvika.Bovcon@fri.uni-lj.si +# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje) +- include_tasks: blender.yml +- include_tasks: adobe_cs.yml +- include_tasks: inkscape.yml +- include_tasks: gimp.yml + diff --git a/roles/linroom/tasks/OR-63717.yml b/roles/linroom/tasks/OR-63717.yml new file mode 100644 index 0000000..7bac823 --- /dev/null +++ b/roles/linroom/tasks/OR-63717.yml @@ -0,0 +1,9 @@ +# Organizacija računalnikov +# Robert.Rozman@fri.uni-lj.si +# Windows, Logisim, Logisim Evolution, RAVINOR, CubeIDE + QEMU Embedded plugin +- include_tasks: logisim.yml +- include_tasks: stm32cube.yml +- include_tasks: ninja.yml +- include_tasks: cmake.yml +- include_tasks: gcc-arm.yml +# TODO: RAVINOR, CubeIDE diff --git a/roles/linroom/tasks/ORS-63218.yml b/roles/linroom/tasks/ORS-63218.yml new file mode 100644 index 0000000..525ca93 --- /dev/null +++ b/roles/linroom/tasks/ORS-63218.yml @@ -0,0 +1,6 @@ +# Osnove Računalniških Sistemov +# Patricio.Bulic@fri.uni-lj.si +# + +- include_tasks: vscode.yml +- include_tasks: sifive.yml diff --git a/roles/linroom/tasks/OS-63709.yml b/roles/linroom/tasks/OS-63709.yml new file mode 100644 index 0000000..44edcd6 --- /dev/null +++ b/roles/linroom/tasks/OS-63709.yml @@ -0,0 +1,4 @@ +# Operacijski sistemi +# Borut.Batagelj@fri.uni-lj.si, Ziga.Emersic@fri.uni-lj.si, Bojan.Klemenc@fri.uni-lj.si, Matej.Vitek@fri.uni-lj.si +# VirtualBox +- include_tasks: virtualbox.yml diff --git a/roles/linroom/tasks/OS-63741.yml b/roles/linroom/tasks/OS-63741.yml new file mode 100644 index 0000000..9e56fad --- /dev/null +++ b/roles/linroom/tasks/OS-63741.yml @@ -0,0 +1,6 @@ +# Odločitveni sistemi +# Martin.Mozina@fri.uni-lj.si +# Windows +- name: Odlocitveni sistemi + debug: + msg: "Odločitveni sistemi 63741 - brez zahtev" diff --git a/roles/linroom/tasks/OUI-63214.yml b/roles/linroom/tasks/OUI-63214.yml new file mode 100644 index 0000000..10db320 --- /dev/null +++ b/roles/linroom/tasks/OUI-63214.yml @@ -0,0 +1,7 @@ +# Osnove umetne inteligence +# Jure.Zabkar@fri.uni-lj.si, Ales.Papic@fri.uni-lj.si, matej.piculin@fri.uni-lj.si, Marko.Zeman@fri.uni-lj.si, bojan.zunkovic@fri.uni-lj.si +# Orange, Weka 3, BayesFusion + +- include_tasks: orange.yml +- include_tasks: weka.yml +- include_tasks: bayesfusion.yml diff --git a/roles/linroom/tasks/P2-63278.yml b/roles/linroom/tasks/P2-63278.yml new file mode 100644 index 0000000..45b8e25 --- /dev/null +++ b/roles/linroom/tasks/P2-63278.yml @@ -0,0 +1,8 @@ +# Programiranje 2 +# bostjan.slivnik@fri.uni-lj.si +# gedit, vscode, pdf viewer (evince), gcc, g++, make, JDK + +- include_tasks: jdk.yml +- include_tasks: gedit.yml +- include_tasks: vscode.yml +- include_tasks: c_development.yml diff --git a/roles/linroom/tasks/P2-63706.yml b/roles/linroom/tasks/P2-63706.yml new file mode 100644 index 0000000..f704f51 --- /dev/null +++ b/roles/linroom/tasks/P2-63706.yml @@ -0,0 +1,7 @@ +# Programiranje 2 +# Tomaz.Dobravec@fri.uni-lj.si +# Windows, Java JDK, IntelliJ IDEA, Apache NetBeans + +- include_tasks: jdk.yml +- include_tasks: idea.yml +- include_tasks: netbeans.yml diff --git a/roles/linroom/tasks/PA-63737.yml b/roles/linroom/tasks/PA-63737.yml new file mode 100644 index 0000000..27258be --- /dev/null +++ b/roles/linroom/tasks/PA-63737.yml @@ -0,0 +1,5 @@ +# Procesna avtomatika +# Nejc.Ilc@fri.uni-lj.si +# Windows, VMware Workstation 16.2.4 Player + +- include_tasks: vmware_player.yml diff --git a/roles/linroom/tasks/PB-63707.yml b/roles/linroom/tasks/PB-63707.yml new file mode 100644 index 0000000..c142839 --- /dev/null +++ b/roles/linroom/tasks/PB-63707.yml @@ -0,0 +1,12 @@ +# Podatkovne baze +# Ales.Jaklic@fri.uni-lj.si, matej.piculin@fri.uni-lj.si, Luka.Sajn@fri.uni-lj.si +# Windows, Power designer 12.5, Java JDK, Python 3, dotnet6 SDK, Jupyter Notebook, Eclipse, MySql Workbench, MySQL ODBC Connector, Notepad++ +- include_tasks: eclipse.yml +- include_tasks: dotnet6.yml +- include_tasks: jupyter.yml +- include_tasks: jdk.yml +- include_tasks: powerdesigner.yml +- include_tasks: pyodbc.yml +- include_tasks: mysql_workbench.yml +- include_tasks: mysql-odbc-connector.yml +- include_tasks: notepad++.yml diff --git a/roles/linroom/tasks/PB2-63713.yml b/roles/linroom/tasks/PB2-63713.yml new file mode 100644 index 0000000..4959d52 --- /dev/null +++ b/roles/linroom/tasks/PB2-63713.yml @@ -0,0 +1,7 @@ +# Podatkovne baze 2 +# Aljaz.Zrnec@fri.uni-lj.si +# Windows +# Podatkovne baze 2 +# Aljaz.Zrnec@fri.uni-lj.si +# Power designer 12.5 +- include_tasks: powerdesigner.yml diff --git a/roles/linroom/tasks/PJC-63769.yml b/roles/linroom/tasks/PJC-63769.yml new file mode 100644 index 0000000..3dd3ac5 --- /dev/null +++ b/roles/linroom/tasks/PJC-63769.yml @@ -0,0 +1,5 @@ +# Programski jezik C +# Tomaz.Dobravec@fri.uni-lj.si +# Windows, Pelles C + +- include_tasks: pelles-c.yml diff --git a/roles/linroom/tasks/PPJ-63220.yml b/roles/linroom/tasks/PPJ-63220.yml new file mode 100644 index 0000000..075a5cb --- /dev/null +++ b/roles/linroom/tasks/PPJ-63220.yml @@ -0,0 +1,11 @@ +# Principi programskih jezikov +# Klemen.Klanjscek@fri.uni-lj.si +# Windows, GNU/Linux, VS Code, Ocaml, Eclipse, Haskell, SWI-Prolog, rlwrap + +- include_tasks: vscode.yml +- include_tasks: ocaml.yml +- include_tasks: eclipse.yml +- include_tasks: haskell.yml +- include_tasks: swi-prolog.yml +- include_tasks: rlwrap.yml + diff --git a/roles/linroom/tasks/PS-63261.yml b/roles/linroom/tasks/PS-63261.yml new file mode 100644 index 0000000..4b01beb --- /dev/null +++ b/roles/linroom/tasks/PS-63261.yml @@ -0,0 +1,5 @@ +# Porazdeljeni sistemi +# Davor.Sluga@fri.uni-lj.si +# Windows, VS Code, golang +- include_tasks: vscode.yml +- include_tasks: golang.yml diff --git a/roles/linroom/tasks/PSP-63287.yml b/roles/linroom/tasks/PSP-63287.yml new file mode 100644 index 0000000..6e86917 --- /dev/null +++ b/roles/linroom/tasks/PSP-63287.yml @@ -0,0 +1,6 @@ +# Programiranje specifičnih platform +# Veljko.Pejovic@fri.uni-lj.si +# Android Studio, Arduino IDE + +- include_tasks: android_studio.yml +- include_tasks: arduino.yml diff --git a/roles/linroom/tasks/PUI-63768.yml b/roles/linroom/tasks/PUI-63768.yml new file mode 100644 index 0000000..be36b17 --- /dev/null +++ b/roles/linroom/tasks/PUI-63768.yml @@ -0,0 +1,4 @@ +# Planiranje in upravljanje informatike +# damjan.fujs@fri.uni-lj.si +# Planiranje in upravljanje informatike (VS) +- include_tasks: projectlibre.yml diff --git a/roles/linroom/tasks/RA-63703.yml b/roles/linroom/tasks/RA-63703.yml new file mode 100644 index 0000000..9fd7845 --- /dev/null +++ b/roles/linroom/tasks/RA-63703.yml @@ -0,0 +1,7 @@ +# Računalniška arhitektura +# Ziga.Pusnik@fri.uni-lj.si, Rok.Cesnovar@fri.uni-lj.si, Robert.Rozman@fri.uni-lj.si, Mira.Trebar@fri.uni-lj.si +# Windows, RAVINOR, CubeIDE + QEMU Embedded plugin, WinIdea 9.21 + GCC + QEMU, WinIdea 9.12.256 (FRISMS kompatibilna), Visual2 + +- include_tasks: stm32cube.yml +- include_tasks: winidea.yml +- include_tasks: visual2.yml diff --git a/roles/linroom/tasks/RGTI-63269.yml b/roles/linroom/tasks/RGTI-63269.yml new file mode 100644 index 0000000..099919c --- /dev/null +++ b/roles/linroom/tasks/RGTI-63269.yml @@ -0,0 +1,4 @@ +# Računalniška grafika in tehnologija iger +# Ziga.Lesar@fri.uni-lj.si +# Windows, Unity +- include_tasks: unity.yml diff --git a/roles/linroom/tasks/RIS-63252.yml b/roles/linroom/tasks/RIS-63252.yml new file mode 100644 index 0000000..698f7ce --- /dev/null +++ b/roles/linroom/tasks/RIS-63252.yml @@ -0,0 +1,4 @@ +# Razvoj informacijskih sistemov +# Aljaz.Zrnec@fri.uni-lj.si +# Power designer 12.5 +- include_tasks: powerdesigner.yml diff --git a/roles/linroom/tasks/RK-63209.yml b/roles/linroom/tasks/RK-63209.yml new file mode 100644 index 0000000..fe7a9b8 --- /dev/null +++ b/roles/linroom/tasks/RK-63209.yml @@ -0,0 +1,9 @@ +# Računalniške komunikacije +# Ales.Jaklic@fri.uni-lj.si, Matjaz.Pancur@fri.uni-lj.si, Jure.Tuta@fri.uni-lj.si, Domen.Kosir@fri.uni-lj.si +# GNU/Linux, GNS3, Docker, VS Code, wireshark, Java JDK, Python 3 +- include_tasks: docker.yml +- include_tasks: gns3.yml +- include_tasks: vscode.yml +- include_tasks: wireshark.yml +- include_tasks: jdk.yml + diff --git a/roles/linroom/tasks/RK-63708.yml b/roles/linroom/tasks/RK-63708.yml new file mode 100644 index 0000000..d03d8c0 --- /dev/null +++ b/roles/linroom/tasks/RK-63708.yml @@ -0,0 +1,9 @@ +# Računalniške komunikacije +# Matjaz.Pancur@fri.uni-lj.si, Miha.Grohar@fri.uni-lj.si +# GNU/Linux, GNS3, Docker, VS Code, wireshark, Java JDK, Python 3 +- include_tasks: docker.yml +- include_tasks: gns3.yml +- include_tasks: vscode.yml +- include_tasks: wireshark.yml +- include_tasks: jdk.yml + diff --git a/roles/linroom/tasks/RPOI-90066.yml b/roles/linroom/tasks/RPOI-90066.yml new file mode 100644 index 0000000..fc15333 --- /dev/null +++ b/roles/linroom/tasks/RPOI-90066.yml @@ -0,0 +1,6 @@ +# Računalniška podpora oblikovanju I (ALUO) +# Matija.Marolt@fri.uni-lj.si +# SolidWorks +# Računalniška podpora oblikovanju I (ALUO) +# Matija.Marolt@fri.uni-lj.si +# SolidWorks diff --git a/roles/linroom/tasks/RZP-63523.yml b/roles/linroom/tasks/RZP-63523.yml new file mode 100644 index 0000000..ecaf941 --- /dev/null +++ b/roles/linroom/tasks/RZP-63523.yml @@ -0,0 +1,7 @@ +# Računalniška zvočna produkcija +# Aleks.Huc@fri.uni-lj.si +# IntelliJ IDEA, Audacity, GIT +- include_tasks: git.yml +- include_tasks: audacity.yml +- include_tasks: IDEA.yml + diff --git a/roles/linroom/tasks/SP-63255.yml b/roles/linroom/tasks/SP-63255.yml new file mode 100644 index 0000000..f0a42a4 --- /dev/null +++ b/roles/linroom/tasks/SP-63255.yml @@ -0,0 +1,6 @@ +# Spletno Programiranje +# dejan.lavbic@fri.uni-lj.si +# git, docker, Node.js + npm, Visual Studio Code +- include_tasks: git.yml +- include_tasks: docker.yml +- include_tasks: nodejs.yml diff --git a/roles/linroom/tasks/ST-63727.yml b/roles/linroom/tasks/ST-63727.yml new file mode 100644 index 0000000..5fa86f8 --- /dev/null +++ b/roles/linroom/tasks/ST-63727.yml @@ -0,0 +1,5 @@ +# Spletne tehnologije +# David.Jelenc@fri.uni-lj.si +# Windows, VS Code, XAMPP +- include_tasks: vscode.yml +- include_tasks: xampp.yml diff --git a/roles/linroom/tasks/SU-63519.yml b/roles/linroom/tasks/SU-63519.yml new file mode 100644 index 0000000..8eb82b1 --- /dev/null +++ b/roles/linroom/tasks/SU-63519.yml @@ -0,0 +1,4 @@ +# Strojno učenje +# matej.piculin@fri.uni-lj.si, Petar.Vracar@fri.uni-lj.si +# Windows, R, RStudio +- include_tasks: rstudio.yml diff --git a/roles/linroom/tasks/TINR-63740.yml b/roles/linroom/tasks/TINR-63740.yml new file mode 100644 index 0000000..c8663a7 --- /dev/null +++ b/roles/linroom/tasks/TINR-63740.yml @@ -0,0 +1,3 @@ +# Tehnologija iger in navidezna resničnost +# Bojan.Klemenc@fri.uni-lj.si +# macOS, Xcode diff --git a/roles/linroom/tasks/TIS-63216.yml b/roles/linroom/tasks/TIS-63216.yml new file mode 100644 index 0000000..1b05a8e --- /dev/null +++ b/roles/linroom/tasks/TIS-63216.yml @@ -0,0 +1,5 @@ +# Teorija informacij in sistemov +# Davor.Sluga@fri.uni-lj.si +# Windows, VS Code, Python 3 +- include_tasks: vscode.yml +- include_tasks: thonny.yml diff --git a/roles/linroom/tasks/TUP-63226.yml b/roles/linroom/tasks/TUP-63226.yml new file mode 100644 index 0000000..3239da9 --- /dev/null +++ b/roles/linroom/tasks/TUP-63226.yml @@ -0,0 +1,12 @@ +# Tehnologija upravljanja podatkov +# Luka.Sajn@fri.uni-lj.si +# Windows, Power designer 12.5, Java JDK, Python 3, dotnet6 SDK, Jupyter Notebook, Eclipse, MySql Workbench, MySQL ODBC Connector, Notepad++ +- include_tasks: eclipse.yml +- include_tasks: dotnet6.yml +- include_tasks: jupyter.yml +- include_tasks: jdk.yml +- include_tasks: powerdesigner.yml +- include_tasks: mysql_workbench.yml +- include_tasks: mysql-odbc-connector.yml +- include_tasks: notepad++.yml + diff --git a/roles/linroom/tasks/UI-63720.yml b/roles/linroom/tasks/UI-63720.yml new file mode 100644 index 0000000..3019f30 --- /dev/null +++ b/roles/linroom/tasks/UI-63720.yml @@ -0,0 +1,4 @@ +# Umetna inteligenca +# Petar.Vracar@fri.uni-lj.si +# Windows, R, RStudio +- include_tasks: rstudio.yml diff --git a/roles/linroom/tasks/UV-63721.yml b/roles/linroom/tasks/UV-63721.yml new file mode 100644 index 0000000..419849d --- /dev/null +++ b/roles/linroom/tasks/UV-63721.yml @@ -0,0 +1,8 @@ +# Uporabniški vmesniki +# Ales.Smrdel@fri.uni-lj.si +# Windows, GNU/Linux, Java JDK, IntelliJ IDEA, javafx, SceneBuilder, X11 development, Wayland development, gtk+ development, glade, python +- include_tasks: jdk.yml +- include_tasks: idea.yml +- include_tasks: javafx.yml +- include_tasks: gui_development.yml +- include_tasks: scenebuilder.yml diff --git a/roles/linroom/tasks/UZ-63267.yml b/roles/linroom/tasks/UZ-63267.yml new file mode 100644 index 0000000..ee2c984 --- /dev/null +++ b/roles/linroom/tasks/UZ-63267.yml @@ -0,0 +1,4 @@ +# Umetno zaznavanje +# jon.muhovic@fe.uni-lj.si +# Python3, Python 3 +- include_tasks: python3.yml diff --git a/roles/linroom/tasks/VN-63728.yml b/roles/linroom/tasks/VN-63728.yml new file mode 100644 index 0000000..3fb8d44 --- /dev/null +++ b/roles/linroom/tasks/VN-63728.yml @@ -0,0 +1,9 @@ +# Vhodno-izhodne naprave +# Robert.Rozman@fri.uni-lj.si +# Windows, Logisim Evolution, RAVINOR, WinIdea 9.12.256 (FRISMS kompatibilna), LTSpice + +- include_tasks: logisim.yml +- include_tasks: winidea-frisms.yml +- include_tasks: winidea.yml +- include_tasks: ltspice.yml + diff --git a/roles/linroom/tasks/VP-63775.yml b/roles/linroom/tasks/VP-63775.yml new file mode 100644 index 0000000..e7c34e3 --- /dev/null +++ b/roles/linroom/tasks/VP-63775.yml @@ -0,0 +1,13 @@ +# Varnost Podatkov +# david.jelenc@fri.uni-lj.si +# Python (in standardno pripadajoča šara jupyter lab) in IntelliJ IDEA PyCharm CE +# PyCharm +# Java (kar je bilo lani bo ok) in IntelliJ IDEA CE +# maven +# git +- include_tasks: git.yml +- include_tasks: maven.yml +- include_tasks: idea.yml +- include_tasks: jdk.yml +- include_tasks: jupyter.yml +- include_tasks: pycharm.yml diff --git a/roles/linroom/tasks/VPSA-63735.yml b/roles/linroom/tasks/VPSA-63735.yml new file mode 100644 index 0000000..ba8d41d --- /dev/null +++ b/roles/linroom/tasks/VPSA-63735.yml @@ -0,0 +1,5 @@ +# Vzporedni in porazdeljeni sistemi in algoritmi +# Davor.Sluga@fri.uni-lj.si, Rok.Cesnovar@fri.uni-lj.si +# Windows, VS Code, Build Tools for Visual Studio 2022 +- include_tasks: vscode.yml +- include_tasks: visual_studio.yml diff --git a/roles/linroom/tasks/VZR-63543.yml b/roles/linroom/tasks/VZR-63543.yml new file mode 100644 index 0000000..d847462 --- /dev/null +++ b/roles/linroom/tasks/VZR-63543.yml @@ -0,0 +1,4 @@ +# Visoko zmogljivo računanje +# Davor.Sluga@fri.uni-lj.si +# Windows, VS Code +- include_tasks: vscode.yml diff --git a/roles/linroom/tasks/adobe_cs.yml b/roles/linroom/tasks/adobe_cs.yml new file mode 100644 index 0000000..a033864 --- /dev/null +++ b/roles/linroom/tasks/adobe_cs.yml @@ -0,0 +1 @@ +# TODO ugotovi, kaj narediti z Adobe CS diff --git a/roles/linroom/tasks/all_classes.yml b/roles/linroom/tasks/all_classes.yml new file mode 100644 index 0000000..1fee6d2 --- /dev/null +++ b/roles/linroom/tasks/all_classes.yml @@ -0,0 +1,60 @@ +- import_tasks: AAHRP-63263.yml +- import_tasks: APS1-63279.yml +- import_tasks: ARP1-63545C.yml +- import_tasks: BMO-63259.yml +- import_tasks: DF-63530.yml +- import_tasks: DN-63260.yml +- import_tasks: DPS-63744.yml +- import_tasks: DV-63718.yml +- import_tasks: EP-63249.yml +- import_tasks: FP-63507.yml +- import_tasks: GO-63715.yml +- import_tasks: IS-63714.yml +- import_tasks: IVZ-63521.yml +- import_tasks: KCR-63550.yml +- import_tasks: KPOV-63716.yml +- import_tasks: KRV-63528.yml +- import_tasks: MRO-63257.yml +- import_tasks: MV-63288.yml +- import_tasks: NDN-63729.yml +- import_tasks: NM-63522.yml +- import_tasks: NPMP-63512.yml +- import_tasks: NRG-63553.yml +- import_tasks: OBSS-63514.yml +- import_tasks: ODV-63204.yml +- import_tasks: OO-63271.yml +- import_tasks: OR-63717.yml +- import_tasks: ORS-63218.yml +- import_tasks: OS-63709.yml +- import_tasks: OS-63741.yml +- import_tasks: OUI-63214.yml +- import_tasks: P2-63278.yml +- import_tasks: P2-63706.yml +- import_tasks: PA-63737.yml +- import_tasks: PB-63707.yml +- import_tasks: PB2-63713.yml +- import_tasks: PJC-63769.yml +- import_tasks: PPJ-63220.yml +- import_tasks: PS-63261.yml +- import_tasks: PSP-63287.yml +- import_tasks: PUI-63768.yml +- import_tasks: RA-63703.yml +- import_tasks: RGTI-63269.yml +- import_tasks: RIS-63252.yml +- import_tasks: RK-63209.yml +- import_tasks: RK-63708.yml +- import_tasks: RPOI-90066.yml +- import_tasks: RZP-63523.yml +- import_tasks: SP-63255.yml +- import_tasks: ST-63727.yml +- import_tasks: SU-63519.yml +- import_tasks: TINR-63740.yml +- import_tasks: TIS-63216.yml +- import_tasks: TUP-63226.yml +- import_tasks: UI-63720.yml +- import_tasks: UV-63721.yml +- import_tasks: UZ-63267.yml +- import_tasks: VN-63728.yml +- import_tasks: VP-63775.yml +- import_tasks: VPSA-63735.yml +- import_tasks: VZR-63543.yml diff --git a/roles/linroom/tasks/android_studio.yml b/roles/linroom/tasks/android_studio.yml new file mode 100644 index 0000000..da7ceee --- /dev/null +++ b/roles/linroom/tasks/android_studio.yml @@ -0,0 +1,13 @@ +- name: Install Android Studio + block: + - name: Create destination for Android Studio + file: + path: /opt/Android_Studio + state: directory + - name: Download and unpack Android Studio + unarchive: + # src: https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2021.3.1.16/android-studio-2021.3.1.16-linux.tar.gz + src: https://redirector.gvt1.com/edgedl/android/studio/ide-zips/2022.3.1.19/android-studio-2022.3.1.19-linux.tar.gz + creates: /opt/Android_Studio/android-studio/build.txt + dest: /opt/Android_Studio + remote_src: yes diff --git a/roles/linroom/tasks/arduino.yml b/roles/linroom/tasks/arduino.yml new file mode 100644 index 0000000..1a7c6f5 --- /dev/null +++ b/roles/linroom/tasks/arduino.yml @@ -0,0 +1,10 @@ +- name: create destination + file: + path: /opt/Arduino + state: directory + +- name: unpack Arduino + unarchive: + src: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.0.0_Linux_64bit.zip + dest: /opt/Arduino + remote_src: yes diff --git a/roles/linroom/tasks/audacity.yml b/roles/linroom/tasks/audacity.yml new file mode 100644 index 0000000..1481dd7 --- /dev/null +++ b/roles/linroom/tasks/audacity.yml @@ -0,0 +1,5 @@ +- name: Install Audacity + apt: + name: audacity + state: latest + diff --git a/roles/linroom/tasks/bayesfusion.yml b/roles/linroom/tasks/bayesfusion.yml new file mode 100644 index 0000000..d6903b4 --- /dev/null +++ b/roles/linroom/tasks/bayesfusion.yml @@ -0,0 +1,10 @@ +# TODO install BayesFusion.yml +# https://download.bayesfusion.com/files.html?category=Academia#GeNIe +- name: Install Wine + apt: + name: wine-development + state: latest +- name: Install Wine binfmt support + apt: + name: wine-binfmt + state: latest diff --git a/roles/linroom/tasks/blender.yml b/roles/linroom/tasks/blender.yml new file mode 100644 index 0000000..7a3281e --- /dev/null +++ b/roles/linroom/tasks/blender.yml @@ -0,0 +1,4 @@ +- name: Install blender + apt: + name: blender + state: latest diff --git a/roles/linroom/tasks/c_development.yml b/roles/linroom/tasks/c_development.yml new file mode 100644 index 0000000..b201e3d --- /dev/null +++ b/roles/linroom/tasks/c_development.yml @@ -0,0 +1,10 @@ +- name: Install C/C++ development tools + apt: + name: + - gcc + - make + - automake + - g++ + - gdb + - cmake + state: latest diff --git a/roles/linroom/tasks/chrome.yml b/roles/linroom/tasks/chrome.yml new file mode 100644 index 0000000..21a141a --- /dev/null +++ b/roles/linroom/tasks/chrome.yml @@ -0,0 +1,4 @@ +- name: Do NOT install Chrome + apt: + name: chromium + state: latest diff --git a/roles/linroom/tasks/cmake.yml b/roles/linroom/tasks/cmake.yml new file mode 100644 index 0000000..30bebe4 --- /dev/null +++ b/roles/linroom/tasks/cmake.yml @@ -0,0 +1,4 @@ +- name: Install cmake + apt: + name: cmake + state: latest diff --git a/roles/linroom/tasks/docker.yml b/roles/linroom/tasks/docker.yml new file mode 100644 index 0000000..7daef92 --- /dev/null +++ b/roles/linroom/tasks/docker.yml @@ -0,0 +1,23 @@ + +- name: "Install Podman" + apt: + name: podman + state: latest + +- name: "Install containerd" + apt: + name: containerd + state: latest + +- name: "Install docker" + apt: + name: docker + state: latest + +- name: "Install docker-compose" + apt: + name: docker-compose + state: latest + + +# TODO uredi skupine, da bodo studentje lahko docker tudi uporabljali diff --git a/roles/linroom/tasks/dotnet6.yml b/roles/linroom/tasks/dotnet6.yml new file mode 100644 index 0000000..08fc2da --- /dev/null +++ b/roles/linroom/tasks/dotnet6.yml @@ -0,0 +1,4 @@ +- name: "Install Dotnet 6.0" + apt: + name: dotnet6 + state: latest diff --git a/roles/linroom/tasks/eclipse.yml b/roles/linroom/tasks/eclipse.yml new file mode 100644 index 0000000..1bba73f --- /dev/null +++ b/roles/linroom/tasks/eclipse.yml @@ -0,0 +1,16 @@ +- name: Install Eclipse snap + community.general.snap: + name: + - eclipse + classic: true +# - name: Install Eclipse from tarball +# block: +# - name: Create destination for Eclipse +# file: +# path: /opt/Eclipse +# state: directory +# - name: Download and unpack Eclipse +# unarchive: +# src: https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2022-09/R/eclipse-inst-jre-linux64.tar.gz +# dest: /opt/Eclipse +# remote_src: yes diff --git a/roles/linroom/tasks/emacs.yml b/roles/linroom/tasks/emacs.yml new file mode 100644 index 0000000..ee13e14 --- /dev/null +++ b/roles/linroom/tasks/emacs.yml @@ -0,0 +1,14 @@ +- name: Install emacs + apt: + name: emacs + state: latest + +- name: Install emacs-nox + apt: + name: emacs-nox + state: latest + +- name: Install emacs-gtk + apt: + name: emacs-gtk + state: latest diff --git a/roles/linroom/tasks/firefox.yml b/roles/linroom/tasks/firefox.yml new file mode 100644 index 0000000..c80124a --- /dev/null +++ b/roles/linroom/tasks/firefox.yml @@ -0,0 +1,22 @@ +- name: Add Firefox not-a-snap repository + block: + - name: Pin Firefox PPA package priority + template: + src: mozilla-firefox-apt-preferences + dest: /etc/apt/preferences.d/mozilla-firefox + - name: Enable Firefox unattended upgrades + template: + src: mozilla-firefox-unattended-upgrades + dest: /etc/apt/apt.conf.d/51unattended-upgrades-firefox + - name: Add Firefox PPA + apt_repository: + repo: ppa:mozillateam/ppa + state: present + update_cache: True + validate_certs: False + +- name: Install Firefox + apt: + name: + - firefox + state: latest diff --git a/roles/linroom/tasks/fri_base.yml b/roles/linroom/tasks/fri_base.yml new file mode 100644 index 0000000..f3eb5f3 --- /dev/null +++ b/roles/linroom/tasks/fri_base.yml @@ -0,0 +1,151 @@ +- name: Install firefox + - include_tasks: firefox.yml + +- name: Install Libre Office + - include_tasks: libreoffice.yml + +- name: Install 7zip + - include_tasks: 7zip.yml + +- name: Install generally useful packages + apt: + name: + - i3 + - sway + - vlc + - mpv + - ffmpeg + - emacs + - kwrite + - kate + - krita + - blender + - inkscape + - pcmanfm-qt + - qutebrowser + - chromium-browser + - firefox + - qemu + - qemu-kvm + - qemu-utils + - virt-manager + - wine-development + - dosbox + - webext-ublock-origin-chromium + - webext-ublock-origin-firefox + - nethack-console + - zsh + - tmux + - screen + - curl + - git-gui + - git-cola + - kdiff3 + - thonny + - ttf-mscorefonts-installer + - libhivex-bin + - overlayroot + - nfs-common + - cifs-utils + state: latest + update_cache: yes + +- name: Remove broken or unnecessary packages + apt: + name: + - xfce4-screensaver + - xscreensaver + state: absent + +- name: Set up additional groups for students + vars: + additional_groups: + - wireshark + - kvm + - dialout + - libvirt + - vboxusers + - ubridge + - docker + block: + - name: create user@.service.d + file: + path: /etc/systemd/system/user@.service.d + state: directory + - name: override groups in systemd + template: + src: systemd_group_override.conf + dest: /etc/systemd/system/user@.service.d/override.conf + - name: create /etc/security/group.conf + template: + src: security_group.conf + dest: /etc/security/group.conf + - name: create pam config for libpam_group + template: + src: pamconfig_groups + dest: /usr/share/pam-configs/groups + - name: enable libpam_group + shell: pam-auth-update --enable groups + +- name: Set default keyboard layout to SI + template: + src: default_keyboard + dest: /etc/default/keyboard + +- name: Add mount - C + mount: + boot: true + fstype: ntfs3 + src: UUID=A09E30889E30594C + path: /mnt/C + state: mounted + opts: defaults,nofail + +- name: Add mount - D + mount: + boot: true + fstype: ntfs3 + src: "LABEL=D:" + path: /mnt/D + state: mounted + opts: defaults,nofail + +- name: Add mount - F + mount: + boot: true + fstype: ntfs3 + src: "LABEL=F:" + path: /mnt/F + state: mounted + opts: defaults,nofail + +- name: Add mount - partimag + mount: + boot: true + fstype: nfs + src: "10.32.254.16:/srv/nfs/clonezilla_images" + path: /home/partimag + state: mounted + opts: defaults,nofail + +- name: Add mount - ucilnice_d + mount: + boot: true + fstype: cifs + src: "//ucilnicesmb.fri1.uni-lj.si/ucilnice_d" + path: /mnt/ucilnice_d + state: mounted + opts: guest,soft,nofail + +- name: Set time to local RTC + shell: "timedatectl set-local-rtc 1 --adjust-system-clock" + +- name: Install ethtool + apt: + name: ethtool + state: latest + +- name: Add udev rule to enable wake-on-lan for ethernet interfaces + copy: + dest: /etc/udev/rules.d/ + src: 99-wakeonlan.rules diff --git a/roles/linroom/tasks/gcc-arm.yml b/roles/linroom/tasks/gcc-arm.yml new file mode 100644 index 0000000..fe8c316 --- /dev/null +++ b/roles/linroom/tasks/gcc-arm.yml @@ -0,0 +1,4 @@ +- name: install GCC for ARM + apt: + name: gcc-12-arm-linux-gnueabi + state: latest diff --git a/roles/linroom/tasks/gedit.yml b/roles/linroom/tasks/gedit.yml new file mode 100644 index 0000000..7df7041 --- /dev/null +++ b/roles/linroom/tasks/gedit.yml @@ -0,0 +1,4 @@ +- name: Install Gedit + apt: + name: gedit + state: latest diff --git a/roles/linroom/tasks/gimp.yml b/roles/linroom/tasks/gimp.yml new file mode 100644 index 0000000..5461c3e --- /dev/null +++ b/roles/linroom/tasks/gimp.yml @@ -0,0 +1,4 @@ +- name: Install GIMP + apt: + name: gimp + state: latest diff --git a/roles/linroom/tasks/git.yml b/roles/linroom/tasks/git.yml new file mode 100644 index 0000000..5a5a1df --- /dev/null +++ b/roles/linroom/tasks/git.yml @@ -0,0 +1,4 @@ +- name: Install git + apt: + name: git + state: latest diff --git a/roles/linroom/tasks/gns3.yml b/roles/linroom/tasks/gns3.yml new file mode 100644 index 0000000..df2807d --- /dev/null +++ b/roles/linroom/tasks/gns3.yml @@ -0,0 +1,15 @@ +- name: Add GNS3 repository + apt_repository: + repo: ppa:gns3/ppa + state: present + update_cache: True + validate_certs: False +- name: Install gns3 server + ansible.builtin.apt: + name: gns3-server + state: latest +- name: Install gns3 GUI + ansible.builtin.apt: + name: gns3-gui + state: latest + diff --git a/roles/linroom/tasks/golang.yml b/roles/linroom/tasks/golang.yml new file mode 100644 index 0000000..e699dba --- /dev/null +++ b/roles/linroom/tasks/golang.yml @@ -0,0 +1,5 @@ +- name: Install the GO programming language + apt: + name: golang + state: latest + diff --git a/roles/linroom/tasks/gui_development.yml b/roles/linroom/tasks/gui_development.yml new file mode 100644 index 0000000..a47bfc0 --- /dev/null +++ b/roles/linroom/tasks/gui_development.yml @@ -0,0 +1,35 @@ +- name: Install X11 development + apt: + name: + - libx11-dev + - libxext-dev + - x11-utils + state: latest + +- name: Install GTK development + apt: + name: + - libgtk-4-dev + - libgtk-3-dev + - libgtkmm-3.0-dev + state: latest + +- name: Install Wayland development + apt: + name: + - libwayland-dev + - libwlroots-dev + - qt6-wayland-dev + - qt6-wayland-dev-tools + - weston + state: latest + +- name: Install Glade + apt: + name: glade + state: latest + +- name: Install QT Creator + apt: + name: qtcreator + state: latest diff --git a/roles/linroom/tasks/haskell.yml b/roles/linroom/tasks/haskell.yml new file mode 100644 index 0000000..a5f4818 --- /dev/null +++ b/roles/linroom/tasks/haskell.yml @@ -0,0 +1,14 @@ +- name: install Haskell platform + apt: + name: haskell-platform + state: latest + +- name: install Haskell Tool Stack + apt: + name: haskell-stack + state: latest + +- name: install Haskell compiler + apt: + name: ghc + state: latest diff --git a/roles/linroom/tasks/idea.yml b/roles/linroom/tasks/idea.yml new file mode 100644 index 0000000..89023cd --- /dev/null +++ b/roles/linroom/tasks/idea.yml @@ -0,0 +1,12 @@ +- name: Install IDEA + block: + - name: Create destination for JetBrains IDEA + file: + path: /opt/IDEA + state: directory + - name: Download and unpack JetBrains IDEA + unarchive: + src: https://download.jetbrains.com/idea/ideaIC-2023.2.1.tar.gz + dest: /opt/IDEA + creates: /opt/IDEA/idea-IC-232.9559.62/build.txt + remote_src: yes diff --git a/roles/linroom/tasks/inkscape.yml b/roles/linroom/tasks/inkscape.yml new file mode 100644 index 0000000..bb5f749 --- /dev/null +++ b/roles/linroom/tasks/inkscape.yml @@ -0,0 +1,4 @@ +- name: Install Inkscape + apt: + name: inkscape + state: latest diff --git a/roles/linroom/tasks/javafx.yml b/roles/linroom/tasks/javafx.yml new file mode 100644 index 0000000..dd530f3 --- /dev/null +++ b/roles/linroom/tasks/javafx.yml @@ -0,0 +1,8 @@ +- name: Install JavaFX + apt: + name: openjfx + state: latest +- name: Install JavaFX source + apt: + name: openjfx-source + state: latest diff --git a/roles/linroom/tasks/jdk.yml b/roles/linroom/tasks/jdk.yml new file mode 100644 index 0000000..c393c2f --- /dev/null +++ b/roles/linroom/tasks/jdk.yml @@ -0,0 +1,32 @@ +- name: Install OpenJDK 18 + apt: + name: openjdk-18-jdk + state: latest + +- name: Install OpenJDK 19 + apt: + name: openjdk-19-jdk + state: latest + +- name: Install OpenJDK 11 + apt: + name: openjdk-11-jdk + state: latest + +- name: Install default JDK + apt: + name: default-jdk + state: latest + + +- name: Install Oracle Java dependencies + apt: + name: + - libc6-i386 + - libc6-x32 + state: latest + +- name: Install Oracle JDK 20 + apt: + deb: "https://download.oracle.com/java/20/latest/jdk-20_linux-x64_bin.deb" + diff --git a/roles/linroom/tasks/jlink.yml b/roles/linroom/tasks/jlink.yml new file mode 100644 index 0000000..2d7cb3f --- /dev/null +++ b/roles/linroom/tasks/jlink.yml @@ -0,0 +1,2 @@ +apt: + deb: https://www.segger.com/downloads/jlink/JLink_Linux_x86_64.deb diff --git a/roles/linroom/tasks/julia.yml b/roles/linroom/tasks/julia.yml new file mode 100644 index 0000000..0d9c800 --- /dev/null +++ b/roles/linroom/tasks/julia.yml @@ -0,0 +1,12 @@ +- name: Install Julia from tarball + block: + - name: Create destination for Julia + file: + path: /opt/Julia + state: directory + - name: Download and unpack Eclipse + unarchive: + src: https://julialang-s3.julialang.org/bin/linux/x64/1.9/julia-1.9.3-linux-x86_64.tar.gz + dest: /opt/Julia + remote_src: yes + diff --git a/roles/linroom/tasks/jupyter.yml b/roles/linroom/tasks/jupyter.yml new file mode 100644 index 0000000..c0dc1ed --- /dev/null +++ b/roles/linroom/tasks/jupyter.yml @@ -0,0 +1,16 @@ +- name: Install Jupyter + apt: + name: jupyter + state: latest +- name: Install Jupyter Console + apt: + name: jupyter-console + state: latest +- name: Install Jupyter QT Console + apt: + name: jupyter-qtconsole + state: latest +- name: Install Jupyter Notebook + apt: + name: jupyter-notebook + state: latest diff --git a/roles/linroom/tasks/libreoffice.yml b/roles/linroom/tasks/libreoffice.yml new file mode 100644 index 0000000..c478e25 --- /dev/null +++ b/roles/linroom/tasks/libreoffice.yml @@ -0,0 +1,4 @@ +- name: Install LibreOffice + apt: + name: libreoffice + state: latest diff --git a/roles/linroom/tasks/logisim.yml b/roles/linroom/tasks/logisim.yml new file mode 100644 index 0000000..bb46c19 --- /dev/null +++ b/roles/linroom/tasks/logisim.yml @@ -0,0 +1,12 @@ +# TODO install logisim for linux +- name: Install Logisim + block: + - name: Create destination for Logisim + file: + path: /opt/logisim + state: directory + - name: Download and unpack Logisim + unarchive: + src: https://altushost-swe.dl.sourceforge.net/project/circuit/2.7.x/2.7.1/logisim-generic-2.7.1.jar + dest: /opt/logisim + remote_src: yes diff --git a/roles/linroom/tasks/ltspice.yml b/roles/linroom/tasks/ltspice.yml new file mode 100644 index 0000000..dec3a3f --- /dev/null +++ b/roles/linroom/tasks/ltspice.yml @@ -0,0 +1 @@ +# TODO install LTSPice diff --git a/roles/linroom/tasks/main.yml b/roles/linroom/tasks/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/linroom/tasks/matlab.yml b/roles/linroom/tasks/matlab.yml new file mode 100644 index 0000000..13a29e3 --- /dev/null +++ b/roles/linroom/tasks/matlab.yml @@ -0,0 +1,6 @@ +# TODO: usposobi install Matlaba na D: +# TODO: zamenjaj podvojene datoteke s symlinki +- name: Matlab + debug: + msg: "Matlab" + diff --git a/roles/linroom/tasks/maven.yml b/roles/linroom/tasks/maven.yml new file mode 100644 index 0000000..cff5d45 --- /dev/null +++ b/roles/linroom/tasks/maven.yml @@ -0,0 +1,4 @@ +- name: Install maven + apt: + name: maven + state: latest diff --git a/roles/linroom/tasks/minecraft-education.yml b/roles/linroom/tasks/minecraft-education.yml new file mode 100644 index 0000000..ced1d4b --- /dev/null +++ b/roles/linroom/tasks/minecraft-education.yml @@ -0,0 +1,3 @@ +- name: Do not install Minecraft + debug: + msg: "Do not install Minecraft" diff --git a/roles/linroom/tasks/msys2.yml b/roles/linroom/tasks/msys2.yml new file mode 100644 index 0000000..e387d21 --- /dev/null +++ b/roles/linroom/tasks/msys2.yml @@ -0,0 +1,3 @@ +- name: Do not install Msys2 + debug: + msg: "Do not install Msys2" diff --git a/roles/linroom/tasks/mysql-odbc-connector.yml b/roles/linroom/tasks/mysql-odbc-connector.yml new file mode 100644 index 0000000..ec89cef --- /dev/null +++ b/roles/linroom/tasks/mysql-odbc-connector.yml @@ -0,0 +1,5 @@ +- name: Install MariaDB ODBC connector + apt: + name: odbc-mariadb + state: latest + diff --git a/roles/linroom/tasks/mysql_workbench.yml b/roles/linroom/tasks/mysql_workbench.yml new file mode 100644 index 0000000..8290fa6 --- /dev/null +++ b/roles/linroom/tasks/mysql_workbench.yml @@ -0,0 +1,3 @@ +- name: Install mysql workbench + apt: + deb: https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community_8.0.34-1ubuntu22.04_amd64.deb diff --git a/roles/linroom/tasks/netbeans.yml b/roles/linroom/tasks/netbeans.yml new file mode 100644 index 0000000..91184a4 --- /dev/null +++ b/roles/linroom/tasks/netbeans.yml @@ -0,0 +1,3 @@ +- name: Install NetBeans from .deb + apt: + deb: https://github.com/codelerity/netbeans-installers/releases/download/v19-build1/apache-netbeans_19-1_amd64.deb diff --git a/roles/linroom/tasks/ninja.yml b/roles/linroom/tasks/ninja.yml new file mode 100644 index 0000000..aa207cb --- /dev/null +++ b/roles/linroom/tasks/ninja.yml @@ -0,0 +1,4 @@ +- name: Install Ninja + apt: + name: ninja-build + state: latest diff --git a/roles/linroom/tasks/nodejs.yml b/roles/linroom/tasks/nodejs.yml new file mode 100644 index 0000000..f94b808 --- /dev/null +++ b/roles/linroom/tasks/nodejs.yml @@ -0,0 +1,14 @@ +- name: Add NodeJS repo key + apt_key: + url: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key + keyring: /etc/apt/keyrings/nodesource.gpg + +- name: Add NodeJS repo url + apt_repository: + repo: "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" + +- name: Install NodeJS + apt: + name: nodejs + state: latest + diff --git a/roles/linroom/tasks/notepad++.yml b/roles/linroom/tasks/notepad++.yml new file mode 100644 index 0000000..b45c1a2 --- /dev/null +++ b/roles/linroom/tasks/notepad++.yml @@ -0,0 +1,18 @@ +# TODO install Notepad++ +# ansible_os_family: "Windows" / "Debian" +- name: Install notepad++ + debug: + msg: "Install Notepad++" +- name: Install Wine + apt: + name: wine-development + state: latest +- name: Install Wine binfmt support + apt: + name: wine-binfmt + state: latest +- name: Download and unpack Notepad++ + unarchive: + src: https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.5.7/npp.8.5.7.portable.x64.7z + dest: /opt/notepad++ + remote_src: yes diff --git a/roles/linroom/tasks/ocaml.yml b/roles/linroom/tasks/ocaml.yml new file mode 100644 index 0000000..6695909 --- /dev/null +++ b/roles/linroom/tasks/ocaml.yml @@ -0,0 +1,4 @@ +- name: Install Ocaml + apt: + name: ocaml + state: latest diff --git a/roles/linroom/tasks/octave.yml b/roles/linroom/tasks/octave.yml new file mode 100644 index 0000000..0c6f8d0 --- /dev/null +++ b/roles/linroom/tasks/octave.yml @@ -0,0 +1,4 @@ +- name: Install Octave + apt: + name: octave + state: latest diff --git a/roles/linroom/tasks/omnetpp.yml b/roles/linroom/tasks/omnetpp.yml new file mode 100644 index 0000000..c65404d --- /dev/null +++ b/roles/linroom/tasks/omnetpp.yml @@ -0,0 +1,24 @@ +- name: Install OMNet++ + block: + - name: Create destination for Omnet++ + file: + path: /opt/omnetpp + state: directory + - name: Download and unpack Omnet++ + unarchive: + src: https://github.com/omnetpp/omnetpp/releases/download/omnetpp-6.0.1/omnetpp-6.0.1-linux-x86_64.tgz + dest: /opt/omnetpp + remote_src: yes + +# TODO install inet system-wide +- name: Install INET Framework + block: + - name: Create destination for INET Framework + file: + path: /opt/omnetpp-inet + state: directory + - name: Download and unpack INET Framework + unarchive: + src: https://github.com/inet-framework/inet/releases/download/v4.4.1/inet-4.4.1-src.tgz + dest: /opt/omnetpp-inet + remote_src: yes diff --git a/roles/linroom/tasks/openssl.yml b/roles/linroom/tasks/openssl.yml new file mode 100644 index 0000000..c2de789 --- /dev/null +++ b/roles/linroom/tasks/openssl.yml @@ -0,0 +1,4 @@ +- name: Install OpenSSL + apt: + name: openssl + state: latest diff --git a/roles/linroom/tasks/orange.yml b/roles/linroom/tasks/orange.yml new file mode 100644 index 0000000..1ffba8a --- /dev/null +++ b/roles/linroom/tasks/orange.yml @@ -0,0 +1,4 @@ +- name: Install orange + pip: + executable: pip3 + name: orange3 diff --git a/roles/linroom/tasks/pandas.yml b/roles/linroom/tasks/pandas.yml new file mode 100644 index 0000000..9c26095 --- /dev/null +++ b/roles/linroom/tasks/pandas.yml @@ -0,0 +1,7 @@ +- name: Install python3-pandas + apt: + name: + - python3-pandas + - python3-sklearn-pandas + state: latest + diff --git a/roles/linroom/tasks/pelles-c.yml b/roles/linroom/tasks/pelles-c.yml new file mode 100644 index 0000000..15f1a9c --- /dev/null +++ b/roles/linroom/tasks/pelles-c.yml @@ -0,0 +1,12 @@ +# TODO install Pelles +- name: Install Pelles + debug: + msg: "Install Pelles-C" +- name: Install Wine + apt: + name: wine-development + state: latest +- name: Install Wine binfmt support + apt: + name: wine-binfmt + state: latest diff --git a/roles/linroom/tasks/powerdesigner.yml b/roles/linroom/tasks/powerdesigner.yml new file mode 100644 index 0000000..4f8cb09 --- /dev/null +++ b/roles/linroom/tasks/powerdesigner.yml @@ -0,0 +1,12 @@ +# TODO install PowerDesigner +- name: PowerDesigner + debug: + msg: "Install PowerDesigner" +- name: Install Wine + apt: + name: wine-development + state: latest +- name: Install Wine binfmt support + apt: + name: wine-binfmt + state: latest diff --git a/roles/linroom/tasks/processing.yml b/roles/linroom/tasks/processing.yml new file mode 100644 index 0000000..7ef2847 --- /dev/null +++ b/roles/linroom/tasks/processing.yml @@ -0,0 +1,12 @@ +- name: Install Processing + block: + - name: Create destination for Processing + file: + path: /opt/processing + state: directory + - name: Download and unpack processing + unarchive: + src: https://github.com/processing/processing4/releases/download/processing-1286-4.0.1/processing-4.0.1-linux-x64.tgz + dest: /opt/processing + remote_src: yes + diff --git a/roles/linroom/tasks/projectlibre.yml b/roles/linroom/tasks/projectlibre.yml new file mode 100644 index 0000000..518d209 --- /dev/null +++ b/roles/linroom/tasks/projectlibre.yml @@ -0,0 +1,3 @@ +- name: Install projectlibre + apt: + deb: https://downloads.sourceforge.net/project/projectlibre/ProjectLibre/1.9.3/projectlibre_1.9.3-1.deb diff --git a/roles/linroom/tasks/pycharm.yml b/roles/linroom/tasks/pycharm.yml new file mode 100644 index 0000000..b85c36b --- /dev/null +++ b/roles/linroom/tasks/pycharm.yml @@ -0,0 +1,12 @@ +- name: Install PyCharm + block: + - name: Create destination for JetBrains PyCharm + file: + path: /opt/PyCharm + state: directory + - name: Download and unpack JetBrains PyCharm + unarchive: + src: https://download.jetbrains.com/python/pycharm-community-2023.2.1.tar.gz + dest: /opt/PyCharm + creates: /opt/PyCharm/pycharm-community-2023.2.1/build.txt + remote_src: yes diff --git a/roles/linroom/tasks/pyodbc.yml b/roles/linroom/tasks/pyodbc.yml new file mode 100644 index 0000000..117bfab --- /dev/null +++ b/roles/linroom/tasks/pyodbc.yml @@ -0,0 +1,4 @@ +- name: Install pyodbc + apt: + name: python3-pyodbc + state: latest diff --git a/roles/linroom/tasks/python3.yml b/roles/linroom/tasks/python3.yml new file mode 100644 index 0000000..56ce94f --- /dev/null +++ b/roles/linroom/tasks/python3.yml @@ -0,0 +1,10 @@ +- name: Install python3 + apt: + name: python3 + state: latest + +- name: Install ipython + apt: + name: python3-ipython + state: latest + diff --git a/roles/linroom/tasks/pytorch.yml b/roles/linroom/tasks/pytorch.yml new file mode 100644 index 0000000..992b04e --- /dev/null +++ b/roles/linroom/tasks/pytorch.yml @@ -0,0 +1,8 @@ +- name: Install pytorch + apt: + name: + - python3-torch + - python3-skorch + - python3-torch-ignite + state: latest + diff --git a/roles/linroom/tasks/qcadesigner-e.yml b/roles/linroom/tasks/qcadesigner-e.yml new file mode 100644 index 0000000..dd955bc --- /dev/null +++ b/roles/linroom/tasks/qcadesigner-e.yml @@ -0,0 +1,30 @@ +- name: Install QCADesigner-E build deps + block: + - name: Install automake + apt: + name: automake + state: latest + - name: Install automake + apt: + name: libgtk2.0-dev + state: latest +- name: Create QCADesigner-E destination + file: + path: /opt/QCADesigner-E + state: directory +- name: Clone QCADesigner-E repo + # + ansible.builtin.git: + repo: https://github.com/FSillT/QCADesigner-E + force: yes + dest: /opt/QCADesigner-E +- name: Build QCADesigner-E + shell: + cmd: cd /opt/QCADesigner-E/QCADesignerE && chmod +x ./configure && ./configure && make +- name: Create QCADesigner-e symlink + file: + src: /opt/QCADesigner-E/QCADesignerE/src/QCADesigner + dest: /usr/local/bin/QCADesigner + state: link +# TODO create .desktop file + diff --git a/roles/linroom/tasks/racket.yml b/roles/linroom/tasks/racket.yml new file mode 100644 index 0000000..a2ec494 --- /dev/null +++ b/roles/linroom/tasks/racket.yml @@ -0,0 +1,5 @@ +- name: Install racket + apt: + name: racket + state: latest + diff --git a/roles/linroom/tasks/rlwrap.yml b/roles/linroom/tasks/rlwrap.yml new file mode 100644 index 0000000..f843350 --- /dev/null +++ b/roles/linroom/tasks/rlwrap.yml @@ -0,0 +1,4 @@ +- name: Install rlwrap + apt: + name: rlwrap + state: latest diff --git a/roles/linroom/tasks/rstudio.yml b/roles/linroom/tasks/rstudio.yml new file mode 100644 index 0000000..a21785b --- /dev/null +++ b/roles/linroom/tasks/rstudio.yml @@ -0,0 +1,14 @@ +- name: Add R repository + block: + - name: R repo - apt key + ansible.builtin.get_url: + url: https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc + dest: /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc + - name: R repo - url + ansible.builtin.apt_repository: + repo: "deb https://cloud.r-project.org/bin/linux/ubuntu {{ansible_distribution_release}}-cran40/" + state: present +- name: Install R + ansible.builtin.apt: + name: r-base + state: latest diff --git a/roles/linroom/tasks/sagemath.yml b/roles/linroom/tasks/sagemath.yml new file mode 100644 index 0000000..9b757ef --- /dev/null +++ b/roles/linroom/tasks/sagemath.yml @@ -0,0 +1,9 @@ +- name: Install SageMath + apt: + name: sagemath + state: latest + +- name: Install SageMath - Jupyter + apt: + name: sagemath-jupyter + state: latest diff --git a/roles/linroom/tasks/scenebuilder.yml b/roles/linroom/tasks/scenebuilder.yml new file mode 100644 index 0000000..861edcd --- /dev/null +++ b/roles/linroom/tasks/scenebuilder.yml @@ -0,0 +1 @@ +# TODO install SceneBuilder diff --git a/roles/linroom/tasks/scipy.yml b/roles/linroom/tasks/scipy.yml new file mode 100644 index 0000000..df18069 --- /dev/null +++ b/roles/linroom/tasks/scipy.yml @@ -0,0 +1,7 @@ +- name: Install python3-scipy, scikit-learn + apt: + name: + - python3-scipy + - python3-sklearn + state: latest + diff --git a/roles/linroom/tasks/settings.yml b/roles/linroom/tasks/settings.yml new file mode 100644 index 0000000..c648b58 --- /dev/null +++ b/roles/linroom/tasks/settings.yml @@ -0,0 +1,8 @@ +- name: Install ethtool + apt: + name: ethtool + +- name: Add udev rule to enable wake-on-lan for ethernet interfaces + copy: + dest: /etc/udev/rules.d/ + src: 99-wakeonlan.rules diff --git a/roles/linroom/tasks/sifive.yml b/roles/linroom/tasks/sifive.yml new file mode 100644 index 0000000..0a887bd --- /dev/null +++ b/roles/linroom/tasks/sifive.yml @@ -0,0 +1,4 @@ +# SiFive je bil nekoc prosto dostopen. +# Sedaj hocejo, da se registriras... da prides do kode +# Potem pa ti ne dajo izvorne kode. +# ucilnice_install/2022-23/ORS_VGRS_Bulic diff --git a/roles/linroom/tasks/smlnj.yml b/roles/linroom/tasks/smlnj.yml new file mode 100644 index 0000000..7096389 --- /dev/null +++ b/roles/linroom/tasks/smlnj.yml @@ -0,0 +1,13 @@ +- name: Install SML/NJ + apt: + name: smlnj + state: latest +- name: Install SML/NJ + apt: + name: smlnj + state: latest +- name: Install Emacs extension for SML + apt: + name: elpa-sml-mode + state: latest + diff --git a/roles/linroom/tasks/statsmodels.yml b/roles/linroom/tasks/statsmodels.yml new file mode 100644 index 0000000..ff72e37 --- /dev/null +++ b/roles/linroom/tasks/statsmodels.yml @@ -0,0 +1,6 @@ +- name: Install statsmodels + apt: + name: + - python3-statsmodels + state: latest + diff --git a/roles/linroom/tasks/stm32cube.yml b/roles/linroom/tasks/stm32cube.yml new file mode 100644 index 0000000..05a9768 --- /dev/null +++ b/roles/linroom/tasks/stm32cube.yml @@ -0,0 +1,3 @@ +# TODO download stm32; deb install +# https://www.st.com/en/development-tools/stm32cubeide.html#get-software + diff --git a/roles/linroom/tasks/sublime-text.yml b/roles/linroom/tasks/sublime-text.yml new file mode 100644 index 0000000..f7dd75b --- /dev/null +++ b/roles/linroom/tasks/sublime-text.yml @@ -0,0 +1,3 @@ +- name: Do not install Sublime + debug: + msg: "Do not install Sublime" diff --git a/roles/linroom/tasks/sumatrapdf.yml b/roles/linroom/tasks/sumatrapdf.yml new file mode 100644 index 0000000..6359ff1 --- /dev/null +++ b/roles/linroom/tasks/sumatrapdf.yml @@ -0,0 +1,3 @@ +- name: Do not install SumatraPDF + debug: + msg: "Do not install SumatraPDF" diff --git a/roles/linroom/tasks/swi-prolog.yml b/roles/linroom/tasks/swi-prolog.yml new file mode 100644 index 0000000..f1357e4 --- /dev/null +++ b/roles/linroom/tasks/swi-prolog.yml @@ -0,0 +1,8 @@ +- name: Install SWI-Prolog + apt: + name: swi-prolog + state: latest +- name: Install SWI-Prolog - X support + apt: + name: swi-prolog-x + state: latest diff --git a/roles/linroom/tasks/tensorflow.yml b/roles/linroom/tasks/tensorflow.yml new file mode 100644 index 0000000..e7cb907 --- /dev/null +++ b/roles/linroom/tasks/tensorflow.yml @@ -0,0 +1,4 @@ +- name: Install tensorflow + pip: + executable: pip3 + name: tensorflow diff --git a/roles/linroom/tasks/thonny.yml b/roles/linroom/tasks/thonny.yml new file mode 100644 index 0000000..769384b --- /dev/null +++ b/roles/linroom/tasks/thonny.yml @@ -0,0 +1,4 @@ +- name: Install cmake + apt: + name: thonny + state: latest diff --git a/roles/linroom/tasks/unity.yml b/roles/linroom/tasks/unity.yml new file mode 100644 index 0000000..c13b36c --- /dev/null +++ b/roles/linroom/tasks/unity.yml @@ -0,0 +1,12 @@ +# TODO install Unity +- name: PowerDesigner + debug: + msg: "Unity" +- name: Install Wine + apt: + name: wine-development + state: latest +- name: Install Wine binfmt support + apt: + name: wine-binfmt + state: latest diff --git a/roles/linroom/tasks/virtualbox.yml b/roles/linroom/tasks/virtualbox.yml new file mode 100644 index 0000000..4ee58e4 --- /dev/null +++ b/roles/linroom/tasks/virtualbox.yml @@ -0,0 +1,12 @@ +- name: "Install VirtualBox" + apt: + name: virtualbox + state: latest +- name: "Install VirtualBox GUI" + apt: + name: virtualbox-qt + state: latest +- name: "Install VirtualBox kernel module" + apt: + name: virtualbox-dkms + state: latest diff --git a/roles/linroom/tasks/visual2.yml b/roles/linroom/tasks/visual2.yml new file mode 100644 index 0000000..d2d8620 --- /dev/null +++ b/roles/linroom/tasks/visual2.yml @@ -0,0 +1,13 @@ +# TODO install PowerDesigner +- name: Install VisUAL2 + debug: + msg: "Install Visual2" +- name: Create dest dir + file: + path: /opt/VisUAL2 + state: directory +- name: Install AppImage + get_url: + url: https://github.com/scc416/Visual2/releases/download/1.7.0/VisUAL2.1.7.0.AppImage + dest: /opt/VisUAL2/VisUAL2.1.7.0.AppImage + mode: 'u=rwx,g=rx,o=rx' diff --git a/roles/linroom/tasks/visual_studio.yml b/roles/linroom/tasks/visual_studio.yml new file mode 100644 index 0000000..b62bc89 --- /dev/null +++ b/roles/linroom/tasks/visual_studio.yml @@ -0,0 +1,2 @@ +# TODO kako namestiti Visual Studio + build tools +# diff --git a/roles/linroom/tasks/vivado.yml b/roles/linroom/tasks/vivado.yml new file mode 100644 index 0000000..64a9d54 --- /dev/null +++ b/roles/linroom/tasks/vivado.yml @@ -0,0 +1,5 @@ +# TODO pripravi install Vivado +# https://www.xilinx.com/member/forms/download/xef.html?filename=Xilinx_Unified_2022.1_0420_0327_Lin64.bin +- name: Install Vivado + debug: + msg: "Install Vivado, rodistvori dodatnih 70+G diska na računalnik" diff --git a/roles/linroom/tasks/vlc.yml b/roles/linroom/tasks/vlc.yml new file mode 100644 index 0000000..58c2b91 --- /dev/null +++ b/roles/linroom/tasks/vlc.yml @@ -0,0 +1,4 @@ +- name: Install VLC + apt: + name: vlc + state: latest diff --git a/roles/linroom/tasks/vmware_player.yml b/roles/linroom/tasks/vmware_player.yml new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/roles/linroom/tasks/vmware_player.yml @@ -0,0 +1 @@ + diff --git a/roles/linroom/tasks/vscode.yml b/roles/linroom/tasks/vscode.yml new file mode 100644 index 0000000..08ae21d --- /dev/null +++ b/roles/linroom/tasks/vscode.yml @@ -0,0 +1,21 @@ +- name: Add VS repo key + apt_key: + url: https://packages.microsoft.com/keys/microsoft.asc + keyring: /etc/apt/trusted.gpg.d/microsoft.gpg + +- name: Add VS repo url + apt_repository: + repo: "deb https://packages.microsoft.com/repos/vscode stable main" + +- name: Install VSCode + apt: + name: code + state: latest + +- name: Include VS code extension list + include_vars: vscode_extensions.yml + +- name: Install VS Code extensions + command: code --no-sandbox --user-data-dir "/usr/share/code/resources/app" --extensions-dir "/usr/share/code/resources/app/extensions" --install-extension "{{ item }}" + loop: "{{VSCode_Extensions}}" + notify: fix VS code extensions diff --git a/roles/linroom/tasks/vscode_extensions.yml b/roles/linroom/tasks/vscode_extensions.yml new file mode 100644 index 0000000..f42ef76 --- /dev/null +++ b/roles/linroom/tasks/vscode_extensions.yml @@ -0,0 +1,19 @@ +VSCode_Extensions: + - VisualStudioExptTeam.vscodeintellicode + - arthurwang.vsc-prolog + - dramforever.vscode-ghc-simple + - eamodio.gitlens + - justusadam.language-haskell + - ms-dotnettools.csdevkit # IS-63714 + - ms-python.python + - ms-vscode.cpptools + - ocamllabs.ocaml-platform + - stonebuddha.vscode-better-sml + - vscode-icons-team.vscode-icons + - vscjava.vscode-java-pack + - dan-c-underwood.arm # RA-63703 + - marus25.cortex-debug # RA-63703 + - NateAGeek.memory-viewer # RA-63703 + - ms-vscode.cpptools-extension-pack # RA-63703 + - platformio.platformio-ide # ORS-63218 + - stmicroelectronics.stm32-vscode-extension # RA-63703 diff --git a/roles/linroom/tasks/weka.yml b/roles/linroom/tasks/weka.yml new file mode 100644 index 0000000..ff4a71a --- /dev/null +++ b/roles/linroom/tasks/weka.yml @@ -0,0 +1,4 @@ +- name: Install Weka 3.6+ + apt: + name: weka + state: latest diff --git a/roles/linroom/tasks/wfdb.yml b/roles/linroom/tasks/wfdb.yml new file mode 100644 index 0000000..3235389 --- /dev/null +++ b/roles/linroom/tasks/wfdb.yml @@ -0,0 +1,27 @@ +# Dobi se jo na: https://www.physionet.org/content/wfdb/10.7.0/ 1. razpakiraj arhiv 2. pojdi v direktorij. 3. poženi .-configure lahko z dodatnimi parametri glede na željeno lokacijo knjižnice 4. poženi make 5. poženi sudo make install +- name: Install libFLAC + apt: + name: libflac-dev + state: latest +- name: Install libcurl + apt: + name: libcurl4-openssl-dev +- name: Install GCC + apt: + name: gcc +- name: Install make + apt: + name: make +- name: Create WFDB destination + file: + path: /opt/wfdb + state: directory +- name: Download WFDB + unarchive: + src: https://www.physionet.org/physiotools/archives/wfdb-10.7/wfdb-10.7.0.tar.gz + dest: /opt/wfdb + creates: /opt/wfdb/wfdb-10.7.0/README + remote_src: yes +- name: Build and install WFDB + shell: + cmd: cd /opt/wfdb/wfdb-10.7.0 && ./configure && make && make install diff --git a/roles/linroom/tasks/winidea-frisms.yml b/roles/linroom/tasks/winidea-frisms.yml new file mode 100644 index 0000000..f4d4312 --- /dev/null +++ b/roles/linroom/tasks/winidea-frisms.yml @@ -0,0 +1,3 @@ +- name: Do not install WinIdea for FRISMS + debug: + msg: "Do not install WinIdea for FRISMS" diff --git a/roles/linroom/tasks/winidea.yml b/roles/linroom/tasks/winidea.yml new file mode 100644 index 0000000..543373a --- /dev/null +++ b/roles/linroom/tasks/winidea.yml @@ -0,0 +1,5 @@ +- name: Install WinIdea snap + community.general.snap: + name: + - winidea + classic: true diff --git a/roles/linroom/tasks/wireshark.yml b/roles/linroom/tasks/wireshark.yml new file mode 100644 index 0000000..fe4e91c --- /dev/null +++ b/roles/linroom/tasks/wireshark.yml @@ -0,0 +1,10 @@ +- name: Enable non-privileged users to run wireshark + ansible.builtin.debconf: + name: wireshark + question: wireshark-common/install-setuid + value: true + vtype: boolean +- name: "Install Wireshark" + apt: + name: wireshark-qt + state: latest diff --git a/roles/linroom/tasks/xampp.yml b/roles/linroom/tasks/xampp.yml new file mode 100644 index 0000000..4a7facf --- /dev/null +++ b/roles/linroom/tasks/xampp.yml @@ -0,0 +1,3 @@ +- name: Install XAMPP + debug: + msg: Namesto XAMPP bi verjetno LAMP? diff --git a/roles/linroom/tasks/xgboost.yml b/roles/linroom/tasks/xgboost.yml new file mode 100644 index 0000000..7046677 --- /dev/null +++ b/roles/linroom/tasks/xgboost.yml @@ -0,0 +1,7 @@ +- name: Install xgboost + apt: + name: + - xgboost + - python3-xgboost + state: latest + diff --git a/roles/linroom/templates/default_keyboard b/roles/linroom/templates/default_keyboard new file mode 100644 index 0000000..7477e81 --- /dev/null +++ b/roles/linroom/templates/default_keyboard @@ -0,0 +1,10 @@ +# KEYBOARD CONFIGURATION FILE + +# Consult the keyboard(5) manual page. + +XKBMODEL="pc105" +XKBLAYOUT="si" +XKBVARIANT="" +XKBOPTIONS="" + +BACKSPACE="guess" diff --git a/roles/linroom/templates/mozilla-firefox-apt-preferences b/roles/linroom/templates/mozilla-firefox-apt-preferences new file mode 100644 index 0000000..f854044 --- /dev/null +++ b/roles/linroom/templates/mozilla-firefox-apt-preferences @@ -0,0 +1,3 @@ +Package: * +Pin: release o=LP-PPA-mozillateam +Pin-Priority: 1001 diff --git a/roles/linroom/templates/mozilla-firefox-unattended-upgrades b/roles/linroom/templates/mozilla-firefox-unattended-upgrades new file mode 100644 index 0000000..358d833 --- /dev/null +++ b/roles/linroom/templates/mozilla-firefox-unattended-upgrades @@ -0,0 +1 @@ +Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}"; diff --git a/roles/linroom/templates/pamconfig_groups b/roles/linroom/templates/pamconfig_groups new file mode 100644 index 0000000..ebde502 --- /dev/null +++ b/roles/linroom/templates/pamconfig_groups @@ -0,0 +1,6 @@ +Name: Additional group management through /etc/security/groups.conf +Default: yes +Priority: 0 +Auth-Type: Additional +Auth-Final: + optional pam_group.so diff --git a/roles/linroom/templates/security_group.conf b/roles/linroom/templates/security_group.conf new file mode 100644 index 0000000..0568a16 --- /dev/null +++ b/roles/linroom/templates/security_group.conf @@ -0,0 +1,108 @@ +# +# This is the configuration file for the pam_group module. +# + +# +# *** Please note that giving group membership on a session basis is +# *** NOT inherently secure. If a user can create an executable that +# *** is setgid a group that they are infrequently given membership +# *** of, they can basically obtain group membership any time they +# *** like. Example: games are allowed between the hours of 6pm and 6am +# *** user joe logs in at 7pm writes a small C-program toplay.c that +# *** invokes their favorite shell, compiles it and does +# *** "chgrp play toplay; chmod g+s toplay". They are basically able +# *** to play games any time... You have been warned. AGM +# + +*;*;*;Al0000-2400;{{ additional_groups|join(',') }} + +# +# The syntax of the lines is as follows: +# +# services;ttys;users;times;groups +# +# white space is ignored and lines maybe extended with '\\n' (escaped +# newlines). From reading these comments, it is clear that +# text following a '#' is ignored to the end of the line. +# +# the combination of individual users/terminals etc is a logic list +# namely individual tokens that are optionally prefixed with '!' (logical +# not) and separated with '&' (logical and) and '|' (logical or). +# +# services +# is a logic list of PAM service names that the rule applies to. +# +# ttys +# is a logic list of terminal names that this rule applies to. +# +# users +# is a logic list of users or a netgroup of users to whom this +# rule applies. +# +# NB. For these items the simple wildcard '*' may be used only once. +# With netgroups no wildcards or logic operators are allowed. +# +# times +# It is used to indicate "when" these groups are to be given to the +# user. The format here is a logic list of day/time-range +# entries the days are specified by a sequence of two character +# entries, MoTuSa for example is Monday Tuesday and Saturday. Note +# that repeated days are unset MoMo = no day, and MoWk = all weekdays +# bar Monday. The two character combinations accepted are +# +# Mo Tu We Th Fr Sa Su Wk Wd Al +# +# the last two being week-end days and all 7 days of the week +# respectively. As a final example, AlFr means all days except Friday. +# +# Each day/time-range can be prefixed with a '!' to indicate "anything +# but" +# +# The time-range part is two 24-hour times HHMM separated by a hyphen +# indicating the start and finish time (if the finish time is smaller +# than the start time it is deemed to apply on the following day). +# +# groups +# The (comma or space separated) list of groups that the user +# inherits membership of. These groups are added if the previous +# fields are satisfied by the user's request +# +# For a rule to be active, ALL of service+ttys+users must be satisfied +# by the applying process. +# + +# +# Note, to get this to work as it is currently typed you need +# +# 1. to run an application as root +# 2. add the following groups to the /etc/group file: +# floppy, play, sound +# + +# +# Here is a simple example: running 'xsh' on tty* (any ttyXXX device), +# the user 'us' is given access to the floppy (through membership of +# the floppy group) +# + +#xsh;tty*&!ttyp*;us;Al0000-2400;floppy + +# +# another example: running 'xsh' on tty* (any ttyXXX device), +# the user 'sword' is given access to games (through membership of +# the sound and play group) after work hours. +# + +#xsh; tty* ;sword;!Wk0900-1800;sound, play +#xsh; tty* ;*;Al0900-1800;floppy + +# +# yet another example: any member of the group 'admin' running +# 'xsh' on tty*, is granted access (at any time) to the group 'plugdev' +# + +#xsh; tty* ;%admin;Al0000-2400;plugdev + +# +# End of group.conf file +# diff --git a/roles/linroom/templates/sssd.conf b/roles/linroom/templates/sssd.conf new file mode 100644 index 0000000..cd745fa --- /dev/null +++ b/roles/linroom/templates/sssd.conf @@ -0,0 +1,30 @@ +[sssd] +config_file_version = 2 +domains = fri1.uni-lj.si +enable_files_domain = False +services = nss, pam + +[nss] +filtered_groups = root +filtered_users = root +reconnection_retries = 3 + +[pam] +reconnection_retries = 3 + +[domain/fri1.uni-lj.si] +ad_domain = fri1.uni-lj.si +ad_server = dcv1fri1.fri1.uni-lj.si,dcv2fri1.fri1.uni-lj.si +ad_maximum_machine_account_password_age = 0 +ad_gpo_access_control = permissive +ad_enabled_domains = fri1.uni-lj.si, student.uni-lj.si, fkkt1.uni-lj.si, ef1.uni-lj.si, fe1.uni-lj.si, ff.uni-lj.si, fmf.uni-lj.si, fu.uni-lj.si, pef.uni-lj.si +krb5_realm = FRI1.UNI-LJ.SI +realmd_tags = manages-system joined-with-adcli +cache_credentials = True +id_provider = ad +krb5_store_password_if_offline = True +default_shell = /bin/bash +ldap_id_mapping = True +use_fully_qualified_names = True +fallback_homedir = /home/%u@%d +access_provider = ad diff --git a/roles/linroom/templates/systemd_group_override.conf b/roles/linroom/templates/systemd_group_override.conf new file mode 100644 index 0000000..f3d177b --- /dev/null +++ b/roles/linroom/templates/systemd_group_override.conf @@ -0,0 +1,2 @@ +[Service] +SupplementaryGroups={{ additional_groups|join(' ') }} diff --git a/roles/linroom_ad/tasks/main.yml b/roles/linroom_ad/tasks/main.yml new file mode 100644 index 0000000..bb9b362 --- /dev/null +++ b/roles/linroom_ad/tasks/main.yml @@ -0,0 +1,40 @@ +- name: Install sssd + samba + keyutil + apt: + name: + - sssd + - sssd-ad + - realmd + - samba-common-bin + - smbclient + - cifs-utils + - smbclient + state: latest +- name: Install kerberos utils + apt: + name: + - keyutils + - krb5-user +- name: Install PAM modules + apt: + name: libpam-modules + state: latest +- name: Enable create homedir on login + command: pam-auth-update --enable mkhomedir + become: true +- name: Check whether we already joined + command: /bin/bash -c "/usr/sbin/realm list" + register: realm_list_results +- name: Join using realmd + expect: + command: realm join --user=ad.join@FRI1.UNI-LJ.SI --computer-ou=OU=Ucilnice FRI1.UNI-LJ.SI + responses: + (?i)Password: "{{ad_join_password}}" + ignore_errors: yes + when: realm_list_results.stdout == "" + +- name: Copy sssd config + template: + src: sssd.conf + dest: "/etc/sssd/sssd.conf" + owner: root + mode: 0600 diff --git a/roles/linroom_ad/templates/lightdm-10-hide-users.conf b/roles/linroom_ad/templates/lightdm-10-hide-users.conf new file mode 100644 index 0000000..bd04314 --- /dev/null +++ b/roles/linroom_ad/templates/lightdm-10-hide-users.conf @@ -0,0 +1,2 @@ +[Seat:*] +greeter-hide-users=true diff --git a/roles/linroom_ad/templates/sssd.conf b/roles/linroom_ad/templates/sssd.conf new file mode 100644 index 0000000..6ac320f --- /dev/null +++ b/roles/linroom_ad/templates/sssd.conf @@ -0,0 +1,31 @@ +[sssd] +config_file_version = 2 +domains = fri1.uni-lj.si +enable_files_domain = False +services = nss, pam + +[nss] +filtered_groups = root +filtered_users = root +reconnection_retries = 3 + +[pam] +reconnection_retries = 3 + +[domain/fri1.uni-lj.si] +ad_domain = fri1.uni-lj.si +ad_server = dcv1fri1.fri1.uni-lj.si,dcv2fri1.fri1.uni-lj.si +ad_maximum_machine_account_password_age = 0 +ad_gpo_access_control = permissive +ad_enabled_domains = fri1.uni-lj.si, student.uni-lj.si, fkkt1.uni-lj.si, ef1.uni-lj.si, fe1.uni-lj.si, ff.uni-lj.si, fmf.uni-lj.si, fu.uni-lj.si, pef.uni-lj.si +krb5_realm = FRI1.UNI-LJ.SI +realmd_tags = manages-system joined-with-adcli +cache_credentials = True +id_provider = ad +krb5_store_password_if_offline = True +default_shell = /bin/bash +ldap_id_mapping = True +use_fully_qualified_names = True +fallback_homedir = /home/%u@%d +access_provider = ad +ad_gpo_ignore_unreadable = True diff --git a/roles/logisim/tasks/main.yml b/roles/logisim/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/logisim/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/logisim/tasks/main_lin.yml b/roles/logisim/tasks/main_lin.yml new file mode 100644 index 0000000..bb46c19 --- /dev/null +++ b/roles/logisim/tasks/main_lin.yml @@ -0,0 +1,12 @@ +# TODO install logisim for linux +- name: Install Logisim + block: + - name: Create destination for Logisim + file: + path: /opt/logisim + state: directory + - name: Download and unpack Logisim + unarchive: + src: https://altushost-swe.dl.sourceforge.net/project/circuit/2.7.x/2.7.1/logisim-generic-2.7.1.jar + dest: /opt/logisim + remote_src: yes diff --git a/roles/logisim/tasks/main_win.yml b/roles/logisim/tasks/main_win.yml new file mode 100644 index 0000000..fa5ce2e --- /dev/null +++ b/roles/logisim/tasks/main_win.yml @@ -0,0 +1,19 @@ +- name: Create Logisim directory + win_file: + path: "%ProgramFiles%\\logisim" + state: directory + +- name: Install Logisim + win_get_url: + url: https://sourceforge.net/projects/circuit/files/2.7.x/2.7.1/logisim-generic-2.7.1.jar + dest: "%ProgramFiles%\\logisim\\logisim.jar" + +- name: Create Logisim shortcut + win_shortcut: + src: "%ProgramFiles%\\logisim\\logisim.jar" + dest: "C:\\Users\\Public\\Desktop\\Logisim.lnk" + +- name: Install Logisim-Evolution + win_package: + path: https://github.com/logisim-evolution/logisim-evolution/releases/download/v3.7.2/logisim-evolution-3.7.2.msi + product_id: b30fa00c-da3f-3769-aaea-6571cacf5c30 diff --git a/roles/ltspice/tasks/main.yml b/roles/ltspice/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/ltspice/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/ltspice/tasks/main_lin.yml b/roles/ltspice/tasks/main_lin.yml new file mode 100644 index 0000000..dec3a3f --- /dev/null +++ b/roles/ltspice/tasks/main_lin.yml @@ -0,0 +1 @@ +# TODO install LTSPice diff --git a/roles/ltspice/tasks/main_win.yml b/roles/ltspice/tasks/main_win.yml new file mode 100644 index 0000000..c6a8e9e --- /dev/null +++ b/roles/ltspice/tasks/main_win.yml @@ -0,0 +1 @@ +# TODO https://ltspice.analog.com/software/LTspice64.exe diff --git a/roles/macroom/tasks/main.yml b/roles/macroom/tasks/main.yml new file mode 100644 index 0000000..baa3222 --- /dev/null +++ b/roles/macroom/tasks/main.yml @@ -0,0 +1,16 @@ +- name: Download R + get_url: + url: https://cran.r-project.org/bin/macosx/base/R-4.2.1.pkg + dest: /tmp/R-4.2.1.pkg +- name: install R + shell: installer -pkg /tmp/R-4.2.1.pkg -target / +- name: Download RStudio + get_url: + url: https://download1.rstudio.org/desktop/macos/RStudio-2022.07.2-576.dmg + dest: /tmp/RStudio-2022.07.2-576.dmg +- name: mount RStudio .dmg + shell: hdiutil attach /tmp/RStudio-2022.07.2-576.dmg +- name: install RStudio + shell: cp -a /Volumes/RStudio-2022.07.2-576 /Volumes/Applications +- name: umount RStudio .dmg + shell: hdiutil detach /Volumes/RStudio-2022.07.2-576 diff --git a/roles/matlab/files/matlab.desktop b/roles/matlab/files/matlab.desktop new file mode 100644 index 0000000..d049f46 --- /dev/null +++ b/roles/matlab/files/matlab.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Matlab +GenericName=Matlab +Comment=Use Octave instead +Exec=matlab +Icon=matlab +Terminal=false +Type=Application +Categories=Science;Math;Education; +StartupNotify=true diff --git a/roles/matlab/meta/main.yml b/roles/matlab/meta/main.yml new file mode 100644 index 0000000..144a389 --- /dev/null +++ b/roles/matlab/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: + - role: fri_base diff --git a/roles/matlab/tasks/main.yml b/roles/matlab/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/matlab/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/matlab/tasks/main_lin.yml b/roles/matlab/tasks/main_lin.yml new file mode 100644 index 0000000..6d0e0dc --- /dev/null +++ b/roles/matlab/tasks/main_lin.yml @@ -0,0 +1,72 @@ +- name: Set Matlab version and destination + set_fact: + target_version: "R2023b" + install_dir: "/mnt/ucilnice_d/install/matlab/" + license_path: "/mnt/ucilnice_d/install/matlab/network.lic" + dest_dir: /opt/matlab + +- name: Mount Matlab ISO + mount: + src: "{{install_dir}}/{{ target_version }}_Linux.iso" + path: "/tmp/matlab_iso" + fstype: auto + state: "{{ item }}" + loop: + - unmounted + - ephemeral + +- name: Prepare installer_input.txt + template: + src: installer_input.txt + dest: /tmp/matlab_installer_input.txt + +- name: Install Matlab + command: + cmd: /tmp/matlab_iso/install -inputFile "/tmp/matlab_installer_input.txt" + # creates: "{{ dest_dir }}/VersionInfo.xml" +#- name: Unmount Matlab ISO +# win_disk_image: +# image_path: "{{ installers }}\\matlab\\matlab-{{ target_version }}_windows.iso" +# state: absent + +- name: Unount Matlab ISO + mount: + path: "/tmp/matlab_iso" + state: unmounted + +# TODO MATLAB throws license error -83 when run +- name: Create licenses dir + file: + path: "{{dest_dir}}/licenses" + state: directory + +- name: Install Matlab license + copy: + src: "{{ license_path }}" + dest: "{{ dest_dir }}/licenses/network.lic" + remote_src: true + +- name: Add symlink to /usr/local/bin + file: + src: /opt/matlab/bin/matlab + path: /usr/local/bin/matlab + state: link + +- name: Install .desktop file + block: + - file: + path: /usr/local/share/applications + state: directory + - copy: + dest: /usr/local/share/applications/matlab.desktop + src: matlab.desktop + +- name: Install icon + block: + - file: + path: /usr/local/share/icons + state: directory + - copy: + src: "{{ dest_dir }}/bin/glnxa64/cef_resources/matlab_icon.png" + dest: /usr/local/share/icons/matlab.png + remote_src: true diff --git a/roles/matlab/tasks/main_win.yml b/roles/matlab/tasks/main_win.yml new file mode 100644 index 0000000..b448182 --- /dev/null +++ b/roles/matlab/tasks/main_win.yml @@ -0,0 +1,33 @@ +- name: Set Matlab version and destination + set_fact: + target_version: "r2023b" + license_path: \\ucilnicesmb.fri1.uni-lj.si\ucilnice_d\install\matlab\network.lic + dest_dir: D:\matlab + +- name: Mount Matlab ISO + win_disk_image: + image_path: "{{ installers }}\\matlab\\matlab-{{ target_version }}_windows.iso" + state: present + register: disk_image + +- name: Prepare installer_input.txt + template: + src: installer_input.txt + dest: d:\matlab_installer_input.txt + +- name: Install Matlab + win_package: + path: "{{ disk_image.mount_paths[0] }}\\setup.exe" + arguments: -inputFile "d:\\matlab_installer_input.txt" + +- name: Unmount Matlab ISO + win_disk_image: + image_path: "{{ installers }}\\matlab\\matlab-{{ target_version }}_windows.iso" + state: absent + +# TODO MATLAB throws license error -83 when run +- name: Install Matlab license + win_copy: + dest: "{{ dest_dir }}\\licenses\\network.lic" + src: "{{ installers }}\\matlab\\network.lic" + remote_src: yes diff --git a/roles/matlab/templates/installer_input.txt b/roles/matlab/templates/installer_input.txt new file mode 100644 index 0000000..4207b6d --- /dev/null +++ b/roles/matlab/templates/installer_input.txt @@ -0,0 +1,157 @@ +# (Windows) setup.exe -inputFile +# destinationFolder= +destinationFolder={{ dest_dir }} + +fileInstallationKey={{ matlab_key }} + +agreeToLicense=yes +# outputFile=C:\matlab-install.txt + +## Enable Login Named User licensing +## +## Set to Yes to enable use of a Login Named User license for all users of this MATLAB installation +## Users must log in to their MathWorks Account when MATLAB starts. +## +## NOTE: This flag is valid in silent installations only. +enableLNU=no + +improveMATLAB=no + +## SPECIFY PATH TO LICENSE FILE (Required for network license types only) +## +## This value is required when installing as a Network End-User +## Example: +## (Windows) licensePath=C:\TEMP\license.dat +## (Linux) licensePath=/tmp/license.dat +## Set the desired value for licensePath and +## uncomment the line. +licensePath={{ license_path }} + +# setFileAssoc=true +desktopShortcut=true +# startMenuShortcut=true +# createAccelTask=true + +#product.5G_Toolbox +#product.AUTOSAR_Blockset +#product.Aerospace_Blockset +#product.Aerospace_Toolbox +#product.Antenna_Toolbox +product.Audio_Toolbox +#product.Automated_Driving_Toolbox +product.Bioinformatics_Toolbox +#product.Bluetooth_Toolbox +#product.C2000_Microcontroller_Blockset +#product.Communications_Toolbox +#product.Computer_Vision_Toolbox +#product.Control_System_Toolbox +#product.Curve_Fitting_Toolbox +#product.DDS_Blockset +#product.DO_Qualification_Kit +#product.DSP_HDL_Toolbox +product.DSP_System_Toolbox +#product.Data_Acquisition_Toolbox +#product.Database_Toolbox +#product.Datafeed_Toolbox +#product.Deep_Learning_HDL_Toolbox +product.Deep_Learning_Toolbox +#product.Econometrics_Toolbox +#product.Embedded_Coder +#product.Filter_Design_HDL_Coder +#product.Financial_Instruments_Toolbox +#product.Financial_Toolbox +#product.Fixed-Point_Designer +#product.Fuzzy_Logic_Toolbox +#product.GPU_Coder +#product.Global_Optimization_Toolbox +#product.HDL_Coder +#product.HDL_Verifier +#product.IEC_Certification_Kit +#product.Image_Acquisition_Toolbox +product.Image_Processing_Toolbox +#product.Industrial_Communication_Toolbox +#product.Instrument_Control_Toolbox +#product.LTE_Toolbox +#product.Lidar_Toolbox +product.MATLAB +product.MATLAB_Coder +product.MATLAB_Compiler +#product.MATLAB_Compiler_SDK +#product.MATLAB_Parallel_Server +#product.MATLAB_Production_Server +#product.MATLAB_Report_Generator +#product.MATLAB_Test +#product.MATLAB_Web_App_Server +#product.Mapping_Toolbox +product.Medical_Imaging_Toolbox +#product.Mixed-Signal_Blockset +#product.Model_Predictive_Control_Toolbox +#product.Model-Based_Calibration_Toolbox +#product.Motor_Control_Blockset +#product.Navigation_Toolbox +#product.Optimization_Toolbox +#product.Parallel_Computing_Toolbox +#product.Partial_Differential_Equation_Toolbox +#product.Phased_Array_System_Toolbox +#product.Polyspace_Bug_Finder +#product.Polyspace_Bug_Finder_Server +#product.Polyspace_Code_Prover +#product.Polyspace_Code_Prover_Server +#product.Polyspace_Test +#product.Powertrain_Blockset +#product.Predictive_Maintenance_Toolbox +#product.RF_Blockset +#product.RF_PCB_Toolbox +#product.RF_Toolbox +#product.ROS_Toolbox +#product.Radar_Toolbox +#product.Reinforcement_Learning_Toolbox +#product.Requirements_Toolbox +#product.Risk_Management_Toolbox +#product.Robotics_System_Toolbox +#product.Robust_Control_Toolbox +#product.Satellite_Communications_Toolbox +#product.Sensor_Fusion_and_Tracking_Toolbox +#product.SerDes_Toolbox +#product.Signal_Integrity_Toolbox +product.Signal_Processing_Toolbox +#product.SimBiology +#product.SimEvents +#product.Simscape +#product.Simscape_Battery +#product.Simscape_Driveline +#product.Simscape_Electrical +#product.Simscape_Fluids +#product.Simscape_Multibody +#product.Simulink +#product.Simulink_3D_Animation +#product.Simulink_Check +#product.Simulink_Code_Inspector +#product.Simulink_Coder +#product.Simulink_Compiler +#product.Simulink_Control_Design +#product.Simulink_Coverage +#product.Simulink_Design_Optimization +#product.Simulink_Design_Verifier +#product.Simulink_Desktop_Real-Time +#product.Simulink_Fault_Analyzer +#product.Simulink_PLC_Coder +#product.Simulink_Real-Time +#product.Simulink_Report_Generator +#product.Simulink_Test +#product.SoC_Blockset +#product.Spreadsheet_Link +#product.Stateflow +product.Statistics_and_Machine_Learning_Toolbox +#product.Symbolic_Math_Toolbox +#product.System_Composer +#product.System_Identification_Toolbox +#product.Text_Analytics_Toolbox +#product.UAV_Toolbox +#product.Vehicle_Dynamics_Blockset +#product.Vehicle_Network_Toolbox +#product.Vision_HDL_Toolbox +#product.WLAN_Toolbox +#product.Wavelet_Toolbox +#product.Wireless_HDL_Toolbox +#product.Wireless_Testbench diff --git a/roles/matlab/templates/matlab.desktop b/roles/matlab/templates/matlab.desktop new file mode 100644 index 0000000..848bd4a --- /dev/null +++ b/roles/matlab/templates/matlab.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Matlab +GenericName=Matlab +Comment=Use Octave instead +Exec=matlab +Icon=matlab +Terminal=false +Type=Application +Categories=Science;Math; +StartupNotify=true diff --git a/roles/matlab/templates/network.lic b/roles/matlab/templates/network.lic new file mode 100644 index 0000000..cb973a6 --- /dev/null +++ b/roles/matlab/templates/network.lic @@ -0,0 +1,2 @@ +SERVER kms1.uni-lj.si 00155DCFD802 27000 +USE_SERVER diff --git a/roles/maven/tasks/main.yml b/roles/maven/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/maven/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/maven/tasks/main_lin.yml b/roles/maven/tasks/main_lin.yml new file mode 100644 index 0000000..cff5d45 --- /dev/null +++ b/roles/maven/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install maven + apt: + name: maven + state: latest diff --git a/roles/maven/tasks/main_win.yml b/roles/maven/tasks/main_win.yml new file mode 100644 index 0000000..975c0d7 --- /dev/null +++ b/roles/maven/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install maven + win_chocolatey: + name: maven diff --git a/roles/minecraft-education/tasks/main.yml b/roles/minecraft-education/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/minecraft-education/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/minecraft-education/tasks/main_lin.yml b/roles/minecraft-education/tasks/main_lin.yml new file mode 100644 index 0000000..ced1d4b --- /dev/null +++ b/roles/minecraft-education/tasks/main_lin.yml @@ -0,0 +1,3 @@ +- name: Do not install Minecraft + debug: + msg: "Do not install Minecraft" diff --git a/roles/minecraft-education/tasks/main_win.yml b/roles/minecraft-education/tasks/main_win.yml new file mode 100644 index 0000000..92b0dc3 --- /dev/null +++ b/roles/minecraft-education/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install Minecraft Education + win_chocolatey: + name: minecraft-education diff --git a/roles/msys2/tasks/main.yml b/roles/msys2/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/msys2/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/msys2/tasks/main_lin.yml b/roles/msys2/tasks/main_lin.yml new file mode 100644 index 0000000..e387d21 --- /dev/null +++ b/roles/msys2/tasks/main_lin.yml @@ -0,0 +1,3 @@ +- name: Do not install Msys2 + debug: + msg: "Do not install Msys2" diff --git a/roles/msys2/tasks/main_win.yml b/roles/msys2/tasks/main_win.yml new file mode 100644 index 0000000..7135835 --- /dev/null +++ b/roles/msys2/tasks/main_win.yml @@ -0,0 +1,45 @@ +- name: Check msys2 install status + win_stat: + path: C:\msys64 + register: file + +- when: not file.stat.exists + block: + - name: Download msys2 + win_get_url: + url: "https://github.com/msys2/msys2-installer/releases/download/2023-07-18/msys2-x86_64-20230718.exe" + dest: 'C:\' + register: download + + - name: Install msys2 + win_package: + path: "{{ download.dest }}" + arguments: install --confirm-command --accept-messages -Sy --root C:\msys64 + + - name: Remove temporary files + win_file: + path: "{{ download.dest }}" + state: absent + + - name: Create desktop shortcut + win_shortcut: + src: "C:\\msys64\\msys2.exe" + dest: "C:\\Users\\Public\\Desktop\\msys2.lnk" + + - name: Update msys2 + win_command: C:\\msys64\\usr\\bin\\pacman -Syu --noconfirm + + - name: Install essentials + win_command: C:\\msys64\\usr\\bin\\pacman -S --noconfirm {{ item }} + loop: + - gcc + - git + - make + - nano + - rlwrap + - rsync + - vim + - name: Add msys2 to path + win_path: + elements: C:\msys64\usr\bin + state: present diff --git a/roles/mysql-odbc-connector/tasks/main.yml b/roles/mysql-odbc-connector/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/mysql-odbc-connector/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/mysql-odbc-connector/tasks/main_lin.yml b/roles/mysql-odbc-connector/tasks/main_lin.yml new file mode 100644 index 0000000..ec89cef --- /dev/null +++ b/roles/mysql-odbc-connector/tasks/main_lin.yml @@ -0,0 +1,5 @@ +- name: Install MariaDB ODBC connector + apt: + name: odbc-mariadb + state: latest + diff --git a/roles/mysql-odbc-connector/tasks/main_win.yml b/roles/mysql-odbc-connector/tasks/main_win.yml new file mode 100644 index 0000000..b113b14 --- /dev/null +++ b/roles/mysql-odbc-connector/tasks/main_win.yml @@ -0,0 +1,22 @@ +- name: Download mysql ODBC connector (32-bit) + win_get_url: + url: https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.33-win32.msi + dest: C:\mysql-connector-odbc-8.0.33-win32.msi + http_agent: "Wget/1.21.3" + +- name: Install MySQL ODBC connector (32-bit) + win_package: + path: c:\mysql-connector-odbc-8.0.33-win32.msi + product_id: "9F326F09-E926-444B-86E9-1BEA240886A2" + +- name: Download mysql ODBC connector (64-bit) + win_get_url: + url: https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.33-winx64.msi + dest: C:\mysql-connector-odbc-8.0.33-winx64.msi + http_agent: "Wget/1.21.3" + +- name: Install MySQL ODBC connector (64-bit) + win_package: + path: C:\mysql-connector-odbc-8.0.33-winx64.msi + product_id: "9AC93A88-9070-47B0-9EFC-DDA915EF22BA" + diff --git a/roles/mysql_workbench/tasks/main.yml b/roles/mysql_workbench/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/mysql_workbench/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/mysql_workbench/tasks/main_lin.yml b/roles/mysql_workbench/tasks/main_lin.yml new file mode 100644 index 0000000..aefdaba --- /dev/null +++ b/roles/mysql_workbench/tasks/main_lin.yml @@ -0,0 +1,8 @@ +- name: Download mysql workbench + get_url: + url: https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community_8.0.34-1ubuntu22.04_amd64.deb + dest: /tmp/mysql-workbench-community_8.0.34-1ubuntu22.04_amd64.deb + http_agent: "Wget/1.21.3" +- name: Install mysql workbench + apt: + deb: /tmp/mysql-workbench-community_8.0.34-1ubuntu22.04_amd64.deb diff --git a/roles/mysql_workbench/tasks/main_win.yml b/roles/mysql_workbench/tasks/main_win.yml new file mode 100644 index 0000000..9314723 --- /dev/null +++ b/roles/mysql_workbench/tasks/main_win.yml @@ -0,0 +1,10 @@ +- name: Download mysql workbench + win_get_url: + url: "https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-8.0.34-winx64.msi" + dest: C:\mysql-workbench-community-8.0.34-winx64.msi + http_agent: "Wget/1.21.3" + +- name: Install MySQL workbench + win_package: + path: C:\mysql-workbench-community-8.0.34-winx64.msi + diff --git a/roles/netbeans/tasks/main.yml b/roles/netbeans/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/netbeans/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/netbeans/tasks/main_lin.yml b/roles/netbeans/tasks/main_lin.yml new file mode 100644 index 0000000..91184a4 --- /dev/null +++ b/roles/netbeans/tasks/main_lin.yml @@ -0,0 +1,3 @@ +- name: Install NetBeans from .deb + apt: + deb: https://github.com/codelerity/netbeans-installers/releases/download/v19-build1/apache-netbeans_19-1_amd64.deb diff --git a/roles/netbeans/tasks/main_win.yml b/roles/netbeans/tasks/main_win.yml new file mode 100644 index 0000000..f7e7734 --- /dev/null +++ b/roles/netbeans/tasks/main_win.yml @@ -0,0 +1,9 @@ +- name: Set Netbeans version + set_fact: + target_version: "19" + +- name: Install Netbeans + win_package: + path: "https://dlcdn.apache.org/netbeans/netbeans-installers/{{ target_version }}/Apache-NetBeans-{{ target_version }}-bin-windows-x64.exe" + arguments: --silent + creates_path: "%ProgramFiles%\\NetBeans-{{ target_version }}\\netbeans\\bin\\netbeans.exe" diff --git a/roles/ninja/tasks/main.yml b/roles/ninja/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/ninja/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/ninja/tasks/main_lin.yml b/roles/ninja/tasks/main_lin.yml new file mode 100644 index 0000000..aa207cb --- /dev/null +++ b/roles/ninja/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install Ninja + apt: + name: ninja-build + state: latest diff --git a/roles/ninja/tasks/main_win.yml b/roles/ninja/tasks/main_win.yml new file mode 100644 index 0000000..a1d2090 --- /dev/null +++ b/roles/ninja/tasks/main_win.yml @@ -0,0 +1,28 @@ +- name: Install Ninja + debug: + msg: "Do not install Ninja" + +- name: Check Ninja install status + win_stat: + path: "%ProgramFiles%\\Ninja-build\\ninja.exe" + register: file + +- when: not file.stat.exists + block: + - name: Download Ninja-build + win_get_url: + url: https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip + dest: 'C:\' + register: download + + - name: Create Ninja-build directory + win_file: + path: "%ProgramFiles%\\Ninja-build" + state: directory + + - name: Install Ninja-build + win_unzip: + src: "{{ download.dest }}" + dest: "%ProgramFiles%\\Ninja-build" + delete_archive: yes + diff --git a/roles/nodejs/tasks/main.yml b/roles/nodejs/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/nodejs/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/nodejs/tasks/main_lin.yml b/roles/nodejs/tasks/main_lin.yml new file mode 100644 index 0000000..601d761 --- /dev/null +++ b/roles/nodejs/tasks/main_lin.yml @@ -0,0 +1,18 @@ +- name: Add NodeJS repo key + apt_key: + url: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key + keyring: /etc/apt/keyrings/nodesource.gpg + +#- name: Add NodeJS repo url +# apt_repository: +# repo: "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" + +- name: Add NodeJS LTS repo url + apt_repository: + repo: "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main" + +- name: Install NodeJS + apt: + name: nodejs + state: latest + diff --git a/roles/nodejs/tasks/main_win.yml b/roles/nodejs/tasks/main_win.yml new file mode 100644 index 0000000..80cb160 --- /dev/null +++ b/roles/nodejs/tasks/main_win.yml @@ -0,0 +1,7 @@ +- name: Install NodeJS + win_chocolatey: + name: nodejs + +- name: Install NodeJS-LTS + win_chocolatey: + name: nodejs-lts diff --git a/roles/notepad++/tasks/main.yml b/roles/notepad++/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/notepad++/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/notepad++/tasks/main_lin.yml b/roles/notepad++/tasks/main_lin.yml new file mode 100644 index 0000000..505b865 --- /dev/null +++ b/roles/notepad++/tasks/main_lin.yml @@ -0,0 +1,24 @@ +# TODO install Notepad++ +# ansible_os_family: "Windows" / "Debian" +- name: Install notepad++ + debug: + msg: "Install Notepad++" +- name: Install Wine + apt: + name: wine-development + state: latest +- name: Install Wine binfmt support + apt: + name: wine-binfmt + state: latest + +- name: Create dir + file: + path: /opt/notepad++ + state: directory + +- name: Download and unpack Notepad++ + unarchive: + src: https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.5.7/npp.8.5.7.portable.x64.zip + dest: /opt/notepad++ + remote_src: yes diff --git a/roles/notepad++/tasks/main_win.yml b/roles/notepad++/tasks/main_win.yml new file mode 100644 index 0000000..51c131f --- /dev/null +++ b/roles/notepad++/tasks/main_win.yml @@ -0,0 +1,13 @@ +# TODO disable update check +- name: Install Notepad++ + win_chocolatey: + name: notepadplusplus + +- name: Add Notepad++ to PATH + win_path: + name: PATH + elements: C:\Program Files\Notepad++\ + scope: machine + state: present + + diff --git a/roles/ocaml/tasks/main.yml b/roles/ocaml/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/ocaml/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/ocaml/tasks/main_lin.yml b/roles/ocaml/tasks/main_lin.yml new file mode 100644 index 0000000..6695909 --- /dev/null +++ b/roles/ocaml/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install Ocaml + apt: + name: ocaml + state: latest diff --git a/roles/ocaml/tasks/main_win.yml b/roles/ocaml/tasks/main_win.yml new file mode 100644 index 0000000..fad0638 --- /dev/null +++ b/roles/ocaml/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Do not install OCaml + debug: + msg: "Do not install OCaml" diff --git a/roles/octave/tasks/main.yml b/roles/octave/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/octave/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/octave/tasks/main_lin.yml b/roles/octave/tasks/main_lin.yml new file mode 100644 index 0000000..5abcd83 --- /dev/null +++ b/roles/octave/tasks/main_lin.yml @@ -0,0 +1,7 @@ +- name: Install Octave + apt: + name: + - octave + - cantor + - cantor-backend-octave + state: latest diff --git a/roles/octave/tasks/main_win.yml b/roles/octave/tasks/main_win.yml new file mode 100644 index 0000000..cf4f93c --- /dev/null +++ b/roles/octave/tasks/main_win.yml @@ -0,0 +1,10 @@ +# chocolatey package is broken +- name: Set Octave version + set_fact: + target_version: "7.2.0" + +- name: Install Octave + win_package: + path: https://ftpmirror.gnu.org/octave/windows/octave-{{ target_version }}-w64-installer.exe + arguments: /S /AllUsers + creates_path: C:\Program Files\GNU Octave\Octave-{{ target_version }} diff --git a/roles/omnetpp/tasks/main.yml b/roles/omnetpp/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/omnetpp/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/omnetpp/tasks/main_lin.yml b/roles/omnetpp/tasks/main_lin.yml new file mode 100644 index 0000000..c65404d --- /dev/null +++ b/roles/omnetpp/tasks/main_lin.yml @@ -0,0 +1,24 @@ +- name: Install OMNet++ + block: + - name: Create destination for Omnet++ + file: + path: /opt/omnetpp + state: directory + - name: Download and unpack Omnet++ + unarchive: + src: https://github.com/omnetpp/omnetpp/releases/download/omnetpp-6.0.1/omnetpp-6.0.1-linux-x86_64.tgz + dest: /opt/omnetpp + remote_src: yes + +# TODO install inet system-wide +- name: Install INET Framework + block: + - name: Create destination for INET Framework + file: + path: /opt/omnetpp-inet + state: directory + - name: Download and unpack INET Framework + unarchive: + src: https://github.com/inet-framework/inet/releases/download/v4.4.1/inet-4.4.1-src.tgz + dest: /opt/omnetpp-inet + remote_src: yes diff --git a/roles/omnetpp/tasks/main_win.yml b/roles/omnetpp/tasks/main_win.yml new file mode 100644 index 0000000..05d30b5 --- /dev/null +++ b/roles/omnetpp/tasks/main_win.yml @@ -0,0 +1,47 @@ +- name: Set OMNet++ version + set_fact: + target_version: "6.0.1" + target_dir: "C:\\OMNeT++" + +- name: Check OMNet++ install status + win_stat: + path: "{{ target_dir }}" + register: file + +- when: not file.stat.exists + block: + - name: Download OMNet++ + win_get_url: + url: "https://github.com/omnetpp/omnetpp/releases/download/omnetpp-{{ target_version }}/omnetpp-{{ target_version }}-windows-x86_64.zip" + dest: C:\ + register: download + + - name: Unzip OMNet++ + win_unzip: + src: "{{ download.dest }}" + dest: C:\ + delete_archive: yes + + - name: Move OMNet++ to final location + win_command: cmd.exe /c move "C:\\omnetpp-{{ target_version }}" "{{ target_dir }}" + + - name: Create OMNet++ compile script + win_copy: + src: "{{ target_dir }}\\mingwenv.cmd" + dest: "{{ target_dir }}\\mingwenv-install.cmd" + remote_src: yes + + - name: Fix OMNet++ compile script + win_lineinfile: + path: "{{ target_dir }}\\mingwenv-install.cmd" + insertbefore: "rem Open the MinGW" + line: call "%HOME%\\tools\\win32.x86_64\\msys2_shell.cmd" -mingw64 -c "./configure && make -j4" & exit + + - name: Compile OMNet++ + win_command: cmd.exe /c "{{ target_dir }}\\mingwenv-install.cmd" + + - name: Copy OMNet++ shortcut + win_copy: + src: "{{ target_dir }}\\OMNeT++ {{ target_version }} IDE.lnk" + dest: "C:\\Users\\Public\\Desktop" + remote_src: yes diff --git a/roles/openssl/tasks/main.yml b/roles/openssl/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/openssl/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/openssl/tasks/main_lin.yml b/roles/openssl/tasks/main_lin.yml new file mode 100644 index 0000000..c2de789 --- /dev/null +++ b/roles/openssl/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install OpenSSL + apt: + name: openssl + state: latest diff --git a/roles/openssl/tasks/main_win.yml b/roles/openssl/tasks/main_win.yml new file mode 100644 index 0000000..9687d1b --- /dev/null +++ b/roles/openssl/tasks/main_win.yml @@ -0,0 +1,4 @@ +# We have it at least in git and msys2 but what the hell. +- name: Install OpenSSL + win_chocolatey: + name: openssl diff --git a/roles/orange/tasks/main.yml b/roles/orange/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/orange/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/orange/tasks/main_lin.yml b/roles/orange/tasks/main_lin.yml new file mode 100644 index 0000000..1ffba8a --- /dev/null +++ b/roles/orange/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install orange + pip: + executable: pip3 + name: orange3 diff --git a/roles/orange/tasks/main_win.yml b/roles/orange/tasks/main_win.yml new file mode 100644 index 0000000..7da92bf --- /dev/null +++ b/roles/orange/tasks/main_win.yml @@ -0,0 +1,7 @@ +- name: Install Orange + win_package: + path: https://download.biolab.si/download/files/Orange3-3.32.0-Miniconda-x86_64.exe + arguments: /S /AllUsers + creates_path: C:\Program Files\Orange\python.exe + creates_version: 3.8.8150.1013 + diff --git a/roles/pandas/tasks/main.yml b/roles/pandas/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/pandas/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/pandas/tasks/main_lin.yml b/roles/pandas/tasks/main_lin.yml new file mode 100644 index 0000000..794af91 --- /dev/null +++ b/roles/pandas/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install pandas + apt: + name: python3-pandas + state: latest diff --git a/roles/pandas/tasks/main_win.yml b/roles/pandas/tasks/main_win.yml new file mode 100644 index 0000000..7e5fc51 --- /dev/null +++ b/roles/pandas/tasks/main_win.yml @@ -0,0 +1,2 @@ +- name: Install pandas + win_command: pip install pandas diff --git a/roles/pelles-c/files/pelles-c.desktop b/roles/pelles-c/files/pelles-c.desktop new file mode 100644 index 0000000..bb4c8da --- /dev/null +++ b/roles/pelles-c/files/pelles-c.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Name=Pelles-C +GenericName=Pelles-C +Comment=A simple IDE +Exec=wine "/mnt/C/Program Files/PellesC/Bin/poide.exe" +Icon=pelles-c +Terminal=false +Type=Application +Categories=Education;Development;ComputerScience; +StartupNotify=true diff --git a/roles/pelles-c/files/pelles-c.png b/roles/pelles-c/files/pelles-c.png new file mode 100644 index 0000000..e56c918 Binary files /dev/null and b/roles/pelles-c/files/pelles-c.png differ diff --git a/roles/pelles-c/tasks/main.yml b/roles/pelles-c/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/pelles-c/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/pelles-c/tasks/main_lin.yml b/roles/pelles-c/tasks/main_lin.yml new file mode 100644 index 0000000..b7deab0 --- /dev/null +++ b/roles/pelles-c/tasks/main_lin.yml @@ -0,0 +1,30 @@ +# TODO install Pelles +- name: Install Pelles + debug: + msg: "Install Pelles-C" +- name: Install Wine + apt: + name: wine-development + state: latest +- name: Install Wine binfmt support + apt: + name: wine-binfmt + state: latest + +- name: Install icon + block: + - file: + path: /usr/local/share/icons + state: directory + - copy: + src: "pelles-c.png" + dest: /usr/local/share/icons/pelles-c.png + +- name: Create .desktop file + block: + - file: + path: /usr/local/share/applications + state: directory + - copy: + dest: /usr/local/share/applications/pelles-c.desktop + src: pelles-c.desktop diff --git a/roles/pelles-c/tasks/main_win.yml b/roles/pelles-c/tasks/main_win.yml new file mode 100644 index 0000000..cc66545 --- /dev/null +++ b/roles/pelles-c/tasks/main_win.yml @@ -0,0 +1,30 @@ +- name: Set PellesC version + set_fact: + target_version: "11.00" + target_checksum: "a8ae79f0e340e4c0cec0869dd72fcd875496acc470174aed8eb377eab8bbce96" + +- name: Check PellesC install status + win_stat: + path: C:\Program Files\PellesC\Bin\poide.exe + register: file + +- when: not file.stat.exists + block: + # win_package fails to download for some reason + - name: Download PellesC + win_get_url: + url: http://www.smorgasbordet.com/pellesc/{{ target_version | replace('.', '') }}/setup.exe + checksum_algorithm: sha256 + checksum: "{{ target_checksum }}" + dest: 'C:\' + register: download + + - name: Install PellesC + win_package: + path: "{{ download.dest }}" + arguments: /S + + - name: Remove temporary files + win_file: + path: "{{ download.dest }}" + state: absent diff --git a/roles/powerdesigner/tasks/main.yml b/roles/powerdesigner/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/powerdesigner/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/powerdesigner/tasks/main_lin.yml b/roles/powerdesigner/tasks/main_lin.yml new file mode 100644 index 0000000..60a6243 --- /dev/null +++ b/roles/powerdesigner/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install PowerDesigner + win_package: + path: "{{ installers }}\\PowerDesigner 12.5\\cd1\\setup\\setup.exe" + arguments: "/s /f1\"{{ installers }}\\PowerDesigner 12.5\\setup.iss\"" diff --git a/roles/powerdesigner/tasks/main_win.yml b/roles/powerdesigner/tasks/main_win.yml new file mode 100644 index 0000000..24f09fb --- /dev/null +++ b/roles/powerdesigner/tasks/main_win.yml @@ -0,0 +1,4 @@ +- name: Install PowerDesigner + win_package: + path: "{{ installers }}\\PowerDesigner 12.5\\cd1\\setup\\setup.exe" + arguments: "/s /f1\"{{ installers }}\\PowerDesigner 12.5\\setup.iss\" /f2\"C:\powerdesigner_log.iss\"" diff --git a/roles/powerdesigner/templates/setup.iss b/roles/powerdesigner/templates/setup.iss new file mode 100755 index 0000000..8503670 --- /dev/null +++ b/roles/powerdesigner/templates/setup.iss @@ -0,0 +1,165 @@ +[InstallShield Silent] +Version=v7.00 +File=Response File +[File Transfer] +OverwrittenReadOnly=NoToAll +[{{ powerdesigner_key }}-DlgOrder] +Dlg0={{ powerdesigner_key }}-SdWelcome-0 +Count=10 +Dlg1={{ powerdesigner_key }}-SybSelectInstallMode-0 +Dlg2={{ powerdesigner_key }}-SybFlexLM-0 +Dlg3={{ powerdesigner_key }}-SybSelectPackage-0 +Dlg4={{ powerdesigner_key }}-Sybase License-0 +Dlg5={{ powerdesigner_key }}-SdAskDestPath-0 +Dlg6={{ powerdesigner_key }}-SdComponentTree-0 +Dlg7={{ powerdesigner_key }}-Graphic Select Folder-0 +Dlg8={{ powerdesigner_key }}-SdStartCopy-0 +Dlg9={{ powerdesigner_key }}-SdFinish-0 +[{{ powerdesigner_key }}-SdWelcome-0] +Result=1 +[{{ powerdesigner_key }}-SybSelectInstallMode-0] +Mode=3 +Result=1 +[{{ powerdesigner_key }}-SybFlexLM-0] +LicenseServer=todo.fri1.uni-lj.si +PortNumber=27000 +Result=1 +[{{ powerdesigner_key }}-SybSelectPackage-0] +Package=Studio Enterprise +Result=1 +[{{ powerdesigner_key }}-Sybase License-0] +Sybase_License=accept +[{{ powerdesigner_key }}-SdAskDestPath-0] +szDir=C:\Program Files (x86)\Sybase\PowerDesigner 12 +Result=1 +[{{ powerdesigner_key }}-SdComponentTree-0] +szDir=C:\Program Files (x86)\Sybase\PowerDesigner 12 +CR\FRM-type=string +CR\FRM-count=2 +CR\FRM-0=CR\FRM\FRM_Xem +CR\FRM-1=CR\FRM\FRM_License +CR-type=string +CR-count=11 +CR-0=CR\FRM +CR-1=CR\CR_Examples +CR-2=CR\CR_HelpCHM +CR-3=CR\CR_License +CR-4=CR\CR_Misc +CR-5=CR\CR_Report +CR-6=CR\CR_Addins +CR-7=CR\CR_Common +CR-8=CR\CR_System +CR-9=CR\CR_LOO_Common +CR-10=CR\CR_Scripting +BPM-type=string +BPM-count=3 +BPM-0=BPM\BPM_License +BPM-1=BPM\BPM_Examples +BPM-2=BPM\BPM_Report +CDM-type=string +CDM-count=3 +CDM-0=CDM\CDM_License +CDM-1=CDM\CDM_Examples +CDM-2=CDM\CDM_Report +ILM-type=string +ILM-count=3 +ILM-0=ILM\ILM_License +ILM-1=ILM\ILM_Examples +ILM-2=ILM\ILM_Report +OOM\OOM_Examples-type=string +OOM\OOM_Examples-count=1 +OOM\OOM_Examples-0=OOM\OOM_Examples\OOM_Tools +OOM\OOM_Library-type=string +OOM\OOM_Library-count=16 +OOM\OOM_Library-0=OOM\OOM_Library\OOM_PB6 +OOM\OOM_Library-1=OOM\OOM_Library\OOM_PB7 +OOM\OOM_Library-2=OOM\OOM_Library\OOM_PB8 +OOM\OOM_Library-3=OOM\OOM_Library\OOM_PB9 +OOM\OOM_Library-4=OOM\OOM_Library\OOM_PB10 +OOM\OOM_Library-5=OOM\OOM_Library\OOM_JDK130 +OOM\OOM_Library-6=OOM\OOM_Library\OOM_JDK131 +OOM\OOM_Library-7=OOM\OOM_Library\OOM_JDK131J2EE +OOM\OOM_Library-8=OOM\OOM_Library\OOM_JDK140 +OOM\OOM_Library-9=OOM\OOM_Library\OOM_JDK150 +OOM\OOM_Library-10=OOM\OOM_Library\OOM_CSNET10 +OOM\OOM_Library-11=OOM\OOM_Library\OOM_CSNET11 +OOM\OOM_Library-12=OOM\OOM_Library\OOM_CSNET20 +OOM\OOM_Library-13=OOM\OOM_Library\OOM_VBNET10 +OOM\OOM_Library-14=OOM\OOM_Library\OOM_VBNET11 +OOM\OOM_Library-15=OOM\OOM_Library\OOM_VBNET20 +OOM-type=string +OOM-count=5 +OOM-0=OOM\OOM_License +OOM-1=OOM\OOM_Examples +OOM-2=OOM\OOM_Report +OOM-3=OOM\OOM_Addins +OOM-4=OOM\OOM_Library +PDM\PDM_Examples-type=string +PDM\PDM_Examples-count=1 +PDM\PDM_Examples-0=PDM\PDM_Examples\PDM_Examples_NoViewer +PDM\PDM_Addins-type=string +PDM\PDM_Addins-count=2 +PDM\PDM_Addins-0=PDM\PDM_Addins\PDM_Addins_Sql2000 +PDM\PDM_Addins-1=PDM\PDM_Addins\PDM_Addins_Sql2005 +PDM-type=string +PDM-count=5 +PDM-0=PDM\PDM_License +PDM-1=PDM\PDM_Examples +PDM-2=PDM\PDM_Report +PDM-3=PDM\PDM_Tools +PDM-4=PDM\PDM_Addins +RQM-type=string +RQM-count=3 +RQM-0=RQM\RQM_License +RQM-1=RQM\RQM_Examples +RQM-2=RQM\RQM_Report +XSM-type=string +XSM-count=4 +XSM-0=XSM\XSM_License +XSM-1=XSM\XSM_Examples +XSM-2=XSM\XSM_Report +XSM-3=XSM\XSM_Addins +RPY-type=string +RPY-count=3 +RPY-0=RPY\RPY_Tools +RPY-1=RPY\RPY_License +RPY-2=RPY\RPY_Examples +PDF-type=string +PDF-count=9 +PDF-0=PDF\PDF_General +PDF-1=PDF\PDF_BPM +PDF-2=PDF\PDF_CDM +PDF-3=PDF\PDF_ILM +PDF-4=PDF\PDF_OOM +PDF-5=PDF\PDF_PDM +PDF-6=PDF\PDF_RQM +PDF-7=PDF\PDF_XSM +PDF-8=PDF\PDF_RPY +Component-type=string +Component-count=10 +Component-0=CR +Component-1=BPM +Component-2=CDM +Component-3=ILM +Component-4=OOM +Component-5=PDM +Component-6=RQM +Component-7=XSM +Component-8=RPY +Component-9=PDF +Result=1 +[{{ powerdesigner_key }}-Graphic Select Folder-0] +szFolder=Sybase\PowerDesigner 12 +Result=1 +[{{ powerdesigner_key }}-SdStartCopy-0] +Keep_Settings=0 +Result=1 +[Application] +Name=Sybase PowerDesigner 12.5 +Version=12.5.2169 +Company=Sybase +Lang=0009 +[{{ powerdesigner_key }}-SdFinish-0] +Result=1 +bOpt1=0 +bOpt2=0 diff --git a/roles/processing/tasks/main.yml b/roles/processing/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/processing/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/processing/tasks/main_lin.yml b/roles/processing/tasks/main_lin.yml new file mode 100644 index 0000000..7ef2847 --- /dev/null +++ b/roles/processing/tasks/main_lin.yml @@ -0,0 +1,12 @@ +- name: Install Processing + block: + - name: Create destination for Processing + file: + path: /opt/processing + state: directory + - name: Download and unpack processing + unarchive: + src: https://github.com/processing/processing4/releases/download/processing-1286-4.0.1/processing-4.0.1-linux-x64.tgz + dest: /opt/processing + remote_src: yes + diff --git a/roles/processing/tasks/main_win.yml b/roles/processing/tasks/main_win.yml new file mode 100644 index 0000000..ba4555f --- /dev/null +++ b/roles/processing/tasks/main_win.yml @@ -0,0 +1,51 @@ +- name: Set Processing version + set_fact: + target_version: 4.0.1 + target_build: 1286 + +- name: Check Processing install status + win_stat: + path: C:\Program Files\Processing\lib\version.txt + register: file + +- name: Check Processing version + slurp: + src: C:\Program Files\Processing\lib\version.txt + register: version + when: file.stat.exists + +- when: not file.stat.exists or ((version.content | b64decode) != target_version) + block: + - name: Make Processing directory + win_file: + path: C:\Program Files\Processing + state: directory + - name: Download Processing + win_get_url: + dest: 'C:\Program Files\Processing\processing.zip' + url: https://github.com/processing/processing4/releases/download/processing-{{ target_build }}-{{ target_version }}/processing-{{ target_version }}-windows-x64.zip + - name: Unzip Processing + win_unzip: + dest: 'C:\Program Files\Processing' + src: 'C:\Program Files\Processing\processing.zip' + - name: Install Processing + win_copy: + dest: C:\Program Files\Processing\ + src: 'C:\Program Files\Processing\processing-{{ target_version }}\' + remote_src: yes + - name: Disable telemetry + win_lineinfile: + path: C:\Program Files\Processing\lib\defaults.txt + regexp: 'update.check' + line: 'update.check = false' + - name: Create Processing shortcut + win_shortcut: + src: "%ProgramFiles%\\Processing\\processing.exe" + dest: "C:\\Users\\Public\\Desktop\\Processing.lnk" + - name: Remove temporary files + win_file: + path: C:\Program Files\Processing\{{ item }} + state: absent + loop: + - processing.zip + - processing-{{ target_version }} diff --git a/roles/projectlibre/tasks/main.yml b/roles/projectlibre/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/projectlibre/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/projectlibre/tasks/main_lin.yml b/roles/projectlibre/tasks/main_lin.yml new file mode 100644 index 0000000..518d209 --- /dev/null +++ b/roles/projectlibre/tasks/main_lin.yml @@ -0,0 +1,3 @@ +- name: Install projectlibre + apt: + deb: https://downloads.sourceforge.net/project/projectlibre/ProjectLibre/1.9.3/projectlibre_1.9.3-1.deb diff --git a/roles/projectlibre/tasks/main_win.yml b/roles/projectlibre/tasks/main_win.yml new file mode 100644 index 0000000..0deadf0 --- /dev/null +++ b/roles/projectlibre/tasks/main_win.yml @@ -0,0 +1,5 @@ +- name: Install ProjectLibre + win_package: + path: "https://deac-riga.dl.sourceforge.net/project/projectlibre/ProjectLibre/1.9.3/projectlibre-1.9.3.exe" + # path: "https://sourceforge.net/projects/projectlibre/files/ProjectLibre/1.9.3/projectlibre-1.9.3.exe/download?use_mirror=deac-riga&download=&failedmirror=deac-ams.dl.sourceforge.net" + arguments: /VerySilent diff --git a/roles/pulseview/tasks/main.yml b/roles/pulseview/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/pulseview/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/pulseview/tasks/main_lin.yml b/roles/pulseview/tasks/main_lin.yml new file mode 100644 index 0000000..2485720 --- /dev/null +++ b/roles/pulseview/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install PulseView + apt: + name: pulseview + state: latest diff --git a/roles/pulseview/tasks/main_win.yml b/roles/pulseview/tasks/main_win.yml new file mode 100644 index 0000000..1fa7568 --- /dev/null +++ b/roles/pulseview/tasks/main_win.yml @@ -0,0 +1,16 @@ +- name: Download PulseView + win_get_url: + url: https://sigrok.org/download/binary/pulseview/pulseview-0.4.2-64bit-static-release-installer.exe + # url: https://sigrok.org/download/binary/pulseview/pulseview-NIGHTLY-64bit-static-release-installer.exe + dest: C:\ + register: download + +- name: Install PulseView + win_package: + path: "{{ download.dest }}" + arguments: /S /Verysilent /AllUsers + +#- name: Remove temporary files +# win_file: +# path: "{{ download.dest }}" +# state: absent diff --git a/roles/putty/tasks/main.yml b/roles/putty/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/putty/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/putty/tasks/main_lin.yml b/roles/putty/tasks/main_lin.yml new file mode 100644 index 0000000..da91744 --- /dev/null +++ b/roles/putty/tasks/main_lin.yml @@ -0,0 +1,8 @@ +- name: Install serial terminals (putty alternatives) + apt: + name: + - screen + - cutecom + - gtkterm + - minicom + state: latest diff --git a/roles/putty/tasks/main_win.yml b/roles/putty/tasks/main_win.yml new file mode 100644 index 0000000..aada745 --- /dev/null +++ b/roles/putty/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install Putty + win_chocolatey: + name: putty diff --git a/roles/pycharm/tasks/main.yml b/roles/pycharm/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/pycharm/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/pycharm/tasks/main_lin.yml b/roles/pycharm/tasks/main_lin.yml new file mode 100644 index 0000000..b85c36b --- /dev/null +++ b/roles/pycharm/tasks/main_lin.yml @@ -0,0 +1,12 @@ +- name: Install PyCharm + block: + - name: Create destination for JetBrains PyCharm + file: + path: /opt/PyCharm + state: directory + - name: Download and unpack JetBrains PyCharm + unarchive: + src: https://download.jetbrains.com/python/pycharm-community-2023.2.1.tar.gz + dest: /opt/PyCharm + creates: /opt/PyCharm/pycharm-community-2023.2.1/build.txt + remote_src: yes diff --git a/roles/pycharm/tasks/main_win.yml b/roles/pycharm/tasks/main_win.yml new file mode 100644 index 0000000..46dbff1 --- /dev/null +++ b/roles/pycharm/tasks/main_win.yml @@ -0,0 +1,10 @@ +- name: Set PyCharm version + set_fact: + target_version: "2023.2.1" + +- name: Install PyCharm + win_chocolatey: + name: pycharm-community + version: "{{ target_version }}" + +# TODO set default project directory to H:\something diff --git a/roles/pyodbc/tasks/main.yml b/roles/pyodbc/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/pyodbc/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/pyodbc/tasks/main_lin.yml b/roles/pyodbc/tasks/main_lin.yml new file mode 100644 index 0000000..117bfab --- /dev/null +++ b/roles/pyodbc/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install pyodbc + apt: + name: python3-pyodbc + state: latest diff --git a/roles/pyodbc/tasks/main_win.yml b/roles/pyodbc/tasks/main_win.yml new file mode 100644 index 0000000..70e0fb8 --- /dev/null +++ b/roles/pyodbc/tasks/main_win.yml @@ -0,0 +1,2 @@ +- name: Install pyodbc + win_command: pip install pyodbc diff --git a/roles/python3/tasks/main.yml b/roles/python3/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/python3/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/python3/tasks/main_lin.yml b/roles/python3/tasks/main_lin.yml new file mode 100644 index 0000000..56ce94f --- /dev/null +++ b/roles/python3/tasks/main_lin.yml @@ -0,0 +1,10 @@ +- name: Install python3 + apt: + name: python3 + state: latest + +- name: Install ipython + apt: + name: python3-ipython + state: latest + diff --git a/roles/python3/tasks/main_win.yml b/roles/python3/tasks/main_win.yml new file mode 100644 index 0000000..60a44b2 --- /dev/null +++ b/roles/python3/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install Python + win_chocolatey: + name: python diff --git a/roles/pytorch/tasks/main.yml b/roles/pytorch/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/pytorch/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/pytorch/tasks/main_lin.yml b/roles/pytorch/tasks/main_lin.yml new file mode 100644 index 0000000..992b04e --- /dev/null +++ b/roles/pytorch/tasks/main_lin.yml @@ -0,0 +1,8 @@ +- name: Install pytorch + apt: + name: + - python3-torch + - python3-skorch + - python3-torch-ignite + state: latest + diff --git a/roles/pytorch/tasks/main_win.yml b/roles/pytorch/tasks/main_win.yml new file mode 100644 index 0000000..b0835b5 --- /dev/null +++ b/roles/pytorch/tasks/main_win.yml @@ -0,0 +1,2 @@ +- name: Install pytorch + win_command: pip install torch skorch pytorch-ignite diff --git a/roles/qcadesigner-e/tasks/main.yml b/roles/qcadesigner-e/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/qcadesigner-e/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/qcadesigner-e/tasks/main_lin.yml b/roles/qcadesigner-e/tasks/main_lin.yml new file mode 100644 index 0000000..dd955bc --- /dev/null +++ b/roles/qcadesigner-e/tasks/main_lin.yml @@ -0,0 +1,30 @@ +- name: Install QCADesigner-E build deps + block: + - name: Install automake + apt: + name: automake + state: latest + - name: Install automake + apt: + name: libgtk2.0-dev + state: latest +- name: Create QCADesigner-E destination + file: + path: /opt/QCADesigner-E + state: directory +- name: Clone QCADesigner-E repo + # + ansible.builtin.git: + repo: https://github.com/FSillT/QCADesigner-E + force: yes + dest: /opt/QCADesigner-E +- name: Build QCADesigner-E + shell: + cmd: cd /opt/QCADesigner-E/QCADesignerE && chmod +x ./configure && ./configure && make +- name: Create QCADesigner-e symlink + file: + src: /opt/QCADesigner-E/QCADesignerE/src/QCADesigner + dest: /usr/local/bin/QCADesigner + state: link +# TODO create .desktop file + diff --git a/roles/qcadesigner-e/tasks/main_win.yml b/roles/qcadesigner-e/tasks/main_win.yml new file mode 100644 index 0000000..31a1cd2 --- /dev/null +++ b/roles/qcadesigner-e/tasks/main_win.yml @@ -0,0 +1,9 @@ +- name: Install GTK+ + win_package: + path: https://github.com/FSillT/QCADesigner-E/raw/master/Windows/gtk2-runtime-2.24.10-2012-10-10-ash.exe + arguments: /S + +- name: Install QCADesigner-E + win_package: + path: https://github.com/FSillT/QCADesigner-E/raw/master/Windows/QCADesignerE-2.2-setup.exe + arguments: /VerySilent diff --git a/roles/racket/tasks/main.yml b/roles/racket/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/racket/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/racket/tasks/main_lin.yml b/roles/racket/tasks/main_lin.yml new file mode 100644 index 0000000..a2ec494 --- /dev/null +++ b/roles/racket/tasks/main_lin.yml @@ -0,0 +1,5 @@ +- name: Install racket + apt: + name: racket + state: latest + diff --git a/roles/racket/tasks/main_win.yml b/roles/racket/tasks/main_win.yml new file mode 100644 index 0000000..b49e499 --- /dev/null +++ b/roles/racket/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install Racket + win_chocolatey: + name: racket diff --git a/roles/rlwrap/tasks/main.yml b/roles/rlwrap/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/rlwrap/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/rlwrap/tasks/main_lin.yml b/roles/rlwrap/tasks/main_lin.yml new file mode 100644 index 0000000..f843350 --- /dev/null +++ b/roles/rlwrap/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install rlwrap + apt: + name: rlwrap + state: latest diff --git a/roles/rlwrap/tasks/main_win.yml b/roles/rlwrap/tasks/main_win.yml new file mode 100644 index 0000000..0e64e55 --- /dev/null +++ b/roles/rlwrap/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Do not install rlwrap + debug: + msg: "Do not install rlwrap" diff --git a/roles/rstudio/tasks/main.yml b/roles/rstudio/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/rstudio/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/rstudio/tasks/main_lin.yml b/roles/rstudio/tasks/main_lin.yml new file mode 100644 index 0000000..a21785b --- /dev/null +++ b/roles/rstudio/tasks/main_lin.yml @@ -0,0 +1,14 @@ +- name: Add R repository + block: + - name: R repo - apt key + ansible.builtin.get_url: + url: https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc + dest: /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc + - name: R repo - url + ansible.builtin.apt_repository: + repo: "deb https://cloud.r-project.org/bin/linux/ubuntu {{ansible_distribution_release}}-cran40/" + state: present +- name: Install R + ansible.builtin.apt: + name: r-base + state: latest diff --git a/roles/rstudio/tasks/main_win.yml b/roles/rstudio/tasks/main_win.yml new file mode 100644 index 0000000..28817db --- /dev/null +++ b/roles/rstudio/tasks/main_win.yml @@ -0,0 +1,86 @@ +- name: Install R + win_chocolatey: + name: r.project + package_params: /AddToPath + +- name: Find R directory + win_find: + paths: C:\Program Files\R + patterns: ['R-*'] + file_type: directory + register: base + +- name: Add R to path + win_path: + elements: + - "{{ base.files[0].path }}\\bin" + +- name: Find installed R libraries + win_find: + paths: "{{ base.files[0].path }}\\library" + file_type: directory + register: libs + +- name: Install R packages + win_command: Rscript - + args: + stdin: install.packages(c("{{ item }}"), repos = "http://cran.rstudio.com") + when: item not in (libs.files|map(attribute='filename')) + loop: + - CORElearn + - DEoptim + - DEoptimR + - GenSA + - MASS + - NMF + - RSNNS + - Radviz + - adabag + - aplpack + - arules + - arulesViz + - bnlearn + - caret + - class + - cluster + - e1071 + - graphics + - igraph + - ipred + - keras + - kernlab + - kknn + - lattice + - lpSolveAPI + - metaheuristicOpt + - neuralnet + - nnet + - quadprog + - randomForest + - reshape2 + - rpart + - rpart.plot + - smotefamily + - tabuSearch + - tidyverse + - viridisLite + +- name: Install RStudio + win_chocolatey: + ignore_checksums: true # TODO re-enable checksums when they fix the package + name: r.studio + +- name: Create configuration directory + win_file: + path: "%PROGRAMDATA%\\RStudio" + state: directory + +- name: Disable crash reporting + win_copy: + dest: "%PROGRAMDATA%\\RStudio\\crash-handler.conf" + content: crash-handling-enabled=0 + +- name: Disable update notifications + win_copy: + dest: "%PROGRAMDATA%\\RStudio\\rstudio-prefs.json" + content: { "check_for_updates": false } diff --git a/roles/sagemath/tasks/main.yml b/roles/sagemath/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/sagemath/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/sagemath/tasks/main_lin.yml b/roles/sagemath/tasks/main_lin.yml new file mode 100644 index 0000000..9b757ef --- /dev/null +++ b/roles/sagemath/tasks/main_lin.yml @@ -0,0 +1,9 @@ +- name: Install SageMath + apt: + name: sagemath + state: latest + +- name: Install SageMath - Jupyter + apt: + name: sagemath-jupyter + state: latest diff --git a/roles/sagemath/tasks/main_win.yml b/roles/sagemath/tasks/main_win.yml new file mode 100644 index 0000000..4640904 --- /dev/null +++ b/roles/sagemath/tasks/main_win.yml @@ -0,0 +1 @@ +# TODO diff --git a/roles/scenebuilder/tasks/main.yml b/roles/scenebuilder/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/scenebuilder/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/scenebuilder/tasks/main_lin.yml b/roles/scenebuilder/tasks/main_lin.yml new file mode 100644 index 0000000..861edcd --- /dev/null +++ b/roles/scenebuilder/tasks/main_lin.yml @@ -0,0 +1 @@ +# TODO install SceneBuilder diff --git a/roles/scenebuilder/tasks/main_win.yml b/roles/scenebuilder/tasks/main_win.yml new file mode 100644 index 0000000..293c724 --- /dev/null +++ b/roles/scenebuilder/tasks/main_win.yml @@ -0,0 +1,4 @@ +- name: Install SceneBuilder + win_package: + path: https://download2.gluonhq.com/scenebuilder/18.0.0/install/win/SceneBuilder-18.0.0.msi + arguments: INSTALLDIR="C:\Program Files\SceneBuilder" ALLUSERS=1 diff --git a/roles/scipy/tasks/main.yml b/roles/scipy/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/scipy/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/scipy/tasks/main_lin.yml b/roles/scipy/tasks/main_lin.yml new file mode 100644 index 0000000..df18069 --- /dev/null +++ b/roles/scipy/tasks/main_lin.yml @@ -0,0 +1,7 @@ +- name: Install python3-scipy, scikit-learn + apt: + name: + - python3-scipy + - python3-sklearn + state: latest + diff --git a/roles/scipy/tasks/main_win.yml b/roles/scipy/tasks/main_win.yml new file mode 100644 index 0000000..4c13d44 --- /dev/null +++ b/roles/scipy/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install python3-scipy, scikit-learn + win_command: pip install scipy scikit-learn + diff --git a/roles/sifive/tasks/main.yml b/roles/sifive/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/sifive/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/sifive/tasks/main_lin.yml b/roles/sifive/tasks/main_lin.yml new file mode 100644 index 0000000..9104d51 --- /dev/null +++ b/roles/sifive/tasks/main_lin.yml @@ -0,0 +1,23 @@ +# SiFive je bil nekoc prosto dostopen. +# Sedaj hocejo, da se registriras... da prides do kode +# Potem pa ti ne dajo izvorne kode. +# ucilnice_install/2022-23/ORS_VGRS_Bulic +# +# +- name: create destination for SiFive + file: + path: /opt/SiFive + state: directory + +- name: Download SiFive Studio + command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/bulic_fri1_uni-lj_si/ERb-TvMrILpIpFYT6n9u1WYB-gkBMh5SnM3_xSFgsFAFtA?e=2BSN8F&download=1" -O /opt/sifive.tgz + args: + creates: /opt/sifive.tgz + +- name: "Install SiFive Studio" + unarchive: + src: /opt/sifive.tgz + dest: /opt/SiFive + # dest: /opt/SiFive + remote_src: yes + diff --git a/roles/sifive/tasks/main_win.yml b/roles/sifive/tasks/main_win.yml new file mode 100644 index 0000000..1030ce1 --- /dev/null +++ b/roles/sifive/tasks/main_win.yml @@ -0,0 +1,25 @@ +# SiFive je bil nekoc prosto dostopen. +# Sedaj hocejo, da se registriras... da prides do kode +# Potem pa ti ne dajo izvorne kode. +# ucilnice_install/2022-23/ORS_VGRS_Bulic + +- name: Set SiFive Studio install location + set_fact: + download_filedest: C:\FreedomStudio-4.18.0.2021-04-1-x86_64-w64-mingw32.zip +- name: Download SiFive + win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/bulic_fri1_uni-lj_si/EdiSnJpoClJLtc3AtcAtEQ4BI76_PeDvL-ZmhxG4OEyvig?e=xBRYcb&download=1" -O "{{ download_filedest }}" + args: + creates: "{{ download_filedest }}" + +- name: Unzip SiFive Studio + win_unzip: + src: "{{ download_filedest }}" + dest: C:\SiFive\ + creates: C:\SiFive\plugins + delete_archive: yes + +- name: Create desktop shortcut + win_shortcut: + description: "SiFive Freedom Studio" + src: C:\SiFive\FreedomStudio.exe + dest: '%public%\Desktop\SiFive.lnk' diff --git a/roles/smlnj/tasks/main.yml b/roles/smlnj/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/smlnj/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/smlnj/tasks/main_lin.yml b/roles/smlnj/tasks/main_lin.yml new file mode 100644 index 0000000..7096389 --- /dev/null +++ b/roles/smlnj/tasks/main_lin.yml @@ -0,0 +1,13 @@ +- name: Install SML/NJ + apt: + name: smlnj + state: latest +- name: Install SML/NJ + apt: + name: smlnj + state: latest +- name: Install Emacs extension for SML + apt: + name: elpa-sml-mode + state: latest + diff --git a/roles/smlnj/tasks/main_win.yml b/roles/smlnj/tasks/main_win.yml new file mode 100644 index 0000000..39f51ca --- /dev/null +++ b/roles/smlnj/tasks/main_win.yml @@ -0,0 +1,15 @@ +- name: Set SML/NJ + set_fact: + target_version: "110.99.3" + +- name: Install SML/NJ + win_package: + path: "https://smlnj.org/dist/working/{{ target_version }}/smlnj-{{ target_version }}.msi" + creates_path: "%ProgramFiles(x86)%\\SMLNJ\\bin\\sml.bat" + +#- name: Disable echo for sml.bat (BOF not found in 2023?) +# lineinfile: +# path: "%ProgramFiles(x86)%\\SMLNJ\\bin\\sml.bat" +# line: "@echo OFF" +# insertbefore: "BOF" + diff --git a/roles/solidworks/tasks/main.yml b/roles/solidworks/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/solidworks/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/solidworks/tasks/main_lin.yml b/roles/solidworks/tasks/main_lin.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/solidworks/tasks/main_win.yml b/roles/solidworks/tasks/main_win.yml new file mode 100644 index 0000000..b24526d --- /dev/null +++ b/roles/solidworks/tasks/main_win.yml @@ -0,0 +1,5 @@ +# Da se SolidWorks namesti v VM, mora biti CPUID nastavljen na "Host", ne pa KVM-64. +# +# TODO namesti solidworks. +# TODO: nastavi license server na 25734@licence-1.aluo.uni-lj.si +# diff --git a/roles/statsmodels/tasks/main.yml b/roles/statsmodels/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/statsmodels/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/statsmodels/tasks/main_lin.yml b/roles/statsmodels/tasks/main_lin.yml new file mode 100644 index 0000000..ff72e37 --- /dev/null +++ b/roles/statsmodels/tasks/main_lin.yml @@ -0,0 +1,6 @@ +- name: Install statsmodels + apt: + name: + - python3-statsmodels + state: latest + diff --git a/roles/statsmodels/tasks/main_win.yml b/roles/statsmodels/tasks/main_win.yml new file mode 100644 index 0000000..62132ef --- /dev/null +++ b/roles/statsmodels/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install statsmodels + win_command: pip install statsmodels + diff --git a/roles/stm32cube/tasks/main.yml b/roles/stm32cube/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/stm32cube/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/stm32cube/tasks/main_lin.yml b/roles/stm32cube/tasks/main_lin.yml new file mode 100644 index 0000000..808ef23 --- /dev/null +++ b/roles/stm32cube/tasks/main_lin.yml @@ -0,0 +1,32 @@ +# TODO download stm32; deb install +# https://www.st.com/en/development-tools/stm32cubeide.html#get-software +#- name: Download stm32 +# get_url: +# # url: https://unilj-my.sharepoint.com/:u:/r/personal/rozman_fri1_uni-lj_si/Documents/Arhiv/ImportantFiles/st-stm32cubeide_1.13.1_17479_20230728_0839_amd64.sh?download=1 +# dest: /tmp +# mode: "u=rwx,g=rx,o=rx" +# register: download +- name: Set filename + set_fact: + dest_fname: /tmp/st-stm32cubeide_1.13.1_17479_20230728_0839_amd64.sh + +- name: Download stm32 + command: + cmd: wget 'https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/Eda8dp03JWtGrT3rdE4ECFUBv2qAGW_aujWujr5YkLp3JA?e=vJRUgY&download=1' -O {{ dest_fname }} + creates: "{{ dest_fname }} " + # url: https://unilj-my.sharepoint.com/:u:/r/personal/rozman_fri1_uni-lj_si/Documents/Arhiv/ImportantFiles/st-stm32cubeide_1.13.1_17479_20230728_0839_amd64.sh?download=1 + +- name: Change script permissions + file: + path: "{{ dest_fname }}" + mode: '0755' + +- name: Run installer script + shell: + cmd: echo "/opt/st/STM32CubeIDE" | DISPLAY=:0 {{ dest_fname }} --nox11 + creates: /opt/st/STM32CubeIDE + +- name: Delete downloaded file + file: + path: "{{ dest_fname }}" + state: absent diff --git a/roles/stm32cube/tasks/main_win.yml b/roles/stm32cube/tasks/main_win.yml new file mode 100644 index 0000000..f9b7ab7 --- /dev/null +++ b/roles/stm32cube/tasks/main_win.yml @@ -0,0 +1,78 @@ +- name: Check ST tools install status + win_stat: + path: C:\ST\ + register: file + +- when: not file.stat.exists + block: + - name: Set download filenames + set_fact: + cubemx_download_file: C:\CubeMX.exe + cubeprogrammer_download_file: C:\CubeProgrammer.exe + cufinder_download_file: C:\CUFinder.exe + cubeide_download_file: C:\st-stm32cubeide_1.13.1_17479_20230728_0839_x86_64.exe + - name: Download CubeMX + # win_get_url: + win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EZhqHxJoAfdEjdlMu0uGWGcBOqrT0vTVv2_nhynWZ3fOwQ?e=ilAlzP&download=1" -O "{{ cubemx_download_file }}" + #dest: C:\CubeMX.exe + #register: cubemx_download + args: + creates: "{{ cubemx_download_file }}" + +# - name: Install CubeMX +# win_package: + # path: "{{cubemx_download.dest}}" +# path: "{{ cubemx_download_file }}" +# arguments: /S + + - name: Download CubeProgrammer + win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EVXiui8gFQ1ClgLmaLb2Pn8BmSUK7OLmPapvKQ6JTCXcZQ?e=OUWTDK&download=1" -O "{{ cubeprogrammer_download_file }}" + #win_get_url: + # dest: C:\CubeProgrammer.exe + #register: cubeprogrammer_download + args: + creates: "{{ cubeprogrammer_download_file }}" + +# - name: Install CubeProgrammer +# win_package: +# path: "{{ cubeprogrammer_download_file }}" +# arguments: /S + + - name: Download STM CUFinder + win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EfesbSW7EftDoSjtt-nr_eYBH_EBzXnysW0Lk1wnNzx2Mw?e=HSSmDz&download=1" -O "{{ cufinder_download_file }}" + #win_get_url: + # dest: C:\CUFinder.exe + #register: cubecufinder_download + args: + creates: "{{ cufinder_download_file }}" + +# - name: Install STM CUFinder +# win_package: +# path: "{{ cubecufinder_download_file }}" +# arguments: /S + + - name: Download CubeIDE + # win_get_url: + win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EegJD8ol6BNBkKCc-wVEImEB6GnjmjEZFqAAWScDLDgUlw?e=BcxukR&download=1" -O "{{ cubeide_download_file }}" + #dest: C:\st-stm32cubeide_1.13.1_17479_20230728_0839_x86_64.exe + #register: cubeide_download + args: + creates: "{{ cubeide_download_file }}" + +# - name: Install CubeIDE +# win_package: +# path: "{{ cubeide_download_file }}" +# arguments: /S +# TODO test the installers + +# - name: Set CubeIDE default workspace +# win_lineinfile: +# path: C:\ST\STM32CubeIDE_1.10.1\STM32CubeIDE\stm32cubeide.ini +# regexp: "osgi.instance.area.default" +# line: "-Dosgi.instance.area.default=D:/RAVINOR/CubeIDE_Workspace" + + # Replace -installIU... with -list to get available packages. +# - name: Install QEMU +# win_command: stm32cubeidec.exe -application org.eclipse.equinox.p2.director -nosplash -repository https://download.eclipse.org/embed-cdt/updates/v6/ -installIU org.eclipse.embedcdt.debug.gdbjtag.qemu.feature.group +# args: +# chdir: C:\ST\STM32CubeIDE_1.10.1\STM32CubeIDE diff --git a/roles/stm32duino/meta/main.yml b/roles/stm32duino/meta/main.yml new file mode 100644 index 0000000..044576e --- /dev/null +++ b/roles/stm32duino/meta/main.yml @@ -0,0 +1,2 @@ +dependencies: + - role: arduino diff --git a/roles/stm32duino/tasks/main.yml b/roles/stm32duino/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/stm32duino/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/stm32duino/tasks/main_lin.yml b/roles/stm32duino/tasks/main_lin.yml new file mode 100644 index 0000000..7b29b42 --- /dev/null +++ b/roles/stm32duino/tasks/main_lin.yml @@ -0,0 +1,13 @@ +- name: create destination + file: + path: /opt/Arduino + state: directory + +- name: unpack Arduino + unarchive: + src: + dest: /opt/Arduino-cli + remote_src: yes + +#- name: Add .json for new boards +# diff --git a/roles/stm32duino/tasks/main_win.yml b/roles/stm32duino/tasks/main_win.yml new file mode 100644 index 0000000..2fca098 --- /dev/null +++ b/roles/stm32duino/tasks/main_win.yml @@ -0,0 +1,8 @@ +#- name: Install Arduino IDE +# win_package: +# # path: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.0.0_Windows_64bit.exe +# path: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.2.1_Windows_64bit.exe +# arguments: /S /AllUsers +# creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe" + +# TODO check if anything else is needed (esp8266com)? diff --git a/roles/sublime-text/tasks/main.yml b/roles/sublime-text/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/sublime-text/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/sublime-text/tasks/main_lin.yml b/roles/sublime-text/tasks/main_lin.yml new file mode 100644 index 0000000..f7dd75b --- /dev/null +++ b/roles/sublime-text/tasks/main_lin.yml @@ -0,0 +1,3 @@ +- name: Do not install Sublime + debug: + msg: "Do not install Sublime" diff --git a/roles/sublime-text/tasks/main_win.yml b/roles/sublime-text/tasks/main_win.yml new file mode 100644 index 0000000..5ab7212 --- /dev/null +++ b/roles/sublime-text/tasks/main_win.yml @@ -0,0 +1,4 @@ +- name: Install Sublime Text + win_chocolatey: + name: sublimetext4 + state: present diff --git a/roles/sumatrapdf/tasks/main.yml b/roles/sumatrapdf/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/sumatrapdf/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/sumatrapdf/tasks/main_lin.yml b/roles/sumatrapdf/tasks/main_lin.yml new file mode 100644 index 0000000..6359ff1 --- /dev/null +++ b/roles/sumatrapdf/tasks/main_lin.yml @@ -0,0 +1,3 @@ +- name: Do not install SumatraPDF + debug: + msg: "Do not install SumatraPDF" diff --git a/roles/sumatrapdf/tasks/main_win.yml b/roles/sumatrapdf/tasks/main_win.yml new file mode 100644 index 0000000..25b81d3 --- /dev/null +++ b/roles/sumatrapdf/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install SumatraPDF + win_chocolatey: + name: sumatrapdf diff --git a/roles/swi-prolog/tasks/main.yml b/roles/swi-prolog/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/swi-prolog/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/swi-prolog/tasks/main_lin.yml b/roles/swi-prolog/tasks/main_lin.yml new file mode 100644 index 0000000..f1357e4 --- /dev/null +++ b/roles/swi-prolog/tasks/main_lin.yml @@ -0,0 +1,8 @@ +- name: Install SWI-Prolog + apt: + name: swi-prolog + state: latest +- name: Install SWI-Prolog - X support + apt: + name: swi-prolog-x + state: latest diff --git a/roles/swi-prolog/tasks/main_win.yml b/roles/swi-prolog/tasks/main_win.yml new file mode 100644 index 0000000..d7fbd07 --- /dev/null +++ b/roles/swi-prolog/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install SWI-Prolog + win_chocolatey: + name: swi-prolog diff --git a/roles/tensorflow/tasks/main.yml b/roles/tensorflow/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/tensorflow/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/tensorflow/tasks/main_lin.yml b/roles/tensorflow/tasks/main_lin.yml new file mode 100644 index 0000000..35c805e --- /dev/null +++ b/roles/tensorflow/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install TensorFlow + pip: + executable: pip3 + name: tensorflow diff --git a/roles/tensorflow/tasks/main_win.yml b/roles/tensorflow/tasks/main_win.yml new file mode 100644 index 0000000..db7d04a --- /dev/null +++ b/roles/tensorflow/tasks/main_win.yml @@ -0,0 +1,2 @@ +- name: Install tensorflow + win_command: pip install tensorflow diff --git a/roles/thonny/tasks/main.yml b/roles/thonny/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/thonny/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/thonny/tasks/main_lin.yml b/roles/thonny/tasks/main_lin.yml new file mode 100644 index 0000000..769384b --- /dev/null +++ b/roles/thonny/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install cmake + apt: + name: thonny + state: latest diff --git a/roles/thonny/tasks/main_win.yml b/roles/thonny/tasks/main_win.yml new file mode 100644 index 0000000..6a14128 --- /dev/null +++ b/roles/thonny/tasks/main_win.yml @@ -0,0 +1,27 @@ +- name: Set Thonny version + set_fact: + target_version: 4.0.1 + +- name: Check Thonny install status + win_stat: + path: C:\Program Files (x86)\Thonny\thonny.exe + register: file + +- when: not file.stat.exists + block: + # win_package fails to download for some reason + - name: Download Thonny + win_get_url: + url: https://github.com/thonny/thonny/releases/download/v{{ target_version }}/thonny-{{ target_version }}.exe + dest: 'C:\' + register: download + + - name: Install Thonny + win_package: + path: "{{ download.dest }}" + arguments: /Verysilent /AllUsers + + - name: Remove temporary files + win_file: + path: "{{ download.dest }}" + state: absent diff --git a/roles/unity/tasks/main.yml b/roles/unity/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/unity/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/unity/tasks/main_lin.yml b/roles/unity/tasks/main_lin.yml new file mode 100644 index 0000000..c13b36c --- /dev/null +++ b/roles/unity/tasks/main_lin.yml @@ -0,0 +1,12 @@ +# TODO install Unity +- name: PowerDesigner + debug: + msg: "Unity" +- name: Install Wine + apt: + name: wine-development + state: latest +- name: Install Wine binfmt support + apt: + name: wine-binfmt + state: latest diff --git a/roles/unity/tasks/main_win.yml b/roles/unity/tasks/main_win.yml new file mode 100644 index 0000000..a73fcde --- /dev/null +++ b/roles/unity/tasks/main_win.yml @@ -0,0 +1,7 @@ +- name: Install Unity + win_chocolatey: + name: unity + +# Don’t install Unity Hub because it wants a login when run. + +# TODO Figure out license stuff. diff --git a/roles/virtualbox/tasks/main.yml b/roles/virtualbox/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/virtualbox/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/virtualbox/tasks/main_lin.yml b/roles/virtualbox/tasks/main_lin.yml new file mode 100644 index 0000000..4ee58e4 --- /dev/null +++ b/roles/virtualbox/tasks/main_lin.yml @@ -0,0 +1,12 @@ +- name: "Install VirtualBox" + apt: + name: virtualbox + state: latest +- name: "Install VirtualBox GUI" + apt: + name: virtualbox-qt + state: latest +- name: "Install VirtualBox kernel module" + apt: + name: virtualbox-dkms + state: latest diff --git a/roles/virtualbox/tasks/main_win.yml b/roles/virtualbox/tasks/main_win.yml new file mode 100644 index 0000000..3c2fd69 --- /dev/null +++ b/roles/virtualbox/tasks/main_win.yml @@ -0,0 +1,4 @@ +- name: Install Virtualbox + win_chocolatey: + name: virtualbox + state: present diff --git a/roles/visual2/tasks/main.yml b/roles/visual2/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/visual2/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/visual2/tasks/main_lin.yml b/roles/visual2/tasks/main_lin.yml new file mode 100644 index 0000000..d2d8620 --- /dev/null +++ b/roles/visual2/tasks/main_lin.yml @@ -0,0 +1,13 @@ +# TODO install PowerDesigner +- name: Install VisUAL2 + debug: + msg: "Install Visual2" +- name: Create dest dir + file: + path: /opt/VisUAL2 + state: directory +- name: Install AppImage + get_url: + url: https://github.com/scc416/Visual2/releases/download/1.7.0/VisUAL2.1.7.0.AppImage + dest: /opt/VisUAL2/VisUAL2.1.7.0.AppImage + mode: 'u=rwx,g=rx,o=rx' diff --git a/roles/visual2/tasks/main_win.yml b/roles/visual2/tasks/main_win.yml new file mode 100644 index 0000000..df47755 --- /dev/null +++ b/roles/visual2/tasks/main_win.yml @@ -0,0 +1,32 @@ +- name: Set Visual2 version + set_fact: + target_version: "1.06.10" + +- name: Check Visual2 install status + win_stat: + path: "%ProgramFiles%\\VisUAL2\\VisUAL2.exe" + register: file + +- when: not file.stat.exists + block: + - name: Download Visual2 + win_get_url: + url: https://github.com/tomcl/V2releases/releases/download/{{ target_version }}/visual2-win32-x64.zip + dest: 'C:\' + register: download + + - name: Create Visual2 directory + win_file: + path: "%ProgramFiles%\\VisUAL2" + state: directory + + - name: Install Visual2 + win_unzip: + src: "{{ download.dest }}" + dest: "%ProgramFiles%\\VisUAL2" + delete_archive: yes + + - name: Create Visual2 shortcut + win_shortcut: + src: "%ProgramFiles%\\Visual2\\VisUAL2.exe" + dest: "C:\\Users\\Public\\Desktop\\VisUAL2.lnk" diff --git a/roles/visual_studio/tasks/main.yml b/roles/visual_studio/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/visual_studio/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/visual_studio/tasks/main_lin.yml b/roles/visual_studio/tasks/main_lin.yml new file mode 100644 index 0000000..b62bc89 --- /dev/null +++ b/roles/visual_studio/tasks/main_lin.yml @@ -0,0 +1,2 @@ +# TODO kako namestiti Visual Studio + build tools +# diff --git a/roles/visual_studio/tasks/main_win.yml b/roles/visual_studio/tasks/main_win.yml new file mode 100644 index 0000000..27bcd8a --- /dev/null +++ b/roles/visual_studio/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install Visual Studio 2022 Build Tools + win_chocolatey: + name: visualstudio2022buildtools diff --git a/roles/visualstudio/tasks/main.yml b/roles/visualstudio/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/visualstudio/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/visualstudio/tasks/main_lin.yml b/roles/visualstudio/tasks/main_lin.yml new file mode 100644 index 0000000..54a5121 --- /dev/null +++ b/roles/visualstudio/tasks/main_lin.yml @@ -0,0 +1,2 @@ +- name: Do not install VisualStudio on Linux + debug: Do not install VisualStudio on Linux diff --git a/roles/visualstudio/tasks/main_win.yml b/roles/visualstudio/tasks/main_win.yml new file mode 100644 index 0000000..398a3a8 --- /dev/null +++ b/roles/visualstudio/tasks/main_win.yml @@ -0,0 +1,5 @@ +- name: Install Microsoft Visual Studio + win_chocolatey: + name: visualstudio2022community + +# Maybe sometime use https://learn.microsoft.com/en-us/visualstudio/install/use-command-line-parameters-to-install-visual-studio?view=vs-2022 with the costlier version diff --git a/roles/vivado/tasks/main.yml b/roles/vivado/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/vivado/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/vivado/tasks/main_lin.yml b/roles/vivado/tasks/main_lin.yml new file mode 100644 index 0000000..64a9d54 --- /dev/null +++ b/roles/vivado/tasks/main_lin.yml @@ -0,0 +1,5 @@ +# TODO pripravi install Vivado +# https://www.xilinx.com/member/forms/download/xef.html?filename=Xilinx_Unified_2022.1_0420_0327_Lin64.bin +- name: Install Vivado + debug: + msg: "Install Vivado, rodistvori dodatnih 70+G diska na računalnik" diff --git a/roles/vivado/tasks/main_win.yml b/roles/vivado/tasks/main_win.yml new file mode 100644 index 0000000..4640904 --- /dev/null +++ b/roles/vivado/tasks/main_win.yml @@ -0,0 +1 @@ +# TODO diff --git a/roles/vlc/tasks/main.yml b/roles/vlc/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/vlc/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/vlc/tasks/main_lin.yml b/roles/vlc/tasks/main_lin.yml new file mode 100644 index 0000000..58c2b91 --- /dev/null +++ b/roles/vlc/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install VLC + apt: + name: vlc + state: latest diff --git a/roles/vlc/tasks/main_win.yml b/roles/vlc/tasks/main_win.yml new file mode 100644 index 0000000..a3ba667 --- /dev/null +++ b/roles/vlc/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install VLC + win_chocolatey: + name: vlc diff --git a/roles/vmware_player/tasks/main.yml b/roles/vmware_player/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/vmware_player/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/vmware_player/tasks/main_lin.yml b/roles/vmware_player/tasks/main_lin.yml new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/roles/vmware_player/tasks/main_lin.yml @@ -0,0 +1 @@ + diff --git a/roles/vmware_player/tasks/main_win.yml b/roles/vmware_player/tasks/main_win.yml new file mode 100644 index 0000000..eb93833 --- /dev/null +++ b/roles/vmware_player/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install VMware Player + win_chocolatey: + name: vmware-workstation-player diff --git a/roles/vscode/handlers/main.yml b/roles/vscode/handlers/main.yml new file mode 100644 index 0000000..70c210e --- /dev/null +++ b/roles/vscode/handlers/main.yml @@ -0,0 +1,4 @@ +# Mark everything in bin/ directories executable. Some extensions do +# this on activation, but non-root users don’t have permission for it. +- name: fix VS code extensions + command: find /usr/share/code/resources/app -name bin -exec chmod -R +x '{}' ';' diff --git a/roles/vscode/tasks/main.yml b/roles/vscode/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/vscode/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/vscode/tasks/main_lin.yml b/roles/vscode/tasks/main_lin.yml new file mode 100644 index 0000000..08ae21d --- /dev/null +++ b/roles/vscode/tasks/main_lin.yml @@ -0,0 +1,21 @@ +- name: Add VS repo key + apt_key: + url: https://packages.microsoft.com/keys/microsoft.asc + keyring: /etc/apt/trusted.gpg.d/microsoft.gpg + +- name: Add VS repo url + apt_repository: + repo: "deb https://packages.microsoft.com/repos/vscode stable main" + +- name: Install VSCode + apt: + name: code + state: latest + +- name: Include VS code extension list + include_vars: vscode_extensions.yml + +- name: Install VS Code extensions + command: code --no-sandbox --user-data-dir "/usr/share/code/resources/app" --extensions-dir "/usr/share/code/resources/app/extensions" --install-extension "{{ item }}" + loop: "{{VSCode_Extensions}}" + notify: fix VS code extensions diff --git a/roles/vscode/tasks/main_win.yml b/roles/vscode/tasks/main_win.yml new file mode 100644 index 0000000..6a7a345 --- /dev/null +++ b/roles/vscode/tasks/main_win.yml @@ -0,0 +1,20 @@ +- name: Install VS Code + win_chocolatey: + name: vscode + +- name: Add firewall rule for VS Code + win_firewall_rule: + name: "Allow inbound traffic for VS Code" + program: "%ProgramFiles%\\Microsoft VS Code\\code.exe" + action: allow + direction: in + +- name: Include VS code extension list + include_vars: vscode_extensions.yml + +- name: Install VS Code extensions + win_shell: code --extensions-dir "C:\\Program Files\\Microsoft VS Code\\resources\\app\\extensions" --install-extension "{{ item }}" + args: + chdir: "%ProgramFiles%\\Microsoft VS Code\\bin" + loop: "{{VSCode_Extensions}}" + diff --git a/roles/vscode/tasks/vscode_extensions.yml b/roles/vscode/tasks/vscode_extensions.yml new file mode 100644 index 0000000..7255502 --- /dev/null +++ b/roles/vscode/tasks/vscode_extensions.yml @@ -0,0 +1,25 @@ +VSCode_Extensions: + - VisualStudioExptTeam.vscodeintellicode + - arthurwang.vsc-prolog + - dramforever.vscode-ghc-simple + - eamodio.gitlens + - justusadam.language-haskell + - ms-dotnettools.csdevkit # IS-63714 + - ms-python.python + - ms-vscode.cpptools + - franneck94.c-cpp-runner + - ritwickdey.LiveServer + - ms-toolsai.jupyter + - vscodevim.vim + - ocamllabs.ocaml-platform + - stonebuddha.vscode-better-sml + - vscode-icons-team.vscode-icons + - vscjava.vscode-java-pack + - dan-c-underwood.arm # RA-63703 + - marus25.cortex-debug # RA-63703 + - NateAGeek.memory-viewer # RA-63703 + - ms-vscode.cpptools-extension-pack # RA-63703, Dobravec + - platformio.platformio-ide # ORS-63218 + - stmicroelectronics.stm32-vscode-extension # RA-63703 + - danielpinto8zz6.c-cpp-compile-run + - vadimcn.vscode-lldb diff --git a/roles/webstorm/tasks/main.yml b/roles/webstorm/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/webstorm/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/webstorm/tasks/main_lin.yml b/roles/webstorm/tasks/main_lin.yml new file mode 100644 index 0000000..ea78b5d --- /dev/null +++ b/roles/webstorm/tasks/main_lin.yml @@ -0,0 +1,15 @@ +#- name: Install WebStorm +# block: +# - name: Create destination for JetBrains WebStorm +# file: +# path: /opt/webstorm +# state: directory +#TODO: poskrbi za namestitev webstorm + - name: Download and unpack JetBrains WebStorm + debug: + msg: "Do not download and unpack WebStorm since we do not have the licenses yet" + #unarchive: + # src: https://download.jetbrains.com/idea/ideaIC-2023.2.1.tar.gz + # dest: /opt/webstorm + # creates: /opt/webstorm/idea-IC-232.9559.62/build.txt + # remote_src: yes diff --git a/roles/webstorm/tasks/main_win.yml b/roles/webstorm/tasks/main_win.yml new file mode 100644 index 0000000..d9e6c71 --- /dev/null +++ b/roles/webstorm/tasks/main_win.yml @@ -0,0 +1,12 @@ +- name: Set WebStorm version + set_fact: + target_version: "2023.2.1" +# TODO: nekako namesti webstorm +# +- name: Install WebStorm (not) + debug: + msg: "Do not install WebStorm since we do not have the licenses yet" + #win_package: + # path: "https://download.jetbrains.com/idea/ideaIC-{{ target_version }}.exe" + # arguments: /S + # creates_path: "%ProgramFiles(x86)%\\JetBrains\\IntelliJ IDEA Community Edition {{ target_version }}\\bin\\idea64.exe" diff --git a/roles/weka/tasks/main.yml b/roles/weka/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/weka/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/weka/tasks/main_lin.yml b/roles/weka/tasks/main_lin.yml new file mode 100644 index 0000000..ff4a71a --- /dev/null +++ b/roles/weka/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install Weka 3.6+ + apt: + name: weka + state: latest diff --git a/roles/weka/tasks/main_win.yml b/roles/weka/tasks/main_win.yml new file mode 100644 index 0000000..be3b036 --- /dev/null +++ b/roles/weka/tasks/main_win.yml @@ -0,0 +1,9 @@ +- name: Set Weka version + set_fact: + target_version: "3-8-6" + +- name: Install Weka + win_package: + path: "https://prdownloads.sourceforge.net/weka/weka-{{ target_version }}-azul-zulu-windows.exe" + arguments: /S + creates_path: "%ProgramFiles%\\Weka-{{ target_version }}\\weka.jar" diff --git a/roles/wfdb/tasks/main.yml b/roles/wfdb/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/wfdb/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/wfdb/tasks/main_lin.yml b/roles/wfdb/tasks/main_lin.yml new file mode 100644 index 0000000..3235389 --- /dev/null +++ b/roles/wfdb/tasks/main_lin.yml @@ -0,0 +1,27 @@ +# Dobi se jo na: https://www.physionet.org/content/wfdb/10.7.0/ 1. razpakiraj arhiv 2. pojdi v direktorij. 3. poženi .-configure lahko z dodatnimi parametri glede na željeno lokacijo knjižnice 4. poženi make 5. poženi sudo make install +- name: Install libFLAC + apt: + name: libflac-dev + state: latest +- name: Install libcurl + apt: + name: libcurl4-openssl-dev +- name: Install GCC + apt: + name: gcc +- name: Install make + apt: + name: make +- name: Create WFDB destination + file: + path: /opt/wfdb + state: directory +- name: Download WFDB + unarchive: + src: https://www.physionet.org/physiotools/archives/wfdb-10.7/wfdb-10.7.0.tar.gz + dest: /opt/wfdb + creates: /opt/wfdb/wfdb-10.7.0/README + remote_src: yes +- name: Build and install WFDB + shell: + cmd: cd /opt/wfdb/wfdb-10.7.0 && ./configure && make && make install diff --git a/roles/wfdb/tasks/main_win.yml b/roles/wfdb/tasks/main_win.yml new file mode 100644 index 0000000..4640904 --- /dev/null +++ b/roles/wfdb/tasks/main_win.yml @@ -0,0 +1 @@ +# TODO diff --git a/roles/wget/tasks/main.yml b/roles/wget/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/wget/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/wget/tasks/main_lin.yml b/roles/wget/tasks/main_lin.yml new file mode 100644 index 0000000..9e49dab --- /dev/null +++ b/roles/wget/tasks/main_lin.yml @@ -0,0 +1,4 @@ +- name: Install wget + apt: + name: wget + state: latest diff --git a/roles/wget/tasks/main_win.yml b/roles/wget/tasks/main_win.yml new file mode 100644 index 0000000..fc145d1 --- /dev/null +++ b/roles/wget/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install wget + win_chocolatey: + name: wget diff --git a/roles/winidea-frisms/tasks/main.yml b/roles/winidea-frisms/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/winidea-frisms/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/winidea-frisms/tasks/main_lin.yml b/roles/winidea-frisms/tasks/main_lin.yml new file mode 100644 index 0000000..f4d4312 --- /dev/null +++ b/roles/winidea-frisms/tasks/main_lin.yml @@ -0,0 +1,3 @@ +- name: Do not install WinIdea for FRISMS + debug: + msg: "Do not install WinIdea for FRISMS" diff --git a/roles/winidea-frisms/tasks/main_win.yml b/roles/winidea-frisms/tasks/main_win.yml new file mode 100644 index 0000000..2e64ffd --- /dev/null +++ b/roles/winidea-frisms/tasks/main_win.yml @@ -0,0 +1,34 @@ +- name: Check WinIDEA-FRISMS install status + win_stat: + path: C:\iSYSTEM\winIDEA_FRISMS\winIDEA.exe + register: file + +- when: not file.stat.exists + block: + - name: Install WinIDEA-FRISMS + win_package: + path: "https://www.isystem.com/downloads/winIDEA/setup/winIDEA(x64)9_12_256.exe" + arguments: /q APPDIR=c:\iSYSTEM\winIDEA_FRISMS + + - name: Download GCC for WinIDEA-FRISMS + win_get_url: + url: "https://launchpadlibrarian.net/143626040/gcc-arm-none-eabi-4_7-2013q2-20130614-win32.zip" + dest: C:\iSYSTEM\winIDEA_FRISMS\ + register: download + + - name: Unpack GCC for WinIDEA-FRISMS + win_unzip: + src: "{{ download.dest }}" + dest: C:\iSYSTEM\winIDEA_FRISMS\gcc + delete_archive: yes + + - name: Install GCC for WinIDEA-FRISMS + win_copy: + dest: C:\iSYSTEM\winIDEA_FRISMS\gcc\arm + src: C:\iSYSTEM\winIDEA_FRISMS\gcc\GNU Tools ARM Embedded\4.7 2013q2\ + remote_src: yes + + - name: Remove source files + win_file: + path: C:\iSYSTEM\winIDEA_FRISMS\gcc\GNU Tools ARM Embedded + state: absent diff --git a/roles/winidea/tasks/main.yml b/roles/winidea/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/winidea/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/winidea/tasks/main_lin.yml b/roles/winidea/tasks/main_lin.yml new file mode 100644 index 0000000..543373a --- /dev/null +++ b/roles/winidea/tasks/main_lin.yml @@ -0,0 +1,5 @@ +- name: Install WinIdea snap + community.general.snap: + name: + - winidea + classic: true diff --git a/roles/winidea/tasks/main_win.yml b/roles/winidea/tasks/main_win.yml new file mode 100644 index 0000000..aa4b9c8 --- /dev/null +++ b/roles/winidea/tasks/main_win.yml @@ -0,0 +1,33 @@ +- name: Check WinIDEA install status + win_stat: + path: C:\iSYSTEM\winIDEA9\winIDEA.exe + register: file + +- when: not file.stat.exists + block: + - name: Install WinIDEA + win_package: + path: "https://www.isystem.com/downloads/winIDEA/setup/winIDEA(x64)9_21_110_138559.exe" + arguments: /q + + - name: Download QEMU + win_get_url: + url: "https://www.isystem.si/SWUpdates/qemu/qemu.7z" + dest: C:\iSYSTEM\winIDEA9 + + - name: Unpack QEMU + win_command: 7z x qemu.7z + args: + chdir: "C:\\iSYSTEM\\winIDEA9" + + - name: Download GCC + win_get_url: + url: "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-win32.zip" + dest: C:\iSYSTEM\winIDEA9 + register: download + + - name: Unpack GCC + win_unzip: + src: "{{ download.dest }}" + dest: C:\iSYSTEM\winIDEA9\gcc + delete_archive: yes diff --git a/roles/winroom/defaults/main.yml b/roles/winroom/defaults/main.yml new file mode 100644 index 0000000..af90961 --- /dev/null +++ b/roles/winroom/defaults/main.yml @@ -0,0 +1,6 @@ +ansible_connection: winrm +ansible_winrm_transport: ntlm +ansible_winrm_server_cert_validation: ignore +ansible_port: 5985 +logon_type: interactive +installers: \\ucilnicesmb.fri1.uni-lj.si\ucilnice_d\install diff --git a/roles/winroom/tasks/7zip.yml b/roles/winroom/tasks/7zip.yml new file mode 100644 index 0000000..05aebff --- /dev/null +++ b/roles/winroom/tasks/7zip.yml @@ -0,0 +1,18 @@ +- name: Install 7-zip + win_chocolatey: + name: 7zip + register: install + +- when: install.changed + block: + - name: Create 7-zip filetype + win_command: cmd.exe /c ftype 7-zip=%ProgramFiles%\7-zip\7zFM.exe + + - name: Associate 7-zip with archive filetypes + win_command: cmd.exe /c assoc .{{ item }}=7-zip + loop: + - gz + - tar + - targz + - rar + - 7z diff --git a/roles/winroom/tasks/AAHRP-63263.yml b/roles/winroom/tasks/AAHRP-63263.yml new file mode 100644 index 0000000..0e66b32 --- /dev/null +++ b/roles/winroom/tasks/AAHRP-63263.yml @@ -0,0 +1,6 @@ +# Analiza algoritmov in hevristično reševanje problemov +# matej.piculin@fri.uni-lj.si +# Windows, Java JDK, Eclipse, R, RStudio +- include_tasks: rstudio.yml +- include_tasks: eclipse.yml +- include_tasks: jdk.yml diff --git a/roles/winroom/tasks/APS1-63279.yml b/roles/winroom/tasks/APS1-63279.yml new file mode 100644 index 0000000..b35fcad --- /dev/null +++ b/roles/winroom/tasks/APS1-63279.yml @@ -0,0 +1,8 @@ +# Algoritmi in podatkovne strukture 1 +# tomaz.hocevar@fri.uni-lj.si, bojan.zunkovic@fri.uni-lj.si, polz@fri.uni-lj.si +# Windows, Java JDK, Eclipse +# - include_tasks: JDK.yml +# - include_tasks: Eclipse.yml +- include_tasks: c_development.yml +- include_tasks: vscode.yml + diff --git a/roles/winroom/tasks/ARP1-63545C.yml b/roles/winroom/tasks/ARP1-63545C.yml new file mode 100644 index 0000000..4c50bf0 --- /dev/null +++ b/roles/winroom/tasks/ARP1-63545C.yml @@ -0,0 +1,4 @@ +# Aktualno raziskovalno področje 1 +# Veljko.Pejovic@fri.uni-lj.si +# Android Studio +- include_tasks: android_studio.yml diff --git a/roles/winroom/tasks/BMO-63259.yml b/roles/winroom/tasks/BMO-63259.yml new file mode 100644 index 0000000..10c9e00 --- /dev/null +++ b/roles/winroom/tasks/BMO-63259.yml @@ -0,0 +1,5 @@ +# Brezžična in mobilna omrežja +# Ziga.Pusnik@fri.uni-lj.si, Miran.Koprivec@fri.uni-lj.si +# Windows, VMware Workstation 16.2.4 Player, wireshark +- include_tasks: wireshark.yml +- include_tasks: vmware_player.yml diff --git a/roles/winroom/tasks/DF-63530.yml b/roles/winroom/tasks/DF-63530.yml new file mode 100644 index 0000000..5e24a7a --- /dev/null +++ b/roles/winroom/tasks/DF-63530.yml @@ -0,0 +1,5 @@ +# Digitalna forenzika +# Aleks.Huc@fri.uni-lj.si, Gasper.FeleZorz@fri.uni-lj.si +# Windows, GNU/Linux, GNS3, VirtualBox +- include_tasks: GNS3.yml +- include_tasks: virtualbox.yml diff --git a/roles/winroom/tasks/DN-63260.yml b/roles/winroom/tasks/DN-63260.yml new file mode 100644 index 0000000..ff2006a --- /dev/null +++ b/roles/winroom/tasks/DN-63260.yml @@ -0,0 +1,4 @@ +# Digitalno načrtovanje +# Nejc.Ilc@fri.uni-lj.si +# Windows, Vivado 2022.1 +- include_tasks: vivado.yml diff --git a/roles/winroom/tasks/DPS-63744.yml b/roles/winroom/tasks/DPS-63744.yml new file mode 100644 index 0000000..c389a45 --- /dev/null +++ b/roles/winroom/tasks/DPS-63744.yml @@ -0,0 +1,7 @@ +# Digitalno procesiranje signalov +# Aleks.Huc@fri.uni-lj.si +# Windows, GNU/Linux, Matlab, wfdb, Octave, Audacity +- include_tasks: matlab.yml +- include_tasks: wfdb.yml +- include_tasks: octave.yml +- include_tasks: audacity.yml diff --git a/roles/winroom/tasks/DV-63718.yml b/roles/winroom/tasks/DV-63718.yml new file mode 100644 index 0000000..b730380 --- /dev/null +++ b/roles/winroom/tasks/DV-63718.yml @@ -0,0 +1,4 @@ +# Digitalna vezja +# Miha.Moskon@fri.uni-lj.si +# Windows, Logisim, Logisim Evolution +- include_tasks: logisim.yml diff --git a/roles/winroom/tasks/EP-63249.yml b/roles/winroom/tasks/EP-63249.yml new file mode 100644 index 0000000..1cc049d --- /dev/null +++ b/roles/winroom/tasks/EP-63249.yml @@ -0,0 +1,6 @@ +# Elektronsko poslovanje +# David.Jelenc@fri.uni-lj.si +# Windows, VirtualBox, Android Studio +# +- include_tasks: virtualbox.yml +- include_tasks: android_studio.yml diff --git a/roles/winroom/tasks/FP-63507.yml b/roles/winroom/tasks/FP-63507.yml new file mode 100644 index 0000000..6c333c4 --- /dev/null +++ b/roles/winroom/tasks/FP-63507.yml @@ -0,0 +1,11 @@ +# Funkcijsko programiranje +# Klemen.Klanjscek@fri.uni-lj.si, Matjaz.Kukar@fri.uni-lj.si +# Windows, GNU/Linux, VS Code, Python 3, Racket (z DrRacket), SML/NJ, Emacs, rlwrap +# +- include_tasks: vscode.yml +- include_tasks: python3.yml +- include_tasks: racket.yml +- include_tasks: emacs.yml +- include_tasks: smlnj.yml + + diff --git a/roles/winroom/tasks/GNS3.yml b/roles/winroom/tasks/GNS3.yml new file mode 100644 index 0000000..7b168cf --- /dev/null +++ b/roles/winroom/tasks/GNS3.yml @@ -0,0 +1,27 @@ +- name: Set GNS3 version + set_fact: + target_version: "3.0.0a2" + +- name: Check GNS3 install status + win_stat: + path: C:\Program Files\GNS3\gns3.exe + register: file + +- when: not file.stat.exists + block: + # win_package fails to download for some reason + - name: Download GNS3 + win_get_url: + url: https://github.com/GNS3/gns3-gui/releases/download/v{{ target_version }}/GNS3-{{ target_version }}-all-in-one.exe + dest: 'C:\' + register: download + + - name: Install GNS3 + win_package: + path: "{{ download.dest }}" + arguments: /S /AllUsers + + - name: Remove temporary files + win_file: + path: "{{ download.dest }}" + state: absent diff --git a/roles/winroom/tasks/GO-63715.yml b/roles/winroom/tasks/GO-63715.yml new file mode 100644 index 0000000..926fc4a --- /dev/null +++ b/roles/winroom/tasks/GO-63715.yml @@ -0,0 +1,9 @@ +# Grafično oblikovanje +# Blaz.Meden@fri.uni-lj.si, ilb@fri.uni-lj.si +# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje) +# +- include_tasks: blender.yml +- include_tasks: adobe_cs.yml +- include_tasks: inkscape.yml +- include_tasks: gimp.yml + diff --git a/roles/winroom/tasks/IS-63714.yml b/roles/winroom/tasks/IS-63714.yml new file mode 100644 index 0000000..2dd62b0 --- /dev/null +++ b/roles/winroom/tasks/IS-63714.yml @@ -0,0 +1,10 @@ +# Informacijski sistemi +# Miha.Grohar@fri.uni-lj.si +# Windows, GNU/Linux, Docker, VS Code, dotnet6 SDK, GIT, Android Studio + +- include_tasks: docker.yml +- include_tasks: vscode.yml +- include_tasks: dotnet6.yml +- include_tasks: git.yml +- include_tasks: android_studio.yml + diff --git a/roles/winroom/tasks/IVZ-63521.yml b/roles/winroom/tasks/IVZ-63521.yml new file mode 100644 index 0000000..ca0a419 --- /dev/null +++ b/roles/winroom/tasks/IVZ-63521.yml @@ -0,0 +1,6 @@ +# Informacijska varnost in zasebnost +# David.Jelenc@fri.uni-lj.si +# Java JDK, IntelliJ IDEA, VirtualBox +- include_tasks: jdk.yml +- include_tasks: idea.yml +- include_tasks: virtualbox.yml diff --git a/roles/winroom/tasks/KCR-63550.yml b/roles/winroom/tasks/KCR-63550.yml new file mode 100644 index 0000000..9fa8298 --- /dev/null +++ b/roles/winroom/tasks/KCR-63550.yml @@ -0,0 +1,7 @@ +# Komunikacija človek računalnik +# Ales.Smrdel@fri.uni-lj.si +# Java JDK, Matlab, wfdb, Apache NetBeans +- include_tasks: jdk.yml +- include_tasks: matlab.yml +- include_tasks: wfdb.yml +- include_tasks: netbeans.yml diff --git a/roles/winroom/tasks/KPOV-63716.yml b/roles/winroom/tasks/KPOV-63716.yml new file mode 100644 index 0000000..5411878 --- /dev/null +++ b/roles/winroom/tasks/KPOV-63716.yml @@ -0,0 +1,5 @@ +# Komunikacijski protokoli in omrežna varnost +# Aleks.Huc@fri.uni-lj.si, Gasper.FeleZorz@fri.uni-lj.si +# Windows, GNU/Linux, GNS3, VirtualBox +- include_tasks: GNS3.yml +- include_tasks: virtualbox.yml diff --git a/roles/winroom/tasks/KRV-63528.yml b/roles/winroom/tasks/KRV-63528.yml new file mode 100644 index 0000000..3d5690e --- /dev/null +++ b/roles/winroom/tasks/KRV-63528.yml @@ -0,0 +1,7 @@ +# Kriptografija in računalniška varnost +# Klemen.Klanjscek@fri.uni-lj.si, Janos.Vidali@fri.uni-lj.si +# GNU/Linux, SageMath, Python 3, Jupyter Notebook, OpenSSL, OpenSSH client + +- include_tasks: sagemath.yml +- include_tasks: jupyter.yml +- include_tasks: openssl.yml diff --git a/roles/winroom/tasks/MRO-63257.yml b/roles/winroom/tasks/MRO-63257.yml new file mode 100644 index 0000000..617f9e2 --- /dev/null +++ b/roles/winroom/tasks/MRO-63257.yml @@ -0,0 +1,4 @@ +# Modeliranje računalniških omrežij +# Miha.Janez@fri.uni-lj.si +# OMNeT++, INET Framework +- include_tasks: omnetpp.yml diff --git a/roles/winroom/tasks/MV-63288.yml b/roles/winroom/tasks/MV-63288.yml new file mode 100644 index 0000000..288fc10 --- /dev/null +++ b/roles/winroom/tasks/MV-63288.yml @@ -0,0 +1,9 @@ +# Multimedijske vsebine +# Blaz.Meden@fri.uni-lj.si +# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje) + +- include_tasks: blender.yml +- include_tasks: adobe_cs.yml +- include_tasks: processing.yml +- include_tasks: inkscape.yml +- include_tasks: gimp.yml diff --git a/roles/winroom/tasks/NDN-63729.yml b/roles/winroom/tasks/NDN-63729.yml new file mode 100644 index 0000000..c4c5ed3 --- /dev/null +++ b/roles/winroom/tasks/NDN-63729.yml @@ -0,0 +1,7 @@ +# Načrtovanje digitalnih naprav +# Miran.Koprivec@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si +# Windows, Vivado 2022.1 +# Načrtovanje digitalnih naprav +# Miha.Moskon@fri.uni-lj.si +# Windows, Vivado 2022.1 +- include_tasks: vivado.yml diff --git a/roles/winroom/tasks/NM-63522.yml b/roles/winroom/tasks/NM-63522.yml new file mode 100644 index 0000000..abc6437 --- /dev/null +++ b/roles/winroom/tasks/NM-63522.yml @@ -0,0 +1,5 @@ +# Numerična matematika +# Martin.Vuk@fri.uni-lj.si +# VS Code, Julia +- include_tasks: vscode.yml +- include_tasks: julia.yml diff --git a/roles/winroom/tasks/NPMP-63512.yml b/roles/winroom/tasks/NPMP-63512.yml new file mode 100644 index 0000000..caa3040 --- /dev/null +++ b/roles/winroom/tasks/NPMP-63512.yml @@ -0,0 +1,5 @@ +# Nekonvencionalne platforme in metode procesiranja +# Miha.Janez@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si +# QCADesigner-E + +- include_tasks: qcadesigner-e.yml diff --git a/roles/winroom/tasks/NRG-63553.yml b/roles/winroom/tasks/NRG-63553.yml new file mode 100644 index 0000000..2533fca --- /dev/null +++ b/roles/winroom/tasks/NRG-63553.yml @@ -0,0 +1,5 @@ +# Napredna računalniška grafika +# Ziga.Lesar@fri.uni-lj.si +# Windows, Build Tools for Visual Studio 2022 + +- include_tasks: visual_studio.yml diff --git a/roles/winroom/tasks/OBSS-63514.yml b/roles/winroom/tasks/OBSS-63514.yml new file mode 100644 index 0000000..daaa24c --- /dev/null +++ b/roles/winroom/tasks/OBSS-63514.yml @@ -0,0 +1,5 @@ +# Obdelava biomedicinskih signalov in slik +# Ziga.Pirnar@fri.uni-lj.si +# GNU/Linux, Matlab, wfdb +- include_tasks: matlab.yml +- include_tasks: wfdb.yml diff --git a/roles/winroom/tasks/ODV-63204.yml b/roles/winroom/tasks/ODV-63204.yml new file mode 100644 index 0000000..401665b --- /dev/null +++ b/roles/winroom/tasks/ODV-63204.yml @@ -0,0 +1,4 @@ +# Osnove digitalnih vezij +# Ziga.Pusnik@fri.uni-lj.si, Miran.Koprivec@fri.uni-lj.si +# Windows, Logisim, Logisim Evolution +- include_tasks: logisim.yml diff --git a/roles/winroom/tasks/OO-63271.yml b/roles/winroom/tasks/OO-63271.yml new file mode 100644 index 0000000..50cdbdb --- /dev/null +++ b/roles/winroom/tasks/OO-63271.yml @@ -0,0 +1,8 @@ +# Osnove oblikovanja +# Blaz.Meden@fri.uni-lj.si, Narvika.Bovcon@fri.uni-lj.si +# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje) +- include_tasks: blender.yml +- include_tasks: adobe_cs.yml +- include_tasks: inkscape.yml +- include_tasks: gimp.yml + diff --git a/roles/winroom/tasks/OR-63717.yml b/roles/winroom/tasks/OR-63717.yml new file mode 100644 index 0000000..7bac823 --- /dev/null +++ b/roles/winroom/tasks/OR-63717.yml @@ -0,0 +1,9 @@ +# Organizacija računalnikov +# Robert.Rozman@fri.uni-lj.si +# Windows, Logisim, Logisim Evolution, RAVINOR, CubeIDE + QEMU Embedded plugin +- include_tasks: logisim.yml +- include_tasks: stm32cube.yml +- include_tasks: ninja.yml +- include_tasks: cmake.yml +- include_tasks: gcc-arm.yml +# TODO: RAVINOR, CubeIDE diff --git a/roles/winroom/tasks/ORS-63218.yml b/roles/winroom/tasks/ORS-63218.yml new file mode 100644 index 0000000..525ca93 --- /dev/null +++ b/roles/winroom/tasks/ORS-63218.yml @@ -0,0 +1,6 @@ +# Osnove Računalniških Sistemov +# Patricio.Bulic@fri.uni-lj.si +# + +- include_tasks: vscode.yml +- include_tasks: sifive.yml diff --git a/roles/winroom/tasks/OS-63709.yml b/roles/winroom/tasks/OS-63709.yml new file mode 100644 index 0000000..44edcd6 --- /dev/null +++ b/roles/winroom/tasks/OS-63709.yml @@ -0,0 +1,4 @@ +# Operacijski sistemi +# Borut.Batagelj@fri.uni-lj.si, Ziga.Emersic@fri.uni-lj.si, Bojan.Klemenc@fri.uni-lj.si, Matej.Vitek@fri.uni-lj.si +# VirtualBox +- include_tasks: virtualbox.yml diff --git a/roles/winroom/tasks/OS-63741.yml b/roles/winroom/tasks/OS-63741.yml new file mode 100644 index 0000000..9e56fad --- /dev/null +++ b/roles/winroom/tasks/OS-63741.yml @@ -0,0 +1,6 @@ +# Odločitveni sistemi +# Martin.Mozina@fri.uni-lj.si +# Windows +- name: Odlocitveni sistemi + debug: + msg: "Odločitveni sistemi 63741 - brez zahtev" diff --git a/roles/winroom/tasks/OUI-63214.yml b/roles/winroom/tasks/OUI-63214.yml new file mode 100644 index 0000000..10db320 --- /dev/null +++ b/roles/winroom/tasks/OUI-63214.yml @@ -0,0 +1,7 @@ +# Osnove umetne inteligence +# Jure.Zabkar@fri.uni-lj.si, Ales.Papic@fri.uni-lj.si, matej.piculin@fri.uni-lj.si, Marko.Zeman@fri.uni-lj.si, bojan.zunkovic@fri.uni-lj.si +# Orange, Weka 3, BayesFusion + +- include_tasks: orange.yml +- include_tasks: weka.yml +- include_tasks: bayesfusion.yml diff --git a/roles/winroom/tasks/P2-63278.yml b/roles/winroom/tasks/P2-63278.yml new file mode 100644 index 0000000..45b8e25 --- /dev/null +++ b/roles/winroom/tasks/P2-63278.yml @@ -0,0 +1,8 @@ +# Programiranje 2 +# bostjan.slivnik@fri.uni-lj.si +# gedit, vscode, pdf viewer (evince), gcc, g++, make, JDK + +- include_tasks: jdk.yml +- include_tasks: gedit.yml +- include_tasks: vscode.yml +- include_tasks: c_development.yml diff --git a/roles/winroom/tasks/P2-63706.yml b/roles/winroom/tasks/P2-63706.yml new file mode 100644 index 0000000..f704f51 --- /dev/null +++ b/roles/winroom/tasks/P2-63706.yml @@ -0,0 +1,7 @@ +# Programiranje 2 +# Tomaz.Dobravec@fri.uni-lj.si +# Windows, Java JDK, IntelliJ IDEA, Apache NetBeans + +- include_tasks: jdk.yml +- include_tasks: idea.yml +- include_tasks: netbeans.yml diff --git a/roles/winroom/tasks/PA-63737.yml b/roles/winroom/tasks/PA-63737.yml new file mode 100644 index 0000000..27258be --- /dev/null +++ b/roles/winroom/tasks/PA-63737.yml @@ -0,0 +1,5 @@ +# Procesna avtomatika +# Nejc.Ilc@fri.uni-lj.si +# Windows, VMware Workstation 16.2.4 Player + +- include_tasks: vmware_player.yml diff --git a/roles/winroom/tasks/PB-63707.yml b/roles/winroom/tasks/PB-63707.yml new file mode 100644 index 0000000..c142839 --- /dev/null +++ b/roles/winroom/tasks/PB-63707.yml @@ -0,0 +1,12 @@ +# Podatkovne baze +# Ales.Jaklic@fri.uni-lj.si, matej.piculin@fri.uni-lj.si, Luka.Sajn@fri.uni-lj.si +# Windows, Power designer 12.5, Java JDK, Python 3, dotnet6 SDK, Jupyter Notebook, Eclipse, MySql Workbench, MySQL ODBC Connector, Notepad++ +- include_tasks: eclipse.yml +- include_tasks: dotnet6.yml +- include_tasks: jupyter.yml +- include_tasks: jdk.yml +- include_tasks: powerdesigner.yml +- include_tasks: pyodbc.yml +- include_tasks: mysql_workbench.yml +- include_tasks: mysql-odbc-connector.yml +- include_tasks: notepad++.yml diff --git a/roles/winroom/tasks/PB2-63713.yml b/roles/winroom/tasks/PB2-63713.yml new file mode 100644 index 0000000..4959d52 --- /dev/null +++ b/roles/winroom/tasks/PB2-63713.yml @@ -0,0 +1,7 @@ +# Podatkovne baze 2 +# Aljaz.Zrnec@fri.uni-lj.si +# Windows +# Podatkovne baze 2 +# Aljaz.Zrnec@fri.uni-lj.si +# Power designer 12.5 +- include_tasks: powerdesigner.yml diff --git a/roles/winroom/tasks/PJC-63769.yml b/roles/winroom/tasks/PJC-63769.yml new file mode 100644 index 0000000..3dd3ac5 --- /dev/null +++ b/roles/winroom/tasks/PJC-63769.yml @@ -0,0 +1,5 @@ +# Programski jezik C +# Tomaz.Dobravec@fri.uni-lj.si +# Windows, Pelles C + +- include_tasks: pelles-c.yml diff --git a/roles/winroom/tasks/PPJ-63220.yml b/roles/winroom/tasks/PPJ-63220.yml new file mode 100644 index 0000000..075a5cb --- /dev/null +++ b/roles/winroom/tasks/PPJ-63220.yml @@ -0,0 +1,11 @@ +# Principi programskih jezikov +# Klemen.Klanjscek@fri.uni-lj.si +# Windows, GNU/Linux, VS Code, Ocaml, Eclipse, Haskell, SWI-Prolog, rlwrap + +- include_tasks: vscode.yml +- include_tasks: ocaml.yml +- include_tasks: eclipse.yml +- include_tasks: haskell.yml +- include_tasks: swi-prolog.yml +- include_tasks: rlwrap.yml + diff --git a/roles/winroom/tasks/PS-63261.yml b/roles/winroom/tasks/PS-63261.yml new file mode 100644 index 0000000..4b01beb --- /dev/null +++ b/roles/winroom/tasks/PS-63261.yml @@ -0,0 +1,5 @@ +# Porazdeljeni sistemi +# Davor.Sluga@fri.uni-lj.si +# Windows, VS Code, golang +- include_tasks: vscode.yml +- include_tasks: golang.yml diff --git a/roles/winroom/tasks/PSP-63287.yml b/roles/winroom/tasks/PSP-63287.yml new file mode 100644 index 0000000..6e86917 --- /dev/null +++ b/roles/winroom/tasks/PSP-63287.yml @@ -0,0 +1,6 @@ +# Programiranje specifičnih platform +# Veljko.Pejovic@fri.uni-lj.si +# Android Studio, Arduino IDE + +- include_tasks: android_studio.yml +- include_tasks: arduino.yml diff --git a/roles/winroom/tasks/PUI-63768.yml b/roles/winroom/tasks/PUI-63768.yml new file mode 100644 index 0000000..be36b17 --- /dev/null +++ b/roles/winroom/tasks/PUI-63768.yml @@ -0,0 +1,4 @@ +# Planiranje in upravljanje informatike +# damjan.fujs@fri.uni-lj.si +# Planiranje in upravljanje informatike (VS) +- include_tasks: projectlibre.yml diff --git a/roles/winroom/tasks/RA-63703.yml b/roles/winroom/tasks/RA-63703.yml new file mode 100644 index 0000000..9fd7845 --- /dev/null +++ b/roles/winroom/tasks/RA-63703.yml @@ -0,0 +1,7 @@ +# Računalniška arhitektura +# Ziga.Pusnik@fri.uni-lj.si, Rok.Cesnovar@fri.uni-lj.si, Robert.Rozman@fri.uni-lj.si, Mira.Trebar@fri.uni-lj.si +# Windows, RAVINOR, CubeIDE + QEMU Embedded plugin, WinIdea 9.21 + GCC + QEMU, WinIdea 9.12.256 (FRISMS kompatibilna), Visual2 + +- include_tasks: stm32cube.yml +- include_tasks: winidea.yml +- include_tasks: visual2.yml diff --git a/roles/winroom/tasks/RGTI-63269.yml b/roles/winroom/tasks/RGTI-63269.yml new file mode 100644 index 0000000..099919c --- /dev/null +++ b/roles/winroom/tasks/RGTI-63269.yml @@ -0,0 +1,4 @@ +# Računalniška grafika in tehnologija iger +# Ziga.Lesar@fri.uni-lj.si +# Windows, Unity +- include_tasks: unity.yml diff --git a/roles/winroom/tasks/RIS-63252.yml b/roles/winroom/tasks/RIS-63252.yml new file mode 100644 index 0000000..698f7ce --- /dev/null +++ b/roles/winroom/tasks/RIS-63252.yml @@ -0,0 +1,4 @@ +# Razvoj informacijskih sistemov +# Aljaz.Zrnec@fri.uni-lj.si +# Power designer 12.5 +- include_tasks: powerdesigner.yml diff --git a/roles/winroom/tasks/RK-63209.yml b/roles/winroom/tasks/RK-63209.yml new file mode 100644 index 0000000..fe7a9b8 --- /dev/null +++ b/roles/winroom/tasks/RK-63209.yml @@ -0,0 +1,9 @@ +# Računalniške komunikacije +# Ales.Jaklic@fri.uni-lj.si, Matjaz.Pancur@fri.uni-lj.si, Jure.Tuta@fri.uni-lj.si, Domen.Kosir@fri.uni-lj.si +# GNU/Linux, GNS3, Docker, VS Code, wireshark, Java JDK, Python 3 +- include_tasks: docker.yml +- include_tasks: gns3.yml +- include_tasks: vscode.yml +- include_tasks: wireshark.yml +- include_tasks: jdk.yml + diff --git a/roles/winroom/tasks/RK-63708.yml b/roles/winroom/tasks/RK-63708.yml new file mode 100644 index 0000000..d03d8c0 --- /dev/null +++ b/roles/winroom/tasks/RK-63708.yml @@ -0,0 +1,9 @@ +# Računalniške komunikacije +# Matjaz.Pancur@fri.uni-lj.si, Miha.Grohar@fri.uni-lj.si +# GNU/Linux, GNS3, Docker, VS Code, wireshark, Java JDK, Python 3 +- include_tasks: docker.yml +- include_tasks: gns3.yml +- include_tasks: vscode.yml +- include_tasks: wireshark.yml +- include_tasks: jdk.yml + diff --git a/roles/winroom/tasks/RPOI-90066.yml b/roles/winroom/tasks/RPOI-90066.yml new file mode 100644 index 0000000..fc15333 --- /dev/null +++ b/roles/winroom/tasks/RPOI-90066.yml @@ -0,0 +1,6 @@ +# Računalniška podpora oblikovanju I (ALUO) +# Matija.Marolt@fri.uni-lj.si +# SolidWorks +# Računalniška podpora oblikovanju I (ALUO) +# Matija.Marolt@fri.uni-lj.si +# SolidWorks diff --git a/roles/winroom/tasks/RZP-63523.yml b/roles/winroom/tasks/RZP-63523.yml new file mode 100644 index 0000000..ecaf941 --- /dev/null +++ b/roles/winroom/tasks/RZP-63523.yml @@ -0,0 +1,7 @@ +# Računalniška zvočna produkcija +# Aleks.Huc@fri.uni-lj.si +# IntelliJ IDEA, Audacity, GIT +- include_tasks: git.yml +- include_tasks: audacity.yml +- include_tasks: IDEA.yml + diff --git a/roles/winroom/tasks/SP-63255.yml b/roles/winroom/tasks/SP-63255.yml new file mode 100644 index 0000000..f0a42a4 --- /dev/null +++ b/roles/winroom/tasks/SP-63255.yml @@ -0,0 +1,6 @@ +# Spletno Programiranje +# dejan.lavbic@fri.uni-lj.si +# git, docker, Node.js + npm, Visual Studio Code +- include_tasks: git.yml +- include_tasks: docker.yml +- include_tasks: nodejs.yml diff --git a/roles/winroom/tasks/ST-63727.yml b/roles/winroom/tasks/ST-63727.yml new file mode 100644 index 0000000..5fa86f8 --- /dev/null +++ b/roles/winroom/tasks/ST-63727.yml @@ -0,0 +1,5 @@ +# Spletne tehnologije +# David.Jelenc@fri.uni-lj.si +# Windows, VS Code, XAMPP +- include_tasks: vscode.yml +- include_tasks: xampp.yml diff --git a/roles/winroom/tasks/SU-63519.yml b/roles/winroom/tasks/SU-63519.yml new file mode 100644 index 0000000..8eb82b1 --- /dev/null +++ b/roles/winroom/tasks/SU-63519.yml @@ -0,0 +1,4 @@ +# Strojno učenje +# matej.piculin@fri.uni-lj.si, Petar.Vracar@fri.uni-lj.si +# Windows, R, RStudio +- include_tasks: rstudio.yml diff --git a/roles/winroom/tasks/TINR-63740.yml b/roles/winroom/tasks/TINR-63740.yml new file mode 100644 index 0000000..c8663a7 --- /dev/null +++ b/roles/winroom/tasks/TINR-63740.yml @@ -0,0 +1,3 @@ +# Tehnologija iger in navidezna resničnost +# Bojan.Klemenc@fri.uni-lj.si +# macOS, Xcode diff --git a/roles/winroom/tasks/TIS-63216.yml b/roles/winroom/tasks/TIS-63216.yml new file mode 100644 index 0000000..1b05a8e --- /dev/null +++ b/roles/winroom/tasks/TIS-63216.yml @@ -0,0 +1,5 @@ +# Teorija informacij in sistemov +# Davor.Sluga@fri.uni-lj.si +# Windows, VS Code, Python 3 +- include_tasks: vscode.yml +- include_tasks: thonny.yml diff --git a/roles/winroom/tasks/TUP-63226.yml b/roles/winroom/tasks/TUP-63226.yml new file mode 100644 index 0000000..3239da9 --- /dev/null +++ b/roles/winroom/tasks/TUP-63226.yml @@ -0,0 +1,12 @@ +# Tehnologija upravljanja podatkov +# Luka.Sajn@fri.uni-lj.si +# Windows, Power designer 12.5, Java JDK, Python 3, dotnet6 SDK, Jupyter Notebook, Eclipse, MySql Workbench, MySQL ODBC Connector, Notepad++ +- include_tasks: eclipse.yml +- include_tasks: dotnet6.yml +- include_tasks: jupyter.yml +- include_tasks: jdk.yml +- include_tasks: powerdesigner.yml +- include_tasks: mysql_workbench.yml +- include_tasks: mysql-odbc-connector.yml +- include_tasks: notepad++.yml + diff --git a/roles/winroom/tasks/UI-63720.yml b/roles/winroom/tasks/UI-63720.yml new file mode 100644 index 0000000..3019f30 --- /dev/null +++ b/roles/winroom/tasks/UI-63720.yml @@ -0,0 +1,4 @@ +# Umetna inteligenca +# Petar.Vracar@fri.uni-lj.si +# Windows, R, RStudio +- include_tasks: rstudio.yml diff --git a/roles/winroom/tasks/UV-63721.yml b/roles/winroom/tasks/UV-63721.yml new file mode 100644 index 0000000..419849d --- /dev/null +++ b/roles/winroom/tasks/UV-63721.yml @@ -0,0 +1,8 @@ +# Uporabniški vmesniki +# Ales.Smrdel@fri.uni-lj.si +# Windows, GNU/Linux, Java JDK, IntelliJ IDEA, javafx, SceneBuilder, X11 development, Wayland development, gtk+ development, glade, python +- include_tasks: jdk.yml +- include_tasks: idea.yml +- include_tasks: javafx.yml +- include_tasks: gui_development.yml +- include_tasks: scenebuilder.yml diff --git a/roles/winroom/tasks/UZ-63267.yml b/roles/winroom/tasks/UZ-63267.yml new file mode 100644 index 0000000..ee2c984 --- /dev/null +++ b/roles/winroom/tasks/UZ-63267.yml @@ -0,0 +1,4 @@ +# Umetno zaznavanje +# jon.muhovic@fe.uni-lj.si +# Python3, Python 3 +- include_tasks: python3.yml diff --git a/roles/winroom/tasks/VN-63728.yml b/roles/winroom/tasks/VN-63728.yml new file mode 100644 index 0000000..3fb8d44 --- /dev/null +++ b/roles/winroom/tasks/VN-63728.yml @@ -0,0 +1,9 @@ +# Vhodno-izhodne naprave +# Robert.Rozman@fri.uni-lj.si +# Windows, Logisim Evolution, RAVINOR, WinIdea 9.12.256 (FRISMS kompatibilna), LTSpice + +- include_tasks: logisim.yml +- include_tasks: winidea-frisms.yml +- include_tasks: winidea.yml +- include_tasks: ltspice.yml + diff --git a/roles/winroom/tasks/VP-63775.yml b/roles/winroom/tasks/VP-63775.yml new file mode 100644 index 0000000..e7c34e3 --- /dev/null +++ b/roles/winroom/tasks/VP-63775.yml @@ -0,0 +1,13 @@ +# Varnost Podatkov +# david.jelenc@fri.uni-lj.si +# Python (in standardno pripadajoča šara jupyter lab) in IntelliJ IDEA PyCharm CE +# PyCharm +# Java (kar je bilo lani bo ok) in IntelliJ IDEA CE +# maven +# git +- include_tasks: git.yml +- include_tasks: maven.yml +- include_tasks: idea.yml +- include_tasks: jdk.yml +- include_tasks: jupyter.yml +- include_tasks: pycharm.yml diff --git a/roles/winroom/tasks/VPSA-63735.yml b/roles/winroom/tasks/VPSA-63735.yml new file mode 100644 index 0000000..ba8d41d --- /dev/null +++ b/roles/winroom/tasks/VPSA-63735.yml @@ -0,0 +1,5 @@ +# Vzporedni in porazdeljeni sistemi in algoritmi +# Davor.Sluga@fri.uni-lj.si, Rok.Cesnovar@fri.uni-lj.si +# Windows, VS Code, Build Tools for Visual Studio 2022 +- include_tasks: vscode.yml +- include_tasks: visual_studio.yml diff --git a/roles/winroom/tasks/VZR-63543.yml b/roles/winroom/tasks/VZR-63543.yml new file mode 100644 index 0000000..d847462 --- /dev/null +++ b/roles/winroom/tasks/VZR-63543.yml @@ -0,0 +1,4 @@ +# Visoko zmogljivo računanje +# Davor.Sluga@fri.uni-lj.si +# Windows, VS Code +- include_tasks: vscode.yml diff --git a/roles/winroom/tasks/adobe_cs.yml b/roles/winroom/tasks/adobe_cs.yml new file mode 100644 index 0000000..a033864 --- /dev/null +++ b/roles/winroom/tasks/adobe_cs.yml @@ -0,0 +1 @@ +# TODO ugotovi, kaj narediti z Adobe CS diff --git a/roles/winroom/tasks/all_classes.yml b/roles/winroom/tasks/all_classes.yml new file mode 100644 index 0000000..534b7af --- /dev/null +++ b/roles/winroom/tasks/all_classes.yml @@ -0,0 +1,56 @@ +- import_tasks: AAHRP-63263.yml +- import_tasks: APS1-63279.yml +- import_tasks: ARP1-63545C.yml +- import_tasks: BMO-63259.yml +- import_tasks: DF-63530.yml +- import_tasks: DN-63260.yml +- import_tasks: DPS-63744.yml +- import_tasks: DV-63718.yml +- import_tasks: EP-63249.yml +- import_tasks: FP-63507.yml +- import_tasks: GO-63715.yml +- import_tasks: IS-63714.yml +- import_tasks: IVZ-63521.yml +- import_tasks: KCR-63550.yml +- import_tasks: KPOV-63716.yml +- import_tasks: KRV-63528.yml +- import_tasks: MRO-63257.yml +- import_tasks: MV-63288.yml +- import_tasks: NDN-63729.yml +- import_tasks: NM-63522.yml +- import_tasks: NPMP-63512.yml +- import_tasks: NRG-63553.yml +- import_tasks: OBSS-63514.yml +- import_tasks: ODV-63204.yml +- import_tasks: OO-63271.yml +- import_tasks: OR-63717.yml +- import_tasks: OS-63709.yml +- import_tasks: OS-63741.yml +- import_tasks: OUI-63214.yml +- import_tasks: P2-63706.yml +- import_tasks: PA-63737.yml +- import_tasks: PB-63707.yml +- import_tasks: PB2-63713.yml +- import_tasks: PJC-63769.yml +- import_tasks: PPJ-63220.yml +- import_tasks: PS-63261.yml +- import_tasks: PSP-63287.yml +- import_tasks: PUI-63768.yml +- import_tasks: RA-63703.yml +- import_tasks: RGTI-63269.yml +- import_tasks: RIS-63252.yml +- import_tasks: RK-63209.yml +- import_tasks: RK-63708.yml +- import_tasks: RPOI-90066.yml +- import_tasks: RZP-63523.yml +- import_tasks: ST-63727.yml +- import_tasks: SU-63519.yml +- import_tasks: TINR-63740.yml +- import_tasks: TIS-63216.yml +- import_tasks: TUP-63226.yml +- import_tasks: UI-63720.yml +- import_tasks: UV-63721.yml +- import_tasks: UZ-63267.yml +- import_tasks: VN-63728.yml +- import_tasks: VPSA-63735.yml +- import_tasks: VZR-63543.yml diff --git a/roles/winroom/tasks/android_studio.yml b/roles/winroom/tasks/android_studio.yml new file mode 100644 index 0000000..6a85812 --- /dev/null +++ b/roles/winroom/tasks/android_studio.yml @@ -0,0 +1,76 @@ +- name: Set Android Studio version + set_fact: + sdk_path: C:\android-sdk + studio_version: "2021.3.1.16" + tools_version: "8512546_latest" + +- name: Check Android Studio tools + win_stat: + path: "{{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager.bat" + register: tools + +- when: not tools.stat.exists + block: + - name: Download Android Studio tools + win_get_url: + url: "https://dl.google.com/android/repository/commandlinetools-win-{{ tools_version }}.zip" + dest: C:\ + + - name: Extract Android Studio tools + win_unzip: + src: "C:\\commandlinetools-win-{{ tools_version }}.zip" + dest: "{{ sdk_path }}\\cmdline-tools" + delete_archive: yes + +- name: Accept Android SDK licenses + win_shell: sh -c "yes | /c/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager.bat --licenses" + +- name: Install Android SDK + win_shell: | + {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "build-tools;33.0.0" "cmdline-tools;latest" "emulator" "ndk-bundle" "ndk;25.1.8937393" "platform-tools" "platforms;android-33" "sources;android-33" "system-images;android-33;google_apis;arm64-v8a" "system-images;android-33;google_apis;x86_64" + +- name: Install Android Studio + win_package: + path: "https://redirector.gvt1.com/edgedl/android/studio/install/{{ studio_version }}/android-studio-{{ studio_version }}-windows.exe" + arguments: /S /AllUsers + expected_return_code: [0, 1223, 3010] + creates_path: "%ProgramFiles%\\Android\\Android Studio\\bin\\studio64.exe" + +- name: Create Android Studio data directory + win_file: + path: D:\.android + state: directory + +- name: Set Android Studio environment variables + win_environment: + level: machine + variables: + ANDROID_HOME: "{{ sdk_path }}" + ANDROID_PREFS_ROOT: D:\ + GRADLE_USER_HOME: D:\.gradle + +- name: Check HAXM install status + win_stat: + path: "%ProgramFiles%\\Intel\\HAXM" + register: file + +- when: not file.stat.exists + block: + - name: Download HAXM + win_get_url: + url: https://github.com/intel/haxm/releases/download/v7.7.1/haxm-windows_v7_7_1.zip + dest: C:\ + register: download + + - name: Unzip HAXM + win_unzip: + src: "{{ download.dest }}" + dest: C:\haxm + + - name: Install HAXM + win_command: C:\haxm\silent_install.bat + + - name: Remove temporaries + win_file: + path: C:\haxm + state: absent diff --git a/roles/winroom/tasks/arduino.yml b/roles/winroom/tasks/arduino.yml new file mode 100644 index 0000000..566f229 --- /dev/null +++ b/roles/winroom/tasks/arduino.yml @@ -0,0 +1,7 @@ +- name: Install Arduino IDE + win_package: + path: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.0.0_Windows_64bit.exe + arguments: /S /AllUsers + creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe" + +# TODO check if anything else is needed (esp8266com)? diff --git a/roles/winroom/tasks/audacity.yml b/roles/winroom/tasks/audacity.yml new file mode 100644 index 0000000..bd11fd6 --- /dev/null +++ b/roles/winroom/tasks/audacity.yml @@ -0,0 +1,3 @@ +- name: Install Audacity + win_chocolatey: + name: audacity diff --git a/roles/winroom/tasks/bayesfusion.yml b/roles/winroom/tasks/bayesfusion.yml new file mode 100644 index 0000000..4dfbd99 --- /dev/null +++ b/roles/winroom/tasks/bayesfusion.yml @@ -0,0 +1,5 @@ +- name: Install BayesFusion + win_package: + path: "{{ installers }}\\genie-academic-setup-4.0.1922-x86.exe" + arguments: /VerySilent + creates_path: "%ProgramFiles(x86)%\\GeNIe 4.0 Academic\\genie.exe" diff --git a/roles/winroom/tasks/blender.yml b/roles/winroom/tasks/blender.yml new file mode 100644 index 0000000..8985fd2 --- /dev/null +++ b/roles/winroom/tasks/blender.yml @@ -0,0 +1,3 @@ +- name: Install Blender + win_package: + path: https://ftp.nluug.nl/pub/graphics/blender/release/Blender3.3/blender-3.3.0-windows-x64.msi diff --git a/roles/winroom/tasks/c_development.yml b/roles/winroom/tasks/c_development.yml new file mode 100644 index 0000000..88cfb73 --- /dev/null +++ b/roles/winroom/tasks/c_development.yml @@ -0,0 +1,3 @@ +- name: Do not install C development tools + debug: + msg: "Do not install C development tools" diff --git a/roles/winroom/tasks/chrome.yml b/roles/winroom/tasks/chrome.yml new file mode 100644 index 0000000..221c6ce --- /dev/null +++ b/roles/winroom/tasks/chrome.yml @@ -0,0 +1,10 @@ +- name: Install Chrome + win_chocolatey: + name: googlechrome + +- name: Disable Chrome updates + win_regedit: + path: HKLM:\SOFTWARE\Policies\Google\Update + name: AutoUpdateCheckPeriodMinutes + type: dword + data: 0 diff --git a/roles/winroom/tasks/cmake.yml b/roles/winroom/tasks/cmake.yml new file mode 100644 index 0000000..a678bdf --- /dev/null +++ b/roles/winroom/tasks/cmake.yml @@ -0,0 +1,3 @@ +- name: Do not install cmake + debug: + msg: "Do not install cmake" diff --git a/roles/winroom/tasks/docker.yml b/roles/winroom/tasks/docker.yml new file mode 100644 index 0000000..4640904 --- /dev/null +++ b/roles/winroom/tasks/docker.yml @@ -0,0 +1 @@ +# TODO diff --git a/roles/winroom/tasks/dotnet6.yml b/roles/winroom/tasks/dotnet6.yml new file mode 100644 index 0000000..62e8167 --- /dev/null +++ b/roles/winroom/tasks/dotnet6.yml @@ -0,0 +1,3 @@ +- name: Install .NET 6 SDK + win_chocolatey: + name: dotnet-6.0-sdk diff --git a/roles/winroom/tasks/eclipse.yml b/roles/winroom/tasks/eclipse.yml new file mode 100644 index 0000000..064d5fa --- /dev/null +++ b/roles/winroom/tasks/eclipse.yml @@ -0,0 +1,14 @@ +- name: Set Eclipse version + set_fact: + target_version: "4.25" + +- name: Install Eclipse + win_chocolatey: + name: eclipse + version: "{{ target_version }}" + +- name: Set up default directories for Eclipse + win_lineinfile: + path: "%ProgramFiles%\\Eclipse {{ target_version }}\\eclipse\\eclipse.ini" + regexp: "osgi.instance.area.default" + line: "-Dosgi.instance.area.default=H:/Documents/eclipse-workspace" diff --git a/roles/winroom/tasks/emacs.yml b/roles/winroom/tasks/emacs.yml new file mode 100644 index 0000000..6d177a0 --- /dev/null +++ b/roles/winroom/tasks/emacs.yml @@ -0,0 +1,4 @@ +- name: Install Emacs + win_chocolatey: + name: emacs.install + state: present diff --git a/roles/winroom/tasks/firefox.yml b/roles/winroom/tasks/firefox.yml new file mode 100644 index 0000000..53987a9 --- /dev/null +++ b/roles/winroom/tasks/firefox.yml @@ -0,0 +1,26 @@ +- name: Install Firefox + win_chocolatey: + name: firefox +- name: Create Firefox policy directory + win_file: + dest: C:\Program Files\Mozilla Firefox\distribution + state: directory +- name: Set Firefox policies + copy: + dest: C:\Program Files\Mozilla Firefox\distribution\policies.json + content: | + { + "policies": { + "DisableAppUpdate": true, + "DisableSystemAddonUpdate": true, + "DisableTelemetry": true, + "UserMessaging": { + "WhatsNew": false, + "ExtensionRecommendations": false, + "FeatureRecommendations": false, + "UrlbarInterventions": false, + "SkipOnboarding": true, + "MoreFromMozilla": false + } + } + } diff --git a/roles/winroom/tasks/fri_base.yml b/roles/winroom/tasks/fri_base.yml new file mode 100644 index 0000000..5b3db8d --- /dev/null +++ b/roles/winroom/tasks/fri_base.yml @@ -0,0 +1,12 @@ +- include_tasks: 7zip.yml +- include_tasks: chrome.yml +- include_tasks: firefox.yml +- include_tasks: libreoffice.yml +- include_tasks: msys2.yml +- include_tasks: pycharm.yml # not required by anyone but used by everyone +- include_tasks: sublime-text.yml +- include_tasks: sumatrapdf.yml +- include_tasks: vlc.yml +- name: Set timezone + win_timezone: + timezone: Central Europe Standard Time diff --git a/roles/winroom/tasks/gcc-arm.yml b/roles/winroom/tasks/gcc-arm.yml new file mode 100644 index 0000000..a42f775 --- /dev/null +++ b/roles/winroom/tasks/gcc-arm.yml @@ -0,0 +1,3 @@ +- name: Do not install gcc for arm + debug: + msg: "Do not install gcc for arm" diff --git a/roles/winroom/tasks/gedit.yml b/roles/winroom/tasks/gedit.yml new file mode 100644 index 0000000..072e835 --- /dev/null +++ b/roles/winroom/tasks/gedit.yml @@ -0,0 +1,3 @@ +- name: Do not install GEdit + debug: + msg: "Do not install GEdit" diff --git a/roles/winroom/tasks/gimp.yml b/roles/winroom/tasks/gimp.yml new file mode 100644 index 0000000..fa361a0 --- /dev/null +++ b/roles/winroom/tasks/gimp.yml @@ -0,0 +1,3 @@ +- name: Install GIMP + win_chocolatey: + name: gimp diff --git a/roles/winroom/tasks/git.yml b/roles/winroom/tasks/git.yml new file mode 100644 index 0000000..b08c7c9 --- /dev/null +++ b/roles/winroom/tasks/git.yml @@ -0,0 +1,8 @@ +- name: Install git + win_chocolatey: + name: git.install + package_params: /GitAndUnixToolsOnPath + +- name: Install git-extensions + win_chocolatey: + name: gitextensions, kdiff3 diff --git a/roles/winroom/tasks/gns3.yml b/roles/winroom/tasks/gns3.yml new file mode 100644 index 0000000..2cc5ce3 --- /dev/null +++ b/roles/winroom/tasks/gns3.yml @@ -0,0 +1,4 @@ +- name: GNS3 na Windows ne deluje + debug: + msg: "GNS3 na Windows zaenkrat ne vklapljamo" + diff --git a/roles/winroom/tasks/golang.yml b/roles/winroom/tasks/golang.yml new file mode 100644 index 0000000..3065ec5 --- /dev/null +++ b/roles/winroom/tasks/golang.yml @@ -0,0 +1,3 @@ +- name: Install the GO programming language + win_chocolatey: + name: golang diff --git a/roles/winroom/tasks/gui_development.yml b/roles/winroom/tasks/gui_development.yml new file mode 100644 index 0000000..8276898 --- /dev/null +++ b/roles/winroom/tasks/gui_development.yml @@ -0,0 +1,3 @@ +- name: Do not install GUI devel tools + debug: + msg: "Do not install GUI development libraries and tools" diff --git a/roles/winroom/tasks/haskell.yml b/roles/winroom/tasks/haskell.yml new file mode 100644 index 0000000..da6988e --- /dev/null +++ b/roles/winroom/tasks/haskell.yml @@ -0,0 +1,25 @@ +- name: Check Haskell install status + win_stat: + path: C:\ghcup\bin\ghc.exe + register: file + +- when: not file.stat.exists + block: + - name: Download Haskell + win_get_url: + url: "https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1" + dest: 'C:\' + register: download + + - name: Install Haskell + win_command: powershell.exe {{ download.dest }} -InBash -ExistingMsys2Dir C:\msys64 + + - name: Add Haskell to PATH + win_path: + elements: + C:\ghcup\bin + + - name: Remove temporary files + win_file: + path: "{{ download.dest }}" + state: absent diff --git a/roles/winroom/tasks/idea.yml b/roles/winroom/tasks/idea.yml new file mode 100644 index 0000000..2c6cf1b --- /dev/null +++ b/roles/winroom/tasks/idea.yml @@ -0,0 +1,9 @@ +- name: Set IDEA version + set_fact: + target_version: "2023.2.1" + +- name: Install IDEA + win_package: + path: "https://download.jetbrains.com/idea/ideaIC-{{ target_version }}.exe" + arguments: /S + creates_path: "%ProgramFiles(x86)%\\JetBrains\\IntelliJ IDEA Community Edition {{ target_version }}\\bin\\idea64.exe" diff --git a/roles/winroom/tasks/inkscape.yml b/roles/winroom/tasks/inkscape.yml new file mode 100644 index 0000000..d8621f6 --- /dev/null +++ b/roles/winroom/tasks/inkscape.yml @@ -0,0 +1,3 @@ +- name: Install Inkscape + win_chocolatey: + name: inkscape diff --git a/roles/winroom/tasks/javafx.yml b/roles/winroom/tasks/javafx.yml new file mode 100644 index 0000000..9bc5d80 --- /dev/null +++ b/roles/winroom/tasks/javafx.yml @@ -0,0 +1,20 @@ +- name: Check javafx install + win_find: + paths: "C:\\Program Files\\Java" + patterns: ['javafx-sdk-*'] + file_type: directory + register: install + +- when: install.matched == 0 + block: + - name: Download javafx + win_get_url: + url: https://download2.gluonhq.com/openjfx/19/openjfx-19_windows-x64_bin-sdk.zip + dest: C:\ + register: download + + - name: Install javafx + win_unzip: + src: "{{ download.dest }}" + dest: "%ProgramFiles%\\Java" + delete_archive: yes diff --git a/roles/winroom/tasks/jdk.yml b/roles/winroom/tasks/jdk.yml new file mode 100644 index 0000000..c3e3dc6 --- /dev/null +++ b/roles/winroom/tasks/jdk.yml @@ -0,0 +1,29 @@ +- name: Install Oracle JDK + win_package: + path: https://download.oracle.com/java/20/latest/jdk-20_windows-x64_bin.msi + arguments: INSTALLLEVEL=3 + +- name: Find Java version + win_reg_stat: + path: HKLM:\SOFTWARE\JavaSoft\JDK + name: CurrentVersion + register: reg + +- name: Find Java home + win_reg_stat: + path: "HKLM:\\SOFTWARE\\JavaSoft\\JDK\\{{ reg['value'] }}" + name: JavaHome + register: reg + +- name: Set JAVA_HOME + win_environment: + name: JAVA_HOME + value: "{{ reg['raw_value'] }}" + level: machine + +- name: Disable Java updates + win_regedit: + path: HKLM:\SOFTWARE\WOW6432Node\JavaSoft\Java Update\Policy + name: EnableJavaUpdate + type: dword + data: 0 diff --git a/roles/winroom/tasks/jlink.yml b/roles/winroom/tasks/jlink.yml new file mode 100644 index 0000000..8b07e12 --- /dev/null +++ b/roles/winroom/tasks/jlink.yml @@ -0,0 +1,4 @@ +- name: Install Segger JLink + win_package: + path: https://www.segger.com/downloads/jlink/JLink_Windows_V792d_x86_64.exe + arguments: /S diff --git a/roles/winroom/tasks/julia.yml b/roles/winroom/tasks/julia.yml new file mode 100644 index 0000000..ed2164a --- /dev/null +++ b/roles/winroom/tasks/julia.yml @@ -0,0 +1,4 @@ +- name: Install Julia + win_package: + path: https://julialang-s3.julialang.org/bin/winnt/x64/1.9/julia-1.9.3-win64.exe + arguments: /VerySilent /AllUsers diff --git a/roles/winroom/tasks/jupyter.yml b/roles/winroom/tasks/jupyter.yml new file mode 100644 index 0000000..7a3001d --- /dev/null +++ b/roles/winroom/tasks/jupyter.yml @@ -0,0 +1,8 @@ +- name: Install Jupyter Notebook + win_command: pip install jupyter jupyterlab + +- name: Create Jupyter Notebook shortcut + win_shortcut: + dest: "C:\\Users\\Public\\Desktop\\Jupyter Notebook.lnk" + src: cmd.exe + arguments: /k jupyter notebook diff --git a/roles/winroom/tasks/libreoffice.yml b/roles/winroom/tasks/libreoffice.yml new file mode 100644 index 0000000..0a9b610 --- /dev/null +++ b/roles/winroom/tasks/libreoffice.yml @@ -0,0 +1,3 @@ +- name: Install LibreOffice + win_chocolatey: + name: libreoffice diff --git a/roles/winroom/tasks/logisim.yml b/roles/winroom/tasks/logisim.yml new file mode 100644 index 0000000..fa5ce2e --- /dev/null +++ b/roles/winroom/tasks/logisim.yml @@ -0,0 +1,19 @@ +- name: Create Logisim directory + win_file: + path: "%ProgramFiles%\\logisim" + state: directory + +- name: Install Logisim + win_get_url: + url: https://sourceforge.net/projects/circuit/files/2.7.x/2.7.1/logisim-generic-2.7.1.jar + dest: "%ProgramFiles%\\logisim\\logisim.jar" + +- name: Create Logisim shortcut + win_shortcut: + src: "%ProgramFiles%\\logisim\\logisim.jar" + dest: "C:\\Users\\Public\\Desktop\\Logisim.lnk" + +- name: Install Logisim-Evolution + win_package: + path: https://github.com/logisim-evolution/logisim-evolution/releases/download/v3.7.2/logisim-evolution-3.7.2.msi + product_id: b30fa00c-da3f-3769-aaea-6571cacf5c30 diff --git a/roles/winroom/tasks/ltspice.yml b/roles/winroom/tasks/ltspice.yml new file mode 100644 index 0000000..c6a8e9e --- /dev/null +++ b/roles/winroom/tasks/ltspice.yml @@ -0,0 +1 @@ +# TODO https://ltspice.analog.com/software/LTspice64.exe diff --git a/roles/winroom/tasks/main.yml b/roles/winroom/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/winroom/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/winroom/tasks/matlab.yml b/roles/winroom/tasks/matlab.yml new file mode 100644 index 0000000..37b0734 --- /dev/null +++ b/roles/winroom/tasks/matlab.yml @@ -0,0 +1,26 @@ +- name: Set Matlab version + set_fact: + target_version: "r2022b" + +- name: Mount Matlab ISO + win_disk_image: + image_path: "{{ installers }}\\matlab\\matlab-{{ target_version }}.iso" + state: present + register: disk_image + +- name: Install Matlab + win_package: + path: "{{ disk_image.mount_paths[0] }}\\setup.exe" + arguments: -inputFile "{{ installers }}\\matlab\\installer_input.txt" + +- name: Unmount Matlab ISO + win_disk_image: + image_path: "{{ installers }}\\matlab\\matlab-{{ target_version }}.iso" + state: absent + +# TODO MATLAB throws license error -83 when run +- name: Install Matlab license + win_copy: + dest: "%ProgramFiles%\\MATLAB\\{{ target_version }}\\licenses\\network.lic" + src: "{{ installers }}\\matlab\\network.lic" + remote_src: yes diff --git a/roles/winroom/tasks/maven.yml b/roles/winroom/tasks/maven.yml new file mode 100644 index 0000000..cff5d45 --- /dev/null +++ b/roles/winroom/tasks/maven.yml @@ -0,0 +1,4 @@ +- name: Install maven + apt: + name: maven + state: latest diff --git a/roles/winroom/tasks/minecraft-education.yml b/roles/winroom/tasks/minecraft-education.yml new file mode 100644 index 0000000..92b0dc3 --- /dev/null +++ b/roles/winroom/tasks/minecraft-education.yml @@ -0,0 +1,3 @@ +- name: Install Minecraft Education + win_chocolatey: + name: minecraft-education diff --git a/roles/winroom/tasks/msys2.yml b/roles/winroom/tasks/msys2.yml new file mode 100644 index 0000000..0e22935 --- /dev/null +++ b/roles/winroom/tasks/msys2.yml @@ -0,0 +1,41 @@ +- name: Check msys2 install status + win_stat: + path: C:\msys64 + register: file + +- when: not file.stat.exists + block: + - name: Download msys2 + win_get_url: + url: "https://github.com/msys2/msys2-installer/releases/download/2022-09-04/msys2-x86_64-20220904.exe" + dest: 'C:\' + register: download + + - name: Install msys2 + win_package: + path: "{{ download.dest }}" + arguments: install --confirm-command --accept-messages --root C:\msys64 + + - name: Remove temporary files + win_file: + path: "{{ download.dest }}" + state: absent + + - name: Create desktop shortcut + win_shortcut: + src: "C:\\msys64\\msys2.exe" + dest: "C:\\Users\\Public\\Desktop\\msys2.lnk" + + - name: Update msys2 + win_command: C:\\msys64\\usr\\bin\\pacman -Syu --noconfirm + + - name: Install essentials + win_command: C:\\msys64\\usr\\bin\\pacman -S --noconfirm {{ item }} + loop: + - gcc + - git + - make + - nano + - rlwrap + - rsync + - vim diff --git a/roles/winroom/tasks/mysql-odbc-connector.yml b/roles/winroom/tasks/mysql-odbc-connector.yml new file mode 100644 index 0000000..f44a194 --- /dev/null +++ b/roles/winroom/tasks/mysql-odbc-connector.yml @@ -0,0 +1,12 @@ +- name: Install MySQL ODBC connector (32-bit) + win_package: + path: https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.33-win32.msi + # product_id: "8f52ac06-953a-49fc-95d9-58497892fa21" + product_id: "9F326F09-E926-444B-86E9-1BEA240886A2" + +- name: Install MySQL ODBC connector (64-bit) + win_package: + path: https://dev.mysql.com/get/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.33-winx64.msi + # product_id: "a02f5ad7-2744-4911-a102-8253913ca59c" + product_id: "9AC93A88-9070-47B0-9EFC-DDA915EF22BA" + diff --git a/roles/winroom/tasks/mysql_workbench.yml b/roles/winroom/tasks/mysql_workbench.yml new file mode 100644 index 0000000..221ebab --- /dev/null +++ b/roles/winroom/tasks/mysql_workbench.yml @@ -0,0 +1,3 @@ +- name: Install MySQL workbench + win_package: + path: "https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-8.0.34-winx64.msi" diff --git a/roles/winroom/tasks/netbeans.yml b/roles/winroom/tasks/netbeans.yml new file mode 100644 index 0000000..586bc69 --- /dev/null +++ b/roles/winroom/tasks/netbeans.yml @@ -0,0 +1,9 @@ +- name: Set Netbeans version + set_fact: + target_version: "15" + +- name: Install Netbeans + win_package: + path: "https://dlcdn.apache.org/netbeans/netbeans-installers/{{ target_version }}/Apache-NetBeans-{{ target_version }}-bin-windows-x64.exe" + arguments: --silent + creates_path: "%ProgramFiles%\\NetBeans-{{ target_version }}\\netbeans\\bin\\netbeans.exe" diff --git a/roles/winroom/tasks/ninja.yml b/roles/winroom/tasks/ninja.yml new file mode 100644 index 0000000..a1d2090 --- /dev/null +++ b/roles/winroom/tasks/ninja.yml @@ -0,0 +1,28 @@ +- name: Install Ninja + debug: + msg: "Do not install Ninja" + +- name: Check Ninja install status + win_stat: + path: "%ProgramFiles%\\Ninja-build\\ninja.exe" + register: file + +- when: not file.stat.exists + block: + - name: Download Ninja-build + win_get_url: + url: https://github.com/ninja-build/ninja/releases/download/v1.11.1/ninja-linux.zip + dest: 'C:\' + register: download + + - name: Create Ninja-build directory + win_file: + path: "%ProgramFiles%\\Ninja-build" + state: directory + + - name: Install Ninja-build + win_unzip: + src: "{{ download.dest }}" + dest: "%ProgramFiles%\\Ninja-build" + delete_archive: yes + diff --git a/roles/winroom/tasks/nodejs.yml b/roles/winroom/tasks/nodejs.yml new file mode 100644 index 0000000..f94b808 --- /dev/null +++ b/roles/winroom/tasks/nodejs.yml @@ -0,0 +1,14 @@ +- name: Add NodeJS repo key + apt_key: + url: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key + keyring: /etc/apt/keyrings/nodesource.gpg + +- name: Add NodeJS repo url + apt_repository: + repo: "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" + +- name: Install NodeJS + apt: + name: nodejs + state: latest + diff --git a/roles/winroom/tasks/notepad++.yml b/roles/winroom/tasks/notepad++.yml new file mode 100644 index 0000000..ac1378d --- /dev/null +++ b/roles/winroom/tasks/notepad++.yml @@ -0,0 +1,4 @@ +# TODO disable update check +- name: Install Notepad++ + win_chocolatey: + name: notepadplusplus diff --git a/roles/winroom/tasks/ocaml.yml b/roles/winroom/tasks/ocaml.yml new file mode 100644 index 0000000..fad0638 --- /dev/null +++ b/roles/winroom/tasks/ocaml.yml @@ -0,0 +1,3 @@ +- name: Do not install OCaml + debug: + msg: "Do not install OCaml" diff --git a/roles/winroom/tasks/octave.yml b/roles/winroom/tasks/octave.yml new file mode 100644 index 0000000..cf4f93c --- /dev/null +++ b/roles/winroom/tasks/octave.yml @@ -0,0 +1,10 @@ +# chocolatey package is broken +- name: Set Octave version + set_fact: + target_version: "7.2.0" + +- name: Install Octave + win_package: + path: https://ftpmirror.gnu.org/octave/windows/octave-{{ target_version }}-w64-installer.exe + arguments: /S /AllUsers + creates_path: C:\Program Files\GNU Octave\Octave-{{ target_version }} diff --git a/roles/winroom/tasks/omnetpp.yml b/roles/winroom/tasks/omnetpp.yml new file mode 100644 index 0000000..05d30b5 --- /dev/null +++ b/roles/winroom/tasks/omnetpp.yml @@ -0,0 +1,47 @@ +- name: Set OMNet++ version + set_fact: + target_version: "6.0.1" + target_dir: "C:\\OMNeT++" + +- name: Check OMNet++ install status + win_stat: + path: "{{ target_dir }}" + register: file + +- when: not file.stat.exists + block: + - name: Download OMNet++ + win_get_url: + url: "https://github.com/omnetpp/omnetpp/releases/download/omnetpp-{{ target_version }}/omnetpp-{{ target_version }}-windows-x86_64.zip" + dest: C:\ + register: download + + - name: Unzip OMNet++ + win_unzip: + src: "{{ download.dest }}" + dest: C:\ + delete_archive: yes + + - name: Move OMNet++ to final location + win_command: cmd.exe /c move "C:\\omnetpp-{{ target_version }}" "{{ target_dir }}" + + - name: Create OMNet++ compile script + win_copy: + src: "{{ target_dir }}\\mingwenv.cmd" + dest: "{{ target_dir }}\\mingwenv-install.cmd" + remote_src: yes + + - name: Fix OMNet++ compile script + win_lineinfile: + path: "{{ target_dir }}\\mingwenv-install.cmd" + insertbefore: "rem Open the MinGW" + line: call "%HOME%\\tools\\win32.x86_64\\msys2_shell.cmd" -mingw64 -c "./configure && make -j4" & exit + + - name: Compile OMNet++ + win_command: cmd.exe /c "{{ target_dir }}\\mingwenv-install.cmd" + + - name: Copy OMNet++ shortcut + win_copy: + src: "{{ target_dir }}\\OMNeT++ {{ target_version }} IDE.lnk" + dest: "C:\\Users\\Public\\Desktop" + remote_src: yes diff --git a/roles/winroom/tasks/openssl.yml b/roles/winroom/tasks/openssl.yml new file mode 100644 index 0000000..9687d1b --- /dev/null +++ b/roles/winroom/tasks/openssl.yml @@ -0,0 +1,4 @@ +# We have it at least in git and msys2 but what the hell. +- name: Install OpenSSL + win_chocolatey: + name: openssl diff --git a/roles/winroom/tasks/orange.yml b/roles/winroom/tasks/orange.yml new file mode 100644 index 0000000..7da92bf --- /dev/null +++ b/roles/winroom/tasks/orange.yml @@ -0,0 +1,7 @@ +- name: Install Orange + win_package: + path: https://download.biolab.si/download/files/Orange3-3.32.0-Miniconda-x86_64.exe + arguments: /S /AllUsers + creates_path: C:\Program Files\Orange\python.exe + creates_version: 3.8.8150.1013 + diff --git a/roles/winroom/tasks/pandas.yml b/roles/winroom/tasks/pandas.yml new file mode 100644 index 0000000..7e5fc51 --- /dev/null +++ b/roles/winroom/tasks/pandas.yml @@ -0,0 +1,2 @@ +- name: Install pandas + win_command: pip install pandas diff --git a/roles/winroom/tasks/pelles-c.yml b/roles/winroom/tasks/pelles-c.yml new file mode 100644 index 0000000..cc66545 --- /dev/null +++ b/roles/winroom/tasks/pelles-c.yml @@ -0,0 +1,30 @@ +- name: Set PellesC version + set_fact: + target_version: "11.00" + target_checksum: "a8ae79f0e340e4c0cec0869dd72fcd875496acc470174aed8eb377eab8bbce96" + +- name: Check PellesC install status + win_stat: + path: C:\Program Files\PellesC\Bin\poide.exe + register: file + +- when: not file.stat.exists + block: + # win_package fails to download for some reason + - name: Download PellesC + win_get_url: + url: http://www.smorgasbordet.com/pellesc/{{ target_version | replace('.', '') }}/setup.exe + checksum_algorithm: sha256 + checksum: "{{ target_checksum }}" + dest: 'C:\' + register: download + + - name: Install PellesC + win_package: + path: "{{ download.dest }}" + arguments: /S + + - name: Remove temporary files + win_file: + path: "{{ download.dest }}" + state: absent diff --git a/roles/winroom/tasks/powerdesigner.yml b/roles/winroom/tasks/powerdesigner.yml new file mode 100644 index 0000000..3afde4e --- /dev/null +++ b/roles/winroom/tasks/powerdesigner.yml @@ -0,0 +1 @@ +# TODO Which one? diff --git a/roles/winroom/tasks/processing.yml b/roles/winroom/tasks/processing.yml new file mode 100644 index 0000000..ba4555f --- /dev/null +++ b/roles/winroom/tasks/processing.yml @@ -0,0 +1,51 @@ +- name: Set Processing version + set_fact: + target_version: 4.0.1 + target_build: 1286 + +- name: Check Processing install status + win_stat: + path: C:\Program Files\Processing\lib\version.txt + register: file + +- name: Check Processing version + slurp: + src: C:\Program Files\Processing\lib\version.txt + register: version + when: file.stat.exists + +- when: not file.stat.exists or ((version.content | b64decode) != target_version) + block: + - name: Make Processing directory + win_file: + path: C:\Program Files\Processing + state: directory + - name: Download Processing + win_get_url: + dest: 'C:\Program Files\Processing\processing.zip' + url: https://github.com/processing/processing4/releases/download/processing-{{ target_build }}-{{ target_version }}/processing-{{ target_version }}-windows-x64.zip + - name: Unzip Processing + win_unzip: + dest: 'C:\Program Files\Processing' + src: 'C:\Program Files\Processing\processing.zip' + - name: Install Processing + win_copy: + dest: C:\Program Files\Processing\ + src: 'C:\Program Files\Processing\processing-{{ target_version }}\' + remote_src: yes + - name: Disable telemetry + win_lineinfile: + path: C:\Program Files\Processing\lib\defaults.txt + regexp: 'update.check' + line: 'update.check = false' + - name: Create Processing shortcut + win_shortcut: + src: "%ProgramFiles%\\Processing\\processing.exe" + dest: "C:\\Users\\Public\\Desktop\\Processing.lnk" + - name: Remove temporary files + win_file: + path: C:\Program Files\Processing\{{ item }} + state: absent + loop: + - processing.zip + - processing-{{ target_version }} diff --git a/roles/winroom/tasks/projectlibre.yml b/roles/winroom/tasks/projectlibre.yml new file mode 100644 index 0000000..1e6e06d --- /dev/null +++ b/roles/winroom/tasks/projectlibre.yml @@ -0,0 +1,4 @@ +- name: Install ProjectLibre + win_package: + path: "https://sourceforge.net/projects/projectlibre/files/ProjectLibre/1.9.3/projectlibre-1.9.3.exe" + arguments: /VerySilent diff --git a/roles/winroom/tasks/pycharm.yml b/roles/winroom/tasks/pycharm.yml new file mode 100644 index 0000000..46dbff1 --- /dev/null +++ b/roles/winroom/tasks/pycharm.yml @@ -0,0 +1,10 @@ +- name: Set PyCharm version + set_fact: + target_version: "2023.2.1" + +- name: Install PyCharm + win_chocolatey: + name: pycharm-community + version: "{{ target_version }}" + +# TODO set default project directory to H:\something diff --git a/roles/winroom/tasks/pyodbc.yml b/roles/winroom/tasks/pyodbc.yml new file mode 100644 index 0000000..70e0fb8 --- /dev/null +++ b/roles/winroom/tasks/pyodbc.yml @@ -0,0 +1,2 @@ +- name: Install pyodbc + win_command: pip install pyodbc diff --git a/roles/winroom/tasks/python3.yml b/roles/winroom/tasks/python3.yml new file mode 100644 index 0000000..60a44b2 --- /dev/null +++ b/roles/winroom/tasks/python3.yml @@ -0,0 +1,3 @@ +- name: Install Python + win_chocolatey: + name: python diff --git a/roles/winroom/tasks/pytorch.yml b/roles/winroom/tasks/pytorch.yml new file mode 100644 index 0000000..992b04e --- /dev/null +++ b/roles/winroom/tasks/pytorch.yml @@ -0,0 +1,8 @@ +- name: Install pytorch + apt: + name: + - python3-torch + - python3-skorch + - python3-torch-ignite + state: latest + diff --git a/roles/winroom/tasks/qcadesigner-e.yml b/roles/winroom/tasks/qcadesigner-e.yml new file mode 100644 index 0000000..31a1cd2 --- /dev/null +++ b/roles/winroom/tasks/qcadesigner-e.yml @@ -0,0 +1,9 @@ +- name: Install GTK+ + win_package: + path: https://github.com/FSillT/QCADesigner-E/raw/master/Windows/gtk2-runtime-2.24.10-2012-10-10-ash.exe + arguments: /S + +- name: Install QCADesigner-E + win_package: + path: https://github.com/FSillT/QCADesigner-E/raw/master/Windows/QCADesignerE-2.2-setup.exe + arguments: /VerySilent diff --git a/roles/winroom/tasks/racket.yml b/roles/winroom/tasks/racket.yml new file mode 100644 index 0000000..b49e499 --- /dev/null +++ b/roles/winroom/tasks/racket.yml @@ -0,0 +1,3 @@ +- name: Install Racket + win_chocolatey: + name: racket diff --git a/roles/winroom/tasks/rlwrap.yml b/roles/winroom/tasks/rlwrap.yml new file mode 100644 index 0000000..0e64e55 --- /dev/null +++ b/roles/winroom/tasks/rlwrap.yml @@ -0,0 +1,3 @@ +- name: Do not install rlwrap + debug: + msg: "Do not install rlwrap" diff --git a/roles/winroom/tasks/rstudio.yml b/roles/winroom/tasks/rstudio.yml new file mode 100644 index 0000000..59722b2 --- /dev/null +++ b/roles/winroom/tasks/rstudio.yml @@ -0,0 +1,85 @@ +- name: Install R + win_chocolatey: + name: r.project + package_params: /AddToPath + +- name: Find R directory + win_find: + paths: C:\Program Files\R + patterns: ['R-*'] + file_type: directory + register: base + +- name: Add R to path + win_path: + elements: + - "{{ base.files[0].path }}\\bin" + +- name: Find installed R libraries + win_find: + paths: "{{ base.files[0].path }}\\library" + file_type: directory + register: libs + +- name: Install R packages + win_command: Rscript - + args: + stdin: install.packages(c("{{ item }}"), repos = "http://cran.rstudio.com") + when: item not in (libs.files|map(attribute='filename')) + loop: + - CORElearn + - DEoptim + - DEoptimR + - GenSA + - MASS + - NMF + - RSNNS + - Radviz + - adabag + - aplpack + - arules + - arulesViz + - bnlearn + - caret + - class + - cluster + - e1071 + - graphics + - igraph + - ipred + - keras + - kernlab + - kknn + - lattice + - lpSolveAPI + - metaheuristicOpt + - neuralnet + - nnet + - quadprog + - randomForest + - reshape2 + - rpart + - rpart.plot + - smotefamily + - tabuSearch + - tidyverse + - viridisLite + +- name: Install RStudio + win_chocolatey: + name: r.studio + +- name: Create configuration directory + win_file: + path: "%PROGRAMDATA%\\RStudio" + state: directory + +- name: Disable crash reporting + win_copy: + dest: "%PROGRAMDATA%\\RStudio\\crash-handler.conf" + content: crash-handling-enabled=0 + +- name: Disable update notifications + win_copy: + dest: "%PROGRAMDATA%\\RStudio\\rstudio-prefs.json" + content: { "check_for_updates": false } diff --git a/roles/winroom/tasks/sagemath.yml b/roles/winroom/tasks/sagemath.yml new file mode 100644 index 0000000..4640904 --- /dev/null +++ b/roles/winroom/tasks/sagemath.yml @@ -0,0 +1 @@ +# TODO diff --git a/roles/winroom/tasks/scenebuilder.yml b/roles/winroom/tasks/scenebuilder.yml new file mode 100644 index 0000000..293c724 --- /dev/null +++ b/roles/winroom/tasks/scenebuilder.yml @@ -0,0 +1,4 @@ +- name: Install SceneBuilder + win_package: + path: https://download2.gluonhq.com/scenebuilder/18.0.0/install/win/SceneBuilder-18.0.0.msi + arguments: INSTALLDIR="C:\Program Files\SceneBuilder" ALLUSERS=1 diff --git a/roles/winroom/tasks/scipy.yml b/roles/winroom/tasks/scipy.yml new file mode 100644 index 0000000..df18069 --- /dev/null +++ b/roles/winroom/tasks/scipy.yml @@ -0,0 +1,7 @@ +- name: Install python3-scipy, scikit-learn + apt: + name: + - python3-scipy + - python3-sklearn + state: latest + diff --git a/roles/winroom/tasks/settings.yml b/roles/winroom/tasks/settings.yml new file mode 100644 index 0000000..e6b936d --- /dev/null +++ b/roles/winroom/tasks/settings.yml @@ -0,0 +1,3 @@ +- name: Set timezone + win_timezone: + timezone: Central Europe Standard Time diff --git a/roles/winroom/tasks/sifive.yml b/roles/winroom/tasks/sifive.yml new file mode 100644 index 0000000..0a887bd --- /dev/null +++ b/roles/winroom/tasks/sifive.yml @@ -0,0 +1,4 @@ +# SiFive je bil nekoc prosto dostopen. +# Sedaj hocejo, da se registriras... da prides do kode +# Potem pa ti ne dajo izvorne kode. +# ucilnice_install/2022-23/ORS_VGRS_Bulic diff --git a/roles/winroom/tasks/smlnj.yml b/roles/winroom/tasks/smlnj.yml new file mode 100644 index 0000000..3de06e4 --- /dev/null +++ b/roles/winroom/tasks/smlnj.yml @@ -0,0 +1,8 @@ +- name: Set SML/NJ + set_fact: + target_version: "110.99.3" + +- name: Install SML/NJ + win_package: + path: "https://smlnj.org/dist/working/{{ target_version }}/smlnj-{{ target_version }}.msi" + creates_path: "%ProgramFiles(x86)%\\SMLNJ\\bin\\sml.bat" diff --git a/roles/winroom/tasks/statsmodels.yml b/roles/winroom/tasks/statsmodels.yml new file mode 100644 index 0000000..ff72e37 --- /dev/null +++ b/roles/winroom/tasks/statsmodels.yml @@ -0,0 +1,6 @@ +- name: Install statsmodels + apt: + name: + - python3-statsmodels + state: latest + diff --git a/roles/winroom/tasks/stm32cube.yml b/roles/winroom/tasks/stm32cube.yml new file mode 100644 index 0000000..15f430f --- /dev/null +++ b/roles/winroom/tasks/stm32cube.yml @@ -0,0 +1,23 @@ +- name: Check WinIDEA install status + win_stat: + path: C:\iSYSTEM\winIDEA9\winIDEA.exe + register: file + +- when: not file.stat.exists + block: + - name: Install CubeIDE + win_package: + path: "D:\\RAVINOR\\st-stm32cubeide_1.10.1_12716_20220707_0928_x86_64.exe" + arguments: /S + + - name: Set CubeIDE default workspace + win_lineinfile: + path: C:\ST\STM32CubeIDE_1.10.1\STM32CubeIDE\stm32cubeide.ini + regexp: "osgi.instance.area.default" + line: "-Dosgi.instance.area.default=D:/RAVINOR/CubeIDE_Workspace" + + # Replace -installIU... with -list to get available packages. + - name: Install QEMU + win_command: stm32cubeidec.exe -application org.eclipse.equinox.p2.director -nosplash -repository https://download.eclipse.org/embed-cdt/updates/v6/ -installIU org.eclipse.embedcdt.debug.gdbjtag.qemu.feature.group + args: + chdir: C:\ST\STM32CubeIDE_1.10.1\STM32CubeIDE diff --git a/roles/winroom/tasks/sublime-text.yml b/roles/winroom/tasks/sublime-text.yml new file mode 100644 index 0000000..5ab7212 --- /dev/null +++ b/roles/winroom/tasks/sublime-text.yml @@ -0,0 +1,4 @@ +- name: Install Sublime Text + win_chocolatey: + name: sublimetext4 + state: present diff --git a/roles/winroom/tasks/sumatrapdf.yml b/roles/winroom/tasks/sumatrapdf.yml new file mode 100644 index 0000000..25b81d3 --- /dev/null +++ b/roles/winroom/tasks/sumatrapdf.yml @@ -0,0 +1,3 @@ +- name: Install SumatraPDF + win_chocolatey: + name: sumatrapdf diff --git a/roles/winroom/tasks/swi-prolog.yml b/roles/winroom/tasks/swi-prolog.yml new file mode 100644 index 0000000..d7fbd07 --- /dev/null +++ b/roles/winroom/tasks/swi-prolog.yml @@ -0,0 +1,3 @@ +- name: Install SWI-Prolog + win_chocolatey: + name: swi-prolog diff --git a/roles/winroom/tasks/tensorflow.yml b/roles/winroom/tasks/tensorflow.yml new file mode 100644 index 0000000..e7cb907 --- /dev/null +++ b/roles/winroom/tasks/tensorflow.yml @@ -0,0 +1,4 @@ +- name: Install tensorflow + pip: + executable: pip3 + name: tensorflow diff --git a/roles/winroom/tasks/thonny.yml b/roles/winroom/tasks/thonny.yml new file mode 100644 index 0000000..6a14128 --- /dev/null +++ b/roles/winroom/tasks/thonny.yml @@ -0,0 +1,27 @@ +- name: Set Thonny version + set_fact: + target_version: 4.0.1 + +- name: Check Thonny install status + win_stat: + path: C:\Program Files (x86)\Thonny\thonny.exe + register: file + +- when: not file.stat.exists + block: + # win_package fails to download for some reason + - name: Download Thonny + win_get_url: + url: https://github.com/thonny/thonny/releases/download/v{{ target_version }}/thonny-{{ target_version }}.exe + dest: 'C:\' + register: download + + - name: Install Thonny + win_package: + path: "{{ download.dest }}" + arguments: /Verysilent /AllUsers + + - name: Remove temporary files + win_file: + path: "{{ download.dest }}" + state: absent diff --git a/roles/winroom/tasks/unity.yml b/roles/winroom/tasks/unity.yml new file mode 100644 index 0000000..a73fcde --- /dev/null +++ b/roles/winroom/tasks/unity.yml @@ -0,0 +1,7 @@ +- name: Install Unity + win_chocolatey: + name: unity + +# Don’t install Unity Hub because it wants a login when run. + +# TODO Figure out license stuff. diff --git a/roles/winroom/tasks/virtualbox.yml b/roles/winroom/tasks/virtualbox.yml new file mode 100644 index 0000000..3c2fd69 --- /dev/null +++ b/roles/winroom/tasks/virtualbox.yml @@ -0,0 +1,4 @@ +- name: Install Virtualbox + win_chocolatey: + name: virtualbox + state: present diff --git a/roles/winroom/tasks/visual2.yml b/roles/winroom/tasks/visual2.yml new file mode 100644 index 0000000..df47755 --- /dev/null +++ b/roles/winroom/tasks/visual2.yml @@ -0,0 +1,32 @@ +- name: Set Visual2 version + set_fact: + target_version: "1.06.10" + +- name: Check Visual2 install status + win_stat: + path: "%ProgramFiles%\\VisUAL2\\VisUAL2.exe" + register: file + +- when: not file.stat.exists + block: + - name: Download Visual2 + win_get_url: + url: https://github.com/tomcl/V2releases/releases/download/{{ target_version }}/visual2-win32-x64.zip + dest: 'C:\' + register: download + + - name: Create Visual2 directory + win_file: + path: "%ProgramFiles%\\VisUAL2" + state: directory + + - name: Install Visual2 + win_unzip: + src: "{{ download.dest }}" + dest: "%ProgramFiles%\\VisUAL2" + delete_archive: yes + + - name: Create Visual2 shortcut + win_shortcut: + src: "%ProgramFiles%\\Visual2\\VisUAL2.exe" + dest: "C:\\Users\\Public\\Desktop\\VisUAL2.lnk" diff --git a/roles/winroom/tasks/visual_studio.yml b/roles/winroom/tasks/visual_studio.yml new file mode 100644 index 0000000..27bcd8a --- /dev/null +++ b/roles/winroom/tasks/visual_studio.yml @@ -0,0 +1,3 @@ +- name: Install Visual Studio 2022 Build Tools + win_chocolatey: + name: visualstudio2022buildtools diff --git a/roles/winroom/tasks/vivado.yml b/roles/winroom/tasks/vivado.yml new file mode 100644 index 0000000..4640904 --- /dev/null +++ b/roles/winroom/tasks/vivado.yml @@ -0,0 +1 @@ +# TODO diff --git a/roles/winroom/tasks/vlc.yml b/roles/winroom/tasks/vlc.yml new file mode 100644 index 0000000..a3ba667 --- /dev/null +++ b/roles/winroom/tasks/vlc.yml @@ -0,0 +1,3 @@ +- name: Install VLC + win_chocolatey: + name: vlc diff --git a/roles/winroom/tasks/vmware_player.yml b/roles/winroom/tasks/vmware_player.yml new file mode 100644 index 0000000..eb93833 --- /dev/null +++ b/roles/winroom/tasks/vmware_player.yml @@ -0,0 +1,3 @@ +- name: Install VMware Player + win_chocolatey: + name: vmware-workstation-player diff --git a/roles/winroom/tasks/vscode.yml b/roles/winroom/tasks/vscode.yml new file mode 100644 index 0000000..6a7a345 --- /dev/null +++ b/roles/winroom/tasks/vscode.yml @@ -0,0 +1,20 @@ +- name: Install VS Code + win_chocolatey: + name: vscode + +- name: Add firewall rule for VS Code + win_firewall_rule: + name: "Allow inbound traffic for VS Code" + program: "%ProgramFiles%\\Microsoft VS Code\\code.exe" + action: allow + direction: in + +- name: Include VS code extension list + include_vars: vscode_extensions.yml + +- name: Install VS Code extensions + win_shell: code --extensions-dir "C:\\Program Files\\Microsoft VS Code\\resources\\app\\extensions" --install-extension "{{ item }}" + args: + chdir: "%ProgramFiles%\\Microsoft VS Code\\bin" + loop: "{{VSCode_Extensions}}" + diff --git a/roles/winroom/tasks/vscode_extensions.yml b/roles/winroom/tasks/vscode_extensions.yml new file mode 100644 index 0000000..f42ef76 --- /dev/null +++ b/roles/winroom/tasks/vscode_extensions.yml @@ -0,0 +1,19 @@ +VSCode_Extensions: + - VisualStudioExptTeam.vscodeintellicode + - arthurwang.vsc-prolog + - dramforever.vscode-ghc-simple + - eamodio.gitlens + - justusadam.language-haskell + - ms-dotnettools.csdevkit # IS-63714 + - ms-python.python + - ms-vscode.cpptools + - ocamllabs.ocaml-platform + - stonebuddha.vscode-better-sml + - vscode-icons-team.vscode-icons + - vscjava.vscode-java-pack + - dan-c-underwood.arm # RA-63703 + - marus25.cortex-debug # RA-63703 + - NateAGeek.memory-viewer # RA-63703 + - ms-vscode.cpptools-extension-pack # RA-63703 + - platformio.platformio-ide # ORS-63218 + - stmicroelectronics.stm32-vscode-extension # RA-63703 diff --git a/roles/winroom/tasks/weka.yml b/roles/winroom/tasks/weka.yml new file mode 100644 index 0000000..be3b036 --- /dev/null +++ b/roles/winroom/tasks/weka.yml @@ -0,0 +1,9 @@ +- name: Set Weka version + set_fact: + target_version: "3-8-6" + +- name: Install Weka + win_package: + path: "https://prdownloads.sourceforge.net/weka/weka-{{ target_version }}-azul-zulu-windows.exe" + arguments: /S + creates_path: "%ProgramFiles%\\Weka-{{ target_version }}\\weka.jar" diff --git a/roles/winroom/tasks/wfdb.yml b/roles/winroom/tasks/wfdb.yml new file mode 100644 index 0000000..4640904 --- /dev/null +++ b/roles/winroom/tasks/wfdb.yml @@ -0,0 +1 @@ +# TODO diff --git a/roles/winroom/tasks/winidea-frisms.yml b/roles/winroom/tasks/winidea-frisms.yml new file mode 100644 index 0000000..2e64ffd --- /dev/null +++ b/roles/winroom/tasks/winidea-frisms.yml @@ -0,0 +1,34 @@ +- name: Check WinIDEA-FRISMS install status + win_stat: + path: C:\iSYSTEM\winIDEA_FRISMS\winIDEA.exe + register: file + +- when: not file.stat.exists + block: + - name: Install WinIDEA-FRISMS + win_package: + path: "https://www.isystem.com/downloads/winIDEA/setup/winIDEA(x64)9_12_256.exe" + arguments: /q APPDIR=c:\iSYSTEM\winIDEA_FRISMS + + - name: Download GCC for WinIDEA-FRISMS + win_get_url: + url: "https://launchpadlibrarian.net/143626040/gcc-arm-none-eabi-4_7-2013q2-20130614-win32.zip" + dest: C:\iSYSTEM\winIDEA_FRISMS\ + register: download + + - name: Unpack GCC for WinIDEA-FRISMS + win_unzip: + src: "{{ download.dest }}" + dest: C:\iSYSTEM\winIDEA_FRISMS\gcc + delete_archive: yes + + - name: Install GCC for WinIDEA-FRISMS + win_copy: + dest: C:\iSYSTEM\winIDEA_FRISMS\gcc\arm + src: C:\iSYSTEM\winIDEA_FRISMS\gcc\GNU Tools ARM Embedded\4.7 2013q2\ + remote_src: yes + + - name: Remove source files + win_file: + path: C:\iSYSTEM\winIDEA_FRISMS\gcc\GNU Tools ARM Embedded + state: absent diff --git a/roles/winroom/tasks/winidea.yml b/roles/winroom/tasks/winidea.yml new file mode 100644 index 0000000..aa4b9c8 --- /dev/null +++ b/roles/winroom/tasks/winidea.yml @@ -0,0 +1,33 @@ +- name: Check WinIDEA install status + win_stat: + path: C:\iSYSTEM\winIDEA9\winIDEA.exe + register: file + +- when: not file.stat.exists + block: + - name: Install WinIDEA + win_package: + path: "https://www.isystem.com/downloads/winIDEA/setup/winIDEA(x64)9_21_110_138559.exe" + arguments: /q + + - name: Download QEMU + win_get_url: + url: "https://www.isystem.si/SWUpdates/qemu/qemu.7z" + dest: C:\iSYSTEM\winIDEA9 + + - name: Unpack QEMU + win_command: 7z x qemu.7z + args: + chdir: "C:\\iSYSTEM\\winIDEA9" + + - name: Download GCC + win_get_url: + url: "https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-win32.zip" + dest: C:\iSYSTEM\winIDEA9 + register: download + + - name: Unpack GCC + win_unzip: + src: "{{ download.dest }}" + dest: C:\iSYSTEM\winIDEA9\gcc + delete_archive: yes diff --git a/roles/winroom/tasks/wireshark.yml b/roles/winroom/tasks/wireshark.yml new file mode 100644 index 0000000..5c38680 --- /dev/null +++ b/roles/winroom/tasks/wireshark.yml @@ -0,0 +1,20 @@ +# npcap=0.96 is the last version to support silent installation +- name: Install npcap + win_package: + path: https://npcap.com/dist/npcap-0.96.exe + arguments: /S + creates_path: "%ProgramFiles%\\Npcap\\npcap.cat" + +- name: Install Wireshark + win_chocolatey: + name: wireshark + +- name: Touch Wireshark preferences + win_file: + path: "%ProgramFiles%\\Wireshark\\preferences" + state: touch + +- name: Disable Wireshark auto updates + win_lineinfile: + path: "%ProgramFiles%\\Wireshark\\preferences" + line: "gui.update.enabled: FALSE" diff --git a/roles/winroom/tasks/xampp.yml b/roles/winroom/tasks/xampp.yml new file mode 100644 index 0000000..44bbc71 --- /dev/null +++ b/roles/winroom/tasks/xampp.yml @@ -0,0 +1,28 @@ +- name: Install XAMPP + win_chocolatey: + name: xampp-81 + +- name: Make XAMPP config world writable + win_acl: + user: 'Authenticated Users' + path: "C:\\xampp\\xampp-control.ini" + type: allow + rights: Write + +- name: Add firewall rules for XAMPP + win_firewall_rule: + name: "Allow inbound traffic for XAMPP: {{ item }}" + program: "%SystemDrive%\\xampp\\{{ item }}" + action: allow + direction: in + protocol: tcp + loop: + - "apache\\bin\\httpd.exe" + - "mysql\\bin\\mysqld.exe" + - "FileZillaFTP\\FileZillaServer.exe" + - "MercuryMail\\mercury.exe" + +# XAMPP insists on looking for Java and failing without this. +- name: Set registry key for OpenJDK + win_regedit: + path: HKLM:\SOFTWARE\JavaSoft\Java Development Kit diff --git a/roles/winroom/tasks/xgboost.yml b/roles/winroom/tasks/xgboost.yml new file mode 100644 index 0000000..7046677 --- /dev/null +++ b/roles/winroom/tasks/xgboost.yml @@ -0,0 +1,7 @@ +- name: Install xgboost + apt: + name: + - xgboost + - python3-xgboost + state: latest + diff --git a/roles/wireshark/tasks/main.yml b/roles/wireshark/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/wireshark/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/wireshark/tasks/main_lin.yml b/roles/wireshark/tasks/main_lin.yml new file mode 100644 index 0000000..fe4e91c --- /dev/null +++ b/roles/wireshark/tasks/main_lin.yml @@ -0,0 +1,10 @@ +- name: Enable non-privileged users to run wireshark + ansible.builtin.debconf: + name: wireshark + question: wireshark-common/install-setuid + value: true + vtype: boolean +- name: "Install Wireshark" + apt: + name: wireshark-qt + state: latest diff --git a/roles/wireshark/tasks/main_win.yml b/roles/wireshark/tasks/main_win.yml new file mode 100644 index 0000000..5c38680 --- /dev/null +++ b/roles/wireshark/tasks/main_win.yml @@ -0,0 +1,20 @@ +# npcap=0.96 is the last version to support silent installation +- name: Install npcap + win_package: + path: https://npcap.com/dist/npcap-0.96.exe + arguments: /S + creates_path: "%ProgramFiles%\\Npcap\\npcap.cat" + +- name: Install Wireshark + win_chocolatey: + name: wireshark + +- name: Touch Wireshark preferences + win_file: + path: "%ProgramFiles%\\Wireshark\\preferences" + state: touch + +- name: Disable Wireshark auto updates + win_lineinfile: + path: "%ProgramFiles%\\Wireshark\\preferences" + line: "gui.update.enabled: FALSE" diff --git a/roles/xampp/tasks/main.yml b/roles/xampp/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/xampp/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/xampp/tasks/main_lin.yml b/roles/xampp/tasks/main_lin.yml new file mode 100644 index 0000000..4a7facf --- /dev/null +++ b/roles/xampp/tasks/main_lin.yml @@ -0,0 +1,3 @@ +- name: Install XAMPP + debug: + msg: Namesto XAMPP bi verjetno LAMP? diff --git a/roles/xampp/tasks/main_win.yml b/roles/xampp/tasks/main_win.yml new file mode 100644 index 0000000..44bbc71 --- /dev/null +++ b/roles/xampp/tasks/main_win.yml @@ -0,0 +1,28 @@ +- name: Install XAMPP + win_chocolatey: + name: xampp-81 + +- name: Make XAMPP config world writable + win_acl: + user: 'Authenticated Users' + path: "C:\\xampp\\xampp-control.ini" + type: allow + rights: Write + +- name: Add firewall rules for XAMPP + win_firewall_rule: + name: "Allow inbound traffic for XAMPP: {{ item }}" + program: "%SystemDrive%\\xampp\\{{ item }}" + action: allow + direction: in + protocol: tcp + loop: + - "apache\\bin\\httpd.exe" + - "mysql\\bin\\mysqld.exe" + - "FileZillaFTP\\FileZillaServer.exe" + - "MercuryMail\\mercury.exe" + +# XAMPP insists on looking for Java and failing without this. +- name: Set registry key for OpenJDK + win_regedit: + path: HKLM:\SOFTWARE\JavaSoft\Java Development Kit diff --git a/roles/xcode/tasks/main.yml b/roles/xcode/tasks/main.yml new file mode 100644 index 0000000..e69de29 diff --git a/roles/xgboost/tasks/main.yml b/roles/xgboost/tasks/main.yml new file mode 100644 index 0000000..55203f6 --- /dev/null +++ b/roles/xgboost/tasks/main.yml @@ -0,0 +1,4 @@ +- import_tasks: main_win.yml + when: ansible_connection == 'winrm' +- import_tasks: main_lin.yml + when: ansible_connection == 'ssh' diff --git a/roles/xgboost/tasks/main_lin.yml b/roles/xgboost/tasks/main_lin.yml new file mode 100644 index 0000000..7046677 --- /dev/null +++ b/roles/xgboost/tasks/main_lin.yml @@ -0,0 +1,7 @@ +- name: Install xgboost + apt: + name: + - xgboost + - python3-xgboost + state: latest + diff --git a/roles/xgboost/tasks/main_win.yml b/roles/xgboost/tasks/main_win.yml new file mode 100644 index 0000000..04d0c72 --- /dev/null +++ b/roles/xgboost/tasks/main_win.yml @@ -0,0 +1,3 @@ +- name: Install xgboost + win_command: pip install xgboost + diff --git a/vars/credentials_template.yml b/vars/credentials_template.yml new file mode 100644 index 0000000..d2443b8 --- /dev/null +++ b/vars/credentials_template.yml @@ -0,0 +1,4 @@ +windows_user: local_admin +linux_user: local_admin +ad_join_user: ad_join +ad_join_password: nepovem diff --git a/vars/software_keys_template.yml b/vars/software_keys_template.yml new file mode 100644 index 0000000..986a3d8 --- /dev/null +++ b/vars/software_keys_template.yml @@ -0,0 +1,4 @@ +# popravite ključe spodaj + +matlab_key: "Urejanje teh kljucev je nadlezno" +powerdesigner_key: "Ce poznate alternative, bodo dobrodosle" diff --git a/winsetup.yml b/winsetup.yml new file mode 100644 index 0000000..0226c6d --- /dev/null +++ b/winsetup.yml @@ -0,0 +1,13 @@ +- hosts: classroom + become: true + become_method: runas + vars: + ansible_connection: winrm + ansible_winrm_transport: ntlm + ansible_winrm_server_cert_validation: ignore + ansible_port: 5985 + logon_type: interactive + installers: \\ucilnicesmb.fri1.uni-lj.si\ucilnice_d\install + roles: + - all_classes +