Compare commits

...
Sign in to create a new pull request.

35 commits

Author SHA1 Message Date
Gašper Fele-Žorž
07f4a73dae Fix name for adding Java bin dir to PATH 2025-09-02 11:37:40 +02:00
Gašper Fele-Žorž
7559b049a2 Fix README.md 2025-09-02 11:28:05 +02:00
Gašper Fele-Žorž
4d3b5f20a7 Fix README.md 2025-09-02 11:25:00 +02:00
Gašper Fele-Žorž
93b01e5d53 Fix / extend README 2025-09-02 11:22:49 +02:00
Gašper Fele-Žorž
0d1e32c626 Fix path according to Marko Poženel 2025-09-02 10:47:06 +02:00
Gašper Fele-Žorž
c15d6f1edf Fix requirements by Ratko Pilipović 2025-09-02 10:47:06 +02:00
79293545d3 Fix README formatting 2025-09-02 09:52:37 +02:00
Gašper Fele-Žorž
c5754dece2 Do not mount cifs volumes for local users; disable debug 2025-09-01 00:21:18 +02:00
Gašper Fele-Žorž
957cd67eb7 Add user homes on CIFS on Linux 2025-08-31 23:36:23 +02:00
Gašper Fele-Žorž
beb1dbb757 Fix Android install on Windows, install to large_prog_dir 2025-08-30 13:10:28 +02:00
Gašper Fele-Žorž
707090192c Fix indentation 2025-08-30 12:45:18 +02:00
Gašper Fele-Žorž
4175f483db Install PowerDesigner to large_prog_dir 2025-08-30 09:21:05 +02:00
Gašper Fele-Žorž
41b392ee1e Honor requests by Luka Fǔrst, apart from shared homes 2025-08-29 15:13:53 +02:00
Gašper Fele-Žorž
8136635a6f Add unattended install files 2025-08-21 00:14:07 +02:00
Gašper Fele-Žorž
782f385a29 Add snapper 2025-08-21 00:13:35 +02:00
Gašper Fele-Žorž
bcb4d836b2 Fix logisim unpack/install 2025-08-21 00:13:20 +02:00
Gašper Fele-Žorž
d0b2a77216 Add new dependencies and perhaps a maintainer for DPS 2025-08-19 18:03:28 +02:00
Gašper Fele-Žorž
eb1e6012bd Add requirements for Podatkovno Rudarjenje 2025-08-19 17:56:27 +02:00
r.rozmann@jung-electronic.de
e1ac068953 stm32mems-studio added (replaces unicleogui and algobuilder)
added to VIN recipe
2025-08-18 15:59:20 +02:00
rozman
90421ef1d1 Changes for 2025, except stm32 2025-08-18 15:59:14 +02:00
rozman
15ea864ddc Changes for 2025, except stm32 2025-08-18 15:56:09 +02:00
Gašper Fele-Žorž
5620a7ebfe Disable CUFinder 2025-08-18 15:51:54 +02:00
RR
e2b92f7a31 refreshing stm32 tools (Cubeide, programmer, monitor) 2025-08-18 15:51:54 +02:00
RR
5954f4e3ba Minor fixes for deprecated and new packages 2025-08-18 15:51:54 +02:00
Gašper Fele-Žorž
2c22dcceaf Fix main.yml for stm32mems-studio 2025-08-16 00:13:27 +02:00
Gašper Fele-Žorž
e845b92ce0 Bump versions, fix installers 2025-08-15 23:04:26 +02:00
Gašper Fele-Žorž
fc56d17bb6 Update requirements for KRV, RA 2025-08-15 23:00:35 +02:00
Gašper Fele-Žorž
2d3fea452f Add role for flask 2025-08-15 22:59:23 +02:00
r.rozmann@jung-electronic.de
0b79607ee6 Minor: historic FRI-SMS support comment added (preserve role file) 2025-08-15 22:47:27 +02:00
r.rozmann@jung-electronic.de
368a302c89 stm32mems-studio added (replaces unicleogui and algobuilder)
added to VIN recipe
2025-08-15 22:47:27 +02:00
r.rozmann@jung-electronic.de
aa6730ab7a WinIdea new version 2025-08-15 22:47:27 +02:00
r.rozmann@jung-electronic.de
7d33bcdcf4 Logisim Linux evolution install added 2025-08-15 22:47:27 +02:00
r.rozmann@jung-electronic.de
67fad39788 Minor: 2024->2025 2025-08-15 22:47:27 +02:00
Gašper Fele-Žorž
45c8586c95 Install PowerDesigner. Give up on supporting spaces in installer directory names. 2025-08-14 16:02:38 +02:00
Gašper Fele-Žorž
675378ba8a Improve os detection 2025-08-13 23:54:56 +02:00
111 changed files with 1741 additions and 353 deletions

