forked from rc/classroom
Compare commits
55 commits
add-spo-63
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
fc01fec18c | ||
![]() |
99a8aa06db | ||
![]() |
9e9d487d57 | ||
![]() |
529623497c | ||
![]() |
d985d8ff84 | ||
![]() |
07f4a73dae | ||
![]() |
7559b049a2 | ||
![]() |
4d3b5f20a7 | ||
![]() |
93b01e5d53 | ||
![]() |
0d1e32c626 | ||
![]() |
c15d6f1edf | ||
79293545d3 | |||
![]() |
c5754dece2 | ||
![]() |
957cd67eb7 | ||
![]() |
beb1dbb757 | ||
![]() |
707090192c | ||
![]() |
4175f483db | ||
![]() |
41b392ee1e | ||
![]() |
8136635a6f | ||
![]() |
782f385a29 | ||
![]() |
bcb4d836b2 | ||
![]() |
d0b2a77216 | ||
![]() |
eb1e6012bd | ||
![]() |
e1ac068953 | ||
![]() |
90421ef1d1 | ||
![]() |
15ea864ddc | ||
![]() |
5620a7ebfe | ||
![]() |
e2b92f7a31 | ||
![]() |
5954f4e3ba | ||
![]() |
2c22dcceaf | ||
![]() |
e845b92ce0 | ||
![]() |
fc56d17bb6 | ||
![]() |
2d3fea452f | ||
![]() |
0b79607ee6 | ||
![]() |
368a302c89 | ||
![]() |
aa6730ab7a | ||
![]() |
7d33bcdcf4 | ||
![]() |
67fad39788 | ||
![]() |
45c8586c95 | ||
![]() |
675378ba8a | ||
![]() |
9a2e67b2e1 | ||
![]() |
f5456a7f57 | ||
![]() |
d0ac08e8ba | ||
2fe3a758d5 | |||
aafe896a98 | |||
b5ac93a417 | |||
![]() |
a45faf868f | ||
7b000c1b26 | |||
![]() |
8c5b9d97a7 | ||
f76056ebee | |||
257afdde51 | |||
![]() |
33496e4eec | ||
![]() |
51707bc31b | ||
![]() |
0b827d76eb | ||
![]() |
6b73a2e068 |
441 changed files with 1858 additions and 3505 deletions
41
README.md
41
README.md
|
@ -1,8 +1,39 @@
|
|||
# Using the ansible scripts
|
||||
|
||||
Ansible playbooks for deploying classroom computers. Run with something like:
|
||||
ansible-playbook --user <local admin> -k -K -i inventory.yml setup.py
|
||||
|
||||
ansible-playbook --user <AD admin> --ask-pass \
|
||||
--become-user=<local admin>
|
||||
--inventory hosts winsetup.yml
|
||||
or, for Apple computers:
|
||||
ansible-playbook --user <local admin> -k -K -i inventory.yml macsetup.py
|
||||
|
||||
# How classroom computers are prepared at FRI
|
||||
|
||||
The computers are prepared as follows:
|
||||
- Ask teachers to check their requirements.
|
||||
- Fix ansible scripts according to the requirements.
|
||||
- Set up a fresh Windows and Linux install on a VM, using files in unattended\_install.
|
||||
- Use ansible to deploy the software, fixing fresh bugs due to changes in the install processes along the way.
|
||||
- Fix root filesystem UUIDs to what they were last year so the network-booted menu still works.
|
||||
- Create partition table image and partition images using [FRI Backup](https://github.com/UL-FRI/ansible_classroom_deploy/tree/main/fri_backup).
|
||||
- Deploy the images on separate VMs - one for Linux, one for Windows.
|
||||
- Have teachers check their software in the VMs, report any problems.
|
||||
- Fix problems on the VMs.
|
||||
- Create partition images for Windows on one VM, for Linux on the other.
|
||||
- Deploy the images on a limited number of computers in the classrooms using FRI Backup.
|
||||
- Test the newly deployed computers, fix identified problems on the VMs.
|
||||
- Join the Linux VM into AD. One AD account is used for all computers.
|
||||
- Deploy the partition tables and partitions to the classrooms using [custom ansible scripts](https://github.com/UL-FRI/ansible_classroom_deploy/tree/main/polz_scripts) running FRI Backup and [UDPCast](https://www.udpcast.linux.lu/cmd.html).
|
||||
- Join Windows into AD.
|
||||
|
||||
# Immutable computers
|
||||
|
||||
Some pieces of modern software assume that a computer is only used by one user who has practically unlimited space in their home folder. Examples of such software are Android Studio, Visual Studio Code, Matlab, Windows Subsystem for Linux (WSUS) and others. Instead of trying to get the software to work, we might just give up and have everyone use the same account on each computer, then wipe all data after they log out / reboot.
|
||||
|
||||
## Windows
|
||||
|
||||
We intend to use [UWF](https://learn.microsoft.com/en-us/windows/configuration/wcd/wcd-unifiedwritefilter).
|
||||
|
||||
## Linux
|
||||
|
||||
We intend to use [snapper](https://wiki.archlinux.org/title/Snapper).
|
||||
|
||||
ansible-playbook --user <local admin> --ask-pass \
|
||||
--inventory hosts linsetup.yml
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
- hosts: ucilnice-prototip
|
||||
- hosts: classroom
|
||||
become_method: sudo
|
||||
become: true
|
||||
vars:
|
||||
ansible_port: 1001
|
||||
# ansible_port: 1001
|
||||
ansible_ssh_extra_args: '-o ForwardX11=yes'
|
||||
# ansible_become_pass: '{{ lookup("env", "ANSIBLE_PASSWORD") }}'
|
||||
# ansible_password: '{{ lookup("env", "ANSIBLE_PASSWORD") }}'
|
||||
|
@ -12,7 +12,8 @@
|
|||
- vars/credentials.yml
|
||||
- vars/software_keys.yml
|
||||
roles:
|
||||
# - orange
|
||||
# - nodejs
|
||||
# - qcadesigner-e
|
||||
- all_classes
|
||||
# - fri_base
|
||||
# - powerdesigner
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
# Analiza algoritmov in hevristično reševanje problemov
|
||||
# matej.piculin@fri.uni-lj.si
|
||||
# octavian.machidon@fri.uni-lj.si
|
||||
# Windows, Java JDK, Eclipse, R, RStudio
|
||||
dependencies:
|
||||
- role: rstudio
|
||||
- role: eclipse
|
||||
- role: jdk
|
||||
- role: python3
|
||||
- role: pycharm
|
||||
|
|
7
roles/APS1-63711/main.yaml
Normal file
7
roles/APS1-63711/main.yaml
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Algoritmi in podatkovne strukture 1
|
||||
# jurij.mihelic@fri.uni-lj.si
|
||||
# JDK, vscode, gedit
|
||||
dependencies:
|
||||
- role: jdk
|
||||
- role: vscode
|
||||
- role: gedit
|
|
@ -1,5 +1,8 @@
|
|||
# Digitalno načrtovanje
|
||||
# Nejc.Ilc@fri.uni-lj.si
|
||||
# ratko.pilipovic@fri.uni-lj.si
|
||||
# Windows, Vivado 2022.1
|
||||
dependencies:
|
||||
- role: vivado
|
||||
- role: iverilog
|
||||
- role: cocotb
|
||||
- role: surfer-project
|
||||
|
|
|
@ -1,8 +1,11 @@
|
|||
# Digitalno procesiranje signalov
|
||||
# Aleks.Huc@fri.uni-lj.si
|
||||
# metod.celestina@dewesoft.si
|
||||
# Windows, GNU/Linux, Matlab, wfdb, Octave, Audacity
|
||||
dependencies:
|
||||
- role: matlab
|
||||
- role: wfdb
|
||||
- role: octave
|
||||
- role: audacity
|
||||
- role: numpy
|
||||
- role: matplotlib
|
||||
|
|
7
roles/IS-63266/meta/main.yml
Normal file
7
roles/IS-63266/meta/main.yml
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Inteligentni sistemi
|
||||
# tadej.skvorc@fri.uni-lj.si
|
||||
#
|
||||
dependencies:
|
||||
- role: python3
|
||||
- role: jupyter
|
||||
- role: vscode
|
|
@ -5,5 +5,5 @@
|
|||
# SageMath se se prevede za Ubutnu 24.04: https://github.com/sagemath/sage/issues/38051#issuecomment-2123452861
|
||||
# - include_tasks: sagemath.yml
|
||||
dependencies:
|
||||
- role: jupyter.yml
|
||||
- role: openssl.yml
|
||||
- role: jupyter
|
||||
- role: openssl
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
# Načrtovanje digitalnih naprav
|
||||
# Miran.Koprivec@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si
|
||||
# Windows, Vivado 2022.1
|
||||
# Načrtovanje digitalnih naprav
|
||||
# Miha.Moskon@fri.uni-lj.si
|
||||
# Miran.Koprivec@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si, ratko.pilipovic@fri.uni-lj.si
|
||||
# Windows, Vivado 2022.1
|
||||
dependencies:
|
||||
- role: putty
|
||||
- role: vivado
|
||||
- role: cp2102_driver
|
||||
- role: cocotb
|
||||
- role: iverilog
|
||||
- role: surfer-project
|
||||
|
|
|
@ -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
|
||||
|
|
9
roles/OS-63217/main.yaml
Normal file
9
roles/OS-63217/main.yaml
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Operacijski sistemi
|
||||
# jurij.mihelic@fri.uni-lj.si
|
||||
# C, JDK, vscode, gedit
|
||||
dependencies:
|
||||
- role: c_development
|
||||
- role: jdk
|
||||
- role: vscode
|
||||
- role: gedit
|
||||
- role: virtualbox
|
|
@ -1,7 +1,12 @@
|
|||
# Osnove umetne inteligence
|
||||
# Jure.Zabkar@fri.uni-lj.si, Ales.Papic@fri.uni-lj.si, matej.piculin@fri.uni-lj.si, Marko.Zeman@fri.uni-lj.si, bojan.zunkovic@fri.uni-lj.si
|
||||
# Orange, Weka 3, BayesFusion
|
||||
# matej.piculin@fri.uni-lj.si, petar.vracar@fri.uin-lj.si
|
||||
# Orange, Weka 3, BayesFusion, Python3
|
||||
dependencies:
|
||||
- role: orange
|
||||
- role: weka
|
||||
- role: bayesfusion
|
||||
- role: python3
|
||||
- role: pycharm
|
||||
- role: pandas
|
||||
- role: scipy
|
||||
- role: matplotlib
|
||||
|
|
|
@ -6,3 +6,4 @@ dependencies:
|
|||
- role: gedit
|
||||
- role: mono
|
||||
- role: vscode
|
||||
- role: notepad++
|
||||
|
|
18
roles/PR-63765/meta/main.yml
Normal file
18
roles/PR-63765/meta/main.yml
Normal file
|
@ -0,0 +1,18 @@
|
|||
# Podatkovno rudarjenje
|
||||
# rok.gomiscek@fri.uni-lj.si
|
||||
#
|
||||
dependencies:
|
||||
- role: jupyter
|
||||
- role: pandas
|
||||
- role: matplotlib
|
||||
- role: plotly
|
||||
- role: seaborn
|
||||
- role: altair
|
||||
- role: scikit-learn
|
||||
- role: mlxtend
|
||||
- role: networkx
|
||||
- role: transformers
|
||||
- role: datasets
|
||||
- role: evaluate
|
||||
- role: torch # includes torchvision
|
||||
- role: streamlit
|
|
@ -2,7 +2,7 @@
|
|||
# Ziga.Pusnik@fri.uni-lj.si, Robert.Rozman@fri.uni-lj.si
|
||||
# Windows, CubeIDE + tools, STMDuino, VSCode, WinIdea 9.21 + GCC + QEMU, Visual2
|
||||
dependencies:
|
||||
- role: stm32cube (CubeMonitor sem vzel samo exe)
|
||||
# - role: stm32cube # (CubeMonitor sem vzel samo exe)
|
||||
- role: stm32duino
|
||||
- role: vscode
|
||||
- role: putty
|
||||
|
@ -10,6 +10,7 @@ dependencies:
|
|||
- role: gcc-arm
|
||||
- role: git
|
||||
- role: visual2
|
||||
# - role: winidea-frisms
|
||||
|
||||
#TODO Writable d:\RAVINOR directory
|
||||
|
||||
|
|
|
@ -1,25 +1,17 @@
|
|||
# Recepti za nameščanje programske opreme
|
||||
|
||||
Recepti za nameščanje programske opreme v učilnicah FRI se nahajajo v:
|
||||
V tem imeniku naj bi za vsak predmet obstajal podimenik oblike ABC-63999, pri čemer je ABC okrajšava, 63999 pa šifra predmeta.
|
||||
Na primer, za predmet Komunikacijski protokoli in omrežna varnost obstaja imenik KPOV-63716.
|
||||
|
||||
- linroom/tasks za GNU/Linux
|
||||
- windows/tasks za Microsoft Windows
|
||||
Katere programe potrebujete za svoj predmet, navedete v datoteki meta/main.yml, na primer KPOV-63716/meta/main.yml.
|
||||
|
||||
Večino programov namestimo tako pod GNU/Linux kot windows. Recept za namestitev programa "mojprogram" je tako v:
|
||||
- mojprogram/tasks/main\_lin.yml za GNU/Linux, ki ga trenutno uporabljamo,
|
||||
- mojprogram/tasks/main\_win.yml za Windows.
|
||||
|
||||
Na primer, za Microsofteov VSCode obstaja imenik vscode in datoteki vscode/tasks/main\_lin.yml ter
|
||||
vscode/tasks/main\_win.yml
|
||||
|
||||
Vsako leto predvidoma popravimo recepte - sezname potrebnih programov in recepte za nameščanje le-teh.
|
||||
|
||||
## Zahteve za predmet
|
||||
|
||||
V imeniku tasks za vsak predmet obstaja YAML datoteka s seznamom zahtevanih programov.
|
||||
Na primer, za predmet Komunikacijski protokoli in omrežna varnost obstaja datoteka KPOV-63716.yml.
|
||||
V datoteki je po ena vrstica z besedo "include" za vsak program, ki ga pri predmetu potrebujemo.
|
||||
|
||||
Trenutno za vsak predmet obstajata po dve datoteki - ena pod linroom/tasks, druga pod winroom/tasks.
|
||||
|
||||
## Nameščanje posameznega programa
|
||||
|
||||
Datoteke za nameščanje programov se prav tako nahajajo v imeniku tasks.
|
||||
Na primer, za nameščanje Microsoftovega VSCode, obstaja datoteka vscode.yml.
|
||||
|
||||
Za nameščanje pod GNU/Linux in Windows sta datoteki seveda različni.
|
||||
|
||||
Ker nekateri programi niso javno dostopni, se pri nekaterih receptih uporabljajo datoteke z datotečnega strežnika UcilniceSMB. Kako to popraviti, je zaenkrat odprto vprašanje.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
# Strojno učenje
|
||||
# matej.piculin@fri.uni-lj.si, Petar.Vracar@fri.uni-lj.si
|
||||
# jana.faganelipucer@fri.uni-lj.si.
|
||||
# Windows, R, RStudio
|
||||
dependencies:
|
||||
- role: python3
|
||||
|
@ -7,5 +7,5 @@ dependencies:
|
|||
- role: scipy
|
||||
- role: xgboost
|
||||
- role: statsmodels
|
||||
- role: tensorflow
|
||||
- role: pytorch
|
||||
- role: statsmodels
|
||||
|
|
|
@ -2,13 +2,14 @@
|
|||
# Robert.Rozman@fri.uni-lj.si
|
||||
# Windows, CubeIDE + Tools, STMDuino, VSCode, LTSpice, PulseView,Putty, STM32 Algobuilder & Unicleo GUI
|
||||
dependencies:
|
||||
- role: stm32cube
|
||||
#- role: stm32cube
|
||||
- role: stm32duino
|
||||
- role: vscode
|
||||
- role: ltspice
|
||||
- role: pulseview
|
||||
- role: putty
|
||||
- role: stm32algobuilder #(ni še exe. Datoteke - ne dobim iz ST portala)
|
||||
- role: stm32unicleogui
|
||||
|
||||
- role: stm32mems-studio # replaces algobuilder and unicleogui
|
||||
# - role: stm32algobuilder #(ni še exe. Datoteke - ne dobim iz ST portala)
|
||||
# - role: stm32unicleogui
|
||||
|
||||
#TODO Writable d:\RAVINOR directory
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
# Python (in standardno pripadajoča šara jupyter lab) in IntelliJ IDEA PyCharm CE
|
||||
# PyCharm
|
||||
# Java (kar je bilo lani bo ok) in IntelliJ IDEA CE
|
||||
# cryptography
|
||||
# flask
|
||||
# maven
|
||||
# git
|
||||
dependencies:
|
||||
|
@ -12,3 +14,4 @@ dependencies:
|
|||
- role: jdk
|
||||
- role: jupyter
|
||||
- role: pycharm
|
||||
- role: flask
|
||||
|
|
37
roles/ad_joined/files/pam_mount.conf.xml
Normal file
37
roles/ad_joined/files/pam_mount.conf.xml
Normal file
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!DOCTYPE pam_mount SYSTEM "pam_mount.conf.xml.dtd">
|
||||
|
||||
<pam_mount>
|
||||
<!-- Example using CIFS -->
|
||||
<debug enable="0" />
|
||||
<volume
|
||||
fstype="cifs"
|
||||
server="ucilnicesmb.fri1.uni-lj.si"
|
||||
path="%(USER)"
|
||||
mountpoint="~/"
|
||||
options="sec=krb5i,cruid=%(USERUID)"
|
||||
>
|
||||
<not>
|
||||
<or>
|
||||
<user>local_admin</user>
|
||||
<user>root</user>
|
||||
<sgrp>sudo</sgrp>
|
||||
</or>
|
||||
</not>
|
||||
</volume>
|
||||
<volume
|
||||
fstype="cifs"
|
||||
server="ucilnicesmb.fri1.uni-lj.si"
|
||||
path="profiles/%(DOMAIN_USER).V6"
|
||||
mountpoint="~/win_profile"
|
||||
options="sec=krb5i,cruid=%(USERUID)"
|
||||
>
|
||||
<not>
|
||||
<or>
|
||||
<user>local_admin</user>
|
||||
<user>root</user>
|
||||
<sgrp>sudo</sgrp>
|
||||
</or>
|
||||
</not>
|
||||
</volume>
|
||||
</pam_mount>
|
|
@ -1,25 +1,39 @@
|
|||
- name: Enable create homedir on login
|
||||
command: pam-auth-update --enable mkhomedir
|
||||
become: true
|
||||
- name: Install required packages
|
||||
apt:
|
||||
name:
|
||||
- realmd
|
||||
- sssd
|
||||
- libpam-mount
|
||||
- heimdal-clients
|
||||
|
||||
- name: Remove krb5-user
|
||||
apt:
|
||||
name:
|
||||
krb5-user
|
||||
state: absent
|
||||
|
||||
- name: Set OU
|
||||
set_fact:
|
||||
ou_path: "OU={{locations[0]}},OU=Ucilnice"
|
||||
|
||||
- name: Show state
|
||||
debug:
|
||||
msg: "Host: {{inventory_hostname}}, OU: {{ou_path}}"
|
||||
# - import_tasks: ne_sysprep.yaml
|
||||
|
||||
- name: "Rename"
|
||||
# Racunalnik najprej preimenujmo, da ne bosta v domeni obenem 2 z istim imenom
|
||||
hostname:
|
||||
name: "{{inventory_hostname}}-linux"
|
||||
register: hostname_res
|
||||
|
||||
- name: Check whether we already joined
|
||||
command: /bin/bash -c "/usr/sbin/realm list"
|
||||
register: realm_list_results
|
||||
- name: Set OU
|
||||
set_fact:
|
||||
ou_path: "OU={{locations[0]}},OU=Ucilnice"
|
||||
- name: Show state
|
||||
debug:
|
||||
msg: "Host: {{inventory_hostname}}, OU: {{ou_path}}"
|
||||
# - import_tasks: ne_sysprep.yaml
|
||||
- name: "Rename"
|
||||
# Racunalnik najprej preimenujmo, da ne bosta v domeni obenem 2 z istim imenom
|
||||
hostname:
|
||||
name: "{{inventory_hostname}}"
|
||||
register: hostname_res
|
||||
|
||||
- name: Join using realmd
|
||||
expect:
|
||||
command: realm join --user={{ad_join_user}} --computer-ou={{ou_path}} FRI1.UNI-LJ.SI
|
||||
command: realm join --user={{ad_join_user}} --computer-ou={{ou_path}} {{domain_name}}
|
||||
responses:
|
||||
(?i)Password: "{{ad_join_password}}"
|
||||
ignore_errors: yes
|
||||
|
@ -32,3 +46,20 @@
|
|||
owner: root
|
||||
mode: 0600
|
||||
|
||||
- name: Configure libpam-mount
|
||||
copy:
|
||||
src: pam_mount.conf.xml
|
||||
dest: /etc/security/pam_mount.conf.xml
|
||||
|
||||
- name: Enable libpam-mount
|
||||
command: pam-auth-update --enable libpam-mount
|
||||
become: true
|
||||
|
||||
- name: Disable libpam-mkhomedir
|
||||
command: pam-auth-update --disable mkhomedir
|
||||
become: true
|
||||
|
||||
- name: Restart sssd
|
||||
service:
|
||||
name: sssd
|
||||
state: restarted
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
- name: Set OU
|
||||
set_fact:
|
||||
ou_path: "OU={{locations[0]}},OU=Ucilnice,DC=fri1,DC=uni-lj,DC=si"
|
||||
|
||||
- name: "Rename"
|
||||
# Racunalnik najprej preimenujmo, da ne bosta v domeni obenem 2 z istim imenom
|
||||
win_hostname:
|
||||
name: "{{inventory_hostname}}"
|
||||
register: hostname_res
|
||||
|
||||
- name: "Reboot after hostname change"
|
||||
win_reboot:
|
||||
when: hostname_res.reboot_required
|
||||
|
||||
- name: Stop Windows Update Service
|
||||
win_service:
|
||||
name: wuauserv
|
||||
state: stopped
|
||||
|
||||
- name: Clear WSUS ID from registry
|
||||
win_regedit:
|
||||
path: HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate
|
||||
|
@ -24,25 +28,30 @@
|
|||
- AccountDomainSid
|
||||
- SusClientId
|
||||
- SusClientIDValidation
|
||||
|
||||
- name: Start Windows Update Service
|
||||
win_service:
|
||||
name: wuauserv
|
||||
state: started
|
||||
|
||||
- name: "Join domain"
|
||||
win_domain_membership:
|
||||
domain_admin_user: "{{adjoin_user}}"
|
||||
domain_admin_password: "{{adjoin_password}}"
|
||||
domain_admin_user: "{{ad_join_user}}"
|
||||
domain_admin_password: "{{ad_join_password}}"
|
||||
dns_domain_name: "{{domain_name}}"
|
||||
domain_ou_path: "{{ou_path}}"
|
||||
hostname: "{{inventory_hostname}}"
|
||||
state: domain
|
||||
register: domain_state
|
||||
|
||||
- name: Reset WSUS authorization
|
||||
win_command: wuauclt.exe /resetauthorization /detectnow
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Update windows
|
||||
win_command: wuauclt.exe /updatenow
|
||||
ignore_errors: yes
|
||||
|
||||
- name: Reboot
|
||||
win_command: "shutdown /r"
|
||||
when: domain_state.reboot_required
|
||||
|
|
|
@ -29,3 +29,4 @@ ldap_id_mapping = True
|
|||
use_fully_qualified_names = True
|
||||
fallback_homedir = /home/%u@%d
|
||||
access_provider = ad
|
||||
krb5_ccname_template = FILE:%d/krb5cc_%U
|
||||
|
|
|
@ -2,6 +2,7 @@ dependencies:
|
|||
- role: fri_base
|
||||
- role: AAHRP-63263
|
||||
- role: APS1-63279
|
||||
- role: APS1-63711
|
||||
- role: ARP1-63545C
|
||||
- role: BMO-63259
|
||||
- role: DF-63530
|
||||
|
@ -11,6 +12,7 @@ dependencies:
|
|||
- role: EP-63249
|
||||
- role: FP-63507
|
||||
- role: GO-63715
|
||||
- role: IS-63266
|
||||
- role: IS-63714
|
||||
- role: IVZ-63521
|
||||
- role: KCR-63550
|
||||
|
@ -24,17 +26,22 @@ dependencies:
|
|||
- role: NRG-63553
|
||||
- role: OBSS-63514
|
||||
- role: ODV-63204
|
||||
- role: OIS-63215
|
||||
- role: OO-63271
|
||||
- role: OPB-63208
|
||||
- role: OR-63717
|
||||
- role: ORS-63218
|
||||
- role: OS-63217
|
||||
- role: OS-63709
|
||||
- role: OS-63741
|
||||
- role: OUI-63214
|
||||
- role: P1-63277
|
||||
- role: P1-63702
|
||||
- role: P2-63278
|
||||
- role: P2-63706
|
||||
- role: PA-63737
|
||||
- role: PB2-63713
|
||||
- role: PB-63707
|
||||
- role: PB2-63713
|
||||
- role: PJC-63769
|
||||
- role: PPJ-63220
|
||||
- role: PS-63261
|
||||
|
|
4
roles/altair/tasks/main_lin.yml
Normal file
4
roles/altair/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- name: Install altair
|
||||
apt:
|
||||
name: python3-altair
|
||||
state: latest
|
2
roles/altair/tasks/main_win.yml
Normal file
2
roles/altair/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
- name: Install altair
|
||||
win_command: pip install altair
|
|
@ -2,9 +2,8 @@ AndroidSDK_packages:
|
|||
- add-ons;addon-google_apis-google-24
|
||||
- add-ons;addon-google_apis-google-24
|
||||
- build-tools;34.0.0-rc3
|
||||
- build-tools;35.0.0
|
||||
- cmake;3.22.1
|
||||
#- cmake;latest
|
||||
- build-tools;36.0.0
|
||||
- cmake;4.0.3
|
||||
- cmdline-tools;latest
|
||||
- emulator
|
||||
- extras;android;m2repository
|
||||
|
@ -22,15 +21,15 @@ AndroidSDK_packages:
|
|||
# - patcher;v4
|
||||
- platform-tools
|
||||
- platforms;android-34
|
||||
- platforms;android-35
|
||||
- platforms;android-36
|
||||
- platforms;android-32
|
||||
- platforms;android-UpsideDownCakePrivacySandbox
|
||||
# - platforms;android-UpsideDownCakePrivacySandbox
|
||||
- skiaparser;3
|
||||
- sources;android-35
|
||||
- sources;android-36
|
||||
- sources;android-34
|
||||
- system-images;android-35;google_apis;x86_64
|
||||
- system-images;android-36;google_apis;x86_64
|
||||
- system-images;android-34;google_apis;x86_64
|
||||
- system-images;android-32;google_apis;x86_64
|
||||
- system-images;android-35;google_apis_playstore;x86_64
|
||||
- system-images;android-36;google_apis_playstore;x86_64
|
||||
- system-images;android-34;google_apis_playstore;x86_64
|
||||
- system-images;android-UpsideDownCakePrivacySandbox;google_apis_playstore;x86_64
|
||||
# - system-images;android-UpsideDownCakePrivacySandbox;google_apis_playstore;x86_64
|
||||
|
|
|
@ -1,63 +1,90 @@
|
|||
- name: Set Android Studio version
|
||||
set_fact:
|
||||
sdk_path: C:\android-sdk
|
||||
studio_version: "2025.1.2.11"
|
||||
tools_version: "latest"
|
||||
studio_path: "{{ large_prog_dir }}\\android-studio"
|
||||
studio_version: "2025.1.2.13"
|
||||
tools_version: "13114758_latest"
|
||||
|
||||
- name: Set Android command-line tools path
|
||||
set_fact:
|
||||
tools_path: "{{ studio_path }}\\cmdline-tools\\latest"
|
||||
|
||||
- name: Check Android Studio
|
||||
win_stat:
|
||||
path: "{{ studio_path }}\\bin\\studio64.exe"
|
||||
register: studio
|
||||
|
||||
- when: not studio.stat.exists
|
||||
block:
|
||||
- name: Download Android Studio
|
||||
win_get_url:
|
||||
url: "https://redirector.gvt1.com/edgedl/android/studio/ide-zips/{{ studio_version }}/android-studio-{{ studio_version }}-windows.zip"
|
||||
dest: "{{ large_prog_dir }}\\"
|
||||
|
||||
- name: Extract Android Studio
|
||||
win_unzip:
|
||||
src: "{{ large_prog_dir }}\\android-studio-{{ studio_version }}-windows.zip"
|
||||
dest: "{{ large_prog_dir }}\\"
|
||||
delete_archive: yes
|
||||
|
||||
- name: Check Android Studio tools
|
||||
win_stat:
|
||||
path: "{{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager.bat"
|
||||
path: "{{ tools_path }}\\bin\\sdkmanager.bat"
|
||||
register: tools
|
||||
|
||||
- when: not tools.stat.exists
|
||||
block:
|
||||
- name: Download Android Studio tools
|
||||
win_get_url:
|
||||
# url: "https://dl.google.com/android/repository/commandlinetools-win-{{ tools_version }}.zip"
|
||||
url: "https://dl.google.com/android/repository/platform-tools-{{ tools_version }}-windows.zip"
|
||||
dest: C:\
|
||||
url: "https://dl.google.com/android/repository/commandlinetools-win-{{ tools_version }}.zip"
|
||||
# url: "https://dl.google.com/android/repository/platform-tools-{{ tools_version }}-windows.zip"
|
||||
dest: "{{ studio_path }}"
|
||||
|
||||
- name: Extract Android Studio tools
|
||||
win_unzip:
|
||||
src: "C:\\commandlinetools-win-{{ tools_version }}.zip"
|
||||
dest: "{{ sdk_path }}\\cmdline-tools"
|
||||
# src: "{{ large_prog_dir }}\\platform-tools-{{ tools_version }}-windows.zip"
|
||||
src: "{{ studio_path}}\\commandlinetools-win-{{ tools_version }}.zip"
|
||||
dest: "{{ studio_path }}\\cmdline-tools\\"
|
||||
delete_archive: yes
|
||||
|
||||
- name: Accept Android SDK licenses
|
||||
win_shell: sh -c "yes | /c/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager.bat --licenses"
|
||||
|
||||
- name: Include Android SDK packages
|
||||
include_vars: androidsdk_packages.yml
|
||||
|
||||
- name: Install Android SDK
|
||||
win_shell: |
|
||||
{{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "{{ item }}"
|
||||
loop: "{{ AndroidSDK_packages }}"
|
||||
|
||||
|
||||
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "{{ AndroidSDK_packages | join(' ') }}"
|
||||
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "build-tools;33.0.0" "cmdline-tools;latest" "emulator" "ndk-bundle" "ndk;25.1.8937393" "platform-tools" "platforms;android-33" "sources;android-33" "system-images;android-33;google_apis;arm64-v8a" "system-images;android-33;google_apis;x86_64"
|
||||
|
||||
- name: Install Android Studio
|
||||
win_package:
|
||||
path: "https://redirector.gvt1.com/edgedl/android/studio/install/{{ studio_version }}/android-studio-{{ studio_version }}-windows.exe"
|
||||
arguments: /S /AllUsers
|
||||
expected_return_code: [0, 1223, 3010]
|
||||
creates_path: "%ProgramFiles%\\Android\\Android Studio\\bin\\studio64.exe"
|
||||
- name: Move cmdline-tools to expected location
|
||||
ansible.windows.win_powershell:
|
||||
script: move "{{ studio_path }}\\cmdline-tools\\cmdline-tools" "{{ tools_path }}"
|
||||
|
||||
- name: Create Android Studio data directory
|
||||
win_file:
|
||||
path: D:\.android
|
||||
path: "{{ large_prog_dir }}\\.android"
|
||||
state: directory
|
||||
|
||||
- name: Set Android Studio environment variables
|
||||
win_environment:
|
||||
level: machine
|
||||
variables:
|
||||
ANDROID_HOME: "{{ sdk_path }}"
|
||||
ANDROID_PREFS_ROOT: D:\
|
||||
GRADLE_USER_HOME: D:\.gradle
|
||||
ANDROID_HOME: "{{ studio_path }}"
|
||||
ANDROID_SDK_ROOT: "{{ studio_path }}"
|
||||
ANDROID_PREFS_ROOT: "{{ large_prog_dir }}\\"
|
||||
GRADLE_USER_HOME: "{{ large_prog_dir }}\\.gradle"
|
||||
|
||||
|
||||
# - name: Accept Android SDK licenses
|
||||
# win_shell: sh -c "yes | /c/android-sdk/cmdline-tools/cmdline-tools/bin/sdkmanager.bat --licenses"
|
||||
|
||||
- name: Include Android SDK packages
|
||||
include_vars: androidsdk_packages.yml
|
||||
|
||||
- name: Install Android SDK packages
|
||||
win_shell: |
|
||||
{{ tools_path }}\bin\sdkmanager.bat --install "{{ item }}"
|
||||
loop: "{{ AndroidSDK_packages }}"
|
||||
|
||||
|
||||
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "{{ AndroidSDK_packages | join(' ') }}"
|
||||
# {{ sdk_path }}\\cmdline-tools\\cmdline-tools\\bin\\sdkmanager --install "build-tools;33.0.0" "cmdline-tools;latest" "emulator" "ndk-bundle" "ndk;25.1.8937393" "platform-tools" "platforms;android-33" "sources;android-33" "system-images;android-33;google_apis;arm64-v8a" "system-images;android-33;google_apis;x86_64"
|
||||
|
||||
#- name: Install Android Studio
|
||||
# win_package:
|
||||
# path: "https://redirector.gvt1.com/edgedl/android/studio/install/{{ studio_version }}/android-studio-{{ studio_version }}-windows.exe"
|
||||
# arguments: /S /AllUsers
|
||||
# expected_return_code: [0, 1223, 3010]
|
||||
# creates_path: "%ProgramFiles%\\Android\\Android Studio\\bin\\studio64.exe"
|
||||
#- name: Check HAXM install status
|
||||
# win_stat:
|
||||
# path: "%ProgramFiles%\\Intel\\HAXM"
|
||||
|
|
|
@ -8,8 +8,9 @@
|
|||
- name: Install Arduino-cli
|
||||
win_package:
|
||||
# path: https://downloads.arduino.cc/arduino-ide/arduino-ide_2.0.0_Windows_64bit.exe
|
||||
path: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip
|
||||
arguments: /S /AllUsers
|
||||
path: https://github.com/arduino/arduino-cli/releases/download/v1.3.0/arduino-cli_1.3.0_Windows_64bit.msi
|
||||
# path: https://downloads.arduino.cc/arduino-cli/arduino-cli_latest_Windows_64bit.zip
|
||||
# arguments: /S /AllUsers
|
||||
# creates_path: "%ProgramFiles%\\Arduino IDE\\Arduino IDE.exe"
|
||||
|
||||
|
||||
|
|
|
@ -1,9 +1,13 @@
|
|||
- name: Add Chromium not-a-snap repository
|
||||
apt_repository:
|
||||
repo: ppa:xtradeb/apps
|
||||
apt:
|
||||
deb: https://launchpad.net/~xtradeb/+archive/ubuntu/apps/+files/xtradeb-apt-source_0.4_all.deb
|
||||
state: present
|
||||
update_cache: True
|
||||
validate_certs: False
|
||||
|
||||
#apt_repository:
|
||||
# repo: ppa:xtradeb/apps
|
||||
# state: present
|
||||
# update_cache: True
|
||||
# validate_certs: False
|
||||
|
||||
- name: Install Chromium instead of Chrome
|
||||
apt:
|
||||
|
|
4
roles/cocotb/tasks/main.yml
Normal file
4
roles/cocotb/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- import_tasks: main_win.yml
|
||||
when: ansible_os_family == 'Windows'
|
||||
- import_tasks: main_lin.yml
|
||||
when: ansible_os_family == 'Debian'
|
4
roles/cocotb/tasks/main_lin.yml
Normal file
4
roles/cocotb/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- name: Install Cocotb
|
||||
pip:
|
||||
executable: pipx
|
||||
name: cocotb[bus]
|
2
roles/cocotb/tasks/main_win.yml
Normal file
2
roles/cocotb/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
- name: Install cocoTB
|
||||
win_command: pip install cocotb[bus]
|
|
@ -2,3 +2,5 @@
|
|||
win_chocolatey:
|
||||
ignore_checksums: true
|
||||
name: cp210x-vcp-drivers-win10
|
||||
#TODO remove ignore_errors once the package is repaired/updated
|
||||
ignore_errors: true
|
||||
|
|
4
roles/datasets/tasks/main.yml
Normal file
4
roles/datasets/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- import_tasks: main_win.yml
|
||||
when: ansible_os_family == 'Windows'
|
||||
- import_tasks: main_lin.yml
|
||||
when: ansible_os_family == 'Debian'
|
4
roles/datasets/tasks/main_lin.yml
Normal file
4
roles/datasets/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- name: Install datasets
|
||||
pip:
|
||||
executable: pipx
|
||||
name: datasets
|
2
roles/datasets/tasks/main_win.yml
Normal file
2
roles/datasets/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
- name: Install datasets
|
||||
win_command: pip install datasets
|
|
@ -12,4 +12,4 @@
|
|||
win_lineinfile:
|
||||
path: "%ProgramFiles%\\Eclipse {{ target_version }}\\eclipse\\eclipse.ini"
|
||||
regexp: "osgi.instance.area.default"
|
||||
line: "-Dosgi.instance.area.default=H:/Documents/eclipse-workspace"
|
||||
line: "-Dosgi.instance.area.default=D:/Documents/eclipse-workspace"
|
||||
|
|
4
roles/evaluate/tasks/main.yml
Normal file
4
roles/evaluate/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- import_tasks: main_win.yml
|
||||
when: ansible_os_family == 'Windows'
|
||||
- import_tasks: main_lin.yml
|
||||
when: ansible_os_family == 'Debian'
|
4
roles/evaluate/tasks/main_lin.yml
Normal file
4
roles/evaluate/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- name: Install evaluate
|
||||
pip:
|
||||
executable: pipx
|
||||
name: evaluate
|
2
roles/evaluate/tasks/main_win.yml
Normal file
2
roles/evaluate/tasks/main_win.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
- name: Install evaluate
|
||||
win_command: pip install evaluate
|
26
roles/facts/tasks/main.yml
Normal file
26
roles/facts/tasks/main.yml
Normal file
|
@ -0,0 +1,26 @@
|
|||
- name: Send valid bash or ps command with different results
|
||||
raw: |
|
||||
echo \#\#
|
||||
register: raw_result
|
||||
|
||||
- name: Set shell type
|
||||
set_fact:
|
||||
ansible_shell_type: "{% if raw_result['stdout'][-4] == '#' %}sh{% else %}powershell{%endif%}"
|
||||
|
||||
- name: Set connection parameters and paths for Windows
|
||||
become: false
|
||||
set_fact:
|
||||
ansible_become_method: runas
|
||||
ansible_become_flags: ""
|
||||
ansible_become_user: "{{ windows_user }}"
|
||||
logon_type: interactive
|
||||
installers: \\ucilnicesmb.fri1.uni-lj.si\ucilnice_d\install
|
||||
when: ansible_shell_type == "powershell"
|
||||
|
||||
- name: Set connection parameters and paths for Ubuntu
|
||||
set_fact:
|
||||
ansible_become_method: sudo
|
||||
ansible_become_flags: ""
|
||||
ansible_ssh_extra_args: '-o ForwardX11=yes'
|
||||
installers: /mnt/ucilnice_d/install
|
||||
when: ansible_shell_type == "sh"
|
|
@ -1,5 +1,21 @@
|
|||
- name: Add Firefox not-a-snap repository
|
||||
block:
|
||||
- name: add Mozilla apt key
|
||||
ansible.builtin.get_url:
|
||||
url: https://packages.mozilla.org/apt/repo-signing-key.gpg
|
||||
dest: /etc/apt/keyrings/packages.mozilla.org.asc
|
||||
|
||||
- name: add Mozilla apt source
|
||||
ansible.builtin.apt_repository:
|
||||
repo: "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main"
|
||||
state: present
|
||||
|
||||
#- name: Add Firefox PPA
|
||||
# apt_repository:
|
||||
# repo: ppa:mozillateam/ppa
|
||||
# state: present
|
||||
# update_cache: True
|
||||
# validate_certs: False
|
||||
- name: Pin Firefox PPA package priority
|
||||
template:
|
||||
src: mozilla-firefox-apt-preferences
|
||||
|
@ -8,12 +24,6 @@
|
|||
template:
|
||||
src: mozilla-firefox-unattended-upgrades
|
||||
dest: /etc/apt/apt.conf.d/51unattended-upgrades-firefox
|
||||
- name: Add Firefox PPA
|
||||
apt_repository:
|
||||
repo: ppa:mozillateam/ppa
|
||||
state: present
|
||||
update_cache: True
|
||||
validate_certs: False
|
||||
|
||||
- name: Install Firefox
|
||||
apt:
|
||||
|
|
2
roles/flask/meta/main.yml
Normal file
2
roles/flask/meta/main.yml
Normal file
|
@ -0,0 +1,2 @@
|
|||
dependencies:
|
||||
- role: python3
|
4
roles/flask/tasks/main.yml
Normal file
4
roles/flask/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- import_tasks: main_win.yml
|
||||
when: ansible_os_family == 'Windows'
|
||||
- import_tasks: main_lin.yml
|
||||
when: ansible_os_family == 'Debian'
|
7
roles/flask/tasks/main_lin.yml
Normal file
7
roles/flask/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,7 @@
|
|||
- name: Install flask
|
||||
apt:
|
||||
name:
|
||||
- python3-flask
|
||||
- python-flask-doc
|
||||
state: latest
|
||||
|
3
roles/flask/tasks/main_win.yml
Normal file
3
roles/flask/tasks/main_win.yml
Normal file
|
@ -0,0 +1,3 @@
|
|||
- name: Install flask
|
||||
win_command: pip install flask
|
||||
|
|
@ -27,8 +27,9 @@
|
|||
- wine32:i386
|
||||
- wine-binfmt
|
||||
- dosbox
|
||||
- webext-ublock-origin-chromium
|
||||
- webext-ublock-origin-firefox
|
||||
- snapper
|
||||
# - webext-ublock-origin-chromium
|
||||
# - webext-ublock-origin-firefox
|
||||
- nethack-console
|
||||
- zsh
|
||||
- tmux
|
||||
|
@ -49,6 +50,8 @@
|
|||
- neovim-qt
|
||||
- binwalk
|
||||
- iotop
|
||||
- evince
|
||||
- okular
|
||||
- htop
|
||||
- jdupes
|
||||
state: latest
|
||||
|
@ -132,8 +135,8 @@
|
|||
state: mounted
|
||||
opts: guest,soft,nofail
|
||||
|
||||
- name: Set time to local RTC
|
||||
shell: "timedatectl set-local-rtc 1 --adjust-system-clock"
|
||||
# - name: Set time to local RTC
|
||||
# shell: "timedatectl set-local-rtc 1 --adjust-system-clock"
|
||||
|
||||
- name: Install ethtool
|
||||
apt:
|
||||
|
@ -144,3 +147,13 @@
|
|||
copy:
|
||||
dest: /etc/udev/rules.d/
|
||||
src: 99-wakeonlan.rules
|
||||
|
||||
- name: Shorten PS1 prompt
|
||||
replace:
|
||||
path: "{{ item }}"
|
||||
regexp: 'PS1=(.*)\\u@\\h'
|
||||
replace: PS1=\1${USER%@*}
|
||||
loop:
|
||||
- /etc/skel/.bashrc
|
||||
- /etc/profile
|
||||
- /etc/bash.bashrc
|
||||
|
|
|
@ -1,18 +1,34 @@
|
|||
- name: Set RTC to UTC
|
||||
win_regedit:
|
||||
path: HKLM:\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
|
||||
name: RealTimeIsUniversal
|
||||
data: 1
|
||||
type: dword
|
||||
|
||||
- name: Set timezone
|
||||
win_timezone:
|
||||
timezone: Central Europe Standard Time
|
||||
|
||||
- name: Show file extensions in Explorer
|
||||
win_regedit:
|
||||
path: HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
|
||||
name: HideFileExt
|
||||
data: 0
|
||||
type: dword
|
||||
|
||||
- name: Allow SMB insecure guest access
|
||||
win_regedit:
|
||||
path: HKLM:\Software\Policies\Microsoft\Windows\LanmanWorkstation
|
||||
name: AllowInsecureGuestAuth
|
||||
data: 1
|
||||
type: dword
|
||||
|
||||
- name: Enable Unified Write Filter
|
||||
win_optional_feature:
|
||||
include_parent: true
|
||||
name: Client-UnifiedWriteFilter
|
||||
state: present
|
||||
|
||||
- name: Install PSCX
|
||||
community.windows.win_psmodule:
|
||||
name: Pscx
|
||||
|
|
|
@ -1,9 +1,23 @@
|
|||
- name: Add GNS3 repository
|
||||
apt_repository:
|
||||
repo: ppa:gns3/ppa
|
||||
state: present
|
||||
update_cache: True
|
||||
validate_certs: False
|
||||
block:
|
||||
- name: add GNS3 apt key
|
||||
ansible.builtin.get_url:
|
||||
url: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xb83aaabffbd82d21b543c8ea86c22c2ec6a24d7f
|
||||
dest: /etc/apt/keyrings/gns3-ppa.asc
|
||||
- name: add GNS3 apt deb source
|
||||
ansible.builtin.apt_repository:
|
||||
repo: "deb [signed-by=/etc/apt/keyrings/gns3-ppa.asc] https://ppa.launchpadcontent.net/gns3/ppa/ubuntu {{ ansible_distribution_release }} main "
|
||||
state: present
|
||||
- name: add GNS3 apt deb-src source
|
||||
ansible.builtin.apt_repository:
|
||||
repo: "deb-src [signed-by=/etc/apt/keyrings/gns3-ppa.asc] https://ppa.launchpadcontent.net/gns3/ppa/ubuntu {{ ansible_distribution_release }} main "
|
||||
state: present
|
||||
# apt_repository:
|
||||
# repo: ppa:gns3/ppa
|
||||
# state: present
|
||||
# update_cache: True
|
||||
# validate_certs: False
|
||||
|
||||
- name: Install gns3 server
|
||||
ansible.builtin.apt:
|
||||
name: gns3-server
|
||||
|
|
|
@ -1,10 +1,20 @@
|
|||
- name: Add Inkscape repository
|
||||
apt_repository:
|
||||
repo: ppa:inkscape.dev/stable
|
||||
state: present
|
||||
update_cache: True
|
||||
validate_certs: False
|
||||
block:
|
||||
- name: add Inkscape trunk apt key
|
||||
ansible.builtin.get_url:
|
||||
url: https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x1F46021FF9A0C56504CE42CD06E315A37AAEF27A
|
||||
dest: /etc/apt/keyrings/inkscape-trunk-ppa.asc
|
||||
- name: add Inkscape trunk apt deb source
|
||||
ansible.builtin.apt_repository:
|
||||
repo: "deb [signed-by=/etc/apt/keyrings/inkscape-trunk-ppa.asc] https://ppa.launchpadcontent.net/reviczky/inkscape-1.4/ubuntu {{ ansible_distribution_release }} main "
|
||||
state: present
|
||||
|
||||
# apt_repository:
|
||||
# repo: ppa:inkscape.dev/stable
|
||||
# state: present
|
||||
# update_cache: True
|
||||
# validate_certs: False
|
||||
- name: Install Inkscape
|
||||
apt:
|
||||
name: inkscape
|
||||
name: inkscape-trunk
|
||||
state: latest
|
||||
|
|
4
roles/iverilog/tasks/main.yml
Normal file
4
roles/iverilog/tasks/main.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- import_tasks: main_win.yml
|
||||
when: ansible_os_family == 'Windows'
|
||||
- import_tasks: main_lin.yml
|
||||
when: ansible_os_family == 'Debian'
|
4
roles/iverilog/tasks/main_lin.yml
Normal file
4
roles/iverilog/tasks/main_lin.yml
Normal file
|
@ -0,0 +1,4 @@
|
|||
- name: Install Icarus
|
||||
apt:
|
||||
name: iverilog
|
||||
state: latest
|
5
roles/iverilog/tasks/main_win.yml
Normal file
5
roles/iverilog/tasks/main_win.yml
Normal file
|
@ -0,0 +1,5 @@
|
|||
- name: Install Icarus Verilog
|
||||
win_chocolatey:
|
||||
name: iverilog
|
||||
version: '11.0'
|
||||
state: present
|
|
@ -1,6 +1,11 @@
|
|||
- name: Install OpenJDK 21
|
||||
- name: Install latest OpenJDK (25)
|
||||
apt:
|
||||
name: openjdk-21-jdk
|
||||
name: openjdk-25-jdk
|
||||
state: latest
|
||||
|
||||
- name: Install latest Java docs
|
||||
apt:
|
||||
name: openjdk-25-doc
|
||||
state: latest
|
||||
|
||||
- name: Install OpenJDK 17
|
||||
|
@ -31,11 +36,7 @@
|
|||
- libc6-x32
|
||||
state: latest
|
||||
|
||||
- name: Install Oracle JDK 22
|
||||
- name: Install Oracle JDK 24
|
||||
apt:
|
||||
deb: "https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.deb"
|
||||
|
||||
- name: Install Java docs
|
||||
apt:
|
||||
deb: "https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.deb"
|
||||
deb: "https://download.oracle.com/java/24/latest/jdk-24_linux-x64_bin.deb"
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
- name: Install Oracle JDK
|
||||
win_package:
|
||||
path: https://download.oracle.com/java/22/latest/jdk-22_windows-x64_bin.msi
|
||||
path: https://download.oracle.com/java/24/latest/jdk-24_windows-x64_bin.msi
|
||||
arguments: INSTALLLEVEL=3
|
||||
|
||||
- name: Find Java version
|
||||
|
@ -28,6 +28,13 @@
|
|||
state: present
|
||||
scope: machine
|
||||
|
||||
- name: Add Java bin dir to PATH
|
||||
win_path:
|
||||
name: PATH
|
||||
elements: "{{ reg['raw_value'] }}\\bin"
|
||||
state: present
|
||||
scope: machine
|
||||
|
||||
- name: Disable Java updates
|
||||
win_regedit:
|
||||
path: HKLM:\SOFTWARE\WOW6432Node\JavaSoft\Java Update\Policy
|
||||
|
|
|
@ -1 +0,0 @@
|
|||
ACTION=="add", SUBSYSTEM=="net", NAME=="e*", RUN+="/usr/sbin/ethtool -s $name wol g"
|
|
@ -1,4 +0,0 @@
|
|||
# Mark everything in bin/ directories executable. Some extensions do
|
||||
# this on activation, but non-root users don’t have permission for it.
|
||||
- name: fix VS code extensions
|
||||
command: find /usr/share/code/resources/app -name bin -exec chmod -R +x '{}' ';'
|
|
@ -1,4 +0,0 @@
|
|||
- name: Install 7zip
|
||||
apt:
|
||||
name: 7zip
|
||||
state: latest
|
|
@ -1,6 +0,0 @@
|
|||
# Analiza algoritmov in hevristično reševanje problemov
|
||||
# matej.piculin@fri.uni-lj.si
|
||||
# Windows, Java JDK, Eclipse, R, RStudio
|
||||
- include_tasks: rstudio.yml
|
||||
- include_tasks: eclipse.yml
|
||||
- include_tasks: jdk.yml
|
|
@ -1,8 +0,0 @@
|
|||
# Algoritmi in podatkovne strukture 1
|
||||
# tomaz.hocevar@fri.uni-lj.si, bojan.zunkovic@fri.uni-lj.si, polz@fri.uni-lj.si
|
||||
# Windows, Java JDK, Eclipse
|
||||
# - include_tasks: JDK.yml
|
||||
# - include_tasks: Eclipse.yml
|
||||
- include_tasks: c_development.yml
|
||||
- include_tasks: vscode.yml
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
# Aktualno raziskovalno področje 1
|
||||
# Veljko.Pejovic@fri.uni-lj.si
|
||||
# Android Studio
|
||||
- include_tasks: android_studio.yml
|
|
@ -1,5 +0,0 @@
|
|||
# Brezžična in mobilna omrežja
|
||||
# Ziga.Pusnik@fri.uni-lj.si, Miran.Koprivec@fri.uni-lj.si
|
||||
# Windows, VMware Workstation 16.2.4 Player, wireshark
|
||||
- include_tasks: wireshark.yml
|
||||
- include_tasks: vmware_player.yml
|
|
@ -1,5 +0,0 @@
|
|||
# Digitalna forenzika
|
||||
# Aleks.Huc@fri.uni-lj.si, Gasper.FeleZorz@fri.uni-lj.si
|
||||
# Windows, GNU/Linux, GNS3, VirtualBox
|
||||
- include_tasks: gns3.yml
|
||||
- include_tasks: virtualbox.yml
|
|
@ -1,4 +0,0 @@
|
|||
# Digitalno načrtovanje
|
||||
# Nejc.Ilc@fri.uni-lj.si
|
||||
# Windows, Vivado 2022.1
|
||||
- include_tasks: vivado.yml
|
|
@ -1,7 +0,0 @@
|
|||
# Digitalno procesiranje signalov
|
||||
# Aleks.Huc@fri.uni-lj.si
|
||||
# Windows, GNU/Linux, Matlab, wfdb, Octave, Audacity
|
||||
- include_tasks: matlab.yml
|
||||
- include_tasks: wfdb.yml
|
||||
- include_tasks: octave.yml
|
||||
- include_tasks: audacity.yml
|
|
@ -1,4 +0,0 @@
|
|||
# Digitalna vezja
|
||||
# Miha.Moskon@fri.uni-lj.si
|
||||
# Windows, Logisim, Logisim Evolution
|
||||
- include_tasks: logisim.yml
|
|
@ -1,6 +0,0 @@
|
|||
# Elektronsko poslovanje
|
||||
# David.Jelenc@fri.uni-lj.si
|
||||
# Windows, VirtualBox, Android Studio
|
||||
#
|
||||
- include_tasks: virtualbox.yml
|
||||
- include_tasks: android_studio.yml
|
|
@ -1,11 +0,0 @@
|
|||
# Funkcijsko programiranje
|
||||
# Klemen.Klanjscek@fri.uni-lj.si, Matjaz.Kukar@fri.uni-lj.si
|
||||
# Windows, GNU/Linux, VS Code, Python 3, Racket (z DrRacket), SML/NJ, Emacs, rlwrap
|
||||
#
|
||||
- include_tasks: vscode.yml
|
||||
- include_tasks: python3.yml
|
||||
- include_tasks: racket.yml
|
||||
- include_tasks: emacs.yml
|
||||
- include_tasks: smlnj.yml
|
||||
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
# Grafično oblikovanje
|
||||
# Blaz.Meden@fri.uni-lj.si, ilb@fri.uni-lj.si
|
||||
# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje)
|
||||
#
|
||||
- include_tasks: blender.yml
|
||||
- include_tasks: adobe_cs.yml
|
||||
- include_tasks: inkscape.yml
|
||||
- include_tasks: gimp.yml
|
||||
|
|
@ -1,10 +0,0 @@
|
|||
# Informacijski sistemi
|
||||
# Miha.Grohar@fri.uni-lj.si
|
||||
# Windows, GNU/Linux, Docker, VS Code, dotnet6 SDK, GIT, Android Studio
|
||||
|
||||
- include_tasks: docker.yml
|
||||
- include_tasks: vscode.yml
|
||||
- include_tasks: dotnet6.yml
|
||||
- include_tasks: git.yml
|
||||
- include_tasks: android_studio.yml
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# Informacijska varnost in zasebnost
|
||||
# David.Jelenc@fri.uni-lj.si
|
||||
# Java JDK, IntelliJ IDEA, VirtualBox
|
||||
- include_tasks: jdk.yml
|
||||
- include_tasks: idea.yml
|
||||
- include_tasks: virtualbox.yml
|
|
@ -1,7 +0,0 @@
|
|||
# Komunikacija človek računalnik
|
||||
# Ales.Smrdel@fri.uni-lj.si
|
||||
# Java JDK, Matlab, wfdb, Apache NetBeans
|
||||
- include_tasks: jdk.yml
|
||||
- include_tasks: matlab.yml
|
||||
- include_tasks: wfdb.yml
|
||||
- include_tasks: netbeans.yml
|
|
@ -1,5 +0,0 @@
|
|||
# Komunikacijski protokoli in omrežna varnost
|
||||
# Aleks.Huc@fri.uni-lj.si, Gasper.FeleZorz@fri.uni-lj.si
|
||||
# Windows, GNU/Linux, GNS3, VirtualBox
|
||||
- include_tasks: gns3.yml
|
||||
- include_tasks: virtualbox.yml
|
|
@ -1,8 +0,0 @@
|
|||
# Kriptografija in računalniška varnost
|
||||
# Klemen.Klanjscek@fri.uni-lj.si
|
||||
# GNU/Linux, SageMath, Python 3, Jupyter Notebook, OpenSSL, OpenSSH client
|
||||
|
||||
# SageMath se se prevede za Ubutnu 24.04: https://github.com/sagemath/sage/issues/38051#issuecomment-2123452861
|
||||
# - include_tasks: sagemath.yml
|
||||
- include_tasks: jupyter.yml
|
||||
- include_tasks: openssl.yml
|
|
@ -1,4 +0,0 @@
|
|||
# Modeliranje računalniških omrežij
|
||||
# Miha.Janez@fri.uni-lj.si
|
||||
# OMNeT++, INET Framework
|
||||
- include_tasks: omnetpp.yml
|
|
@ -1,9 +0,0 @@
|
|||
# Multimedijske vsebine
|
||||
# Blaz.Meden@fri.uni-lj.si
|
||||
# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje)
|
||||
|
||||
- include_tasks: blender.yml
|
||||
- include_tasks: adobe_cs.yml
|
||||
- include_tasks: processing.yml
|
||||
- include_tasks: inkscape.yml
|
||||
- include_tasks: gimp.yml
|
|
@ -1,7 +0,0 @@
|
|||
# Načrtovanje digitalnih naprav
|
||||
# Miran.Koprivec@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si
|
||||
# Windows, Vivado 2022.1
|
||||
# Načrtovanje digitalnih naprav
|
||||
# Miha.Moskon@fri.uni-lj.si
|
||||
# Windows, Vivado 2022.1
|
||||
- include_tasks: vivado.yml
|
|
@ -1,5 +0,0 @@
|
|||
# Numerična matematika
|
||||
# Martin.Vuk@fri.uni-lj.si
|
||||
# VS Code, Julia
|
||||
- include_tasks: vscode.yml
|
||||
- include_tasks: julia.yml
|
|
@ -1,5 +0,0 @@
|
|||
# Nekonvencionalne platforme in metode procesiranja
|
||||
# Miha.Janez@fri.uni-lj.si, Miha.Moskon@fri.uni-lj.si
|
||||
# QCADesigner-E
|
||||
|
||||
- include_tasks: qcadesigner-e.yml
|
|
@ -1,5 +0,0 @@
|
|||
# Napredna računalniška grafika
|
||||
# Ziga.Lesar@fri.uni-lj.si
|
||||
# Windows, Build Tools for Visual Studio 2022
|
||||
|
||||
- include_tasks: visual_studio.yml
|
|
@ -1,5 +0,0 @@
|
|||
# Obdelava biomedicinskih signalov in slik
|
||||
# Ziga.Pirnar@fri.uni-lj.si
|
||||
# GNU/Linux, Matlab, wfdb
|
||||
- include_tasks: matlab.yml
|
||||
- include_tasks: wfdb.yml
|
|
@ -1,4 +0,0 @@
|
|||
# Osnove digitalnih vezij
|
||||
# Ziga.Pusnik@fri.uni-lj.si, Miran.Koprivec@fri.uni-lj.si
|
||||
# Windows, Logisim, Logisim Evolution
|
||||
- include_tasks: logisim.yml
|
|
@ -1,8 +0,0 @@
|
|||
# Osnove oblikovanja
|
||||
# Blaz.Meden@fri.uni-lj.si, Narvika.Bovcon@fri.uni-lj.si
|
||||
# Blender, Adobe paket (Illustrator, Photoshop, After Effects, Premiere), Processing (orodje za vizualno in interaktivno grafično programiranje), Inkscape (zastonjsko orodje za vektorsko risanje), GIMP (program za urejanje slik in rastrsko risanje)
|
||||
- include_tasks: blender.yml
|
||||
- include_tasks: adobe_cs.yml
|
||||
- include_tasks: inkscape.yml
|
||||
- include_tasks: gimp.yml
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
# Organizacija računalnikov
|
||||
# Robert.Rozman@fri.uni-lj.si
|
||||
# Windows, Logisim, Logisim Evolution, RAVINOR, CubeIDE + QEMU Embedded plugin
|
||||
- include_tasks: logisim.yml
|
||||
- include_tasks: stm32cube.yml
|
||||
- include_tasks: ninja.yml
|
||||
- include_tasks: cmake.yml
|
||||
- include_tasks: gcc-arm.yml
|
||||
# TODO: RAVINOR, CubeIDE
|
|
@ -1,6 +0,0 @@
|
|||
# Osnove Računalniških Sistemov
|
||||
# Patricio.Bulic@fri.uni-lj.si
|
||||
#
|
||||
|
||||
- include_tasks: vscode.yml
|
||||
- include_tasks: sifive.yml
|
|
@ -1,4 +0,0 @@
|
|||
# Operacijski sistemi
|
||||
# Borut.Batagelj@fri.uni-lj.si, Ziga.Emersic@fri.uni-lj.si, Bojan.Klemenc@fri.uni-lj.si, Matej.Vitek@fri.uni-lj.si
|
||||
# VirtualBox
|
||||
- include_tasks: virtualbox.yml
|
|
@ -1,6 +0,0 @@
|
|||
# Odločitveni sistemi
|
||||
# Martin.Mozina@fri.uni-lj.si
|
||||
# Windows
|
||||
- name: Odlocitveni sistemi
|
||||
debug:
|
||||
msg: "Odločitveni sistemi 63741 - brez zahtev"
|
|
@ -1,7 +0,0 @@
|
|||
# Osnove umetne inteligence
|
||||
# Jure.Zabkar@fri.uni-lj.si, Ales.Papic@fri.uni-lj.si, matej.piculin@fri.uni-lj.si, Marko.Zeman@fri.uni-lj.si, bojan.zunkovic@fri.uni-lj.si
|
||||
# Orange, Weka 3, BayesFusion
|
||||
|
||||
- include_tasks: orange.yml
|
||||
- include_tasks: weka.yml
|
||||
- include_tasks: bayesfusion.yml
|
|
@ -1,8 +0,0 @@
|
|||
# Programiranje 2
|
||||
# bostjan.slivnik@fri.uni-lj.si
|
||||
# gedit, vscode, pdf viewer (evince), gcc, g++, make, JDK
|
||||
|
||||
- include_tasks: jdk.yml
|
||||
- include_tasks: gedit.yml
|
||||
- include_tasks: vscode.yml
|
||||
- include_tasks: c_development.yml
|
|
@ -1,7 +0,0 @@
|
|||
# Programiranje 2
|
||||
# Tomaz.Dobravec@fri.uni-lj.si
|
||||
# Windows, Java JDK, IntelliJ IDEA, Apache NetBeans
|
||||
|
||||
- include_tasks: jdk.yml
|
||||
- include_tasks: idea.yml
|
||||
- include_tasks: netbeans.yml
|
|
@ -1,5 +0,0 @@
|
|||
# Procesna avtomatika
|
||||
# Nejc.Ilc@fri.uni-lj.si
|
||||
# Windows, VMware Workstation 16.2.4 Player
|
||||
|
||||
- include_tasks: vmware_player.yml
|
|
@ -1,12 +0,0 @@
|
|||
# Podatkovne baze
|
||||
# Ales.Jaklic@fri.uni-lj.si, matej.piculin@fri.uni-lj.si, Luka.Sajn@fri.uni-lj.si
|
||||
# Windows, Power designer 12.5, Java JDK, Python 3, dotnet6 SDK, Jupyter Notebook, Eclipse, MySql Workbench, MySQL ODBC Connector, Notepad++
|
||||
- include_tasks: eclipse.yml
|
||||
- include_tasks: dotnet6.yml
|
||||
- include_tasks: jupyter.yml
|
||||
- include_tasks: jdk.yml
|
||||
- include_tasks: powerdesigner.yml
|
||||
- include_tasks: pyodbc.yml
|
||||
- include_tasks: mysql_workbench.yml
|
||||
- include_tasks: mysql-odbc-connector.yml
|
||||
- include_tasks: notepad++.yml
|
|
@ -1,7 +0,0 @@
|
|||
# Podatkovne baze 2
|
||||
# Aljaz.Zrnec@fri.uni-lj.si
|
||||
# Windows
|
||||
# Podatkovne baze 2
|
||||
# Aljaz.Zrnec@fri.uni-lj.si
|
||||
# Power designer 12.5
|
||||
- include_tasks: powerdesigner.yml
|
|
@ -1,5 +0,0 @@
|
|||
# Programski jezik C
|
||||
# Tomaz.Dobravec@fri.uni-lj.si
|
||||
# Windows, Pelles C
|
||||
|
||||
- include_tasks: pelles-c.yml
|
|
@ -1,11 +0,0 @@
|
|||
# Principi programskih jezikov
|
||||
# Klemen.Klanjscek@fri.uni-lj.si
|
||||
# Windows, GNU/Linux, VS Code, Ocaml, Eclipse, Haskell, SWI-Prolog, rlwrap
|
||||
|
||||
- include_tasks: vscode.yml
|
||||
- include_tasks: ocaml.yml
|
||||
- include_tasks: eclipse.yml
|
||||
- include_tasks: swi-prolog.yml
|
||||
- include_tasks: rlwrap.yml
|
||||
- include_tasks: utop.yml
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
# Porazdeljeni sistemi
|
||||
# Davor.Sluga@fri.uni-lj.si
|
||||
# Windows, VS Code, golang
|
||||
- include_tasks: vscode.yml
|
||||
- include_tasks: golang.yml
|
|
@ -1,6 +0,0 @@
|
|||
# Programiranje specifičnih platform
|
||||
# Veljko.Pejovic@fri.uni-lj.si
|
||||
# Android Studio, Arduino IDE
|
||||
|
||||
- include_tasks: android_studio.yml
|
||||
- include_tasks: arduino.yml
|
|
@ -1,4 +0,0 @@
|
|||
# Planiranje in upravljanje informatike
|
||||
# damjan.fujs@fri.uni-lj.si
|
||||
# Planiranje in upravljanje informatike (VS)
|
||||
- include_tasks: projectlibre.yml
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue