First commit

This commit is contained in:
Timotej Lazar 2022-09-14 13:33:06 +00:00
commit 43a457a2ed
25 changed files with 348 additions and 0 deletions

5
README.md Normal file
View file

@ -0,0 +1,5 @@
Ansible playbooks for deploying classroom computers. Run with something like:
ansible-playbook --user <AD admin> --ask-pass \
--become --become-method=runas --become-user=<local admin>
--inventory hosts setup.yml

108
TODO.md Normal file
View file

@ -0,0 +1,108 @@
# Done
- 7-zip
- Audacity
- Blender
- Chrome
- Emacs
- Gimp
- GIT
- GIT-Extensions
- Inkscape
- Mozilla Firefox
- Notepad++
- OpenJDK
- Orange
- Pelles C for Windows
- Python (latest)
- SWI-Prolog
- Thonny
- VirtualBox
- Wireshark
# To do
- Haskell
- GNS3
- IntelliJ IDEA Community Edition
- JetBrains PyCharm Community Edition
- Android Studio
- Logisim
- Unity 2019.1.10f1
- MeshLab
- Mathlab
- Adobe Acrobat Reader
- Eclipse IDE for Java
- WinHIPsim
- APS2-Vaje
- Windows Subsystem for Linux (Ubuntu)
- Gcc
- G++
- Xcode
- Julia
- Jupyter notebook/lab
- Python knjižnice numpy, matplotlib in scipy, sqlite3 in pyodbc
- WinIdea
- gcc-arm
- VisUAL
- IntelliJ IDEA Ultimate
- Docker Toolbox (Docker for Windows uporablja HyperV virtualizacijo, ta pa zaklene VT-x samo za sebe ne glede na to ali je pognan ali ne)
- Apache Maven
- CUDA Toolkit 8.0 (na HP-jih)
- Asistentov Asisten
- FFmpeg (Windows) for Audacity
- LAME
- Heidi SQL
- IAR Embedded Workbench for ARM
- LTspice IV
- Microsoft Visual Studio Code
- RStudio
- SafeExamBrowser
- Scala Programming Language Distribution
- VMware Workstation
- XAMPP
- Xilinx Desing Tools ISE WebPACK
- Weka
- TortoiseSVN
- Tableau
- Sybase PowerDesigner
- SoapUI
- Scilab
- Racket
- Standard ML of New Jersey
- R for Windows
- PyQt for Python
- Oracle VM VirtualBox
- Octave
- NetBeans IDE
- MySQL Workbench CE
- Microsoft Web Deploy
- Microsoft Visual Studio Enterprise 2017 (Lahko Community)
- Microsoft Visual Studio Enterprise 2015 (Na HP-jih)
- Naložiti modul za C++
- Node.js LTS
- SolidWorks
- Gnuplot
- Gv
- Imagemagick
- OpenModelica
- Postman
- Python knjižnice Biopython, skfusion, networkx, pandas, scikit-learn
- OCaml
- Podatkovne baze na WAFL
- Mendeley for Desktop
- Mendeley Web Importer for Chrome
- Omnetpp
- Arduino IDE + esp 8266
- QUcs
- Office 2016
- StarEEvaluation software-FKKT
- AutoCAD-FKKT
- PathFinder 2018-FKKT
- Processing v 3.3.7
- Microsoft project Professional 2016
- Autodesk Maya
- JRE 8u181 in JRE 8u181 (x64) in JDK 10.2
# nonfree
- Sublime Text

View file

@ -0,0 +1,5 @@
ansible_connection: winrm
ansible_winrm_transport: ntlm
ansible_winrm_server_cert_validation: ignore
ansible_port: 5985
logon_type: interactive

6
hosts Normal file
View file

@ -0,0 +1,6 @@
all:
children:
classroom:
hosts:
prototip:
ansible_host: 10.32.231.3

View file

@ -0,0 +1,3 @@
- name: Install 7-zip
win_chocolatey:
name: 7zip

View file

@ -0,0 +1,3 @@
- name: Install Audacity
win_chocolatey:
name: audacity

View file

@ -0,0 +1,3 @@
- name: Install Blender
win_package:
path: https://ftp.nluug.nl/pub/graphics/blender/release/Blender3.3/blender-3.3.0-windows-x64.msi

View file

@ -0,0 +1,10 @@
- name: Install Chrome
win_chocolatey:
name: googlechrome
- name: Disable Chrome updates
win_regedit:
path: HKLM:\SOFTWARE\Policies\Google\Update
name: AutoUpdateCheckPeriodMinutes
type: dword
data: 0

View file

@ -0,0 +1,4 @@
- name: Install Emacs
win_chocolatey:
name: emacs.install
state: present

View file

@ -0,0 +1,26 @@
- name: Install Firefox
win_chocolatey:
name: firefox
- name: Create Firefox policy directory
win_file:
dest: C:\Program Files\Mozilla Firefox\distribution
state: directory
- name: Set Firefox policies
copy:
dest: C:\Program Files\Mozilla Firefox\distribution\policies.json
content: |
{
"policies": {
"DisableAppUpdate": true,
"DisableSystemAddonUpdate": true,
"DisableTelemetry": true,
"UserMessaging": {
"WhatsNew": false,
"ExtensionRecommendations": false,
"FeatureRecommendations": false,
"UrlbarInterventions": false,
"SkipOnboarding": true,
"MoreFromMozilla": false
}
}
}

View file

@ -0,0 +1,3 @@
- name: Install GIMP
win_chocolatey:
name: gimp

View file