View file

@ -1,5 +1,41 @@
# Using the ansible scripts
Ansible playbooks for deploying classroom computers. Run with something like:
ansible-playbook --user <local admin> -k -K -i inventory.yml setup.py
or, for Apple computers:
ansible-playbook --user <local admin> -k -K -i inventory.yml macsetup.py
ansible-playbook --user <local admin> -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).

View file

@ -1,8 +1,8 @@
- hosts: ucilnice-prototip
- hosts: classroom
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,7 +12,8 @@
- vars/credentials.yml
- vars/software_keys.yml
roles:
# - orange
# - nodejs
# - qcadesigner-e
- all_classes
# - fri_base
# - powerdesigner

View file

@ -1,5 +1,8 @@
# Digitalno načrtovanje
# Nejc.Ilc@fri.uni-lj.si
# ratko.pilipovic@fri.uni-lj.si
# Windows, Vivado 2022.1
dependencies:
- role: vivado
- role: iverilog
- role: cocotb
- role: surfer-project

View file

@ -1,8 +1,11 @@
# 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

View file

@ -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.yml
- role: openssl.yml
- role: jupyter
- role: openssl

View file

@ -1,10 +1,10 @@
# 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
# Miran.Koprivec@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si, ratko.pilipovic@fri.uni-lj.si
# Windows, Vivado 2022.1
dependencies:
- role: putty
- role: vivado
- role: cp2102_driver
- role: cocotb
- role: iverilog
- role: surfer-project

View file

@ -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

View file

@ -6,3 +6,4 @@ dependencies:
- role: gedit
- role: mono
- role: vscode
- role: notepad++

View file

@ -0,0 +1,18 @@
# 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

View file

@ -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,6 +10,7 @@ dependencies:
- role: gcc-arm
- role: git
- role: visual2
# - role: winidea-frisms
#TODO Writable d:\RAVINOR directory

View file

@ -2,13 +2,14 @@
# 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: stm32algobuilder #(ni še exe. Datoteke - ne dobim iz ST portala)
- role: stm32unicleogui
- role: stm32mems-studio # replaces algobuilder and unicleogui
# - role: stm32algobuilder #(ni še exe. Datoteke - ne dobim iz ST portala)
# - role: stm32unicleogui
#TODO Writable d:\RAVINOR directory

View file

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
<pam_mount>
<!-- Example using CIFS -->
<debug enable="0" />
<volume
fstype="cifs"
server="ucilnicesmb.fri1.uni-lj.si"
path="%(USER)"
mountpoint="~/"
options="sec=krb5i,cruid=%(USERUID)"
>
<not>
<or>
<user>local_admin</user>
<user>root</user>
<sgrp>sudo</sgrp>
</or>
</not>
</volume>
<volume
fstype="cifs"
server="ucilnicesmb.fri1.uni-lj.si"
path="profiles/%(DOMAIN_USER).V6"
mountpoint="~/win_profile"
options="sec=krb5i,cruid=%(USERUID)"
>
<not>
<or>
<user>local_admin</user>
<user>root</user>
<sgrp>sudo</sgrp>
</or>
</not>
</volume>
</pam_mount>

View file

@ -1,25 +1,39 @@
- name: Enable create homedir on login
command: pam-auth-update --enable mkhomedir
become: true
- 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: Check whether we already joined
command: /bin/bash -c "/usr/sbin/realm list"
register: realm_list_results
- name: Set OU
set_fact:
ou_path: "OU={{locations[0]}},OU=Ucilnice"
- name: Show state
debug:
msg: "Host: {{inventory_hostname}}, OU: {{ou_path}}"
# - import_tasks: ne_sysprep.yaml
- name: "Rename"
# Racunalnik najprej preimenujmo, da ne bosta v domeni obenem 2 z istim imenom
hostname:
name: "{{inventory_hostname}}"
register: hostname_res
- name: Join using realmd
expect:
command: realm join --user={{ad_join_user}} --computer-ou={{ou_path}} FRI1.UNI-LJ.SI
command: realm join --user={{ad_join_user}} --computer-ou={{ou_path}} {{domain_name}}
responses:
(?i)Password: "{{ad_join_password}}"
ignore_errors: yes
@ -32,3 +46,20 @@
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

View file

@ -1,18 +1,22 @@
- 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
@ -24,25 +28,30 @@
- AccountDomainSid
- SusClientId
- SusClientIDValidation
- name: Start Windows Update Service
win_service:
name: wuauserv
state: started
- name: "Join domain"
win_domain_membership:
domain_admin_user: "{{adjoin_user}}"
domain_admin_password: "{{adjoin_password}}"
domain_admin_user: "{{ad_join_user}}"
domain_admin_password: "{{ad_join_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

View file

@ -29,3 +29,4 @@ ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad
krb5_ccname_template = FILE:%d/krb5cc_%U

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,4 @@
- name: Install altair
apt:
name: python3-altair
state: latest

View file

@ -0,0 +1,2 @@
- name: Install altair
win_command: pip install altair

View file

@ -2,9 +2,8 @@ AndroidSDK_packages:
- add-ons;addon-google_apis-google-24
- add-ons;addon-google_apis-google-24
- build-tools;34.0.0-rc3
- build-tools;35.0.0
- cmake;3.22.1
#- cmake;latest
- build-tools;36.0.0
- cmake;4.0.3
- cmdline-tools;latest
- emulator
- extras;android;m2repository
@ -22,15 +21,15 @@ AndroidSDK_packages:
# - patcher;v4
- platform-tools
- platforms;android-34
- platforms;android-35
- platforms;android-36
- platforms;android-32
- platforms;android-UpsideDownCakePrivacySandbox
# - platforms;android-UpsideDownCakePrivacySandbox
- skiaparser;3
- sources;android-35
- sources;android-36
- sources;android-34
- system-images;android-35;google_apis;x86_64
- system-images;android-36;google_apis;x86_64
- system-images;android-34;google_apis;x86_64
- system-images;android-32;google_apis;x86_64
- system-images;android-35;google_apis_playstore;x86_64
- system-images;android-36;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

View file

@ -1,63 +1,90 @@
- name: Set Android Studio version
set_fact:
sdk_path: C:\android-sdk
studio_version: "2025.1.2.11"
tools_version: "latest"
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
- name: Check Android Studio tools
win_stat:
path: "{{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager.bat"
path: "{{ tools_path }}\\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: C:\
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 }}"
- name: Extract Android Studio tools
win_unzip:
src: "C:\\commandlinetools-win-{{ tools_version }}.zip"
dest: "{{ sdk_path }}\\cmdline-tools"
# src: "{{ large_prog_dir }}\\platform-tools-{{ tools_version }}-windows.zip"
src: "{{ studio_path}}\\commandlinetools-win-{{ tools_version }}.zip"
dest: "{{ studio_path }}\\cmdline-tools\\"
delete_archive: yes
- name: Accept Android SDK licenses
win_shell: sh -c "yes | /c/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager.bat --licenses"
- name: Include Android SDK packages
include_vars: androidsdk_packages.yml
- name: Install Android SDK
win_shell: |
{{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "{{ item }}"
loop: "{{ AndroidSDK_packages }}"
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "{{ AndroidSDK_packages | join(' ') }}"
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "build-tools;33.0.0" "cmdline-tools;latest" "emulator" "ndk-bundle" "ndk;25.1.8937393" "platform-tools" "platforms;android-33" "sources;android-33" "system-images;android-33;google_apis;arm64-v8a" "system-images;android-33;google_apis;x86_64"
- name: Install Android Studio
win_package:
path: "https://redirector.gvt1.com/edgedl/android/studio/install/{{ studio_version }}/android-studio-{{ studio_version }}-windows.exe"
arguments: /S /AllUsers
expected_return_code: [0, 1223, 3010]
creates_path: "%ProgramFiles%\\Android\\Android Studio\\bin\\studio64.exe"
- name: 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: D:\.android
path: "{{ large_prog_dir }}\\.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
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: Include Android SDK packages
include_vars: androidsdk_packages.yml
- name: Install Android SDK packages
win_shell: |
{{ tools_path }}\bin\sdkmanager.bat --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: Check HAXM install status
# win_stat:
# path: "%ProgramFiles%\\Intel\\HAXM"

View file

@ -8,8 +8,9 @@
- name: Install Arduino-cli
win_package:
# path: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.0.0_Windows_64bit.exe
path: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip
arguments: /S /AllUsers
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
# creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe"

View file

@ -1,9 +1,13 @@
- name: Add Chromium not-a-snap repository
apt_repository:
repo: ppa:xtradeb/apps
apt:
deb: https://launchpad.net/~xtradeb/+archive/ubuntu/apps/+files/xtradeb-apt-source_0.4_all.deb
state: present
update_cache: True
validate_certs: False
#apt_repository:
# repo: ppa:xtradeb/apps
# state: present
# update_cache: True
# validate_certs: False
- name: Install Chromium instead of Chrome
apt:

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,4 @@
- name: Install Cocotb
pip:
executable: pipx
name: cocotb[bus]

View file

@ -0,0 +1,2 @@
- name: Install cocoTB
win_command: pip install cocotb[bus]

View file

@ -2,3 +2,5 @@
win_chocolatey:
ignore_checksums: true
name: cp210x-vcp-drivers-win10
#TODO remove ignore_errors once the package is repaired/updated
ignore_errors: true

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,4 @@
- name: Install datasets
pip:
executable: pipx
name: datasets

View file

@ -0,0 +1,2 @@
- name: Install datasets
win_command: pip install datasets

View file

@ -12,4 +12,4 @@
win_lineinfile:
path: "%ProgramFiles%\\Eclipse {{ target_version }}\\eclipse\\eclipse.ini"
regexp: "osgi.instance.area.default"
line: "-Dosgi.instance.area.default=H:/Documents/eclipse-workspace"
line: "-Dosgi.instance.area.default=D:/Documents/eclipse-workspace"

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,4 @@
- name: Install evaluate
pip:
executable: pipx
name: evaluate

View file

@ -0,0 +1,2 @@
- name: Install evaluate
win_command: pip install evaluate

View file

@ -1,31 +1,21 @@
- name: Try connecting to linux
ping:
register: lin_ping_data
ignore_unreachable: true
ignore_errors: true
- name: Send valid bash or ps command with different results
raw: |
echo \#\#
register: raw_result
- name: Set shell to powershell
- name: Set shell type
set_fact:
ansible_shell_type: powershell
when: lin_ping_data is undefined or lin_ping_data.unreachable is defined
- name: Try connecting to windows
win_ping:
register: win_ping_data
ignore_unreachable: true
ignore_errors: true
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_shell_type: powershell
ansible_connection: ssh
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: win_ping_data is defined and win_ping_data.ping is defined
when: ansible_shell_type == "powershell"
- name: Set connection parameters and paths for Ubuntu
set_fact:
@ -33,4 +23,4 @@
ansible_become_flags: ""
ansible_ssh_extra_args: '-o ForwardX11=yes'
installers: /mnt/ucilnice_d/install
when: lin_ping_data is defined and lin_ping_data.ping is defined
when: ansible_shell_type == "sh"

View file

@ -1,5 +1,21 @@
- 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
@ -8,12 +24,6 @@
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:

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,7 @@
- name: Install flask
apt:
name:
- python3-flask
- python-flask-doc
state: latest

View file

@ -27,6 +27,7 @@
- wine32:i386
- wine-binfmt
- dosbox
- snapper
# - webext-ublock-origin-chromium
# - webext-ublock-origin-firefox
- nethack-console
@ -49,6 +50,8 @@
- neovim-qt
- binwalk
- iotop
- evince
- okular
- htop
- jdupes
state: latest
@ -144,3 +147,13 @@
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

View file

@ -1,9 +1,23 @@
- name: Add GNS3 repository
apt_repository:
repo: ppa:gns3/ppa
state: present
update_cache: True
validate_certs: False
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
- name: Install gns3 server
ansible.builtin.apt:
name: gns3-server

View file

@ -1,10 +1,20 @@
- name: Add Inkscape repository
apt_repository:
repo: ppa:inkscape.dev/stable
state: present
update_cache: True
validate_certs: False
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
- name: Install Inkscape
apt:
name: inkscape
name: inkscape-trunk
state: latest

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,4 @@
- name: Install Icarus
apt:
name: iverilog
state: latest

View file

@ -0,0 +1,6 @@
- name: Install Icarus Verilog
win_chocolatey:
name: iverilog
version: '11.0'
source: http://internal/odata/repo
state: present

View file

@ -1,6 +1,11 @@
- name: Install OpenJDK 21
- name: Install latest OpenJDK (25)
apt:
name: openjdk-21-jdk
name: openjdk-25-jdk
state: latest
- name: Install latest Java docs
apt:
name: openjdk-25-doc
state: latest
- name: Install OpenJDK 17
@ -31,11 +36,7 @@
- libc6-x32
state: latest
- name: Install Oracle JDK 22
- name: Install Oracle JDK 24
apt:
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"
deb: "https://download.oracle.com/java/24/latest/jdk-24_linux-x64_bin.deb"

View file

@ -1,6 +1,6 @@
- name: Install Oracle JDK
win_package:
path: https://download.oracle.com/java/22/latest/jdk-22_windows-x64_bin.msi
path: https://download.oracle.com/java/24/latest/jdk-24_windows-x64_bin.msi
arguments: INSTALLLEVEL=3
- name: Find Java version
@ -28,6 +28,13 @@
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

View file

@ -11,3 +11,13 @@
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

View file

@ -1,6 +1,6 @@
- name: Set Matlab version and destination
set_fact:
target_version: "R2024a_Update_5"
target_version: "R2025a_Update_1"
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 }}/VersionInfo.xml"
creates: "{{ dest_dir }}/licenses/license_info.xml"
#- name: Unmount Matlab ISO
# win_disk_image:
# image_path: "{{ installers }}\\matlab\\matlab-{{ target_version }}_windows.iso"

