diff --git a/modules/program-installer/__init__.py b/modules/program-installer/__init__.py new file mode 100644 index 0000000..cb3e108 --- /dev/null +++ b/modules/program-installer/__init__.py @@ -0,0 +1,5 @@ +from .module import CmdToolsModule + + +def get_module(): + return CmdToolsModule() diff --git a/modules/program-installer/module.py b/modules/program-installer/module.py new file mode 100644 index 0000000..d798e95 --- /dev/null +++ b/modules/program-installer/module.py @@ -0,0 +1,26 @@ +import json +import subprocess + +from AbstractModule import AbstractModule + + +class CmdToolsModule(AbstractModule): + + def __init__(self): + super().__init__() + with open("modules/program-installer/programs.json") as config_file: + self.programs_json = json.load(config_file) + + def run(self): + """Install the most basic tools!""" + print("Try to install basic Command-line tools") + + programs_list = " ".join(p for p in self.programs_json['basic-tools']) + subprocess.run("apt install" + programs_list, shell=True) + + print("Script ran to completion.") + + def hard_drive_tools(self): + """Install tools to look up smart information from your hard-drives""" + programs_list = " ".join(p for p in self.programs_json['hard-drive']) + subprocess.run("apt install " + programs_list, shell=True) diff --git a/modules/program-installer/programs.json b/modules/program-installer/programs.json new file mode 100644 index 0000000..8a225c5 --- /dev/null +++ b/modules/program-installer/programs.json @@ -0,0 +1,16 @@ +{ + "basic-tools": [ + "bleachbit", + "nano", + "xrdp", + "htop", + "bash-completion", + "dialog", + "powertop", + "tree" + ], + "hard-drive": [ + "smartmontools", + "gsmartcontrol" + ] +} \ No newline at end of file