diff --git a/README.md b/README.md index 74c99c4..907b298 100644 --- a/README.md +++ b/README.md @@ -1,39 +1,5 @@ -# 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 -k -K -i inventory.yml macsetup.py diff --git a/join_ad.yml b/join_ad.yml deleted file mode 100644 index 68ba724..0000000 --- a/join_ad.yml +++ /dev/null @@ -1,19 +0,0 @@ -- name: Gather facts / setup connection - hosts: '*' - gather_facts: false - become: false - vars_files: - - vars/credentials.yml - roles: - - facts - -- name: Join AD - hosts: '*' - become: true - debugger: on_failed - vars_files: - - vars/credentials.yml - vars: - domain_name: "FRI1.UNI-LJ.SI" - roles: - - ad_joined 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/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/KRV-63528/meta/main.yml b/roles/KRV-63528/meta/main.yml index 200842b..300873b 100644 --- a/roles/KRV-63528/meta/main.yml +++ b/roles/KRV-63528/meta/main.yml @@ -7,6 +7,3 @@ dependencies: - role: jupyter - role: openssl - - role: cryptodome - - role: pwntools - - role: python3 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/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/PJC-63769/meta/main.yml b/roles/PJC-63769/meta/main.yml index caa2298..0c5fab1 100644 --- a/roles/PJC-63769/meta/main.yml +++ b/roles/PJC-63769/meta/main.yml @@ -2,4 +2,4 @@ # Tomaz.Dobravec@fri.uni-lj.si # Windows, Pelles C dependencies: - - role: clion + - role: pelles-c 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..f92403c 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 diff --git a/roles/VN-63728/meta/main.yml b/roles/VN-63728/meta/main.yml index 411c38d..3bced19 100644 --- a/roles/VN-63728/meta/main.yml +++ b/roles/VN-63728/meta/main.yml @@ -2,7 +2,7 @@ # 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 diff --git a/roles/VP-63775/meta/main.yml b/roles/VP-63775/meta/main.yml index ea90757..9185ffc 100644 --- a/roles/VP-63775/meta/main.yml +++ b/roles/VP-63775/meta/main.yml @@ -14,5 +14,4 @@ dependencies: - role: jdk - role: jupyter - role: pycharm - - role: cryptography - 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 ab206be..0000000 --- a/roles/ad_joined/files/pam_mount.conf.xml +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - local_admin - root - lightdm - users - - - - - 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 748036b..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,40 +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: Fix broken display settings - start CDPSvc - win_regedit: - path: "{{item}}" - name: "Start" - type: dword - data: 0x00000002 - with_items: - - HKLM\SYSTEM\CurrentControlSet\Services\CDPSvc - - HKLM\SYSTEM\CurrentControlSet\Services\CDPUserSvc - - 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 e69948b..117793c 100644 --- a/roles/ad_joined/templates/sssd.conf +++ b/roles/ad_joined/templates/sssd.conf @@ -3,7 +3,6 @@ config_file_version = 2 domains = fri1.uni-lj.si enable_files_domain = False services = nss, pam -default_domain_suffix = student.uni-lj.si [nss] filtered_groups = root @@ -28,7 +27,5 @@ krb5_store_password_if_offline = True default_shell = /bin/bash ldap_id_mapping = True use_fully_qualified_names = True -full_name_format = %1$s@%3$s fallback_homedir = /home/%u@%d access_provider = ad -krb5_ccname_template = FILE:%d/krb5cc_%U diff --git a/roles/altair/tasks/main.yml b/roles/altair/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/altair/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/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/main_win.yml b/roles/android_studio/tasks/main_win.yml index 60ab850..a209379 100644 --- a/roles/android_studio/tasks/main_win.yml +++ b/roles/android_studio/tasks/main_win.yml @@ -1,80 +1,27 @@ - name: Set Android Studio version set_fact: - studio_path: "{{ large_prog_dir }}\\android-studio" - sdk_path: "{{ large_prog_dir }}\\android-sdk" - 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 }}\\platform-tools\\adb.exe" 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:\\platform-tools-{{ tools_version }}-windows.zip" + dest: "{{ sdk_path }}\\" 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: Create Android Studio SDK directory - win_file: - path: "{{ sdk_path }}" - state: directory - - -- name: Create Android Studio shortcut - win_shortcut: - dest: "C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\Android Studio\\Android Studio.lnk" - src: "{{ studio_path }}\\bin\\studio64.exe" - -- name: Set Android Studio environment variables - win_environment: - level: machine - variables: - ANDROID_HOME: "{{ studio_path }}" - ANDROID_SDK_ROOT: "{{ sdk_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" @@ -82,21 +29,35 @@ - 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 }}" +#- 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: 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/blender/tasks/main_lin.yml b/roles/blender/tasks/main_lin.yml index 9e82934..7a3281e 100644 --- a/roles/blender/tasks/main_lin.yml +++ b/roles/blender/tasks/main_lin.yml @@ -1,32 +1,4 @@ -#- name: Add blender PPA -# command: add-apt-repository -y ppa:savoury1/blender - -#- name: Add blender PPA -# apt_repository: -# repo: ppa:savoury1/blender -# state: present -# update_cache: True - -#- name: Install blender -# apt: -# name: blender -# state: latest -- name: Download and unpack blender - unarchive: - src: https://download.blender.org/release/Blender4.5/blender-4.5.3-linux-x64.tar.xz - dest: /usr/local/lib/ - remote_src: yes - creates: /usr/local/lib/blender-4.5.3-linux-x64/blender-launcher - -- name: Create blender symlink - file: - src: /usr/local/lib/blender-4.5.3-linux-x64/blender-launcher - dest: /usr/local/bin/blender - state: link - -- name: Copy blender .desktop file - copy: - src: "/usr/local/lib/blender-4.5.3-linux-x64/blender.desktop" - dest: "/usr/local/share/applications" - remote_src: yes - +- name: Install blender + apt: + name: blender + state: latest diff --git a/roles/blender/tasks/main_win.yml b/roles/blender/tasks/main_win.yml index fa91d4f..8985fd2 100644 --- a/roles/blender/tasks/main_win.yml +++ b/roles/blender/tasks/main_win.yml @@ -1,3 +1,3 @@ - name: Install Blender win_package: - path: https://ftp.nluug.nl/pub/graphics/blender/release/Blender4.5/blender-4.5.3-windows-x64.msi + path: https://ftp.nluug.nl/pub/graphics/blender/release/Blender3.3/blender-3.3.0-windows-x64.msi diff --git a/roles/chrome/tasks/main_lin.yml b/roles/chrome/tasks/main_lin.yml index 3d07a4f..5433e42 100644 --- a/roles/chrome/tasks/main_lin.yml +++ b/roles/chrome/tasks/main_lin.yml @@ -8,10 +8,6 @@ # state: present # update_cache: True # validate_certs: False -- name: Remove Chromium snap - community.general.snap: - name: chromium - state: absent - name: Install Chromium instead of Chrome apt: diff --git a/roles/clion/files/clion.desktop b/roles/clion/files/clion.desktop deleted file mode 100644 index 001239c..0000000 --- a/roles/clion/files/clion.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Name=CLion -GenericName=CLion -Comment=JetBrains CLion IDE -MimeType=text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-moc;text/x-c;text/x-c++; -Exec=/opt/CLion/bin/clion.sh -Icon=clion -Terminal=false -Type=Application -Categories=Education;Development;ComputerScience; -StartupNotify=true diff --git a/roles/clion/tasks/main.yml b/roles/clion/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/clion/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/clion/tasks/main_lin.yml b/roles/clion/tasks/main_lin.yml deleted file mode 100644 index 6b33b9f..0000000 --- a/roles/clion/tasks/main_lin.yml +++ /dev/null @@ -1,32 +0,0 @@ -- name: Install CLion - block: - - name: Create destination for JetBrains CLion - file: - path: /opt/CLion - state: directory - - name: Download and unpack JetBrains CLion - unarchive: - src: https://data.services.jetbrains.com/products/download?code=CL&platform=linux - dest: /opt/CLion - extra_opts: --strip-components=1 - creates: /opt/CLion/build.txt - remote_src: yes - -- name: Install icon - block: - - file: - path: /usr/local/share/icons - state: directory - - copy: - src: /opt/CLion/bin/clion.svg - remote_src: true - dest: /usr/local/share/icons/clion.svg - -- name: Create .desktop file - block: - - file: - path: /usr/local/share/applications - state: directory - - copy: - dest: /usr/local/share/applications/clion.desktop - src: clion.desktop diff --git a/roles/clion/tasks/main_win.yml b/roles/clion/tasks/main_win.yml deleted file mode 100644 index f66ef50..0000000 --- a/roles/clion/tasks/main_win.yml +++ /dev/null @@ -1,7 +0,0 @@ - -# TODO fix / test this -- name: Install Clion - win_package: - path: "https://data.services.jetbrains.com/products/download?code=CL&platform=windows" - arguments: /S - creates_path: "%ProgramFiles(x86)%\\JetBrains\\IntelliJ IDEA Community Edition {{ target_version }}\\bin\\idea64.exe" 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/cryptodome/tasks/main.yml b/roles/cryptodome/tasks/main.yml deleted file mode 100644 index 66e93fe..0000000 --- a/roles/cryptodome/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/cryptodome/tasks/main_lin.yml b/roles/cryptodome/tasks/main_lin.yml deleted file mode 100644 index de920ed..0000000 --- a/roles/cryptodome/tasks/main_lin.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: Install python-pycryptodome - apt: - name: - - python3-pycryptodome - state: latest diff --git a/roles/cryptodome/tasks/main_win.yml b/roles/cryptodome/tasks/main_win.yml deleted file mode 100644 index 1b9bc48..0000000 --- a/roles/cryptodome/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install python3-pycryptodome - win_command: pip install pycryptodome diff --git a/roles/cryptography/tasks/main.yml b/roles/cryptography/tasks/main.yml deleted file mode 100644 index 66e93fe..0000000 --- a/roles/cryptography/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/cryptography/tasks/main_lin.yml b/roles/cryptography/tasks/main_lin.yml deleted file mode 100644 index eb361bb..0000000 --- a/roles/cryptography/tasks/main_lin.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: Install python-cryptography - apt: - name: - - python3-cryptography - state: latest diff --git a/roles/cryptography/tasks/main_win.yml b/roles/cryptography/tasks/main_win.yml deleted file mode 100644 index b5759ef..0000000 --- a/roles/cryptography/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install python3-cryptography - win_command: pip install cryptography 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/firefox/files/policies.json b/roles/firefox/files/policies.json deleted file mode 100644 index 1d48a1d..0000000 --- a/roles/firefox/files/policies.json +++ /dev/null @@ -1,17 +0,0 @@ -{ - "policies": { - "OverrideFirstRunPage": "https://ucilnica.fri.uni-lj.si", - "OverridePostUpdatePage": "https://ucilnica.fri.uni-lj.si", - "DisableAppUpdate": true, - "DisableSystemAddonUpdate": true, - "DisableTelemetry": true, - "UserMessaging": { - "WhatsNew": false, - "ExtensionRecommendations": false, - "FeatureRecommendations": false, - "UrlbarInterventions": false, - "SkipOnboarding": true, - "MoreFromMozilla": false - } - } -} diff --git a/roles/firefox/tasks/main_lin.yml b/roles/firefox/tasks/main_lin.yml index fa3fd83..8cd61d2 100644 --- a/roles/firefox/tasks/main_lin.yml +++ b/roles/firefox/tasks/main_lin.yml @@ -31,13 +31,3 @@ - firefox state: latest allow_downgrade: True - -- name: Create Firefox policies directory - file: - path: /etc/firefox/policies - state: directory - -- name: Set Firefox policies - copy: - dest: /etc/firefox/policies/policies.json - src: policies.json diff --git a/roles/firefox/tasks/main_win.yml b/roles/firefox/tasks/main_win.yml index a1c24b3..53987a9 100644 --- a/roles/firefox/tasks/main_win.yml +++ b/roles/firefox/tasks/main_win.yml @@ -8,4 +8,19 @@ - name: Set Firefox policies copy: dest: C:\Program Files\Mozilla Firefox\distribution\policies.json - src: 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/fri_base/files/authorized_keys b/roles/fri_base/files/authorized_keys deleted file mode 100644 index 57dc2c0..0000000 --- a/roles/fri_base/files/authorized_keys +++ /dev/null @@ -1,5 +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 - -ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDRpoWIH5u2g12IM39WNRzLsPksfSjfL/82fPnuZwZ7H polz@it-polz diff --git a/roles/fri_base/files/hide_users.conf b/roles/fri_base/files/hide_users.conf deleted file mode 100644 index b3a9f7e..0000000 --- a/roles/fri_base/files/hide_users.conf +++ /dev/null @@ -1,4 +0,0 @@ -[Users] -MinimumUid=999 -MaximumUid=999 -RememberLastUser=false diff --git a/roles/fri_base/files/user.dconf b/roles/fri_base/files/user.dconf deleted file mode 100644 index 9cef8c7..0000000 --- a/roles/fri_base/files/user.dconf +++ /dev/null @@ -1 +0,0 @@ -service-db:keyfile/user diff --git a/roles/fri_base/meta/main.yml b/roles/fri_base/meta/main.yml index 54b3e1e..ca40277 100644 --- a/roles/fri_base/meta/main.yml +++ b/roles/fri_base/meta/main.yml @@ -9,4 +9,3 @@ dependencies: - role: sumatrapdf - role: vlc - role: wget - - role: prometheus-exporter diff --git a/roles/fri_base/tasks/main_lin.yml b/roles/fri_base/tasks/main_lin.yml index fd34a57..d301d09 100644 --- a/roles/fri_base/tasks/main_lin.yml +++ b/roles/fri_base/tasks/main_lin.yml @@ -1,55 +1,6 @@ - name: Enable multiarch command: dpkg --add-architecture i386 -- name: Create swap btrfs subvolume - command: btrfs subvolume create /swap - ignore_errors: True - -- name: Create swap directory if it does not exist - file: - path: /swap - state: directory - -- name: Create btrfs swap - command: btrfs filesystem mkswapfile --size 4g /swap/swap.img - ignore_errors: True - -- name: Create swap image if it does not exist - shell: fallocate -l 4G /swap/swap.img && mkswap /swap/swap.img - args: - creates: /swap/swap.img - ignore_errors: True - -- name: Change swap file permissions - file: path="/swap/swap.img" - owner=root - group=root - mode=0600 - -- name: Write swap entry in fstab - mount: name=none - src=/swap/swap.img - fstype=swap - opts=sw - passno=0 - dump=0 - state=present - -- name: Activate swap - command: "swapon /swap/swap.img" - ignore_errors: True - -- name: Make sure default swap entry does not exist - mount: - path: none - src: /swap.img - fstype: swap - state: absent - -- name: Make sure default swap is not used - command: swapoff /swap/swap.img - ignore_errors: True - - name: Install generally useful packages apt: name: @@ -62,6 +13,7 @@ - kwrite - kate - krita + - blender - inkscape - pcmanfm-qt - qutebrowser @@ -72,13 +24,9 @@ - qemu-utils - virt-manager - wine - - wine64 - wine32:i386 - wine-binfmt - dosbox - - htop - - btop - - iotop # - webext-ublock-origin-chromium # - webext-ublock-origin-firefox - nethack-console @@ -101,11 +49,8 @@ - neovim-qt - binwalk - iotop - - evince - - okular - htop - jdupes - - snapper state: latest update_cache: yes @@ -114,33 +59,8 @@ name: - xfce4-screensaver - xscreensaver - - thunderbird - - kmail state: absent -- name: Set volumes for snapper - set_fact: - snapper_volumes: - - { confname: 'root', subvolume: '/'} - - { confname: 'opt', subvolume: '/opt'} - -- name: Create snapper configs - command: snapper -c {{item.confname}} create-config {{item.subvolume}} - ignore_errors: true - loop: "{{snapper_volumes}}" - -- name: Overwrite snapper configs - template: - src: snapper - dest: /etc/snapper/configs/{{item.confname}} - loop: "{{ snapper_volumes }}" - -- name: Disable APT snapshots for snapper - lineinfile: - path: /etc/default/snapper - regexp: '^DISABLE_APT_SNAPSHOT=' - line: 'DISABLE_APT_SNAPSHOT="yes"' - - name: Set up additional groups for students vars: additional_groups: @@ -180,7 +100,7 @@ mount: boot: true fstype: ntfs-3g - src: "PARTLABEL=Basic\\040data\\040partition" + src: UUID=A09E30889E30594C path: /mnt/C state: mounted opts: defaults,nofail @@ -189,7 +109,7 @@ mount: boot: true fstype: ntfs-3g - src: "PARTLABEL=D:" + src: "LABEL=D:" path: /mnt/D state: mounted opts: defaults,nofail @@ -224,42 +144,3 @@ copy: dest: /etc/udev/rules.d/ src: 99-wakeonlan.rules - -- name: Put dconf files in XDG_RUNTIME_DIR so dconf works on network-mounted homes - block: - - file: - path: /etc/dconf/profile - state: directory - - copy: - dest: /etc/dconf/profile/user - src: user.dconf - -- 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: Hide users in lightdm - lineinfile: - path: /etc/lightdm/lightdm.conf - regexp: "#?greeter-hide-users=" - line: greeter-hide-users=true - -- name: Hide users in sddm - copy: - dest: /etc/sddm.conf.d/ - src: hide_users.conf - - -- name: Copy authorized_keys - become: false - ansible.posix.authorized_key: - user: "{{ ansible_user }}" - key: "{{ lookup('file', 'authorized_keys') }}" - state: present - exclusive: true diff --git a/roles/fri_base/tasks/main_win.yml b/roles/fri_base/tasks/main_win.yml index 9e3b5e5..0a68dbd 100644 --- a/roles/fri_base/tasks/main_win.yml +++ b/roles/fri_base/tasks/main_win.yml @@ -36,15 +36,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/idea/files/idea.desktop b/roles/idea/files/idea.desktop deleted file mode 100644 index 1c69ffe..0000000 --- a/roles/idea/files/idea.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Name=IDEA -GenericName=IDEA -Comment=JetBrains IDEA -MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++; -Exec=/opt/IDEA/bin/idea.sh -Icon=idea -Terminal=false -Type=Application -Categories=Development;ComputerScience; -StartupNotify=true diff --git a/roles/idea/tasks/main_lin.yml b/roles/idea/tasks/main_lin.yml index e70fb5e..89023cd 100644 --- a/roles/idea/tasks/main_lin.yml +++ b/roles/idea/tasks/main_lin.yml @@ -6,27 +6,7 @@ state: directory - name: Download and unpack JetBrains IDEA unarchive: - src: https://data.services.jetbrains.com/products/download?code=IIU&platform=linux + src: https://download.jetbrains.com/idea/ideaIC-2023.2.1.tar.gz dest: /opt/IDEA - extra_opts: --strip-components=1 - creates: /opt/IDEA/build.txt + creates: /opt/IDEA/idea-IC-232.9559.62/build.txt remote_src: yes - -- name: Install icon - block: - - file: - path: /usr/local/share/icons - state: directory - - copy: - src: /opt/IDEA/bin/idea.svg - remote_src: true - dest: /usr/local/share/icons/idea.svg - -- name: Create .desktop file - block: - - file: - path: /usr/local/share/applications - state: directory - - copy: - dest: /usr/local/share/applications/idea.desktop - src: idea.desktop 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..04dd67e 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 diff --git a/roles/jdk/tasks/main_win.yml b/roles/jdk/tasks/main_win.yml index be8ea09..4aad6a4 100644 --- a/roles/jdk/tasks/main_win.yml +++ b/roles/jdk/tasks/main_win.yml @@ -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/logisim/tasks/main_lin.yml b/roles/logisim/tasks/main_lin.yml index c9a2213..0885e90 100644 --- a/roles/logisim/tasks/main_lin.yml +++ b/roles/logisim/tasks/main_lin.yml @@ -11,10 +11,6 @@ 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 diff --git a/roles/matlab/tasks/main_win.yml b/roles/matlab/tasks/main_win.yml index 4fd79ff..e0cddc2 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: C:\matlab - name: Set ISO path set_fact: diff --git a/roles/matplotlib/tasks/main_lin.yml b/roles/matplotlib/tasks/main_lin.yml index a509286..b64ec33 100644 --- a/roles/matplotlib/tasks/main_lin.yml +++ b/roles/matplotlib/tasks/main_lin.yml @@ -1,11 +1,4 @@ -- name: Install matplotlib +- name: Install maptplotlib apt: - name: - - python3-matplotlib - - python3-matplotlib-inline - - python3-matplotlib-venn - - python3-mpl-animators - - python3-mpl-scatter-density - - python3-mplcursors - - python3-mplexporter - state: latest + name: matplotlib + state: latest \ 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/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/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/ocaml/tasks/main_lin.yml b/roles/ocaml/tasks/main_lin.yml index 4d0e80c..6695909 100644 --- a/roles/ocaml/tasks/main_lin.yml +++ b/roles/ocaml/tasks/main_lin.yml @@ -2,14 +2,3 @@ apt: name: ocaml state: latest - -- name: Install opam - apt: - name: opam - state: latest - -- name: Init opam home - command: opam init --reinit --root=/opt/opam --dot-profile=/etc/profile.d/opam.sh --comp=4.14.2 -a - -- name: Install required opam packages - shell: source /etc/profile.d/opam.sh; eval $(opam env --root=/opt/opam --set-root --switch=4.14.2); opam install --yes ocaml-lsp-server odoc ocamlformat utop dune menhir diff --git a/roles/omnetpp/tasks/main_win.yml b/roles/omnetpp/tasks/main_win.yml index d17b337..833b000 100644 --- a/roles/omnetpp/tasks/main_win.yml +++ b/roles/omnetpp/tasks/main_win.yml @@ -3,7 +3,7 @@ - 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: @@ -15,23 +15,17 @@ - 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 }}" + 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 +40,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..96773f2 100644 --- a/roles/powerdesigner/tasks/main_win.yml +++ b/roles/powerdesigner/tasks/main_win.yml @@ -1,13 +1,9 @@ # 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" + {{ installers }}\PowerDesigner_12.5\cd1\setup\setup.exe /s /f1"{{ installers }}\PowerDesigner_12.5\setup.iss" /f2"C:\powerdesigner_log.iss" + args: executable: cmd 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/prometheus-exporter/tasks/main.yml b/roles/prometheus-exporter/tasks/main.yml deleted file mode 100644 index 3077b7e..0000000 --- a/roles/prometheus-exporter/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/prometheus-exporter/tasks/main_lin.yml b/roles/prometheus-exporter/tasks/main_lin.yml deleted file mode 100644 index 98b2923..0000000 --- a/roles/prometheus-exporter/tasks/main_lin.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: Install prometheus-exporter - apt: - name: - - prometheus-node-exporter - state: latest diff --git a/roles/prometheus-exporter/tasks/main_win.yml b/roles/prometheus-exporter/tasks/main_win.yml deleted file mode 100644 index 76d90ac..0000000 --- a/roles/prometheus-exporter/tasks/main_win.yml +++ /dev/null @@ -1,3 +0,0 @@ -- name: Install prometheus exporter - win_chocolatey: - name: prometheus-windows-exporter.install diff --git a/roles/pulseview/tasks/main_win.yml b/roles/pulseview/tasks/main_win.yml index 469843f..1fa7568 100644 --- a/roles/pulseview/tasks/main_win.yml +++ b/roles/pulseview/tasks/main_win.yml @@ -10,10 +10,6 @@ path: "{{ download.dest }}" arguments: /S /Verysilent /AllUsers -- name: Create PulseView Shortcut - win_shortcut: - src: "C:\\Program Files (x86)\\sigrok\\PulseView\\pulseview.exe" - dest: "C:\\Users\\Public\\Desktop\\PulseView.lnk" #- name: Remove temporary files # win_file: # path: "{{ download.dest }}" diff --git a/roles/pwntools/tasks/main.yml b/roles/pwntools/tasks/main.yml deleted file mode 100644 index 66e93fe..0000000 --- a/roles/pwntools/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/pwntools/tasks/main_lin.yml b/roles/pwntools/tasks/main_lin.yml deleted file mode 100644 index 009cd6f..0000000 --- a/roles/pwntools/tasks/main_lin.yml +++ /dev/null @@ -1,5 +0,0 @@ -- name: Install python-pwntools - apt: - name: - - python3-pwntools - state: latest diff --git a/roles/pwntools/tasks/main_win.yml b/roles/pwntools/tasks/main_win.yml deleted file mode 100644 index 6b254c8..0000000 --- a/roles/pwntools/tasks/main_win.yml +++ /dev/null @@ -1,2 +0,0 @@ -- name: Install python3-pwntools - win_command: pip install pwntools diff --git a/roles/pycharm/files/pycharm.desktop b/roles/pycharm/files/pycharm.desktop deleted file mode 100644 index 5a90f0a..0000000 --- a/roles/pycharm/files/pycharm.desktop +++ /dev/null @@ -1,11 +0,0 @@ -[Desktop Entry] -Name=PyCharm -GenericName=PyCharm -Comment=JetBrains PyCharm IDE -MimeType=text/x-python; -Exec=/opt/PyCharm/bin/pycharm.sh -Icon=pycharm -Terminal=false -Type=Application -Categories=Development;ComputerScience; -StartupNotify=true diff --git a/roles/pycharm/tasks/main_lin.yml b/roles/pycharm/tasks/main_lin.yml index 7e8fe1d..b85c36b 100644 --- a/roles/pycharm/tasks/main_lin.yml +++ b/roles/pycharm/tasks/main_lin.yml @@ -6,27 +6,7 @@ state: directory - name: Download and unpack JetBrains PyCharm unarchive: - src: https://data.services.jetbrains.com/products/download?code=PCP&platform=linux + src: https://download.jetbrains.com/python/pycharm-community-2023.2.1.tar.gz dest: /opt/PyCharm - extra_opts: --strip-components=1 - creates: /opt/PyCharm/build.txt + creates: /opt/PyCharm/pycharm-community-2023.2.1/build.txt remote_src: yes - -- name: Install icon - block: - - file: - path: /usr/local/share/icons - state: directory - - copy: - src: /opt/PyCharm/bin/pycharm.svg - remote_src: true - dest: /usr/local/share/icons/clion.svg - -- name: Create .desktop file - block: - - file: - path: /usr/local/share/applications - state: directory - - copy: - dest: /usr/local/share/applications/pycharm.desktop - src: pycharm.desktop 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 8c13a70..8c183df 100644 --- a/roles/python3/tasks/main_lin.yml +++ b/roles/python3/tasks/main_lin.yml @@ -10,7 +10,3 @@ - ipython3 state: latest -- name: Install generally useful libraries - apt: - name: - - python3-tqdm 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/smlnj/files/ml b/roles/smlnj/files/ml deleted file mode 100644 index 31caf23..0000000 --- a/roles/smlnj/files/ml +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -rlwrap sml "$@" diff --git a/roles/smlnj/tasks/main_lin.yml b/roles/smlnj/tasks/main_lin.yml index eb46412..7096389 100644 --- a/roles/smlnj/tasks/main_lin.yml +++ b/roles/smlnj/tasks/main_lin.yml @@ -10,8 +10,4 @@ apt: name: elpa-sml-mode state: latest -- name: Create ml wrapper - copy: - src: ml - dest: /usr/local/bin/ml - mode: 775 + 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..6779104 100644 --- a/roles/stm32duino/tasks/main_win.yml +++ b/roles/stm32duino/tasks/main_win.yml @@ -10,12 +10,14 @@ - 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" + 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 index 146eef8..3077b7e 100644 --- a/roles/stm32mems-studio/tasks/main.yml +++ b/roles/stm32mems-studio/tasks/main.yml @@ -2,4 +2,3 @@ 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 index fca4773..fccdf44 100644 --- a/roles/stm32mems-studio/tasks/main_lin.yml +++ b/roles/stm32mems-studio/tasks/main_lin.yml @@ -1,3 +1,4 @@ -- name: Do not install mems-studio +- name: Do not install UnicleoGUI debug: - msg: "Do not install mems-studio on Linux" + msg: "Do not install UnicleoGUI on Linux" + diff --git a/roles/stm32mems-studio/tasks/main_win.yml b/roles/stm32mems-studio/tasks/main_win.yml index 7e51423..8a1ea31 100644 --- a/roles/stm32mems-studio/tasks/main_win.yml +++ b/roles/stm32mems-studio/tasks/main_win.yml @@ -6,10 +6,9 @@ - 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 + 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: {large_prog_dir}\mems-studio-2.1.2.exe + creates: C:\mems-studio-2.1.2.exe #win_get_url: # follow_redirects: all # http_agent: Wget/1.21.3 @@ -19,13 +18,13 @@ - name: Install MEMS-Studio win_package: - path: {large_prog_dir}\mems-studio-2.1.2.exe + path: C:\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: C:\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/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/vivado/tasks/main_win.yml b/roles/vivado/tasks/main_win.yml index 7288499..4640904 100644 --- a/roles/vivado/tasks/main_win.yml +++ b/roles/vivado/tasks/main_win.yml @@ -1,10 +1 @@ -- name: Add firewall rules for Vitis - win_firewall_rule: - name: "Allow inbound traffic for Vitis: {{ item }}" - program: "{{ large_prog_dir }}\\{{ item }}" - action: allow - direction: in - protocol: tcp - loop: - - "xilinx\\2025.1\\vitis\\bin\\unwrapped\\win64.o\\hw_server.exe" - - "xilinx\\2025.1\\vitis\\bin\\unwrapped\\win64.o\\cs_server.exe" +# TODO diff --git a/roles/vscode/tasks/main_lin.yml b/roles/vscode/tasks/main_lin.yml index 9c5eab8..1989fff 100644 --- a/roles/vscode/tasks/main_lin.yml +++ b/roles/vscode/tasks/main_lin.yml @@ -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 "{{ item }}" --force + command: code --no-sandbox --user-data-dir "/usr/share/code/resources/app" --extensions-dir "/usr/share/code/resources/app/extensions" --install-extension --force "{{ item }}" loop: "{{VSCode_Extensions}}" notify: fix VS code extensions diff --git a/roles/vscode/tasks/vscode_extensions.yml b/roles/vscode/tasks/vscode_extensions.yml index 2aff754..5c47d87 100644 --- a/roles/vscode/tasks/vscode_extensions.yml +++ b/roles/vscode/tasks/vscode_extensions.yml @@ -13,8 +13,6 @@ VSCode_Extensions: - stonebuddha.vscode-better-sml - vscode-icons-team.vscode-icons - vscjava.vscode-java-pack - - shd101wyy.markdown-preview-enhanced - # - oracle.oracle-java - dan-c-underwood.arm # RA-63703 - marus25.cortex-debug # RA-63703 - NateAGeek.memory-viewer # RA-63703 @@ -22,6 +20,4 @@ VSCode_Extensions: - platformio.platformio-ide # ORS-63218 - stmicroelectronics.stm32-vscode-extension # RA-63703 - danielpinto8zz6.c-cpp-compile-run - - danielraggi.sml-environment-2024 - - ocamllabs.ocaml-platform # - vadimcn.vscode-lldb diff --git a/roles/xampp/tasks/main_win.yml b/roles/xampp/tasks/main_win.yml index 43c35ac..44bbc71 100644 --- a/roles/xampp/tasks/main_win.yml +++ b/roles/xampp/tasks/main_win.yml @@ -1,19 +1,18 @@ - name: Install XAMPP win_chocolatey: name: xampp-81 - install_args: "" -- name: Make XAMPP world writable +- name: Make XAMPP config world writable win_acl: user: 'Authenticated Users' - path: "C:\\xampp\\" + path: "C:\\xampp\\xampp-control.ini" type: allow - rights: FullControl + rights: Write - 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/setup.yml b/setup.yml index 3fdbf55..9e7cd09 100644 --- a/setup.yml +++ b/setup.yml @@ -10,22 +10,12 @@ - name: Install software hosts: '*' become: true - debugger: on_failed vars_files: - vars/software_keys.yml - - vars/dirs.yml roles: - # - firefox - # - blender - - fri_base - # - vscode - # - smlnj - # - ocaml - # - vivado - # - pulseview - # - all_classes - # - all_classes + - all_classes + # - matplotlib + # - nodejs + # - qcadesigner-e # - 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 8893885..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 - - - - - - NW6C2-QMPVW-D7KKK-3GKT6-VCFB2 - 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> diff --git a/vars/dirs.yml b/vars/dirs.yml deleted file mode 100644 index 8c80daa..0000000 --- a/vars/dirs.yml +++ /dev/null @@ -1 +0,0 @@ -large_prog_dir: "E:" 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