View file

@ -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: D:\matlab
dest_dir: "{{ large_prog_dir }}\\matlab"
- name: Set ISO path
set_fact:
@ -17,21 +17,27 @@
- name: Prepare installer_input.txt
template:
src: installer_input.txt
dest: d:\matlab_installer_input.txt
dest: c:\matlab_installer_input.txt
- name: Install Matlab
win_package:
path: "{{ disk_image.mount_paths[0] }}\\setup.exe"
arguments: -inputFile "d:\\matlab_installer_input.txt"
arguments: -inputFile "c:\\matlab_installer_input.txt"
- name: Unmount Matlab ISO
win_disk_image:
image_path: "{{ iso_path }}"
state: absent
ignore_errors: true
# 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
- 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

View file

@ -13,7 +13,8 @@ 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=no
enableLNU=yes
improveMATLAB=no

View file

@ -1,4 +1,11 @@
- name: Install maptplotlib
- name: Install matplotlib
apt:
name: matplotlib
state: latest
name:
- python3-matplotlib
- python3-matplotlib-inline
- python3-matplotlib-venn
- python3-mpl-animators
- python3-mpl-scatter-density
- python3-mplcursors
- python3-mplexporter
state: latest

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,4 @@
- name: Install mlxtend
pip:
executable: pipx
name: mlxtend

View file

@ -0,0 +1,2 @@
- name: Install pandas
win_command: pip install mlxtend

View file

@ -1,8 +1,104 @@
- name: Download mysql workbench
- name: Create mysql workbench build directory
file:
path: /tmp/mysql-workbench
state: directory
- name: Download mysql workbench source
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
url: https://dev.mysql.com/get/Downloads/MySQLGUITools/mysql-workbench-community-8.0.43-src.tar.gz
dest: /tmp/mysql-workbench/mysql-workbench.tgz
http_agent: "Wget/1.21.3"
- name: Install mysql workbench
register: mysql_download
- name: Install mysql workbench build dependencies
apt:
deb: /tmp/mysql-workbench-community_8.0.38-1ubuntu24.04_amd64.deb
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

View file

@ -2,8 +2,22 @@
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: "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"
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"

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,4 @@
- name: Install networkx
apt:
name: python3-networkx
state: latest

View file

@ -0,0 +1,2 @@
- name: Install networkx
win_command: pip install networkx

View file

@ -1,7 +1,7 @@
- name: Add NodeJS repo key
apt_key:
get_url:
url: https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key
keyring: /etc/apt/keyrings/nodesource.gpg
dest: /etc/apt/keyrings/nodesource.asc
#- name: Add NodeJS repo url
# apt_repository:
@ -9,10 +9,5 @@
- name: Add NodeJS LTS repo url
apt_repository:
repo: "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_18.x nodistro main"
- name: Install NodeJS
apt:
name: nodejs
state: latest
repo: "deb [signed-by=/etc/apt/keyrings/nodesource.asc] https://deb.nodesource.com/node_22.x nodistro main"

View file

@ -2,6 +2,7 @@
win_chocolatey:
name: nodejs
- name: Install NodeJS-LTS
win_chocolatey:
name: nodejs-lts
# Install fails if multiple versions are installed
# - name: Install NodeJS-LTS
# win_chocolatey:
# name: nodejs-lts

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,5 @@
- name: Install numpy
apt:
name:
- python3-numpy
state: latest