@ -0,0 +1,8 @@
- name: Install git
win_chocolatey:
name: git.install
package_params: /GitAndUnixToolsOnPath
- name: Install git-extensions
win_chocolatey:
name: gitextensions, kdiff3

View file

@ -0,0 +1,3 @@
- name: Install Inkscape
win_chocolatey:
name: inkscape

View file

@ -0,0 +1,19 @@
- import_tasks: 7zip.yml
- import_tasks: audacity.yml
- import_tasks: blender.yml
- import_tasks: chrome.yml
- import_tasks: emacs.yml
- import_tasks: inkscape.yml
- import_tasks: firefox.yml
- import_tasks: gimp.yml
- import_tasks: git.yml
- import_tasks: notepad++.yml
- import_tasks: openjdk.yml
- import_tasks: orange.yml
- import_tasks: pelles-c.yml
- import_tasks: processing.yml
- import_tasks: python.yml
- import_tasks: swi-prolog.yml
- import_tasks: thonny.yml
- import_tasks: virtualbox.yml
- import_tasks: wireshark.yml

View file

@ -0,0 +1,4 @@
# TODO disable update check
- name: Install Notepad++
win_chocolatey:
name: notepadplusplus

View file

@ -0,0 +1,3 @@
- name: Install OpenJDK
win_chocolatey:
name: openjdk

View file

@ -0,0 +1,7 @@
- name: Install Orange
win_package:
path: https://download.biolab.si/download/files/Orange3-3.32.0-Miniconda-x86_64.exe
arguments: /S /AllUsers
creates_path: C:\Program Files\Orange\python.exe
creates_version: 3.8.8150.1013

View file

@ -0,0 +1,31 @@
# TODO switch to chocolatey once they fix the installer and upgrade to 11
- name: Set PellesC version
set_fact:
target_version: "11.00"
target_checksum: "a8ae79f0e340e4c0cec0869dd72fcd875496acc470174aed8eb377eab8bbce96"
- name: Check PellesC install status
win_stat:
path: C:\Program Files\PellesC\Bin\poide.exe
register: file
- when: not file.stat.exists
block:
# win_package fails to download for some reason
- name: Download PellesC
win_get_url:
url: http://www.smorgasbordet.com/pellesc/{{ target_version | replace('.', '') }}/setup.exe
checksum_algorithm: sha256
checksum: "{{ target_checksum }}"
dest: 'C:\'
register: download
- name: Install PellesC
win_package:
path: "{{ download.dest }}"
arguments: /S
- name: Remove temporary files
win_file:
path: "{{ download.dest }}"
state: absent

View file

@ -0,0 +1,47 @@
- name: Set Processing version
set_fact:
target_version: 4.0.1
target_build: 1286
- name: Check Processing install status
win_stat:
path: C:\Program Files\Processing\lib\version.txt
register: file
- name: Check Processing version
slurp:
src: C:\Program Files\Processing\lib\version.txt
register: version
when: file.stat.exists
- when: not file.stat.exists or ((version.content | b64decode) != target_version)
block:
- name: Make Processing directory
win_file:
path: C:\Program Files\Processing
state: directory
- name: Download Processing
win_get_url:
dest: 'C:\Program Files\Processing\processing.zip'
url: https://github.com/processing/processing4/releases/download/processing-{{ target_build }}-{{ target_version }}/processing-{{ target_version }}-windows-x64.zip
- name: Unzip Processing
win_unzip:
dest: 'C:\Program Files\Processing'
src: 'C:\Program Files\Processing\processing.zip'
- name: Install Processing
win_copy:
dest: C:\Program Files\Processing\
src: 'C:\Program Files\Processing\processing-{{ target_version }}\'
remote_src: yes
- name: Disable telemetry
win_lineinfile:
path: C:\Program Files\Processing\lib\defaults.txt
regexp: 'update.check'
line: 'update.check = false'
- name: Remove temporary files
win_file:
path: C:\Program Files\Processing\{{ item }}
state: absent
loop:
- processing.zip
- processing-{{ target_version }}

View file

@ -0,0 +1,3 @@
- name: Install Python
win_chocolatey:
name: python

View file

@ -0,0 +1,3 @@
- name: Install SWI-Prolog
win_chocolatey:
name: swi-prolog

View file

@ -0,0 +1,28 @@
# TODO switch to chocolatey once they upgrade to Thonny≥4
- name: Set Thonny version
set_fact:
target_version: 4.0.1
- name: Check Thonny install status
win_stat:
path: C:\Program Files (x86)\Thonny\thonny.exe
register: file
- when: not file.stat.exists
block:
# win_package fails to download for some reason
- name: Download Thonny
win_get_url:
url: https://github.com/thonny/thonny/releases/download/v{{ target_version }}/thonny-{{ target_version }}.exe
dest: 'C:\'
register: download
- name: Install Thonny
win_package:
path: "{{ download.dest }}"
arguments: /Verysilent /AllUsers
- name: Remove temporary files
win_file:
path: "{{ download.dest }}"
state: absent

View file

@ -0,0 +1,4 @@
- name: Install Virtualbox
win_chocolatey:
name: virtualbox
state: present

View file

@ -0,0 +1,9 @@
# npcap=0.96 is the last version to support silent installation
- name: Install npcap
win_package:
path: https://npcap.com/dist/npcap-0.96.exe
arguments: /S
- name: Install Wireshark
win_chocolatey:
name: wireshark

3
setup.yml Normal file
View file

@ -0,0 +1,3 @@
- hosts: classroom
roles:
- classroom