[skip ci] refactor installations

This commit is contained in:
ansgarz 2022-01-06 18:26:18 +01:00
parent fc01387ff6
commit 9581b9460c
3 changed files with 32 additions and 10 deletions

View file

@ -34,7 +34,9 @@ fun Prov.provisionWorkplace(
throw Exception("Current user ${whoami()} cannot execute sudo without entering a password! This is necessary to execute provisionWorkplace") throw Exception("Current user ${whoami()} cannot execute sudo without entering a password! This is necessary to execute provisionWorkplace")
} }
aptInstall("ssh gnupg curl git") aptInstall(KEY_MANAGEMENT)
aptInstall(VERSION_MANAGEMENT)
aptInstall(NETWORK_TOOLS)
provisionKeys(gpg, ssh) provisionKeys(gpg, ssh)
provisionGit(gitUserName ?: whoami(), gitEmail, gpg?.let { gpgFingerprint(it.publicKey.plain()) }) provisionGit(gitUserName ?: whoami(), gitEmail, gpg?.let { gpgFingerprint(it.publicKey.plain()) })
@ -50,24 +52,26 @@ fun Prov.provisionWorkplace(
configureNoSwappiness() configureNoSwappiness()
installBash() configureBash()
if (workplaceType == WorkplaceType.OFFICE || workplaceType == WorkplaceType.IDE) { if (workplaceType == WorkplaceType.OFFICE || workplaceType == WorkplaceType.IDE) {
aptInstall("seahorse") aptInstall(KEY_MANAGEMENT_GUI)
aptInstall(BASH_UTILS) aptInstall(BASH_UTILS)
aptInstall(OS_ANALYSIS) aptInstall(OS_ANALYSIS)
aptInstall(ZIP_UTILS) aptInstall(ZIP_UTILS)
aptInstall("firefox chromium-browser") aptInstall(BROWSER)
aptInstall("thunderbird libreoffice") aptInstall(EMAIL_CLIENT)
aptInstall("xclip") aptInstall(OFFICE_SUITE)
aptInstall(CLIP_TOOLS)
installZimWiki() installZimWiki()
installGopass() installGopass()
aptInstallFromPpa("nextcloud-devs", "client", "nextcloud-client") aptInstallFromPpa("nextcloud-devs", "client", "nextcloud-client")
aptInstall("inkscape") optional() {
aptInstall("dia") aptInstall(DRAWING_TOOLS)
}
aptInstall(SPELLCHECKING_DE) aptInstall(SPELLCHECKING_DE)

View file

@ -7,7 +7,7 @@ import org.domaindrivenarchitecture.provs.ubuntu.install.base.aptInstall
import java.io.File import java.io.File
fun Prov.installBash() = def { fun Prov.configureBash() = def {
configureBashForUser() configureBashForUser()
} }

View file

@ -1,5 +1,21 @@
package org.domaindrivenarchitecture.provs.workplace.infrastructure package org.domaindrivenarchitecture.provs.workplace.infrastructure
val KEY_MANAGEMENT = "ssh gnupg"
val VERSION_MANAGEMENT = "git"
val NETWORK_TOOLS = "curl wget"
val KEY_MANAGEMENT_GUI = "seahorse"
val BROWSER = "firefox chromium-browser"
val EMAIL_CLIENT = "thunderbird"
val OFFICE_SUITE = "libreoffice"
val CLIP_TOOLS = "xclip"
val OS_ANALYSIS = "lsof strace ncdu iptraf htop iotop iftop" val OS_ANALYSIS = "lsof strace ncdu iptraf htop iotop iftop"
val ZIP_UTILS = "p7zip-rar p7zip-full rar unrar zip unzip" val ZIP_UTILS = "p7zip-rar p7zip-full rar unrar zip unzip"
@ -15,3 +31,5 @@ val OPENCONNECT = "openconnect network-manager-openconnect network-manager-openc
val VPNC = "vpnc network-manager-vpnc network-manager-vpnc-gnome vpnc-scripts" val VPNC = "vpnc network-manager-vpnc network-manager-vpnc-gnome vpnc-scripts"
val JAVA_JDK = "openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk" val JAVA_JDK = "openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk"
val DRAWING_TOOLS = "inkscape dia"