View file

@ -0,0 +1,2 @@
- name: Install numpy
win_command: pip install numpy

View file

@ -1,7 +1,9 @@
# 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: "C:\\OMNeT++"
target_dir: "{{large_prog_dir}}\\OMNeT++"
- name: Check OMNet++ install status
win_stat:
@ -12,18 +14,24 @@
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:\
url: "https://github.com/omnetpp/omnetpp/releases/download/omnetpp-{{ target_version }}/omnetpp-{{ target_version }}-windows-x86_64.7z"
dest: "{{ large_prog_dir }}"
register: download
- name: Unzip OMNet++
win_unzip:
src: "{{ download.dest }}"
dest: C:\
dest: "{{ large_prog_dir }}"
delete_archive: yes
- name: Move OMNet++ to final location
win_command: cmd.exe /c move "C:\omnetpp-{{ target_version }}" "{{ target_dir }}"
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 }}"
- name: Create OMNet++ compile script
win_copy:
@ -38,7 +46,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:

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,4 @@
- name: Install plotly
apt:
name: python3-plotly
state: latest

View file

@ -0,0 +1,2 @@
- name: Install plotly
win_command: pip install plotly

View file

@ -1,4 +1,16 @@
# 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_package:
path: "{{ installers }}\\PowerDesigner 12.5\\cd1\\setup\\setup.exe"
arguments: "/s /f1\"{{ installers }}\\PowerDesigner 12.5\\setup.iss\" /f2\"C:\\powerdesigner_log.iss\""
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\""

View file

@ -3,37 +3,37 @@ Version=v7.00
File=Response File
[File Transfer]
OverwrittenReadOnly=NoToAll
[{{ powerdesigner_key }}-DlgOrder]
Dlg0={{ powerdesigner_key }}-SdWelcome-0
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-DlgOrder]
Dlg0={DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdWelcome-0
Count=10
Dlg1={{ powerdesigner_key }}-SybSelectInstallMode-0
Dlg2={{ powerdesigner_key }}-SybFlexLM-0
Dlg3={{ powerdesigner_key }}-SybSelectPackage-0
Dlg4={{ powerdesigner_key }}-Sybase License-0
Dlg5={{ powerdesigner_key }}-SdAskDestPath-0
Dlg6={{ powerdesigner_key }}-SdComponentTree-0
Dlg7={{ powerdesigner_key }}-Graphic Select Folder-0
Dlg8={{ powerdesigner_key }}-SdStartCopy-0
Dlg9={{ powerdesigner_key }}-SdFinish-0
[{{ powerdesigner_key }}-SdWelcome-0]
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]
Result=1
[{{ powerdesigner_key }}-SybSelectInstallMode-0]
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybSelectInstallMode-0]
Mode=3
Result=1
[{{ powerdesigner_key }}-SybFlexLM-0]
LicenseServer=todo.fri1.uni-lj.si
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybFlexLM-0]
LicenseServer=todo.fri.uni-lj.si
PortNumber=27000
Result=1
[{{ powerdesigner_key }}-SybSelectPackage-0]
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SybSelectPackage-0]
Package=Studio Enterprise
Result=1
[{{ powerdesigner_key }}-Sybase License-0]
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-Sybase License-0]
Sybase_License=accept
[{{ powerdesigner_key }}-SdAskDestPath-0]
szDir=C:\Program Files (x86)\Sybase\PowerDesigner 12
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdAskDestPath-0]
szDir={{ large_prog_dir }}\PowerDesigner 12
Result=1
[{{ powerdesigner_key }}-SdComponentTree-0]
szDir=C:\Program Files (x86)\Sybase\PowerDesigner 12
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdComponentTree-0]
szDir={{ large_prog_dir }}\PowerDesigner 12
CR\FRM-type=string
CR\FRM-count=2
CR\FRM-0=CR\FRM\FRM_Xem
@ -108,11 +108,6 @@ 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
@ -135,6 +130,19 @@ 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
@ -143,15 +151,15 @@ Component-2=CDM
Component-3=ILM
Component-4=OOM
Component-5=PDM
Component-6=RQM
Component-7=XSM
Component-8=RPY
Component-9=PDF
Component-6=XSM
Component-7=RPY
Component-8=PDF
Component-9=VIDEO
Result=1
[{{ powerdesigner_key }}-Graphic Select Folder-0]
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-Graphic Select Folder-0]
szFolder=Sybase\PowerDesigner 12
Result=1
[{{ powerdesigner_key }}-SdStartCopy-0]
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdStartCopy-0]
Keep_Settings=0
Result=1
[Application]
@ -159,7 +167,7 @@ Name=Sybase PowerDesigner 12.5
Version=12.5.2169
Company=Sybase
Lang=0009
[{{ powerdesigner_key }}-SdFinish-0]
[{DA53ABD7-6592-45DA-A6DD-287A48F74D37}-SdFinish-0]
Result=1
bOpt1=0
bOpt2=0

