diff --git a/README.md b/README.md index 74c99c4..7034340 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,8 @@ -# Using the ansible scripts - Ansible playbooks for deploying classroom computers. Run with something like: - ansible-playbook --user -k -K -i inventory.yml setup.py -or, for Apple computers: - ansible-playbook --user -k -K -i inventory.yml macsetup.py - -# How classroom computers are prepared at FRI - -The computers are prepared as follows: - - Ask teachers to check their requirements. - - Fix ansible scripts according to the requirements. - - Set up a fresh Windows and Linux install on a VM, using files in unattended\_install. - - Use ansible to deploy the software, fixing fresh bugs due to changes in the install processes along the way. - - Fix root filesystem UUIDs to what they were last year so the network-booted menu still works. - - Create partition table image and partition images using [FRI Backup](https://github.com/UL-FRI/ansible_classroom_deploy/tree/main/fri_backup). - - Deploy the images on separate VMs - one for Linux, one for Windows. - - Have teachers check their software in the VMs, report any problems. - - Fix problems on the VMs. - - Create partition images for Windows on one VM, for Linux on the other. - - Deploy the images on a limited number of computers in the classrooms using FRI Backup. - - Test the newly deployed computers, fix identified problems on the VMs. - - Join the Linux VM into AD. One AD account is used for all computers. - - Deploy the partition tables and partitions to the classrooms using [custom ansible scripts](https://github.com/UL-FRI/ansible_classroom_deploy/tree/main/polz_scripts) running FRI Backup and [UDPCast](https://www.udpcast.linux.lu/cmd.html). - - Join Windows into AD. - -# Immutable computers - -Some pieces of modern software assume that a computer is only used by one user who has practically unlimited space in their home folder. Examples of such software are Android Studio, Visual Studio Code, Matlab, Windows Subsystem for Linux (WSUS) and others. Instead of trying to get the software to work, we might just give up and have everyone use the same account on each computer, then wipe all data after they log out / reboot. - -## Windows - -We intend to use [UWF](https://learn.microsoft.com/en-us/windows/configuration/wcd/wcd-unifiedwritefilter). - -## Linux - -We intend to use [snapper](https://wiki.archlinux.org/title/Snapper). + ansible-playbook --user --ask-pass \ + --become-user= + --inventory hosts winsetup.yml + ansible-playbook --user --ask-pass \ + --inventory hosts linsetup.yml diff --git a/linsetup.yml b/linsetup.yml index 8fcfe2b..ba5ac23 100644 --- a/linsetup.yml +++ b/linsetup.yml @@ -1,8 +1,8 @@ -- hosts: classroom +- hosts: ucilnice-prototip become_method: sudo become: true vars: - # ansible_port: 1001 + ansible_port: 1001 ansible_ssh_extra_args: '-o ForwardX11=yes' # ansible_become_pass: '{{ lookup("env", "ANSIBLE_PASSWORD") }}' # ansible_password: '{{ lookup("env", "ANSIBLE_PASSWORD") }}' @@ -12,8 +12,7 @@ - vars/credentials.yml - vars/software_keys.yml roles: - # - nodejs - # - qcadesigner-e + # - orange - all_classes # - fri_base # - powerdesigner diff --git a/roles/AAHRP-63263/meta/main.yml b/roles/AAHRP-63263/meta/main.yml index c2717a3..814de57 100644 --- a/roles/AAHRP-63263/meta/main.yml +++ b/roles/AAHRP-63263/meta/main.yml @@ -1,6 +1,7 @@ # Analiza algoritmov in hevristično reševanje problemov -# octavian.machidon@fri.uni-lj.si +# matej.piculin@fri.uni-lj.si # Windows, Java JDK, Eclipse, R, RStudio dependencies: - - role: python3 - - role: pycharm + - role: rstudio + - role: eclipse + - role: jdk diff --git a/roles/APS1-63711/main.yaml b/roles/APS1-63711/main.yaml deleted file mode 100644 index ac14147..0000000 --- a/roles/APS1-63711/main.yaml +++ /dev/null @@ -1,7 +0,0 @@ -# Algoritmi in podatkovne strukture 1 -# jurij.mihelic@fri.uni-lj.si -# JDK, vscode, gedit -dependencies: - - role: jdk - - role: vscode - - role: gedit diff --git a/roles/DN-63260/meta/main.yml b/roles/DN-63260/meta/main.yml index c87e3ff..aaa0ce9 100644 --- a/roles/DN-63260/meta/main.yml +++ b/roles/DN-63260/meta/main.yml @@ -1,8 +1,5 @@ # Digitalno načrtovanje -# ratko.pilipovic@fri.uni-lj.si +# Nejc.Ilc@fri.uni-lj.si # Windows, Vivado 2022.1 dependencies: - role: vivado - - role: iverilog - - role: cocotb - - role: surfer-project diff --git a/roles/DPS-63744/meta/main.yml b/roles/DPS-63744/meta/main.yml index bd30f3d..1ebf218 100644 --- a/roles/DPS-63744/meta/main.yml +++ b/roles/DPS-63744/meta/main.yml @@ -1,11 +1,8 @@ # Digitalno procesiranje signalov # Aleks.Huc@fri.uni-lj.si -# metod.celestina@dewesoft.si # Windows, GNU/Linux, Matlab, wfdb, Octave, Audacity dependencies: - role: matlab - role: wfdb - role: octave - role: audacity - - role: numpy - - role: matplotlib diff --git a/roles/IS-63266/meta/main.yml b/roles/IS-63266/meta/main.yml deleted file mode 100644 index 3c867f3..0000000 --- a/roles/IS-63266/meta/main.yml +++ /dev/null @@ -1,7 +0,0 @@ -# Inteligentni sistemi -# tadej.skvorc@fri.uni-lj.si -# -dependencies: - - role: python3 - - role: jupyter - - role: vscode diff --git a/roles/KRV-63528/meta/main.yml b/roles/KRV-63528/meta/main.yml index 300873b..9d48639 100644 --- a/roles/KRV-63528/meta/main.yml +++ b/roles/KRV-63528/meta/main.yml @@ -5,5 +5,5 @@ # SageMath se se prevede za Ubutnu 24.04: https://github.com/sagemath/sage/issues/38051#issuecomment-2123452861 # - include_tasks: sagemath.yml dependencies: - - role: jupyter - - role: openssl + - role: jupyter.yml + - role: openssl.yml diff --git a/roles/NDN-63729/meta/main.yml b/roles/NDN-63729/meta/main.yml index 21edf8f..12b4f3e 100644 --- a/roles/NDN-63729/meta/main.yml +++ b/roles/NDN-63729/meta/main.yml @@ -1,10 +1,10 @@ # Načrtovanje digitalnih naprav -# Miran.Koprivec@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si, ratko.pilipovic@fri.uni-lj.si +# 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: putty - role: vivado - role: cp2102_driver - - role: cocotb - - role: iverilog - - role: surfer-project diff --git a/roles/OR-63717/meta/main.yml b/roles/OR-63717/meta/main.yml index 465e6d2..91b97d4 100644 --- a/roles/OR-63717/meta/main.yml +++ b/roles/OR-63717/meta/main.yml @@ -3,7 +3,7 @@ # Windows, Logisim, Logisim Evolution, RAVINOR, CubeIDE + Tools, VSCode + ST plugin, Putty dependencies: - role: logisim - # - role: stm32cube + - role: stm32cube - role: vscode - role: putty - role: stm32duino diff --git a/roles/OS-63217/main.yaml b/roles/OS-63217/main.yaml deleted file mode 100644 index de42bde..0000000 --- a/roles/OS-63217/main.yaml +++ /dev/null @@ -1,9 +0,0 @@ -# Operacijski sistemi -# jurij.mihelic@fri.uni-lj.si -# C, JDK, vscode, gedit -dependencies: - - role: c_development - - role: jdk - - role: vscode - - role: gedit - - role: virtualbox diff --git a/roles/OUI-63214/meta/main.yml b/roles/OUI-63214/meta/main.yml index 3f52ec6..0917005 100644 --- a/roles/OUI-63214/meta/main.yml +++ b/roles/OUI-63214/meta/main.yml @@ -1,12 +1,7 @@ # Osnove umetne inteligence -# matej.piculin@fri.uni-lj.si, petar.vracar@fri.uin-lj.si -# Orange, Weka 3, BayesFusion, Python3 +# 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 - - role: python3 - - role: pycharm - - role: pandas - - role: scipy - - role: matplotlib diff --git a/roles/P1-63277/meta/main.yml b/roles/P1-63277/meta/main.yml index 7f729a8..6c58609 100644 --- a/roles/P1-63277/meta/main.yml +++ b/roles/P1-63277/meta/main.yml @@ -6,4 +6,3 @@ dependencies: - role: gedit - role: mono - role: vscode - - role: notepad++ diff --git a/roles/PR-63765/meta/main.yml b/roles/PR-63765/meta/main.yml deleted file mode 100644 index 6c638e4..0000000 --- a/roles/PR-63765/meta/main.yml +++ /dev/null @@ -1,18 +0,0 @@ -# Podatkovno rudarjenje -# rok.gomiscek@fri.uni-lj.si -# -dependencies: - - role: jupyter - - role: pandas - - role: matplotlib - - role: plotly - - role: seaborn - - role: altair - - role: scikit-learn - - role: mlxtend - - role: networkx - - role: transformers - - role: datasets - - role: evaluate - - role: torch # includes torchvision - - role: streamlit diff --git a/roles/RA-63703/meta/main.yml b/roles/RA-63703/meta/main.yml index 655325d..7408923 100644 --- a/roles/RA-63703/meta/main.yml +++ b/roles/RA-63703/meta/main.yml @@ -2,7 +2,7 @@ # Ziga.Pusnik@fri.uni-lj.si, Robert.Rozman@fri.uni-lj.si # Windows, CubeIDE + tools, STMDuino, VSCode, WinIdea 9.21 + GCC + QEMU, Visual2 dependencies: - # - role: stm32cube # (CubeMonitor sem vzel samo exe) + - role: stm32cube (CubeMonitor sem vzel samo exe) - role: stm32duino - role: vscode - role: putty @@ -10,7 +10,6 @@ dependencies: - role: gcc-arm - role: git - role: visual2 -# - role: winidea-frisms #TODO Writable d:\RAVINOR directory diff --git a/roles/README.md b/roles/README.md index 93c7c44..3013d5d 100644 --- a/roles/README.md +++ b/roles/README.md @@ -1,17 +1,25 @@ # Recepti za nameščanje programske opreme -V tem imeniku naj bi za vsak predmet obstajal podimenik oblike ABC-63999, pri čemer je ABC okrajšava, 63999 pa šifra predmeta. -Na primer, za predmet Komunikacijski protokoli in omrežna varnost obstaja imenik KPOV-63716. +Recepti za nameščanje programske opreme v učilnicah FRI se nahajajo v: -Katere programe potrebujete za svoj predmet, navedete v datoteki meta/main.yml, na primer KPOV-63716/meta/main.yml. - -Večino programov namestimo tako pod GNU/Linux kot windows. Recept za namestitev programa "mojprogram" je tako v: - - mojprogram/tasks/main\_lin.yml za GNU/Linux, ki ga trenutno uporabljamo, - - mojprogram/tasks/main\_win.yml za Windows. - -Na primer, za Microsofteov VSCode obstaja imenik vscode in datoteki vscode/tasks/main\_lin.yml ter - vscode/tasks/main\_win.yml + - 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/SU-63519/meta/main.yml b/roles/SU-63519/meta/main.yml index fa1204a..c1f84bf 100644 --- a/roles/SU-63519/meta/main.yml +++ b/roles/SU-63519/meta/main.yml @@ -1,5 +1,5 @@ # Strojno učenje -# jana.faganelipucer@fri.uni-lj.si. +# matej.piculin@fri.uni-lj.si, Petar.Vracar@fri.uni-lj.si # Windows, R, RStudio dependencies: - role: python3 @@ -7,5 +7,5 @@ dependencies: - role: scipy - role: xgboost - role: statsmodels - - role: pytorch + - role: tensorflow - role: statsmodels diff --git a/roles/VN-63728/meta/main.yml b/roles/VN-63728/meta/main.yml index 411c38d..04abcca 100644 --- a/roles/VN-63728/meta/main.yml +++ b/roles/VN-63728/meta/main.yml @@ -2,14 +2,13 @@ # Robert.Rozman@fri.uni-lj.si # Windows, CubeIDE + Tools, STMDuino, VSCode, LTSpice, PulseView,Putty, STM32 Algobuilder & Unicleo GUI dependencies: - #- role: stm32cube + - role: stm32cube - role: stm32duino - role: vscode - role: ltspice - role: pulseview - role: putty - - role: stm32mems-studio # replaces algobuilder and unicleogui -# - role: stm32algobuilder #(ni še exe. Datoteke - ne dobim iz ST portala) -# - role: stm32unicleogui - + - role: stm32algobuilder #(ni še exe. Datoteke - ne dobim iz ST portala) + - role: stm32unicleogui + #TODO Writable d:\RAVINOR directory diff --git a/roles/VP-63775/meta/main.yml b/roles/VP-63775/meta/main.yml index 9185ffc..4bf1623 100644 --- a/roles/VP-63775/meta/main.yml +++ b/roles/VP-63775/meta/main.yml @@ -3,8 +3,6 @@ # 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 -# cryptography -# flask # maven # git dependencies: @@ -14,4 +12,3 @@ dependencies: - role: jdk - role: jupyter - role: pycharm - - role: flask diff --git a/roles/ad_joined/files/pam_mount.conf.xml b/roles/ad_joined/files/pam_mount.conf.xml deleted file mode 100644 index 24167bc..0000000 --- a/roles/ad_joined/files/pam_mount.conf.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - - - - - - - - local_admin - root - sudo - - - - - - - local_admin - root - sudo - - - - diff --git a/roles/ad_joined/tasks/main_lin.yml b/roles/ad_joined/tasks/main_lin.yml index fce6850..d1cadbb 100644 --- a/roles/ad_joined/tasks/main_lin.yml +++ b/roles/ad_joined/tasks/main_lin.yml @@ -1,39 +1,25 @@ -- name: Install required packages - apt: - name: - - realmd - - sssd - - libpam-mount - - heimdal-clients - -- name: Remove krb5-user - apt: - name: - krb5-user - state: absent - -- 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}}-linux" - register: hostname_res - +- 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}} {{domain_name}} + command: realm join --user={{ad_join_user}} --computer-ou={{ou_path}} FRI1.UNI-LJ.SI responses: (?i)Password: "{{ad_join_password}}" ignore_errors: yes @@ -46,20 +32,3 @@ owner: root mode: 0600 -- name: Configure libpam-mount - copy: - src: pam_mount.conf.xml - dest: /etc/security/pam_mount.conf.xml - -- name: Enable libpam-mount - command: pam-auth-update --enable libpam-mount - become: true - -- name: Disable libpam-mkhomedir - command: pam-auth-update --disable mkhomedir - become: true - -- name: Restart sssd - service: - name: sssd - state: restarted diff --git a/roles/ad_joined/tasks/main_win.yml b/roles/ad_joined/tasks/main_win.yml index f2de3a9..79481e3 100644 --- a/roles/ad_joined/tasks/main_win.yml +++ b/roles/ad_joined/tasks/main_win.yml @@ -1,22 +1,18 @@ - 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 @@ -28,30 +24,25 @@ - AccountDomainSid - SusClientId - SusClientIDValidation - - name: Start Windows Update Service win_service: name: wuauserv state: started - - name: "Join domain" win_domain_membership: - domain_admin_user: "{{ad_join_user}}" - domain_admin_password: "{{ad_join_password}}" + 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 index 46c5c5b..117793c 100644 --- a/roles/ad_joined/templates/sssd.conf +++ b/roles/ad_joined/templates/sssd.conf @@ -29,4 +29,3 @@ ldap_id_mapping = True use_fully_qualified_names = True fallback_homedir = /home/%u@%d access_provider = ad -krb5_ccname_template = FILE:%d/krb5cc_%U diff --git a/roles/all_classes/meta/main.yml b/roles/all_classes/meta/main.yml index b50b0b3..e572f0e 100644 --- a/roles/all_classes/meta/main.yml +++ b/roles/all_classes/meta/main.yml @@ -2,7 +2,6 @@ dependencies: - role: fri_base - role: AAHRP-63263 - role: APS1-63279 - - role: APS1-63711 - role: ARP1-63545C - role: BMO-63259 - role: DF-63530 @@ -12,7 +11,6 @@ dependencies: - role: EP-63249 - role: FP-63507 - role: GO-63715 - - role: IS-63266 - role: IS-63714 - role: IVZ-63521 - role: KCR-63550 @@ -26,22 +24,17 @@ dependencies: - role: NRG-63553 - role: OBSS-63514 - role: ODV-63204 - - role: OIS-63215 - role: OO-63271 - - role: OPB-63208 - role: OR-63717 - role: ORS-63218 - - role: OS-63217 - role: OS-63709 - role: OS-63741 - role: OUI-63214 - - role: P1-63277 - - role: P1-63702 - role: P2-63278 - role: P2-63706 - role: PA-63737 - - role: PB-63707 - role: PB2-63713 + - role: PB-63707 - role: PJC-63769 - role: PPJ-63220 - role: PS-63261 diff --git a/roles/altair/tasks/main_lin.yml b/roles/altair/tasks/main_lin.yml deleted file mode 100644 index 72354a1..0000000 --- a/roles/altair/tasks/main_lin.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install altair - apt: - name: python3-altair - state: latest diff --git a/roles/altair/tasks/main_win.yml b/roles/altair/tasks/main_win.yml deleted file mode 100644 index 74d8219..0000000 --- a/roles/altair/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install altair - win_command: pip install altair diff --git a/roles/android_studio/tasks/androidsdk_packages.yml b/roles/android_studio/tasks/androidsdk_packages.yml index bfd9d77..2705a0f 100644 --- a/roles/android_studio/tasks/androidsdk_packages.yml +++ b/roles/android_studio/tasks/androidsdk_packages.yml @@ -2,8 +2,9 @@ AndroidSDK_packages: - add-ons;addon-google_apis-google-24 - add-ons;addon-google_apis-google-24 - build-tools;34.0.0-rc3 - - build-tools;36.0.0 - - cmake;4.0.3 + - build-tools;35.0.0 + - cmake;3.22.1 + #- cmake;latest - cmdline-tools;latest - emulator - extras;android;m2repository @@ -21,15 +22,15 @@ AndroidSDK_packages: # - patcher;v4 - platform-tools - platforms;android-34 - - platforms;android-36 + - platforms;android-35 - platforms;android-32 - # - platforms;android-UpsideDownCakePrivacySandbox + - platforms;android-UpsideDownCakePrivacySandbox - skiaparser;3 - - sources;android-36 + - sources;android-35 - sources;android-34 - - system-images;android-36;google_apis;x86_64 + - system-images;android-35;google_apis;x86_64 - system-images;android-34;google_apis;x86_64 - system-images;android-32;google_apis;x86_64 - - system-images;android-36;google_apis_playstore;x86_64 + - system-images;android-35;google_apis_playstore;x86_64 - system-images;android-34;google_apis_playstore;x86_64 - # - system-images;android-UpsideDownCakePrivacySandbox;google_apis_playstore;x86_64 + - system-images;android-UpsideDownCakePrivacySandbox;google_apis_playstore;x86_64 diff --git a/roles/android_studio/tasks/main_win.yml b/roles/android_studio/tasks/main_win.yml index e4de8ee..1199913 100644 --- a/roles/android_studio/tasks/main_win.yml +++ b/roles/android_studio/tasks/main_win.yml @@ -1,90 +1,63 @@ - name: Set Android Studio version set_fact: - studio_path: "{{ large_prog_dir }}\\android-studio" - studio_version: "2025.1.2.13" - tools_version: "13114758_latest" - -- name: Set Android command-line tools path - set_fact: - tools_path: "{{ studio_path }}\\cmdline-tools\\latest" - -- name: Check Android Studio - win_stat: - path: "{{ studio_path }}\\bin\\studio64.exe" - register: studio - -- when: not studio.stat.exists - block: - - name: Download Android Studio - win_get_url: - url: "https://redirector.gvt1.com/edgedl/android/studio/ide-zips/{{ studio_version }}/android-studio-{{ studio_version }}-windows.zip" - dest: "{{ large_prog_dir }}\\" - - - name: Extract Android Studio - win_unzip: - src: "{{ large_prog_dir }}\\android-studio-{{ studio_version }}-windows.zip" - dest: "{{ large_prog_dir }}\\" - delete_archive: yes + sdk_path: C:\android-sdk + studio_version: "2025.1.2.11" + tools_version: "latest" - name: Check Android Studio tools win_stat: - path: "{{ tools_path }}\\bin\\sdkmanager.bat" + 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" - # url: "https://dl.google.com/android/repository/platform-tools-{{ tools_version }}-windows.zip" - dest: "{{ studio_path }}" + # url: "https://dl.google.com/android/repository/commandlinetools-win-{{ tools_version }}.zip" + url: "https://dl.google.com/android/repository/platform-tools-{{ tools_version }}-windows.zip" + dest: C:\ - name: Extract Android Studio tools win_unzip: - # src: "{{ large_prog_dir }}\\platform-tools-{{ tools_version }}-windows.zip" - src: "{{ studio_path}}\\commandlinetools-win-{{ tools_version }}.zip" - dest: "{{ studio_path }}\\cmdline-tools\\" + src: "C:\\commandlinetools-win-{{ tools_version }}.zip" + dest: "{{ sdk_path }}\\cmdline-tools" delete_archive: yes - - name: Move cmdline-tools to expected location - ansible.windows.win_powershell: - script: move "{{ studio_path }}\\cmdline-tools\\cmdline-tools" "{{ tools_path }}" -- name: Create Android Studio data directory - win_file: - path: "{{ large_prog_dir }}\\.android" - state: directory - -- name: Set Android Studio environment variables - win_environment: - level: machine - variables: - ANDROID_HOME: "{{ studio_path }}" - ANDROID_SDK_ROOT: "{{ studio_path }}" - ANDROID_PREFS_ROOT: "{{ large_prog_dir }}\\" - GRADLE_USER_HOME: "{{ large_prog_dir }}\\.gradle" - - -# - name: Accept Android SDK licenses -# win_shell: sh -c "yes | /c/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager.bat --licenses" +- 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 packages +- name: Install Android SDK win_shell: | - {{ tools_path }}\bin\sdkmanager.bat --install "{{ item }}" + {{ 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: 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" diff --git a/roles/arduino/tasks/main_win.yml b/roles/arduino/tasks/main_win.yml index ab4558a..a607b37 100644 --- a/roles/arduino/tasks/main_win.yml +++ b/roles/arduino/tasks/main_win.yml @@ -8,9 +8,8 @@ - name: Install Arduino-cli win_package: # path: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.0.0_Windows_64bit.exe - path: https://github.com/arduino/arduino-cli/releases/download/v1.3.0/arduino-cli_1.3.0_Windows_64bit.msi - # path: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip - # arguments: /S /AllUsers + path: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip + arguments: /S /AllUsers # creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe" diff --git a/roles/chrome/tasks/main_lin.yml b/roles/chrome/tasks/main_lin.yml index 5433e42..390d25c 100644 --- a/roles/chrome/tasks/main_lin.yml +++ b/roles/chrome/tasks/main_lin.yml @@ -1,13 +1,9 @@ - name: Add Chromium not-a-snap repository - apt: - deb: https://launchpad.net/~xtradeb/+archive/ubuntu/apps/+files/xtradeb-apt-source_0.4_all.deb + apt_repository: + repo: ppa:xtradeb/apps state: present - - #apt_repository: - # repo: ppa:xtradeb/apps - # state: present - # update_cache: True - # validate_certs: False + update_cache: True + validate_certs: False - name: Install Chromium instead of Chrome apt: diff --git a/roles/cocotb/tasks/main.yml b/roles/cocotb/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/cocotb/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/cocotb/tasks/main_lin.yml b/roles/cocotb/tasks/main_lin.yml deleted file mode 100644 index 94db275..0000000 --- a/roles/cocotb/tasks/main_lin.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install Cocotb - pip: - executable: pipx - name: cocotb[bus] diff --git a/roles/cocotb/tasks/main_win.yml b/roles/cocotb/tasks/main_win.yml deleted file mode 100644 index 54148f4..0000000 --- a/roles/cocotb/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install cocoTB - win_command: pip install cocotb[bus] diff --git a/roles/cp2102_driver/tasks/main_win.yml b/roles/cp2102_driver/tasks/main_win.yml index 5dcc415..7f30792 100644 --- a/roles/cp2102_driver/tasks/main_win.yml +++ b/roles/cp2102_driver/tasks/main_win.yml @@ -2,5 +2,3 @@ win_chocolatey: ignore_checksums: true name: cp210x-vcp-drivers-win10 - #TODO remove ignore_errors once the package is repaired/updated - ignore_errors: true diff --git a/roles/datasets/tasks/main.yml b/roles/datasets/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/datasets/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/datasets/tasks/main_lin.yml b/roles/datasets/tasks/main_lin.yml deleted file mode 100644 index e2e237b..0000000 --- a/roles/datasets/tasks/main_lin.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install datasets - pip: - executable: pipx - name: datasets diff --git a/roles/datasets/tasks/main_win.yml b/roles/datasets/tasks/main_win.yml deleted file mode 100644 index a614c33..0000000 --- a/roles/datasets/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install datasets - win_command: pip install datasets diff --git a/roles/eclipse/tasks/main_win.yml b/roles/eclipse/tasks/main_win.yml index f26c809..5e39d7c 100644 --- a/roles/eclipse/tasks/main_win.yml +++ b/roles/eclipse/tasks/main_win.yml @@ -12,4 +12,4 @@ win_lineinfile: path: "%ProgramFiles%\\Eclipse {{ target_version }}\\eclipse\\eclipse.ini" regexp: "osgi.instance.area.default" - line: "-Dosgi.instance.area.default=D:/Documents/eclipse-workspace" + line: "-Dosgi.instance.area.default=H:/Documents/eclipse-workspace" diff --git a/roles/evaluate/tasks/main.yml b/roles/evaluate/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/evaluate/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/evaluate/tasks/main_lin.yml b/roles/evaluate/tasks/main_lin.yml deleted file mode 100644 index 104c9da..0000000 --- a/roles/evaluate/tasks/main_lin.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install evaluate - pip: - executable: pipx - name: evaluate diff --git a/roles/evaluate/tasks/main_win.yml b/roles/evaluate/tasks/main_win.yml deleted file mode 100644 index 7698d3f..0000000 --- a/roles/evaluate/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install evaluate - win_command: pip install evaluate diff --git a/roles/facts/tasks/main.yml b/roles/facts/tasks/main.yml deleted file mode 100644 index 4b5c6fe..0000000 --- a/roles/facts/tasks/main.yml +++ /dev/null @@ -1,26 +0,0 @@ -- name: Send valid bash or ps command with different results - raw: | - echo \#\# - register: raw_result - -- name: Set shell type - set_fact: - ansible_shell_type: "{% if raw_result['stdout'][-4] == '#' %}sh{% else %}powershell{%endif%}" - -- name: Set connection parameters and paths for Windows - become: false - set_fact: - ansible_become_method: runas - ansible_become_flags: "" - ansible_become_user: "{{ windows_user }}" - logon_type: interactive - installers: \\ucilnicesmb.fri1.uni-lj.si\ucilnice_d\install - when: ansible_shell_type == "powershell" - -- name: Set connection parameters and paths for Ubuntu - set_fact: - ansible_become_method: sudo - ansible_become_flags: "" - ansible_ssh_extra_args: '-o ForwardX11=yes' - installers: /mnt/ucilnice_d/install - when: ansible_shell_type == "sh" diff --git a/roles/firefox/tasks/main_lin.yml b/roles/firefox/tasks/main_lin.yml index 8cd61d2..eb729c0 100644 --- a/roles/firefox/tasks/main_lin.yml +++ b/roles/firefox/tasks/main_lin.yml @@ -1,21 +1,5 @@ - name: Add Firefox not-a-snap repository block: - - name: add Mozilla apt key - ansible.builtin.get_url: - url: https://packages.mozilla.org/apt/repo-signing-key.gpg - dest: /etc/apt/keyrings/packages.mozilla.org.asc - - - name: add Mozilla apt source - ansible.builtin.apt_repository: - repo: "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" - state: present - - #- name: Add Firefox PPA - # apt_repository: - # repo: ppa:mozillateam/ppa - # state: present - # update_cache: True - # validate_certs: False - name: Pin Firefox PPA package priority template: src: mozilla-firefox-apt-preferences @@ -24,6 +8,12 @@ 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: diff --git a/roles/flask/meta/main.yml b/roles/flask/meta/main.yml deleted file mode 100644 index b783143..0000000 --- a/roles/flask/meta/main.yml +++ /dev/null @@ -1,2 +0,0 @@ -dependencies: - - role: python3 diff --git a/roles/flask/tasks/main.yml b/roles/flask/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/flask/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/flask/tasks/main_lin.yml b/roles/flask/tasks/main_lin.yml deleted file mode 100644 index 1d7c92f..0000000 --- a/roles/flask/tasks/main_lin.yml +++ /dev/null @@ -1,7 +0,0 @@ -- name: Install flask - apt: - name: - - python3-flask - - python-flask-doc - state: latest - diff --git a/roles/flask/tasks/main_win.yml b/roles/flask/tasks/main_win.yml deleted file mode 100644 index 3e7f27a..0000000 --- a/roles/flask/tasks/main_win.yml +++ /dev/null @@ -1,3 +0,0 @@ -- name: Install flask - win_command: pip install flask - diff --git a/roles/fri_base/files/authorized_keys b/roles/fri_base/files/authorized_keys deleted file mode 100644 index bffc05c..0000000 --- a/roles/fri_base/files/authorized_keys +++ /dev/null @@ -1,4 +0,0 @@ -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM2Tn8+rH+fkFkBycxYrJ7TzhXQhuf3U+w23JFlZoRiX polz@povzpetnik" -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDRpoWIH5u2g12IM39WNRzLsPksfSjfL/82fPnuZwZ7H polz@it-polz" -ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCq7NrrDD53pe9Zpn/dRSPxWQLDIZ9INS0kz/ps/9fGsM8/H/J7jr/ecj0j0jfYig6QdV8G7VnpLWjcuJ65ul3u2rnQSN78Ms/hxlAhmyahQtBA2q2D2zqI2PDWsKAySWmfFg+2W5fYmE1+F9GEB0OWNOuClmfo2A1c8Ve76qSiehHgjYo0G1CQrXkmE00GBLqyqkbyyStLa9DUfaDwrbOu4tJChHo4jDGuLH5QCYcN+RRXjwPQKgk0L2yfu1479L0XqhbEo+KHoIZH501fkoE+gUKVyLERvkhKSiCgPhJmAgRN1bRsiyTwvQzoED4q1RwFmG0AKg0U5bHnAAOd77uyuIYmcFiaRGHROQ9ZbyB9tJ07QrFlzRkderDd5Z18mO7LtgDjFZ2B2DlRY6zxMiUqJyDRnHjDF3+3DTlHIUCC3aEtoYS8MPyRL1b8XenIqswXkM+vkYFeKh2ynjNu3C6VqDCXZFvIi6f1X0ojZXRrDmbiON8Y74HjxP0z6TB1U30= polz@ucilnicenfs-2020 - diff --git a/roles/fri_base/tasks/main_lin.yml b/roles/fri_base/tasks/main_lin.yml index e60504a..1cc6e95 100644 --- a/roles/fri_base/tasks/main_lin.yml +++ b/roles/fri_base/tasks/main_lin.yml @@ -27,9 +27,8 @@ - wine32:i386 - wine-binfmt - dosbox - - snapper - # - webext-ublock-origin-chromium - # - webext-ublock-origin-firefox + - webext-ublock-origin-chromium + - webext-ublock-origin-firefox - nethack-console - zsh - tmux @@ -50,8 +49,6 @@ - neovim-qt - binwalk - iotop - - evince - - okular - htop - jdupes state: latest @@ -135,8 +132,8 @@ state: mounted opts: guest,soft,nofail -# - name: Set time to local RTC -# shell: "timedatectl set-local-rtc 1 --adjust-system-clock" +- name: Set time to local RTC + shell: "timedatectl set-local-rtc 1 --adjust-system-clock" - name: Install ethtool apt: @@ -147,18 +144,3 @@ copy: dest: /etc/udev/rules.d/ src: 99-wakeonlan.rules - -- name: Shorten PS1 prompt - replace: - path: "{{ item }}" - regexp: 'PS1=(.*)\\u@\\h' - replace: PS1=\1${USER%@*} - loop: - - /etc/skel/.bashrc - - /etc/profile - - /etc/bash.bashrc - -- name: Copy authorized_keys - copy: - src: authorized_keys - dest: ~/.ssh/authorized_keys diff --git a/roles/fri_base/tasks/main_win.yml b/roles/fri_base/tasks/main_win.yml index 9e3b5e5..40d9e2f 100644 --- a/roles/fri_base/tasks/main_win.yml +++ b/roles/fri_base/tasks/main_win.yml @@ -1,34 +1,18 @@ -- name: Set RTC to UTC - win_regedit: - path: HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation - name: RealTimeIsUniversal - data: 1 - type: dword - - 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: Allow SMB insecure guest access win_regedit: path: HKLM:\Software\Policies\Microsoft\Windows\LanmanWorkstation name: AllowInsecureGuestAuth data: 1 type: dword - -- name: Enable Unified Write Filter - win_optional_feature: - include_parent: true - name: Client-UnifiedWriteFilter - state: present - - name: Install PSCX community.windows.win_psmodule: name: Pscx @@ -36,15 +20,5 @@ allow_clobber: true state: present -- name: Copy admin ssh keys to authorized_keys - win_copy: - src: authorized_keys - dest: "%USERPROFILE%\\.ssh" - -- name: Copy admin keys to administrators_authorized_keys - win_copy: - src: authorized_keys - dest: C:\ProgramData\ssh\administrators_authorized_keys - # TODO: turn on GPO to allow guest SMB logins # TODO: open firewall for Samba diff --git a/roles/gns3/tasks/main_lin.yml b/roles/gns3/tasks/main_lin.yml index 7b8fb8a..df2807d 100644 --- a/roles/gns3/tasks/main_lin.yml +++ b/roles/gns3/tasks/main_lin.yml @@ -1,23 +1,9 @@ - name: Add GNS3 repository - block: - - name: add GNS3 apt key - ansible.builtin.get_url: - url: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xb83aaabffbd82d21b543c8ea86c22c2ec6a24d7f - dest: /etc/apt/keyrings/gns3-ppa.asc - - name: add GNS3 apt deb source - ansible.builtin.apt_repository: - repo: "deb [signed-by=/etc/apt/keyrings/gns3-ppa.asc] https://ppa.launchpadcontent.net/gns3/ppa/ubuntu {{ ansible_distribution_release }} main " - state: present - - name: add GNS3 apt deb-src source - ansible.builtin.apt_repository: - repo: "deb-src [signed-by=/etc/apt/keyrings/gns3-ppa.asc] https://ppa.launchpadcontent.net/gns3/ppa/ubuntu {{ ansible_distribution_release }} main " - state: present -# apt_repository: -# repo: ppa:gns3/ppa -# state: present -# update_cache: True -# validate_certs: False - + apt_repository: + repo: ppa:gns3/ppa + state: present + update_cache: True + validate_certs: False - name: Install gns3 server ansible.builtin.apt: name: gns3-server diff --git a/roles/inkscape/tasks/main_lin.yml b/roles/inkscape/tasks/main_lin.yml index 69a9e9c..4c8441a 100644 --- a/roles/inkscape/tasks/main_lin.yml +++ b/roles/inkscape/tasks/main_lin.yml @@ -1,20 +1,10 @@ - name: Add Inkscape repository - block: - - name: add Inkscape trunk apt key - ansible.builtin.get_url: - url: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x1F46021FF9A0C56504CE42CD06E315A37AAEF27A - dest: /etc/apt/keyrings/inkscape-trunk-ppa.asc - - name: add Inkscape trunk apt deb source - ansible.builtin.apt_repository: - repo: "deb [signed-by=/etc/apt/keyrings/inkscape-trunk-ppa.asc] https://ppa.launchpadcontent.net/reviczky/inkscape-1.4/ubuntu {{ ansible_distribution_release }} main " - state: present - -# apt_repository: -# repo: ppa:inkscape.dev/stable -# state: present -# update_cache: True -# validate_certs: False + apt_repository: + repo: ppa:inkscape.dev/stable + state: present + update_cache: True + validate_certs: False - name: Install Inkscape apt: - name: inkscape-trunk + name: inkscape state: latest diff --git a/roles/iverilog/tasks/main.yml b/roles/iverilog/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/iverilog/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/iverilog/tasks/main_lin.yml b/roles/iverilog/tasks/main_lin.yml deleted file mode 100644 index fc76453..0000000 --- a/roles/iverilog/tasks/main_lin.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install Icarus - apt: - name: iverilog - state: latest diff --git a/roles/iverilog/tasks/main_win.yml b/roles/iverilog/tasks/main_win.yml deleted file mode 100644 index d8d6d03..0000000 --- a/roles/iverilog/tasks/main_win.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: Install Icarus Verilog - win_chocolatey: - name: iverilog - version: '11.0' - state: present diff --git a/roles/jdk/tasks/main_lin.yml b/roles/jdk/tasks/main_lin.yml index 8c2a94e..eaaa1b3 100644 --- a/roles/jdk/tasks/main_lin.yml +++ b/roles/jdk/tasks/main_lin.yml @@ -1,11 +1,6 @@ -- name: Install latest OpenJDK (25) +- name: Install OpenJDK 21 apt: - name: openjdk-25-jdk - state: latest - -- name: Install latest Java docs - apt: - name: openjdk-25-doc + name: openjdk-21-jdk state: latest - name: Install OpenJDK 17 @@ -36,7 +31,11 @@ - libc6-x32 state: latest -- name: Install Oracle JDK 24 +- name: Install Oracle JDK 22 apt: - deb: "https://download.oracle.com/java/24/latest/jdk-24_linux-x64_bin.deb" + deb: "https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.deb" + +- name: Install Java docs + apt: + deb: "https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.deb" diff --git a/roles/jdk/tasks/main_win.yml b/roles/jdk/tasks/main_win.yml index be8ea09..ceb1996 100644 --- a/roles/jdk/tasks/main_win.yml +++ b/roles/jdk/tasks/main_win.yml @@ -1,6 +1,6 @@ - name: Install Oracle JDK win_package: - path: https://download.oracle.com/java/24/latest/jdk-24_windows-x64_bin.msi + path: https://download.oracle.com/java/22/latest/jdk-22_windows-x64_bin.msi arguments: INSTALLLEVEL=3 - name: Find Java version @@ -28,13 +28,6 @@ state: present scope: machine -- name: Add Java bin dir to PATH - win_path: - name: PATH - elements: "{{ reg['raw_value'] }}\\bin" - state: present - scope: machine - - name: Disable Java updates win_regedit: path: HKLM:\SOFTWARE\WOW6432Node\JavaSoft\Java Update\Policy 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..ae8557c --- /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/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..19bfd45 --- /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..36b64c6 --- /dev/null +++ b/roles/linroom/tasks/KRV-63528.yml @@ -0,0 +1,8 @@ +# Kriptografija in računalniška varnost +# Klemen.Klanjscek@fri.uni-lj.si +# GNU/Linux, SageMath, Python 3, Jupyter Notebook, OpenSSL, OpenSSH client + +# SageMath se se prevede za Ubutnu 24.04: https://github.com/sagemath/sage/issues/38051#issuecomment-2123452861 +# - 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..19f2ee3 --- /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: swi-prolog.yml +- include_tasks: rlwrap.yml +- include_tasks: utop.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..4c28da6 --- /dev/null +++ b/roles/linroom/tasks/fri_base.yml @@ -0,0 +1,147 @@ +- 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: + - build-essential + - chromium-browser + - cifs-utils + - curl + - emacs + - ffmpeg + - firefox + - gdb + - git + - inkscape + - ipcalc + - jq + - mpv + - ncat + - nethack-console + - nfs-common + - nmap + - overlayroot + - qemu + - qemu-utils + - qutebrowser + - rsync + - screen + - strace + - sway + - thonny + - tmux + - ttf-mscorefonts-installer + - vim + - vlc + - webext-ublock-origin-chromium + - webext-ublock-origin-firefox + - zsh + 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/htop.yml b/roles/linroom/tasks/htop.yml new file mode 100644 index 0000000..e69de29 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..160dbfe --- /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 Julia + unarchive: + src: https://julialang-s3.julialang.org/bin/linux/x64/1.10/julia-1.10.4-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..f7607d8 --- /dev/null +++ b/roles/linroom/tasks/sagemath.yml @@ -0,0 +1,10 @@ +# # SageMath se se prevede za Ubutnu 24.04: https://github.com/sagemath/sage/issues/38051#issuecomment-2123452861 +# - 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..04e9ce0 --- /dev/null +++ b/roles/linroom/tasks/smlnj.yml @@ -0,0 +1,18 @@ +- 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 + +# - name: Readline for SML +# lineinfile: +# dest: "$HOME/.bashrc" +# line: "alias smlnj='rlwrap sml'" +# insertafter: EOF 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/utop.yml b/roles/linroom/tasks/utop.yml new file mode 100644 index 0000000..38e38d2 --- /dev/null +++ b/roles/linroom/tasks/utop.yml @@ -0,0 +1,4 @@ +- name: Install utop + apt: + name: utop + 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..be886a8 --- /dev/null +++ b/roles/linroom/tasks/vscode_extensions.yml @@ -0,0 +1,17 @@ +VSCode_Extensions: + - VisualStudioExptTeam.vscodeintellicode + - AmauryRabouan.new-vsc-prolog + - eamodio.gitlens + - 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_lin.yml b/roles/logisim/tasks/main_lin.yml index c9a2213..d35c8f5 100644 --- a/roles/logisim/tasks/main_lin.yml +++ b/roles/logisim/tasks/main_lin.yml @@ -11,13 +11,3 @@ dest: /opt/logisim remote_src: yes creates: /opt/logisim/META-INF/MANIFEST.MF - - name: Create destination for Logisim - Evolution - file: - path: /opt/logisim-evolution - state: directory - - name: Download and unpack Logisim - Evolution - unarchive: - src: https://github.com/logisim-evolution/logisim-evolution/releases/download/v3.9.0/logisim-evolution-3.9.0-all.jar - dest: /opt/logisim-evolution - remote_src: yes - creates: /opt/logisim-evolution/META-INF/MANIFEST.MF diff --git a/roles/matlab/tasks/main_lin.yml b/roles/matlab/tasks/main_lin.yml index 2942237..200fd19 100644 --- a/roles/matlab/tasks/main_lin.yml +++ b/roles/matlab/tasks/main_lin.yml @@ -1,6 +1,6 @@ - name: Set Matlab version and destination set_fact: - target_version: "R2025a_Update_1" + target_version: "R2024a_Update_5" install_dir: "/mnt/ucilnice_d/install/matlab/" license_path: "/mnt/ucilnice_d/install/matlab/network.lic" dest_dir: /opt/matlab @@ -23,7 +23,7 @@ - name: Install Matlab command: cmd: /tmp/matlab_iso/install -inputFile "/tmp/matlab_installer_input.txt" - creates: "{{ dest_dir }}/licenses/license_info.xml" + # creates: "{{ dest_dir }}/VersionInfo.xml" #- name: Unmount Matlab ISO # win_disk_image: # image_path: "{{ installers }}\\matlab\\matlab-{{ target_version }}_windows.iso" diff --git a/roles/matlab/tasks/main_win.yml b/roles/matlab/tasks/main_win.yml index 4fd79ff..ee89c98 100644 --- a/roles/matlab/tasks/main_win.yml +++ b/roles/matlab/tasks/main_win.yml @@ -2,7 +2,7 @@ set_fact: target_version: "R2025a_Update_1" license_path: \\ucilnicesmb.fri1.uni-lj.si\ucilnice_d\install\matlab\network.lic - dest_dir: "{{ large_prog_dir }}\\matlab" + dest_dir: D:\matlab - name: Set ISO path set_fact: @@ -17,27 +17,21 @@ - name: Prepare installer_input.txt template: src: installer_input.txt - dest: c:\matlab_installer_input.txt + dest: d:\matlab_installer_input.txt - name: Install Matlab win_package: path: "{{ disk_image.mount_paths[0] }}\\setup.exe" - arguments: -inputFile "c:\\matlab_installer_input.txt" + arguments: -inputFile "d:\\matlab_installer_input.txt" - name: Unmount Matlab ISO win_disk_image: image_path: "{{ iso_path }}" state: absent - ignore_errors: true -- name: Create licenses directory - win_file: - dest: "{{ dest_dir }}\\licenses" - state: directory - -# MATLAB will no longer be used with concurrent licenses - let them license their own! -#- name: Install Matlab license -# win_copy: -# dest: "{{ dest_dir }}\\licenses\\network.lic" -# src: "{{ installers }}\\matlab\\network.lic" -# remote_src: yes +# 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 index 7ce76e9..4207b6d 100644 --- a/roles/matlab/templates/installer_input.txt +++ b/roles/matlab/templates/installer_input.txt @@ -13,8 +13,7 @@ agreeToLicense=yes ## Users must log in to their MathWorks Account when MATLAB starts. ## ## NOTE: This flag is valid in silent installations only. -# enableLNU=no -enableLNU=yes +enableLNU=no improveMATLAB=no diff --git a/roles/matplotlib/tasks/main.yml b/roles/matplotlib/tasks/main.yml deleted file mode 100644 index 66e93fe..0000000 --- a/roles/matplotlib/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' \ No newline at end of file diff --git a/roles/matplotlib/tasks/main_lin.yml b/roles/matplotlib/tasks/main_lin.yml deleted file mode 100644 index a509286..0000000 --- a/roles/matplotlib/tasks/main_lin.yml +++ /dev/null @@ -1,11 +0,0 @@ -- name: Install matplotlib - apt: - name: - - python3-matplotlib - - python3-matplotlib-inline - - python3-matplotlib-venn - - python3-mpl-animators - - python3-mpl-scatter-density - - python3-mplcursors - - python3-mplexporter - state: latest diff --git a/roles/matplotlib/tasks/main_win.yml b/roles/matplotlib/tasks/main_win.yml deleted file mode 100644 index 38be21f..0000000 --- a/roles/matplotlib/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install matplotlib - win_command: pip install matplotlib \ No newline at end of file diff --git a/roles/mlxtend/tasks/main.yml b/roles/mlxtend/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/mlxtend/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/mlxtend/tasks/main_lin.yml b/roles/mlxtend/tasks/main_lin.yml deleted file mode 100644 index 393f093..0000000 --- a/roles/mlxtend/tasks/main_lin.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install mlxtend - pip: - executable: pipx - name: mlxtend diff --git a/roles/mlxtend/tasks/main_win.yml b/roles/mlxtend/tasks/main_win.yml deleted file mode 100644 index a486f76..0000000 --- a/roles/mlxtend/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install pandas - win_command: pip install mlxtend diff --git a/roles/mysql_workbench/tasks/main_lin.yml b/roles/mysql_workbench/tasks/main_lin.yml index f5dea85..27c4fa3 100644 --- a/roles/mysql_workbench/tasks/main_lin.yml +++ b/roles/mysql_workbench/tasks/main_lin.yml @@ -1,104 +1,8 @@ -- name: Create mysql workbench build directory - file: - path: /tmp/mysql-workbench - state: directory - -- name: Download mysql workbench source +- name: Download mysql workbench get_url: - url: https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-8.0.43-src.tar.gz - dest: /tmp/mysql-workbench/mysql-workbench.tgz + url: https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb + dest: /tmp/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb http_agent: "Wget/1.21.3" - register: mysql_download - -- name: Install mysql workbench build dependencies +- name: Install mysql workbench apt: - package: - - build-essential - - cmake - - cmake-data - - autoconf - - automake - - pkg-config - - libtool - - libzip-dev - - libxml2-dev - - libsigc++-2.0-dev - - libglade2-dev - - libglu1-mesa-dev - - libgl1-mesa-dev - - mesa-common-dev - - libmysqlclient-dev - - libmysqlcppconn-dev - - uuid-dev - - libpixman-1-dev - - libpcre3-dev - - libpango1.0-dev - - libcairo2-dev - - python3-dev - - libboost-dev - - default-mysql-client - - libsqlite3-dev - - swig4.1 - - libvsqlitepp-dev - - libgdal-dev - - libgtk-3-dev - - libgtkmm-3.0-dev - - libssl-dev - - libsecret-1-dev - - libproj-dev - - libssh-dev - - rapidjson-dev - - unixodbc-dev - - unixodbc - -- name: Create /usr/local/share/java - file: - path: /usr/local/share/java - state: directory - -- name: Download antlr jar - get_url: - url: https://www.antlr.org/download/antlr-4.13.2-complete.jar - dest: /usr/local/share/java/antlr-4.13.2-complete.jar - - -- name: Create antlr4 build dir - file: - path: /tmp/antlr4/build - state: directory - -- name: Checkout antlr4 (cpp runtime) - git: - repo: https://github.com/antlr/antlr4/ - dest: /tmp/antlr4/antlr4 - -- name: Build antlr4 cpp runtime - shell: - cmd: "cd /tmp/antlr4/build; cmake ../antlr4/runtime/Cpp; make; make install" - -- name: Extract MySQL Workbench source - unarchive: - src: "{{ mysql_download.dest }}" - remote_src: true - dest: /tmp/mysql-workbench - -- name: Create build dir - file: - path: /tmp/mysql-workbench/build - state: directory - -- name: Build Mysql Workbench - shell: - cmd: "cd /tmp/mysql-workbench/build; cmake -DUSE_UNIXODBC=True -DODBC_LIBRARIES=-lodbc -DANTLR_JAR_PATH=/usr/local/share/java -DSWIG_EXECUTABLE=/usr/bin/swig4.1 -DSWIG_DIR=/usr/share/swig4.1 ../mysql-workbench-*-src; make; make install" - -#- name: Download mysql workbench -# get_url: -# url: https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb -# dest: /tmp/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb -# http_agent: "Wget/1.21.3" - - - -#- name: Install mysql workbench -# apt: -# deb: /tmp/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb + deb: /tmp/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb diff --git a/roles/netbeans/tasks/main_win.yml b/roles/netbeans/tasks/main_win.yml index afb9134..72b2659 100644 --- a/roles/netbeans/tasks/main_win.yml +++ b/roles/netbeans/tasks/main_win.yml @@ -2,22 +2,8 @@ set_fact: target_version: "26" -#- name: Install Netbeans from Chocolatey -# win_chocolatey: -# name: NetBeans -# state: upgrade - - -# https://downloads.apache.org/netbeans/netbeans/26/netbeans-26-bin.zip -- name: Download Netbeans - win_get_url: - url: "https://github.com/Friends-of-Apache-NetBeans/netbeans-installers/releases/download/v{{ target_version }}-build1/Apache-NetBeans-{{ target_version }}.exe" - dest: "c:\\Apache-NetBeans-{{ target_version }}.exe" - - name: Install Netbeans - win_package: - path: "c:\\Apache-NetBeans-{{ target_version }}.exe" - # path: "https://github.com/Friends-of-Apache-NetBeans/netbeans-installers/releases/download/v{{ target_version }}-build1/Apache-NetBeans-{{ target_version }}.exe" - # path: "https://dlcdn.apache.org/netbeans/netbeans-installers/{{ target_version }}/Apache-NetBeans-{{ target_version }}-bin-windows-x64.exe" - arguments: "\"/DIR={{ ansible_env['ProgramFiles'] }}\\NetBeans-{{ target_version }}\" /SUPPRESSMSGBOXES /VERYSILENT /SP-" - creates_path: "%ProgramFiles%\\NetBeans-{{ target_version }}\\bin\\netbeans.exe" + 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/networkx/tasks/main.yml b/roles/networkx/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/networkx/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/networkx/tasks/main_lin.yml b/roles/networkx/tasks/main_lin.yml deleted file mode 100644 index 17ef570..0000000 --- a/roles/networkx/tasks/main_lin.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install networkx - apt: - name: python3-networkx - state: latest diff --git a/roles/networkx/tasks/main_win.yml b/roles/networkx/tasks/main_win.yml deleted file mode 100644 index a66ad83..0000000 --- a/roles/networkx/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install networkx - win_command: pip install networkx diff --git a/roles/nodejs/tasks/main_lin.yml b/roles/nodejs/tasks/main_lin.yml index 76f3fb2..601d761 100644 --- a/roles/nodejs/tasks/main_lin.yml +++ b/roles/nodejs/tasks/main_lin.yml @@ -1,7 +1,7 @@ - name: Add NodeJS repo key - get_url: + apt_key: url: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key - dest: /etc/apt/keyrings/nodesource.asc + keyring: /etc/apt/keyrings/nodesource.gpg #- name: Add NodeJS repo url # apt_repository: @@ -9,5 +9,10 @@ - name: Add NodeJS LTS repo url apt_repository: - repo: "deb [signed-by=/etc/apt/keyrings/nodesource.asc] https://deb.nodesource.com/node_22.x nodistro main" + 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 index 177e2ec..80cb160 100644 --- a/roles/nodejs/tasks/main_win.yml +++ b/roles/nodejs/tasks/main_win.yml @@ -2,7 +2,6 @@ win_chocolatey: name: nodejs -# Install fails if multiple versions are installed -# - name: Install NodeJS-LTS -# win_chocolatey: -# name: nodejs-lts +- name: Install NodeJS-LTS + win_chocolatey: + name: nodejs-lts diff --git a/roles/numpy/tasks/main.yml b/roles/numpy/tasks/main.yml deleted file mode 100644 index 66e93fe..0000000 --- a/roles/numpy/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' \ No newline at end of file diff --git a/roles/numpy/tasks/main_lin.yml b/roles/numpy/tasks/main_lin.yml deleted file mode 100644 index 66e66b2..0000000 --- a/roles/numpy/tasks/main_lin.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: Install numpy - apt: - name: - - python3-numpy - state: latest diff --git a/roles/numpy/tasks/main_win.yml b/roles/numpy/tasks/main_win.yml deleted file mode 100644 index ee12580..0000000 --- a/roles/numpy/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install numpy - win_command: pip install numpy diff --git a/roles/omnetpp/tasks/main_win.yml b/roles/omnetpp/tasks/main_win.yml index d17b337..17ebf56 100644 --- a/roles/omnetpp/tasks/main_win.yml +++ b/roles/omnetpp/tasks/main_win.yml @@ -1,9 +1,7 @@ -# TODO: omnetpp na Windows sedaj zahteva WSL. Premisli, kaj storiti glede tega - - name: Set OMNet++ version set_fact: target_version: "6.2.0" - target_dir: "{{large_prog_dir}}\\OMNeT++" + target_dir: "C:\\OMNeT++" - name: Check OMNet++ install status win_stat: @@ -14,24 +12,18 @@ block: - name: Download OMNet++ win_get_url: - url: "https://github.com/omnetpp/omnetpp/releases/download/omnetpp-{{ target_version }}/omnetpp-{{ target_version }}-windows-x86_64.7z" - dest: "{{ large_prog_dir }}" + 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: "{{ large_prog_dir }}" + dest: C:\ delete_archive: yes - name: Move OMNet++ to final location - ansible.windows.win_powershell: - script: move "{{ large_prog_dir }}\omnetpp-{{ target_version }}" "{{ target_dir }}" - # win_robocopy: - # src: "{{ large_prog_dir }}\\omnetpp-{{ target_version }}" - # dest: "{{ target_dir }}" - # flags: "/move" - # win_command: cmd.exe /c move "c:\omnetpp-{{ target_version }}" "{{ target_dir }}" + win_command: cmd.exe /c move "C:\omnetpp-{{ target_version }}" "{{ target_dir }}" - name: Create OMNet++ compile script win_copy: @@ -46,7 +38,7 @@ 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" + win_command: cmd.exe /c "{{ target_dir }}\\mingwenv-install.cmd" - name: Copy OMNet++ shortcut win_copy: diff --git a/roles/plotly/tasks/main.yml b/roles/plotly/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/plotly/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/plotly/tasks/main_lin.yml b/roles/plotly/tasks/main_lin.yml deleted file mode 100644 index 60b4d6e..0000000 --- a/roles/plotly/tasks/main_lin.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install plotly - apt: - name: python3-plotly - state: latest diff --git a/roles/plotly/tasks/main_win.yml b/roles/plotly/tasks/main_win.yml deleted file mode 100644 index 3e6e29d..0000000 --- a/roles/plotly/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install plotly - win_command: pip install plotly diff --git a/roles/powerdesigner/tasks/main_win.yml b/roles/powerdesigner/tasks/main_win.yml index 2e45bca..9bd6760 100644 --- a/roles/powerdesigner/tasks/main_win.yml +++ b/roles/powerdesigner/tasks/main_win.yml @@ -1,16 +1,4 @@ -# The installer does not work from powershell in silent mode. -# -- name: Prepare PowerDesigner setup.iss - template: - src: setup.iss - dest: c:\powerdesigner_setup.iss - - name: Install PowerDesigner - win_shell: | - {{ installers }}\PowerDesigner_12.5\cd1\setup\setup.exe /s /f1"c:\powerdesigner_setup.iss" /f2"C:\powerdesigner_log.iss" - args: - executable: cmd - - -# path: "{{ installers }}\\PowerDesigner 12.5\\cd1\\setup\\setup.exe" -# arguments: "/hide_progress /hide_splash /hide_usd /s /f1\"{{ installers }}\\PowerDesigner 12.5\\setup.iss\" /f2\"C:\\powerdesigner_log.iss\"" + 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 index 7519aaf..8503670 100755 --- a/roles/powerdesigner/templates/setup.iss +++ b/roles/powerdesigner/templates/setup.iss @@ -3,37 +3,37 @@ Version=v7.00 File=Response File [File Transfer] OverwrittenReadOnly=NoToAll -[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-DlgOrder] -Dlg0={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdWelcome-0 +[{{ powerdesigner_key }}-DlgOrder] +Dlg0={{ powerdesigner_key }}-SdWelcome-0 Count=10 -Dlg1={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybSelectInstallMode-0 -Dlg2={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybFlexLM-0 -Dlg3={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybSelectPackage-0 -Dlg4={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-Sybase License-0 -Dlg5={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdAskDestPath-0 -Dlg6={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdComponentTree-0 -Dlg7={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-Graphic Select Folder-0 -Dlg8={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdStartCopy-0 -Dlg9={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdFinish-0 -[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdWelcome-0] +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 -[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybSelectInstallMode-0] +[{{ powerdesigner_key }}-SybSelectInstallMode-0] Mode=3 Result=1 -[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybFlexLM-0] -LicenseServer=todo.fri.uni-lj.si +[{{ powerdesigner_key }}-SybFlexLM-0] +LicenseServer=todo.fri1.uni-lj.si PortNumber=27000 Result=1 -[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybSelectPackage-0] +[{{ powerdesigner_key }}-SybSelectPackage-0] Package=Studio Enterprise Result=1 -[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-Sybase License-0] +[{{ powerdesigner_key }}-Sybase License-0] Sybase_License=accept -[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdAskDestPath-0] -szDir={{ large_prog_dir }}\PowerDesigner 12 +[{{ powerdesigner_key }}-SdAskDestPath-0] +szDir=C:\Program Files (x86)\Sybase\PowerDesigner 12 Result=1 -[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdComponentTree-0] -szDir={{ large_prog_dir }}\PowerDesigner 12 +[{{ 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 @@ -108,6 +108,11 @@ 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 @@ -130,19 +135,6 @@ PDF-5=PDF\PDF_PDM PDF-6=PDF\PDF_RQM PDF-7=PDF\PDF_XSM PDF-8=PDF\PDF_RPY -VIDEO-type=string -VIDEO-count=11 -VIDEO-0=VIDEO\Video_int -VIDEO-1=VIDEO\Video_Gen -VIDEO-2=VIDEO\Video_BPM -VIDEO-3=VIDEO\Video_CDM -VIDEO-4=VIDEO\Video_ILM -VIDEO-5=VIDEO\Video_OOM -VIDEO-6=VIDEO\Video_PDM -VIDEO-7=VIDEO\Video_RQM -VIDEO-8=VIDEO\Video_xsm -VIDEO-9=VIDEO\Video_RPY -VIDEO-10=VIDEO\Video_htm Component-type=string Component-count=10 Component-0=CR @@ -151,15 +143,15 @@ Component-2=CDM Component-3=ILM Component-4=OOM Component-5=PDM -Component-6=XSM -Component-7=RPY -Component-8=PDF -Component-9=VIDEO +Component-6=RQM +Component-7=XSM +Component-8=RPY +Component-9=PDF Result=1 -[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-Graphic Select Folder-0] +[{{ powerdesigner_key }}-Graphic Select Folder-0] szFolder=Sybase\PowerDesigner 12 Result=1 -[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdStartCopy-0] +[{{ powerdesigner_key }}-SdStartCopy-0] Keep_Settings=0 Result=1 [Application] @@ -167,7 +159,7 @@ Name=Sybase PowerDesigner 12.5 Version=12.5.2169 Company=Sybase Lang=0009 -[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdFinish-0] +[{{ powerdesigner_key }}-SdFinish-0] Result=1 bOpt1=0 bOpt2=0 diff --git a/roles/processing/tasks/main_win.yml b/roles/processing/tasks/main_win.yml index e8fda8a..2caf84a 100644 --- a/roles/processing/tasks/main_win.yml +++ b/roles/processing/tasks/main_win.yml @@ -1,7 +1,7 @@ - name: Set Processing version set_fact: - target_version: 4.4.6 - target_build: 1306 + target_version: 4.4.4 + target_build: 1304 - name: Check Processing install status win_stat: @@ -22,21 +22,20 @@ state: directory - name: Download Processing win_get_url: - dest: 'C:\Program Files\processing.zip' - url: https://github.com/processing/processing4/releases/download/processing-{{ target_build }}-{{ target_version }}/processing-{{ target_version }}-windows-x64-portable.zip + 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: - src: 'C:\Program Files\processing.zip' - dest: 'C:\Program Files\' - creates: 'C:\Program Files\Processing\Processing.exe' - #- name: Install Processing - # win_copy: - # dest: C:\Program Files\Processing\ - # src: 'C:\Program Files\Processing\processing-{{ target_version }}\' - # remote_src: yes + 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\app\resources\lib\defaults.txt + path: C:\Program Files\Processing\lib\defaults.txt regexp: 'update.check' line: 'update.check = false' - name: Create Processing shortcut @@ -45,8 +44,8 @@ dest: "C:\\Users\\Public\\Desktop\\Processing.lnk" - name: Remove temporary files win_file: - # path: C:\Program Files\Processing\{{ item }} - path: C:\Program Files\processing.zip + path: C:\Program Files\Processing\{{ item }} state: absent loop: - processing.zip + - processing-{{ target_version }} diff --git a/roles/pycharm/tasks/main_win.yml b/roles/pycharm/tasks/main_win.yml index 2b4516a..ae51dbd 100644 --- a/roles/pycharm/tasks/main_win.yml +++ b/roles/pycharm/tasks/main_win.yml @@ -8,4 +8,4 @@ state: upgrade version: "{{ target_version }}" -# TODO set default project directory to {{large_prog_dir}}\something +# TODO set default project directory to H:\something diff --git a/roles/python3/tasks/main_lin.yml b/roles/python3/tasks/main_lin.yml index 8c183df..56ce94f 100644 --- a/roles/python3/tasks/main_lin.yml +++ b/roles/python3/tasks/main_lin.yml @@ -5,8 +5,6 @@ - name: Install ipython apt: - name: - - python3-ipython - - ipython3 + name: python3-ipython state: latest diff --git a/roles/qcadesigner-e/tasks/main_lin.yml b/roles/qcadesigner-e/tasks/main_lin.yml index 78f8f49..dd955bc 100644 --- a/roles/qcadesigner-e/tasks/main_lin.yml +++ b/roles/qcadesigner-e/tasks/main_lin.yml @@ -15,7 +15,7 @@ - name: Clone QCADesigner-E repo # ansible.builtin.git: - repo: https://github.com/polz113/QCADesigner-E + repo: https://github.com/FSillT/QCADesigner-E force: yes dest: /opt/QCADesigner-E - name: Build QCADesigner-E diff --git a/roles/rstudio/tasks/main_lin.yml b/roles/rstudio/tasks/main_lin.yml index 423cd11..a21785b 100644 --- a/roles/rstudio/tasks/main_lin.yml +++ b/roles/rstudio/tasks/main_lin.yml @@ -1,14 +1,13 @@ -#- 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 -# ignore_errors: true +- 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 diff --git a/roles/scikit/tasks/main.yml b/roles/scikit/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/scikit/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/scikit/tasks/main_lin.yml b/roles/scikit/tasks/main_lin.yml deleted file mode 100644 index 1db3705..0000000 --- a/roles/scikit/tasks/main_lin.yml +++ /dev/null @@ -1,6 +0,0 @@ -- name: Install scikit - apt: - name: - - python3-sklearn - - python3-sklearn-pandas - state: latest diff --git a/roles/scikit/tasks/main_win.yml b/roles/scikit/tasks/main_win.yml deleted file mode 100644 index 3b59e53..0000000 --- a/roles/scikit/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install scikit - win_command: pip install scikit-learn diff --git a/roles/seaborn/tasks/main.yml b/roles/seaborn/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/seaborn/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/seaborn/tasks/main_lin.yml b/roles/seaborn/tasks/main_lin.yml deleted file mode 100644 index 23b99fa..0000000 --- a/roles/seaborn/tasks/main_lin.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install seaborn - apt: - name: python3-seaborn - state: latest diff --git a/roles/seaborn/tasks/main_win.yml b/roles/seaborn/tasks/main_win.yml deleted file mode 100644 index 4ff22ad..0000000 --- a/roles/seaborn/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install seaborn - win_command: pip install seaborn diff --git a/roles/sifive/tasks/main_win.yml b/roles/sifive/tasks/main_win.yml index e874141..1030ce1 100644 --- a/roles/sifive/tasks/main_win.yml +++ b/roles/sifive/tasks/main_win.yml @@ -5,7 +5,7 @@ - name: Set SiFive Studio install location set_fact: - download_filedest: "{{ large_prog_dir }}\\FreedomStudio-4.18.0.2021-04-1-x86_64-w64-mingw32.zip" + 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: @@ -14,12 +14,12 @@ - name: Unzip SiFive Studio win_unzip: src: "{{ download_filedest }}" - dest: "{{ large_prog_dir }}\\SiFive\\" - creates: "{{ large_prog_dir }}\\SiFive\\plugins" + dest: C:\SiFive\ + creates: C:\SiFive\plugins delete_archive: yes - name: Create desktop shortcut win_shortcut: description: "SiFive Freedom Studio" - src: "{{ large_prog_dir }}\\SiFive\\FreedomStudio.exe" + src: C:\SiFive\FreedomStudio.exe dest: '%public%\Desktop\SiFive.lnk' diff --git a/roles/stm32algobuilder/tasks/main_win.yml b/roles/stm32algobuilder/tasks/main_win.yml index c707e81..ff0e92e 100644 --- a/roles/stm32algobuilder/tasks/main_win.yml +++ b/roles/stm32algobuilder/tasks/main_win.yml @@ -1,34 +1,31 @@ -# Deprecated - replace by mems-studio -- name: Do not install AlgoBuilder - debug: - msg: "Do not install AlgoBuilder on Windows - deprecated" +# TODO check install status # TODO: Exe file is missing - Problem on ST site -# - name: Check AlgoBuilder install status -# win_stat: -# path: C:\Program Files (x86)\Thonny\thonny.exe -# register: file +- 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/EdBQJN3I6fVFj7qgs6SjRp4BZ0QbWIV26NUlLv_4d9JsDQ?e=hA4Cbl&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:/g/personal/rozman_fri1_uni-lj_si/EdBQJN3I6fVFj7qgs6SjRp4BZ0QbWIV26NUlLv_4d9JsDQ?e=hA4Cbl?download=1 -# # dest: C:\AlgoBuilderSuite.exe -# #register: download +- 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/EdBQJN3I6fVFj7qgs6SjRp4BZ0QbWIV26NUlLv_4d9JsDQ?e=hA4Cbl&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:/g/personal/rozman_fri1_uni-lj_si/EdBQJN3I6fVFj7qgs6SjRp4BZ0QbWIV26NUlLv_4d9JsDQ?e=hA4Cbl?download=1 + # dest: C:\AlgoBuilderSuite.exe + #register: download -# - name: Install AlgoBuilder -# win_package: -# path: C:\AlgoBuilderSuite.exe -# # path: "{{ download.dest }}" -# arguments: /Verysilent /AllUsers + - 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 + - name: Remove temporary files + win_file: + path: C:\AlgoBuilderSuite.exe + # path: "{{ download.dest }}" + state: absent diff --git a/roles/stm32cube/tasks/main_lin.yml b/roles/stm32cube/tasks/main_lin.yml index 2c2f7ab..01ba7fc 100644 --- a/roles/stm32cube/tasks/main_lin.yml +++ b/roles/stm32cube/tasks/main_lin.yml @@ -8,14 +8,13 @@ # register: download - name: Set filename set_fact: - dest_fname: /tmp/st-stm32cubeide_1.19.0_25607_20250703_0907_amd64.sh + dest_fname: /tmp/st-stm32cubeide_1.16.0_21983_20240628_1741_amd64.sh - name: Download stm32 command: - # cmd: wget 'https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/ERLZDFSgbO1Hm6TT9CLhyUIBZS-4anic7RWtvQliqN-thA?e=KZq4VJ' -O {{ dest_fname }} - cmd: wget {{ installers }}\RAVINOR\2025\st-stm32cubeide_1.19.0_25607_20250703_0907_amd64.sh -O {{ dest_fname }} + cmd: wget 'https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EUrIkoWbod5OilNHLnReBvYBMK7mlwI-R1Qeqhb-ux7hjg?e=HGloHF&download=1' -O {{ dest_fname }} creates: "{{ dest_fname }} " - # url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/ERLZDFSgbO1Hm6TT9CLhyUIBZS-4anic7RWtvQliqN-thA?e=KZq4VJ + # url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EUrIkoWbod5OilNHLnReBvYBMK7mlwI-R1Qeqhb-ux7hjg?e=HGloHF?download=1 - name: Change script permissions file: diff --git a/roles/stm32cube/tasks/main_win.yml b/roles/stm32cube/tasks/main_win.yml index c01c4bc..752db87 100644 --- a/roles/stm32cube/tasks/main_win.yml +++ b/roles/stm32cube/tasks/main_win.yml @@ -7,18 +7,18 @@ block: - name: Set download filenames set_fact: - # cubemx_download_file: C:\CubeMX.exe not needed separately + cubemx_download_file: C:\CubeMX.exe cubeprogrammer_download_file: C:\CubeProgrammer.exe cubemonitor_download_file: C:\CubeMonitor.exe cufinder_download_file: C:\CUFinder.exe - cubeide_download_file: C:\st-stm32cubeide_1.19.0_25607_20250703_0907_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 }}" + cubeide_download_file: C:\st-stm32cubeide_1.16.0_21983_20240628_1741_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: @@ -26,8 +26,7 @@ # arguments: /S - name: Download CubeProgrammer - win_command: wget "{{ installers }}\RAVINOR\2025\SetupSTM32CubeProgrammer_win64.exe" -O "{{ cubeprogrammer_download_file }}" - #win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EXHsKDjM6hVAuEGwEWcMyBEBgx7D9i_M3QAkhpe9RR9zPQ?e=VcUvvu" -O "{{ cubeprogrammer_download_file }}" + win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EXHsKDjM6hVAuEGwEWcMyBEB6bHd3HuOP38D7Wjt41vjTw?e=7jatnu&download=1" -O "{{ cubeprogrammer_download_file }}" #win_get_url: # dest: C:\CubeProgrammer.exe #register: cubeprogrammer_download @@ -40,11 +39,10 @@ arguments: /S - name: Download CubeMonitor - # TODO 2025: only zip distributions exists in zip file - # TODO 2025: URL: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EcU8MQwONYZKuk22puks-IgBd1qLM94DH3AA_CEclIgTZg?e=jRcA3v - # TODO 2025: Have extracted setup exe - not sure if this is enough! - # win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EbVvZi3q7QRNqwocCSgMvGgB-eYM2mtb-IidD1UTaMgtbw?e=QDxd29" -O "{{ cubemonitor_download_file }}" - win_command: wget "{{ installers }}\RAVINOR\2025\setupSTM32CubeMonitor_1.10.0.exe" -O "{{ cubemonitor_download_file }}" + # TODO 2024: only zip distributions exists in zip file + # TODO 2024: URL: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/ERUUr7knYFNNuv5rViOb-PgB596EvC3ev4P_Aa_MjRL57Q?e=tZssk4 + # TODO 2024: Have extracted setup exe - not sure if this is enough! + win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQnm_b359Q5IpmfCUuDG-PABH10q94ixaLx4_CMrYKoNtQ?e=rKp3cV&download=1" -O "{{ cubemonitor_download_file }}" #win_get_url: # dest: C:\CubeMonitor.exe #register: cubemonitor_download @@ -56,24 +54,23 @@ path: "{{ cubemonitor_download_file }}" arguments: /S - # 2025: CUFinder not needed anymore - # - 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: 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: 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/EZLOLK_5IxpPvnI_rYH6hSMBuQyH3EEq9bqZr9X_n6cgzA?e=P218RC" -O "{{ cubeide_download_file }}" - win_command: wget "{{ installers }}\RAVINOR\2025\st-stm32cubeide_1.19.0_25607_20250703_0907_x86_64.exe" -O "{{ cubeide_download_file }}" - #dest: C:\st-stm32cubeide_1.19.0_25607_20250703_0907_x86_64.exe + win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/ERpqeASbQ2hDrL9ANNWJf5QBJNhHieXoqaNtduppk42qwg?e=zI8rjI&download=1" -O "{{ cubeide_download_file }}" + #dest: C:\st-stm32cubeide_1.16.0_21983_20240628_1741_x86_64.exe #register: cubeide_download args: creates: "{{ cubeide_download_file }}" @@ -86,13 +83,12 @@ - name: Set CubeIDE default workspace win_lineinfile: - path: C:\ST\STM32CubeIDE_1.19.0\STM32CubeIDE\stm32cubeide.ini + path: C:\ST\STM32CubeIDE_1.10.1\STM32CubeIDE\stm32cubeide.ini regexp: "osgi.instance.area.default" line: "-Dosgi.instance.area.default=D:/RAVINOR/CubeIDE_Workspace" - # 2025: QEMU not needed anymore - # # 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.19.0\STM32CubeIDE + # 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/tasks/main_win.yml b/roles/stm32duino/tasks/main_win.yml index 7022561..63b56ed 100644 --- a/roles/stm32duino/tasks/main_win.yml +++ b/roles/stm32duino/tasks/main_win.yml @@ -5,17 +5,19 @@ # arguments: /S /AllUsers # creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe" -# 2025: update: Full directory structure ready zip for Windows only on this URL: +# 2024: update: Full directory structure ready zip for Windows only on this URL: # https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EYTFhlsJOFtFk9xsaViP0eYBtILVS24ZF_dlkgodu_L9Nw?e=geavvJ - name: Create STM32Duino directory win_file: - path: "{{large_prog_dir}}\\RAVINOR\\STM32Duino" + path: "D:\\RAVINOR\\STM32Duino" state: directory -- name: Install preinstalled STM32Duino & Arduino environment - win_unzip: - src: {{ installers }}\RAVINOR\2025\arduino-1.8.19.zip - dest: "{{large_prog_dir}}\\RAVINOR\\STM32Duino" +- name: Install Logisim + win_get_url: + url: "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EYTFhlsJOFtFk9xsaViP0eYBtILVS24ZF_dlkgodu_L9Nw?e=geavvJ" + dest: "D:\\RAVINOR\\STM32Duino" + # TODO Don't know if unzipping is required? + # TODO check if anything else is needed (esp8266com)? diff --git a/roles/stm32mems-studio/tasks/main.yml b/roles/stm32mems-studio/tasks/main.yml deleted file mode 100644 index 146eef8..0000000 --- a/roles/stm32mems-studio/tasks/main.yml +++ /dev/null @@ -1,5 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' - diff --git a/roles/stm32mems-studio/tasks/main_lin.yml b/roles/stm32mems-studio/tasks/main_lin.yml deleted file mode 100644 index fca4773..0000000 --- a/roles/stm32mems-studio/tasks/main_lin.yml +++ /dev/null @@ -1,3 +0,0 @@ -- name: Do not install mems-studio - debug: - msg: "Do not install mems-studio on Linux" diff --git a/roles/stm32mems-studio/tasks/main_win.yml b/roles/stm32mems-studio/tasks/main_win.yml deleted file mode 100644 index 7e51423..0000000 --- a/roles/stm32mems-studio/tasks/main_win.yml +++ /dev/null @@ -1,32 +0,0 @@ -# TODO -- name: Check MEMS-Studio install status - win_stat: - path: C:\Program Files (x86)\STMicroelectronics\Unicleo-GUI\Unicleo-GUI.exe - register: file -- when: not file.stat.exists - block: - - name: Download MEMS-Studio - #win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EXgZSDD5LgtMrikaKszPliwB1vXrwUxea3eYYObT3zXBaQ?e=eNJyLA" -O C:\mems-studio-2.1.2.exe - win_command: copy "{{ installers }}\RAVINOR\2025\mems-studio-2.1.2.exe" -O { large_prog_dir }\mems-studio-2.1.2.exe - args: - creates: {large_prog_dir}\mems-studio-2.1.2.exe - #win_get_url: - # follow_redirects: all - # http_agent: Wget/1.21.3 - # url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQG4vStF7ApBsN2TDm5AjGQBiU0iFbZZiz91UqGeHKX9FA?e=QOQky2?download=1 - # dest: C:\Unicleo-GUI_Setup.exe - #register: download - - - name: Install MEMS-Studio - win_package: - path: {large_prog_dir}\mems-studio-2.1.2.exe - # path: "{{ download.dest }}" - arguments: /Verysilent /AllUsers - - - name: Remove temporary files - win_file: - path: {large_prog_dir}\mems-studio-2.1.2.exe - # path: "{{ download.dest }}" - state: absent - - diff --git a/roles/stm32unicleogui/tasks/main_win.yml b/roles/stm32unicleogui/tasks/main_win.yml index b40d13c..5397607 100644 --- a/roles/stm32unicleogui/tasks/main_win.yml +++ b/roles/stm32unicleogui/tasks/main_win.yml @@ -1,35 +1,31 @@ -# Deprecated - replace by mems-studio -- name: Do not install UnicleoGUI - debug: - msg: "Do not install UnicleoGUI on Windows - deprecated" -# # TODO check install status -# - name: Check UnicleoGUI install status -# win_stat: -# path: C:\Program Files (x86)\STMicroelectronics\Unicleo-GUI\Unicleo-GUI.exe -# register: file -# - when: not file.stat.exists -# block: -# - name: Download UnicleoGUI -# win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQG4vStF7ApBsN2TDm5AjGQBiU0iFbZZiz91UqGeHKX9FA?e=QOQky2&download=1" -O C:\Unicleo-GUI_Setup.exe -# args: -# creates: C:\Unicleo-GUI_Setup.exe -# #win_get_url: -# # follow_redirects: all -# # http_agent: Wget/1.21.3 -# # url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQG4vStF7ApBsN2TDm5AjGQBiU0iFbZZiz91UqGeHKX9FA?e=QOQky2?download=1 -# # dest: C:\Unicleo-GUI_Setup.exe -# #register: download +# TODO check install status +- name: Check UnicleoGUI install status + win_stat: + path: C:\Program Files (x86)\STMicroelectronics\Unicleo-GUI\Unicleo-GUI.exe + register: file +- when: not file.stat.exists + block: + - name: Download UnicleoGUI + win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQG4vStF7ApBsN2TDm5AjGQBiU0iFbZZiz91UqGeHKX9FA?e=QOQky2&download=1" -O C:\Unicleo-GUI_Setup.exe + args: + creates: C:\Unicleo-GUI_Setup.exe + #win_get_url: + # follow_redirects: all + # http_agent: Wget/1.21.3 + # url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EQG4vStF7ApBsN2TDm5AjGQBiU0iFbZZiz91UqGeHKX9FA?e=QOQky2?download=1 + # dest: C:\Unicleo-GUI_Setup.exe + #register: download -# - name: Install UnicleoGUI -# win_package: -# path: C:\Unicleo-GUI_Setup.exe -# # path: "{{ download.dest }}" -# arguments: /Verysilent /AllUsers + - name: Install UnicleoGUI + win_package: + path: C:\Unicleo-GUI_Setup.exe + # path: "{{ download.dest }}" + arguments: /Verysilent /AllUsers -# - name: Remove temporary files -# win_file: -# path: C:\Unicleo-GUI_Setup.exe -# # path: "{{ download.dest }}" -# state: absent + - name: Remove temporary files + win_file: + path: C:\Unicleo-GUI_Setup.exe + # path: "{{ download.dest }}" + state: absent diff --git a/roles/streamlit/tasks/main.yml b/roles/streamlit/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/streamlit/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/streamlit/tasks/main_lin.yml b/roles/streamlit/tasks/main_lin.yml deleted file mode 100644 index 6068e2d..0000000 --- a/roles/streamlit/tasks/main_lin.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install streamlit - pip: - executable: pipx - name: streamlit diff --git a/roles/streamlit/tasks/main_win.yml b/roles/streamlit/tasks/main_win.yml deleted file mode 100644 index 56e74a6..0000000 --- a/roles/streamlit/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install streamlit - win_command: pip install streamlit diff --git a/roles/surfer-project/tasks/main.yml b/roles/surfer-project/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/surfer-project/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/surfer-project/tasks/main_lin.yml b/roles/surfer-project/tasks/main_lin.yml deleted file mode 100644 index 707d76c..0000000 --- a/roles/surfer-project/tasks/main_lin.yml +++ /dev/null @@ -1,17 +0,0 @@ -# https://surfer-project.org/ -- name: create Surfer direcotry - file: - path: /opt/surfer - state: directory - -- name: Download and unpack Surfer - unarchive: - src: https://gitlab.com/api/v4/projects/42073614/jobs/artifacts/main/raw/surfer_linux.zip?job=linux_build - dest: /opt/surfer - remote_src: yes - -- name: Add symlink to /usr/local/bin - file: - src: /opt/surfer/surfer - path: /usr/local/bin/surfer - state: link diff --git a/roles/surfer-project/tasks/main_win.yml b/roles/surfer-project/tasks/main_win.yml deleted file mode 100644 index fd75ce3..0000000 --- a/roles/surfer-project/tasks/main_win.yml +++ /dev/null @@ -1,11 +0,0 @@ -- name: Download Surfer - win_get_url: - dest: "{{ large_prog_dir }}" - url: https://gitlab.com/api/v4/projects/42073614/jobs/artifacts/main/raw/surfer_win.zip?job=windows_build - register: downloaded_surfer - -- name: Unpack Surfer - win_unzip: - src: "{{ downloaded_surfer['dest']}}" - dest: "{{ large_prog_dir }}" - delete_archive: yes diff --git a/roles/thonny/tasks/main_win.yml b/roles/thonny/tasks/main_win.yml index bb7cb8c..6a14128 100644 --- a/roles/thonny/tasks/main_win.yml +++ b/roles/thonny/tasks/main_win.yml @@ -1,6 +1,6 @@ - name: Set Thonny version set_fact: - target_version: 4.1.7 + target_version: 4.0.1 - name: Check Thonny install status win_stat: diff --git a/roles/torch/tasks/main.yml b/roles/torch/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/torch/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/torch/tasks/main_lin.yml b/roles/torch/tasks/main_lin.yml deleted file mode 100644 index 51cf087..0000000 --- a/roles/torch/tasks/main_lin.yml +++ /dev/null @@ -1,12 +0,0 @@ -- name: Install torch - apt: - name: - - python3-torch - - python3-skorch - - python3-torch-cluster - - python3-torch-geometric - - python3-ignite - - python3-sparse - - python3-torchaudio - - python3-torchvision - state: latest diff --git a/roles/torch/tasks/main_win.yml b/roles/torch/tasks/main_win.yml deleted file mode 100644 index 4d1b27b..0000000 --- a/roles/torch/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install torch - win_command: pip install torch torchvision diff --git a/roles/transformers/tasks/main.yml b/roles/transformers/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/transformers/tasks/main.yml +++ /dev/null @@ -1,4 +0,0 @@ -- import_tasks: main_win.yml - when: ansible_os_family == 'Windows' -- import_tasks: main_lin.yml - when: ansible_os_family == 'Debian' diff --git a/roles/transformers/tasks/main_lin.yml b/roles/transformers/tasks/main_lin.yml deleted file mode 100644 index c9ece9b..0000000 --- a/roles/transformers/tasks/main_lin.yml +++ /dev/null @@ -1,4 +0,0 @@ -- name: Install transformers - pip: - executable: pipx: - name: transformers diff --git a/roles/transformers/tasks/main_win.yml b/roles/transformers/tasks/main_win.yml deleted file mode 100644 index 1b4f207..0000000 --- a/roles/transformers/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install transformers - win_command: pip install transformers diff --git a/roles/vscode/tasks/main_lin.yml b/roles/vscode/tasks/main_lin.yml index 1989fff..08ae21d 100644 --- a/roles/vscode/tasks/main_lin.yml +++ b/roles/vscode/tasks/main_lin.yml @@ -1,11 +1,11 @@ - name: Add VS repo key - get_url: + apt_key: url: https://packages.microsoft.com/keys/microsoft.asc - dest: /etc/apt/keyrings/microsoft.asc + keyring: /etc/apt/trusted.gpg.d/microsoft.gpg - name: Add VS repo url apt_repository: - repo: "deb [arch=amd64 signed-by=/etc/apt/keyrings/microsoft.asc] https://packages.microsoft.com/repos/vscode stable main" + repo: "deb https://packages.microsoft.com/repos/vscode stable main" - name: Install VSCode apt: @@ -16,6 +16,6 @@ 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 --force "{{ item }}" + 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/winidea/tasks/main_win.yml b/roles/winidea/tasks/main_win.yml index 6900fc8..ff8e2c2 100644 --- a/roles/winidea/tasks/main_win.yml +++ b/roles/winidea/tasks/main_win.yml @@ -7,8 +7,7 @@ block: - name: Install WinIDEA win_package: - path: "https://www.isystem.com/downloads/winIDEA/setup/winIDEA_x64_9_21_351_224956.exe" -# 2024: path: "https://www.isystem.com/downloads/winIDEA/setup/winIDEA_x64_9_21_253_178621.exe" + path: "https://www.isystem.com/downloads/winIDEA/setup/winIDEA_x64_9_21_253_178621.exe" arguments: /q - name: Download QEMU 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..ae8557c --- /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/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..248eefc --- /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: gns.yml +- include_tasks: virtualbox.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/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..1e4427e --- /dev/null +++ b/roles/winroom/tasks/all_classes.yml @@ -0,0 +1,54 @@ +- 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: 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: 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..882021a --- /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..73172bd --- /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.10/julia-1.10.4-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/altair/tasks/main.yml b/roles/winroom/tasks/main.yml similarity index 100% rename from roles/altair/tasks/main.yml rename to roles/winroom/tasks/main.yml 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/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/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..3796ad4 --- /dev/null +++ b/roles/winroom/tasks/vscode_extensions.yml @@ -0,0 +1,15 @@ +VSCode_Extensions: + - VisualStudioExptTeam.vscodeintellicode + - eamodio.gitlens + - ms-dotnettools.csdevkit # IS-63714 + - ms-python.python + - ms-vscode.cpptools + - 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_win.yml b/roles/wireshark/tasks/main_win.yml index 407a8d8..5c38680 100644 --- a/roles/wireshark/tasks/main_win.yml +++ b/roles/wireshark/tasks/main_win.yml @@ -1,9 +1,9 @@ # 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 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: diff --git a/roles/xampp/tasks/main_win.yml b/roles/xampp/tasks/main_win.yml index 154de4a..44bbc71 100644 --- a/roles/xampp/tasks/main_win.yml +++ b/roles/xampp/tasks/main_win.yml @@ -1,7 +1,6 @@ - name: Install XAMPP win_chocolatey: name: xampp-81 - install_args: "" - name: Make XAMPP config world writable win_acl: @@ -13,7 +12,7 @@ - name: Add firewall rules for XAMPP win_firewall_rule: name: "Allow inbound traffic for XAMPP: {{ item }}" - program: "C:\\xampp\\{{ item }}" + program: "%SystemDrive%\\xampp\\{{ item }}" action: allow direction: in protocol: tcp diff --git a/roles/xgboost/tasks/main_lin.yml b/roles/xgboost/tasks/main_lin.yml index c8b94d7..7046677 100644 --- a/roles/xgboost/tasks/main_lin.yml +++ b/roles/xgboost/tasks/main_lin.yml @@ -1,6 +1,7 @@ - name: Install xgboost apt: name: + - xgboost - python3-xgboost state: latest diff --git a/setup.yml b/setup.yml deleted file mode 100644 index 6d854ff..0000000 --- a/setup.yml +++ /dev/null @@ -1,23 +0,0 @@ -- name: Gather facts / setup connection - hosts: '*' - gather_facts: false - become: false - vars_files: - - vars/credentials.yml - roles: - - facts - -- name: Install software - hosts: '*' - become: true - debugger: on_failed - vars_files: - - vars/software_keys.yml - - vars/dirs.yml - roles: - - all_classes - # - all_classes - # - fri_base - # - android_studio - # - jdk - # - powerdesigner diff --git a/unattended_install/ubuntu/autoinstall.yml b/unattended_install/ubuntu/autoinstall.yml deleted file mode 100644 index d3d80e8..0000000 --- a/unattended_install/ubuntu/autoinstall.yml +++ /dev/null @@ -1,194 +0,0 @@ -#cloud-config -autoinstall: - apt: - disable_components: [] - fallback: offline-install - geoip: true - mirror-selection: - primary: - - country-mirror - - arches: &id001 - - amd64 - - i386 - uri: http://archive.ubuntu.com/ubuntu/ - - arches: &id002 - - s390x - - arm64 - - armhf - - powerpc - - ppc64el - - riscv64 - uri: http://ports.ubuntu.com/ubuntu-ports - preserve_sources_list: false - security: - - arches: *id001 - uri: http://security.ubuntu.com/ubuntu/ - - arches: *id002 - uri: http://ports.ubuntu.com/ubuntu-ports - codecs: - install: true - drivers: - install: true - identity: - hostname: ucilnica - password: $6$TlnOwdSPWxPW4DBb$.QyE0mgGQ8y7eavPpa/RgakcsBbwDRXobcYdZJMek3yNuGmVKdYEMfVG.biguVblI08dNfSa/JgOxMgl2IqHb. - realname: IT FRI - username: local_admin - kernel: - package: linux-generic - keyboard: - layout: si - toggle: null - variant: '' - locale: en_US.UTF-8 - network: - ethernets: - ens18: - dhcp4: true - version: 2 - oem: - install: auto - source: - id: xubuntu-desktop - search_drivers: true - ssh: - allow-pw: true - authorized-keys: [] - install-server: false - storage: - config: - - ptable: gpt - path: /dev/vda - preserve: true - name: '' - grub_device: false - id: disk-vda - type: disk - - device: disk-vda - size: 639631360 - flag: boot - number: 1 - preserve: true - grub_device: true - offset: 1048576 - partition_type: c12a7328-f81f-11d2-ba4b-00a0c93ec93b - partition_name: EFI system partition - path: /dev/vda1 - uuid: 269e71a1-6ae2-4591-a060-b6ac82ffe698 - id: partition-vda1 - type: partition - - device: disk-vda - size: 16777216 - flag: msftres - number: 2 - preserve: true - grub_device: false - offset: 642777088 - partition_type: e3c9e316-0b5c-4db8-817d-f92df00215ae - partition_name: Microsoft reserved partition - path: /dev/vda2 - uuid: ab263f9b-a6ef-4131-946c-8db62cc2fce3 - id: partition-vda2 - type: partition - - device: disk-vda - size: 354904178688 - number: 3 - preserve: true - grub_device: false - offset: 659554304 - partition_type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 - partition_name: Basic data partition - path: /dev/vda3 - uuid: 1e6326a1-a4d4-4225-820a-eca56bfbba1b - id: partition-vda3 - type: partition - - device: disk-vda - size: 762314752 - number: 4 - preserve: true - grub_device: false - offset: 355563732992 - partition_type: de94bba4-06d1-4d40-a16a-bfd50179d6ac - path: /dev/vda4 - uuid: 53e306ac-91a6-4841-81a7-d965910fd1c6 - id: partition-vda4 - type: partition - - device: disk-vda - size: 120000086016 - wipe: superblock - flag: linux - number: 5 - preserve: true - grub_device: false - offset: 356326047744 - partition_type: 0fc63daf-8483-4772-8e79-3d69d8477de4 - path: /dev/vda5 - uuid: 9db5f9d0-33a0-4ca0-9562-649c24ca7499 - id: partition-vda5 - type: partition - - fstype: btrfs - volume: partition-vda5 - preserve: false - id: format-0 - type: format - - path: / - device: format-0 - id: mount-0 - type: mount - - fstype: vfat - volume: partition-vda1 - preserve: true - id: format-partition-vda1 - type: format - - path: /boot/efi - device: format-partition-vda1 - id: mount-1 - type: mount - - device: disk-vda - size: 8000634880 - wipe: superblock - flag: linux - number: 6 - preserve: true - grub_device: false - offset: 476326133760 - partition_type: 0fc63daf-8483-4772-8e79-3d69d8477de4 - path: /dev/vda6 - uuid: 2c990bfc-89d7-43b7-bb1b-0151d44f72cb - id: partition-vda6 - type: partition - - fstype: btrfs - volume: partition-vda6 - preserve: false - id: format-1 - type: format - - path: /home - device: format-1 - id: mount-2 - type: mount - - device: disk-vda - size: 19256049664 - number: 7 - preserve: true - grub_device: false - offset: 484326768640 - partition_type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 - partition_name: Basic data partition - path: /dev/vda7 - uuid: 3cc1570d-e2ed-4337-b520-f57bbe953c66 - id: partition-vda7 - type: partition - timezone: Europe/Ljubljana - updates: security - packages: - - openssh-server - late-commands: - - 'echo "#cloud-config" >> /target/etc/cloud/cloud.cfg.d/99-ssh_keys.cfg' - - 'echo "users:" >> /target/etc/cloud/cloud.cfg.d/99-ssh_keys.cfg' - - 'echo " - name: local_admin" >> /target/etc/cloud/cloud.cfg.d/99-ssh_keys.cfg' - - 'echo " ssh_authorized_keys:" >> /target/etc/cloud/cloud.cfg.d/99-ssh_keys.cfg' - - 'echo " - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIM2Tn8+rH+fkFkBycxYrJ7TzhXQhuf3U+w23JFlZoRiX polz@povzpetnik" >> /target/etc/cloud/cloud.cfg.d/99-ssh_keys.cfg' - - 'echo " - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDRpoWIH5u2g12IM39WNRzLsPksfSjfL/82fPnuZwZ7H polz@it-polz" >> /target/etc/cloud/cloud.cfg.d/99-ssh_keys.cfg' - - 'echo " - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCq7NrrDD53pe9Zpn/dRSPxWQLDIZ9INS0kz/ps/9fGsM8/H/J7jr/ecj0j0jfYig6QdV8G7VnpLWjcuJ65ul3u2rnQSN78Ms/hxlAhmyahQtBA2q2D2zqI2PDWsKAySWmfFg+2W5fYmE1+F9GEB0OWNOuClmfo2A1c8Ve76qSiehHgjYo0G1CQrXkmE00GBLqyqkbyyStLa9DUfaDwrbOu4tJChHo4jDGuLH5QCYcN+RRXjwPQKgk0L2yfu1479L0XqhbEo+KHoIZH501fkoE+gUKVyLERvkhKSiCgPhJmAgRN1bRsiyTwvQzoED4q1RwFmG0AKg0U5bHnAAOd77uyuIYmcFiaRGHROQ9ZbyB9tJ07QrFlzRkderDd5Z18mO7LtgDjFZ2B2DlRY6zxMiUqJyDRnHjDF3+3DTlHIUCC3aEtoYS8MPyRL1b8XenIqswXkM+vkYFeKh2ynjNu3C6VqDCXZFvIi6f1X0ojZXRrDmbiON8Y74HjxP0z6TB1U30= polz@ucilnicenfs-2020" >> /target/etc/cloud/cloud.cfg.d/99-ssh_keys.cfg' - - 'curtin in-target -- sed -i "s/\\(%sudo.*\\) ALL/\\1 NOPASSWD: ALL/" /etc/sudoers' - version: 1 diff --git a/unattended_install/win/autounattend.xml b/unattended_install/win/autounattend.xml deleted file mode 100644 index 6ee0db5..0000000 --- a/unattended_install/win/autounattend.xml +++ /dev/null @@ -1,549 +0,0 @@ - - - - - - - - en-US - - 0409:00000424;0409:00000409 - en-US - en-US - en-US - - - - - - 0 - 3 - - - - - - YNMGQ-8RYV3-4PGQ3-C8XTP-7CFBY - OnError - - true - - false - - - 1 - cmd.exe /c ">>"X:\diskpart.txt" (echo:REM)" - - - 2 - cmd.exe /c "diskpart.exe /s "X:\diskpart.txt" >>"X:\diskpart.log" || ( type "X:\diskpart.log" & echo diskpart encountered an error. & pause & exit /b 1 )" - - - - - - - - ucilnica - - - - - 1 - powershell.exe -WindowStyle Normal -NoProfile -Command "$xml = [xml]::new(); $xml.Load('C:\Windows\Panther\unattend.xml'); $sb = [scriptblock]::Create( $xml.unattend.Extensions.ExtractScript ); Invoke-Command -ScriptBlock $sb -ArgumentList $xml;" - - - 2 - powershell.exe -WindowStyle Normal -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\Specialize.ps1' -Raw | Invoke-Expression;" - - - 3 - reg.exe load "HKU\DefaultUser" "C:\Users\Default\NTUSER.DAT" - - - 4 - powershell.exe -WindowStyle Normal -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\DefaultUser.ps1' -Raw | Invoke-Expression;" - - - 5 - reg.exe unload "HKU\DefaultUser" - - - - - - - - - 0409:00000424;0409:00000409 - en-US - en-US - en-US - - - - - - local_admin - FRI IT - Administrators - - 6tfc5rdx - true</PlainText> - </Password> - </LocalAccount> - <LocalAccount wcm:action="add"> - <Name>Student</Name> - <DisplayName>Student</DisplayName> - <Group>Users</Group> - <Password> - <Value>vaje</Value> - <PlainText>true</PlainText> - </Password> - </LocalAccount> - </LocalAccounts> - </UserAccounts> - <AutoLogon> - <Username>local_admin</Username> - <Enabled>true</Enabled> - <LogonCount>1</LogonCount> - <Password> - <Value>6tfc5rdx</Value> - <PlainText>true</PlainText> - </Password> - </AutoLogon> - <OOBE> - <ProtectYourPC>3</ProtectYourPC> - <HideEULAPage>true</HideEULAPage> - <HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE> - <HideOnlineAccountScreens>false</HideOnlineAccountScreens> - </OOBE> - <FirstLogonCommands> - <SynchronousCommand wcm:action="add"> - <Order>1</Order> - <CommandLine>powershell.exe -WindowStyle Normal -NoProfile -Command "Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\FirstLogon.ps1' -Raw | Invoke-Expression;"</CommandLine> - </SynchronousCommand> - </FirstLogonCommands> - </component> - </settings> - <Extensions xmlns="https://schneegans.de/windows/unattend-generator/"> - <ExtractScript> -param( - [xml] $Document -); - -foreach( $file in $Document.unattend.Extensions.File ) { - $path = [System.Environment]::ExpandEnvironmentVariables( $file.GetAttribute( 'path' ) ); - mkdir -Path( $path | Split-Path -Parent ) -ErrorAction 'SilentlyContinue'; - $encoding = switch( [System.IO.Path]::GetExtension( $path ) ) { - { $_ -in '.ps1', '.xml' } { [System.Text.Encoding]::UTF8; } - { $_ -in '.reg', '.vbs', '.js' } { [System.Text.UnicodeEncoding]::new( $false, $true ); } - default { [System.Text.Encoding]::Default; } - }; - $bytes = $encoding.GetPreamble() + $encoding.GetBytes( $file.InnerText.Trim() ); - [System.IO.File]::WriteAllBytes( $path, $bytes ); -} - </ExtractScript> - <File path="C:\Windows\Setup\Scripts\RemovePackages.ps1"> -$selectors = @( - 'Microsoft.Microsoft3DViewer'; - 'Microsoft.BingSearch'; - 'Microsoft.WindowsCalculator'; - 'Microsoft.WindowsCamera'; - 'Microsoft.WindowsAlarms'; - 'Microsoft.549981C3F5F10'; - 'Microsoft.Windows.DevHome'; - 'MicrosoftCorporationII.MicrosoftFamily'; - 'Microsoft.WindowsFeedbackHub'; - 'Microsoft.Edge.GameAssist'; - 'Microsoft.Getstarted'; - 'Microsoft.WindowsMaps'; - 'Microsoft.MixedReality.Portal'; - 'Microsoft.BingNews'; - 'Microsoft.MicrosoftOfficeHub'; - 'Microsoft.Paint'; - 'Microsoft.Windows.Photos'; - 'Microsoft.PowerAutomateDesktop'; - 'MicrosoftCorporationII.QuickAssist'; - 'Microsoft.SkypeApp'; - 'Microsoft.MicrosoftSolitaireCollection'; - 'Microsoft.MicrosoftStickyNotes'; - 'Microsoft.Todos'; - 'Microsoft.Wallet'; - 'Microsoft.YourPhone'; -); -$getCommand = { - Get-AppxProvisionedPackage -Online; -}; -$filterCommand = { - $_.DisplayName -eq $selector; -}; -$removeCommand = { - [CmdletBinding()] - param( - [Parameter( Mandatory, ValueFromPipeline )] - $InputObject - ); - process { - $InputObject | Remove-AppxProvisionedPackage -AllUsers -Online -ErrorAction 'Continue'; - } -}; -$type = 'Package'; -$logfile = 'C:\Windows\Setup\Scripts\RemovePackages.log'; -&amp; { - $installed = &amp; $getCommand; - foreach( $selector in $selectors ) { - $result = [ordered] @{ - Selector = $selector; - }; - $found = $installed | Where-Object -FilterScript $filterCommand; - if( $found ) { - $result.Output = $found | &amp; $removeCommand; - if( $? ) { - $result.Message = "$type removed."; - } else { - $result.Message = "$type not removed."; - $result.Error = $Error[0]; - } - } else { - $result.Message = "$type not installed."; - } - $result | ConvertTo-Json -Depth 3 -Compress; - } -} *&gt;&amp;1 &gt;&gt; $logfile; - </File> - <File path="C:\Windows\Setup\Scripts\RemoveCapabilities.ps1"> -$selectors = @( - 'Print.Fax.Scan'; - 'Language.Handwriting'; - 'Browser.InternetExplorer'; - 'MathRecognizer'; - 'OneCoreUAP.OneSync'; - 'Microsoft.Windows.MSPaint'; - 'Microsoft.Windows.PowerShell.ISE'; - 'App.Support.QuickAssist'; - 'Language.Speech'; - 'Language.TextToSpeech'; - 'App.StepsRecorder'; - 'Hello.Face.18967'; - 'Hello.Face.Migration.18967'; - 'Hello.Face.20134'; - 'Microsoft.Windows.WordPad'; -); -$getCommand = { - Get-WindowsCapability -Online | Where-Object -Property 'State' -NotIn -Value @( - 'NotPresent'; - 'Removed'; - ); -}; -$filterCommand = { - ($_.Name -split '~')[0] -eq $selector; -}; -$removeCommand = { - [CmdletBinding()] - param( - [Parameter( Mandatory, ValueFromPipeline )] - $InputObject - ); - process { - $InputObject | Remove-WindowsCapability -Online -ErrorAction 'Continue'; - } -}; -$type = 'Capability'; -$logfile = 'C:\Windows\Setup\Scripts\RemoveCapabilities.log'; -&amp; { - $installed = &amp; $getCommand; - foreach( $selector in $selectors ) { - $result = [ordered] @{ - Selector = $selector; - }; - $found = $installed | Where-Object -FilterScript $filterCommand; - if( $found ) { - $result.Output = $found | &amp; $removeCommand; - if( $? ) { - $result.Message = "$type removed."; - } else { - $result.Message = "$type not removed."; - $result.Error = $Error[0]; - } - } else { - $result.Message = "$type not installed."; - } - $result | ConvertTo-Json -Depth 3 -Compress; - } -} *&gt;&amp;1 &gt;&gt; $logfile; - </File> - <File path="C:\Windows\Setup\Scripts\RemoveFeatures.ps1"> -$selectors = @( - 'Microsoft-RemoteDesktopConnection'; - 'Recall'; -); -$getCommand = { - Get-WindowsOptionalFeature -Online | Where-Object -Property 'State' -NotIn -Value @( - 'Disabled'; - 'DisabledWithPayloadRemoved'; - ); -}; -$filterCommand = { - $_.FeatureName -eq $selector; -}; -$removeCommand = { - [CmdletBinding()] - param( - [Parameter( Mandatory, ValueFromPipeline )] - $InputObject - ); - process { - $InputObject | Disable-WindowsOptionalFeature -Online -Remove -NoRestart -ErrorAction 'Continue'; - } -}; -$type = 'Feature'; -$logfile = 'C:\Windows\Setup\Scripts\RemoveFeatures.log'; -&amp; { - $installed = &amp; $getCommand; - foreach( $selector in $selectors ) { - $result = [ordered] @{ - Selector = $selector; - }; - $found = $installed | Where-Object -FilterScript $filterCommand; - if( $found ) { - $result.Output = $found | &amp; $removeCommand; - if( $? ) { - $result.Message = "$type removed."; - } else { - $result.Message = "$type not removed."; - $result.Error = $Error[0]; - } - } else { - $result.Message = "$type not installed."; - } - $result | ConvertTo-Json -Depth 3 -Compress; - } -} *&gt;&amp;1 &gt;&gt; $logfile; - </File> - <File path="C:\Windows\Setup\Scripts\VirtIoGuestTools.ps1"> -&amp; { - foreach( $letter in 'DEFGHIJKLMNOPQRSTUVWXYZ'.ToCharArray() ) { - $exe = "${letter}:\virtio-win-guest-tools.exe"; - if( Test-Path -LiteralPath $exe ) { - Start-Process -FilePath $exe -ArgumentList '/passive', '/norestart' -Wait; - return; - } - } - 'VirtIO Guest Tools image (virtio-win-*.iso) is not attached to this VM.'; -} *&gt;&amp;1 &gt;&gt; 'C:\Windows\Setup\Scripts\VirtIoGuestTools.log'; - </File> - <File path="C:\Windows\Setup\Scripts\unattend-01.ps1"> -Get-WindowsCapability -Name OpenSSH.Server* -Online | - Add-WindowsCapability -Online - -$firewallParams = @{ - Name = 'sshd-Server-In-TCP' - DisplayName = 'Inbound rule for OpenSSH Server (sshd) on TCP port 22' - Action = 'Allow' - Direction = 'Inbound' - Enabled = 'True' # This is not a boolean but an enum - Profile = 'Any' - Protocol = 'TCP' - LocalPort = 22 -} -New-NetFirewallRule @firewallParams - -$shellParams = @{ - Path = 'HKLM:\SOFTWARE\OpenSSH' - Name = 'DefaultShell' - Value = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' - PropertyType = 'String' - Force = $true -} -New-ItemProperty @shellParams - -# Set default to powershell.exe -$shellParams = @{ - Path = 'HKLM:\SOFTWARE\OpenSSH' - Name = 'DefaultShell' - Value = 'C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe' - PropertyType = 'String' - Force = $true -} -New-ItemProperty @shellParams - -# Set real-time clock to UTC -$shellParams = @{ - Path = 'HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation' - Name = 'RealTimeIsUniversal' - Value = '1' - PropertyType = 'DWord' -} -New-ItemProperty @shellParams - - -Set-Service -Name sshd -StartupType Automatic -Status Running - </File> - <File path="C:\Windows\Setup\Scripts\Specialize.ps1"> -$scripts = @( - { - reg.exe add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\OOBE" /v BypassNRO /t REG_DWORD /d 1 /f; - }; - { - Remove-Item -LiteralPath 'Registry::HKLM\Software\Microsoft\WindowsUpdate\Orchestrator\UScheduler_Oobe\DevHomeUpdate' -Force -ErrorAction 'SilentlyContinue'; - }; - { - Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\RemovePackages.ps1' -Raw | Invoke-Expression; - }; - { - Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\RemoveCapabilities.ps1' -Raw | Invoke-Expression; - }; - { - Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\RemoveFeatures.ps1' -Raw | Invoke-Expression; - }; - { - net.exe accounts /maxpwage:UNLIMITED; - }; - { - netsh.exe advfirewall firewall set rule group="@FirewallAPI.dll,-28752" new enable=Yes; - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f; - }; - { - icacls.exe C:\ /remove:g "*S-1-5-11" - }; - { - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Power" /v HiberbootEnabled /t REG_DWORD /d 0 /f; - }; - { - reg.exe add "HKLM\SOFTWARE\Policies\Microsoft\Dsh" /v AllowNewsAndInterests /t REG_DWORD /d 0 /f; - }; - { - reg.exe add "HKLM\SYSTEM\CurrentControlSet\Control\BitLocker" /v "PreventDeviceEncryption" /t REG_DWORD /d 1 /f; - }; - { - Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\unattend-01.ps1' -Raw | Invoke-Expression; - }; -); - -&amp; { - [float] $complete = 0; - [float] $increment = 100 / $scripts.Count; - foreach( $script in $scripts ) { - Write-Progress -Activity 'Running scripts to customize your Windows installation. Do not close this window.' -PercentComplete $complete; - '*** Will now execute command &#xAB;{0}&#xBB;.' -f $( - $str = $script.ToString().Trim() -replace '\s+', ' '; - $max = 100; - if( $str.Length -le $max ) { - $str; - } else { - $str.Substring( 0, $max - 1 ) + '&#x2026;'; - } - ); - $start = [datetime]::Now; - &amp; $script; - '*** Finished executing command after {0:0} ms.' -f [datetime]::Now.Subtract( $start ).TotalMilliseconds; - "`r`n" * 3; - $complete += $increment; - } -} *&gt;&amp;1 &gt;&gt; "C:\Windows\Setup\Scripts\Specialize.log"; - </File> - <File path="C:\Windows\Setup\Scripts\UserOnce.ps1"> -$scripts = @( - { - Set-WinHomeLocation -GeoId 212; - }; - { - Get-AppxPackage -Name 'Microsoft.Windows.Ai.Copilot.Provider' | Remove-AppxPackage; - }; - { - Set-ItemProperty -LiteralPath 'Registry::HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced' -Name 'LaunchTo' -Type 'DWord' -Value 1; - }; -); - -&amp; { - [float] $complete = 0; - [float] $increment = 100 / $scripts.Count; - foreach( $script in $scripts ) { - Write-Progress -Activity 'Running scripts to configure this user account. Do not close this window.' -PercentComplete $complete; - '*** Will now execute command &#xAB;{0}&#xBB;.' -f $( - $str = $script.ToString().Trim() -replace '\s+', ' '; - $max = 100; - if( $str.Length -le $max ) { - $str; - } else { - $str.Substring( 0, $max - 1 ) + '&#x2026;'; - } - ); - $start = [datetime]::Now; - &amp; $script; - '*** Finished executing command after {0:0} ms.' -f [datetime]::Now.Subtract( $start ).TotalMilliseconds; - "`r`n" * 3; - $complete += $increment; - } -} *&gt;&amp;1 &gt;&gt; "$env:TEMP\UserOnce.log"; - </File> - <File path="C:\Windows\Setup\Scripts\DefaultUser.ps1"> -$scripts = @( - { - reg.exe add "HKU\DefaultUser\Software\Policies\Microsoft\Windows\WindowsCopilot" /v TurnOffWindowsCopilot /t REG_DWORD /d 1 /f; - }; - { - reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced" /v "HideFileExt" /t REG_DWORD /d 0 /f; - }; - { - reg.exe add "HKU\DefaultUser\Software\Microsoft\Windows\CurrentVersion\RunOnce" /v "UnattendedSetup" /t REG_SZ /d "powershell.exe -WindowStyle Normal -NoProfile -Command \""Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\UserOnce.ps1' -Raw | Invoke-Expression;\""" /f; - }; -); - -&amp; { - [float] $complete = 0; - [float] $increment = 100 / $scripts.Count; - foreach( $script in $scripts ) { - Write-Progress -Activity 'Running scripts to modify the default user&#x2019;&#x2019;s registry hive. Do not close this window.' -PercentComplete $complete; - '*** Will now execute command &#xAB;{0}&#xBB;.' -f $( - $str = $script.ToString().Trim() -replace '\s+', ' '; - $max = 100; - if( $str.Length -le $max ) { - $str; - } else { - $str.Substring( 0, $max - 1 ) + '&#x2026;'; - } - ); - $start = [datetime]::Now; - &amp; $script; - '*** Finished executing command after {0:0} ms.' -f [datetime]::Now.Subtract( $start ).TotalMilliseconds; - "`r`n" * 3; - $complete += $increment; - } -} *&gt;&amp;1 &gt;&gt; "C:\Windows\Setup\Scripts\DefaultUser.log"; - </File> - <File path="C:\Windows\Setup\Scripts\FirstLogon.ps1"> -$scripts = @( - { - Set-ItemProperty -LiteralPath 'Registry::HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon' -Name 'AutoLogonCount' -Type 'DWord' -Force -Value 0; - }; - { - Get-Content -LiteralPath 'C:\Windows\Setup\Scripts\VirtIoGuestTools.ps1' -Raw | Invoke-Expression; - }; -); - -&amp; { - [float] $complete = 0; - [float] $increment = 100 / $scripts.Count; - foreach( $script in $scripts ) { - Write-Progress -Activity 'Running scripts to finalize your Windows installation. Do not close this window.' -PercentComplete $complete; - '*** Will now execute command &#xAB;{0}&#xBB;.' -f $( - $str = $script.ToString().Trim() -replace '\s+', ' '; - $max = 100; - if( $str.Length -le $max ) { - $str; - } else { - $str.Substring( 0, $max - 1 ) + '&#x2026;'; - } - ); - $start = [datetime]::Now; - &amp; $script; - '*** Finished executing command after {0:0} ms.' -f [datetime]::Now.Subtract( $start ).TotalMilliseconds; - "`r`n" * 3; - $complete += $increment; - } -} *&gt;&amp;1 &gt;&gt; "C:\Windows\Setup\Scripts\FirstLogon.log"; - </File> - </Extensions> -</unattend> \ No newline at end of file diff --git a/winsetup.yml b/winsetup.yml index 89aac70..c8a4fb3 100644 --- a/winsetup.yml +++ b/winsetup.yml @@ -3,25 +3,19 @@ become_method: runas debugger: on_failed vars: - # ansible_connection: winrm - # ansible_winrm_transport: ntlm - # ansible_winrm_server_cert_validation: ignore - # ansible_port: 5985 - ansible_connection: ssh - ansible_port: 22 - ansible_shell_type: powershell + 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 vars_files: - vars/credentials.yml - vars/software_keys.yml roles: - - fri_base # - all_classes - # - matlab # - stm32cube - # - firefox - # - android_studio + - android_studio #- OR-63717 #- RA-63703 #- VN-63728