View file

@ -1,7 +1,7 @@
- name: Set Processing version
set_fact:
target_version: 4.4.4
target_build: 1304
target_version: 4.4.6
target_build: 1306
- name: Check Processing install status
win_stat:
@ -22,20 +22,21 @@
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
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
- 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
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
- name: Disable telemetry
win_lineinfile:
path: C:\Program Files\Processing\lib\defaults.txt
path: C:\Program Files\Processing\app\resources\lib\defaults.txt
regexp: 'update.check'
line: 'update.check = false'
- name: Create Processing shortcut
@ -44,8 +45,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\{{ item }}
path: C:\Program Files\processing.zip
state: absent
loop:
- processing.zip
- processing-{{ target_version }}

View file

@ -8,4 +8,4 @@
state: upgrade
version: "{{ target_version }}"
# TODO set default project directory to H:\something
# TODO set default project directory to {{large_prog_dir}}\something

View file

@ -5,6 +5,8 @@
- name: Install ipython
apt:
name: python3-ipython
name:
- python3-ipython
- ipython3
state: latest

View file

@ -15,7 +15,7 @@
- name: Clone QCADesigner-E repo
#
ansible.builtin.git:
repo: https://github.com/FSillT/QCADesigner-E
repo: https://github.com/polz113/QCADesigner-E
force: yes
dest: /opt/QCADesigner-E
- name: Build QCADesigner-E

View file

@ -1,13 +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: 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: Install R
ansible.builtin.apt:
name: r-base

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,6 @@
- name: Install scikit
apt:
name:
- python3-sklearn
- python3-sklearn-pandas
state: latest

View file

@ -0,0 +1,2 @@
- name: Install scikit
win_command: pip install scikit-learn

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,4 @@
- name: Install seaborn
apt:
name: python3-seaborn
state: latest

View file

@ -0,0 +1,2 @@
- name: Install seaborn
win_command: pip install seaborn

View file

@ -5,7 +5,7 @@
- name: Set SiFive Studio install location
set_fact:
download_filedest: C:\FreedomStudio-4.18.0.2021-04-1-x86_64-w64-mingw32.zip
download_filedest: "{{ large_prog_dir }}\\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: C:\SiFive\
creates: C:\SiFive\plugins
dest: "{{ large_prog_dir }}\\SiFive\\"
creates: "{{ large_prog_dir }}\\SiFive\\plugins"
delete_archive: yes
- name: Create desktop shortcut
win_shortcut:
description: "SiFive Freedom Studio"
src: C:\SiFive\FreedomStudio.exe
src: "{{ large_prog_dir }}\\SiFive\\FreedomStudio.exe"
dest: '%public%\Desktop\SiFive.lnk'

View file

@ -1,31 +1,34 @@
# TODO check install status
# Deprecated - replace by mems-studio
- name: Do not install AlgoBuilder
debug:
msg: "Do not install AlgoBuilder on Windows - deprecated"
# 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

View file

@ -8,13 +8,13 @@
# register: download
- name: Set filename
set_fact:
dest_fname: /tmp/st-stm32cubeide_1.16.0_21983_20240628_1741_amd64.sh
dest_fname: /tmp/st-stm32cubeide_1.19.0_25607_20250703_0907_amd64.sh
- name: Download stm32
command:
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 }}
cmd: wget 'https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/ERLZDFSgbO1Hm6TT9CLhyUIBZS-4anic7RWtvQliqN-thA?e=KZq4VJ' -O {{ dest_fname }}
creates: "{{ dest_fname }} "
# url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EUrIkoWbod5OilNHLnReBvYBMK7mlwI-R1Qeqhb-ux7hjg?e=HGloHF?download=1
# url: https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/ERLZDFSgbO1Hm6TT9CLhyUIBZS-4anic7RWtvQliqN-thA?e=KZq4VJ
- name: Change script permissions
file:

View file

@ -7,18 +7,18 @@
block:
- name: Set download filenames
set_fact:
cubemx_download_file: C:\CubeMX.exe
# cubemx_download_file: C:\CubeMX.exe not needed separately
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.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 }}"
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 }}"
#- name: Install CubeMX
# win_package:
@ -26,7 +26,7 @@
# arguments: /S
- name: Download CubeProgrammer
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_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EXHsKDjM6hVAuEGwEWcMyBEBgx7D9i_M3QAkhpe9RR9zPQ?e=VcUvvu" -O "{{ cubeprogrammer_download_file }}"
#win_get_url:
# dest: C:\CubeProgrammer.exe
#register: cubeprogrammer_download
@ -39,10 +39,10 @@
arguments: /S
- name: Download CubeMonitor
# 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 }}"
# 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_get_url:
# dest: C:\CubeMonitor.exe
#register: cubemonitor_download
@ -54,23 +54,23 @@
path: "{{ cubemonitor_download_file }}"
arguments: /S
- name: Download STM CUFinder
win_command: wget "https://unilj-my.sharepoint.com/:u:/g/personal/rozman_fri1_uni-lj_si/EfesbSW7EftDoSjtt-nr_eYBH_EBzXnysW0Lk1wnNzx2Mw?e=HSSmDz&download=1" -O "{{ cufinder_download_file }}"
# #win_get_url:
# # dest: C:\CUFinder.exe
# #register: cubecufinder_download
args:
creates: "{{ cufinder_download_file }}"
- name: Install STM CUFinder
win_package:
path: "{{ cubecufinder_download_file }}"
arguments: /S
# 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: 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/ERpqeASbQ2hDrL9ANNWJf5QBJNhHieXoqaNtduppk42qwg?e=zI8rjI&download=1" -O "{{ cubeide_download_file }}"
#dest: C:\st-stm32cubeide_1.16.0_21983_20240628_1741_x86_64.exe
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 }}"
#dest: C:\st-stm32cubeide_1.19.0_25607_20250703_0907_x86_64.exe
#register: cubeide_download
args:
creates: "{{ cubeide_download_file }}"
@ -83,12 +83,13 @@
- name: Set CubeIDE default workspace
win_lineinfile:
path: C:\ST\STM32CubeIDE_1.10.1\STM32CubeIDE\stm32cubeide.ini
path: C:\ST\STM32CubeIDE_1.19.0\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
# 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

View file

@ -5,18 +5,18 @@
# arguments: /S /AllUsers
# creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe"
# 2024: update: Full directory structure ready zip for Windows only on this URL:
# 2025: 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: "D:\\RAVINOR\\STM32Duino"
path: "{{large_prog_dir}}\\RAVINOR\\STM32Duino"
state: directory
- name: Install Logisim
- name: Install preinstalled STM32Duino & Arduino environment
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"
dest: "{{large_prog_dir}}\\RAVINOR\\STM32Duino"
# TODO Don't know if unzipping is required?

View file

@ -0,0 +1,5 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,3 @@
- name: Do not install mems-studio
debug:
msg: "Do not install mems-studio on Linux"

View file

@ -0,0 +1,31 @@
# 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
args:
creates: C:\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: C:\mems-studio-2.1.2.exe
# path: "{{ download.dest }}"
arguments: /Verysilent /AllUsers
- name: Remove temporary files
win_file:
path: C:\mems-studio-2.1.2.exe
# path: "{{ download.dest }}"
state: absent

View file

@ -1,31 +1,35 @@
# 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
# 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
- 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

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,4 @@
- name: Install streamlit
pip:
executable: pipx
name: streamlit

View file

@ -0,0 +1,2 @@
- name: Install streamlit
win_command: pip install streamlit

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,17 @@
# 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

View file

@ -0,0 +1,11 @@
- 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

View file

@ -1,6 +1,6 @@
- name: Set Thonny version
set_fact:
target_version: 4.0.1
target_version: 4.1.7
- name: Check Thonny install status
win_stat:

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

View file

@ -0,0 +1,12 @@
- 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

View file

@ -0,0 +1,2 @@
- name: Install torch
win_command: pip install torch torchvision

View file

@ -0,0 +1,4 @@
- import_tasks: main_win.yml
when: ansible_os_family == 'Windows'
- import_tasks: main_lin.yml
when: ansible_os_family == 'Debian'

Some files were not shown because too many files have changed in this diff Show more