-
Notifications
You must be signed in to change notification settings - Fork 2
/
installer.py
53 lines (44 loc) · 1.99 KB
/
installer.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import subprocess
def main():
options = {
"1": ("Update packages", "update_packages.sh"),
"2": ("Bind keyboard layout to alt+shift", "bind_keyboard_layout.sh"),
"3": ("Install and configure git", "install_git.sh"),
"4": ("Install Python", "python_install.sh"),
"5": ("Create SSH key", "create_ssh_key.sh"),
"6": ("Install Google Chrome", "install_chrome.sh"),
"7": ("Install PyCharm", "install_pycharm.sh"),
"8": ("Install VS Code", "install_vscode.sh"),
"9": ("Install Vim", "install_vim.sh"),
"10": ("Install Docker", "install_docker.sh"),
"11": ("Install Docker Compose", "install_docker_compose.sh"),
"12": ("Install PostgreSQL", "install_postgresql.sh"),
"13": ("Install GCC", "gcc.sh"),
"14": ("Install OBS", "obs.sh"),
"15": ("Install NVIDIA drivers", "nvidia_drivers.sh"),
"16": ("Install Spotify", "install_spotify.sh"),
"17": ("Install Discord", "install_spotify.sh"),
"18": ("Install Node.js", "install_nodejs.sh"),
"19": ("Install Postman", "install_postman.sh"),
"20": ("Install Composer", "install_composer.sh"),
"21": ("Install TypeScript", "install_typescript.sh"),
"22": ("Install Redis", "install_redis.sh"),
"23": ("Install Telegram Desktop", "install_telegram.sh"),
"24": ("Install PHP", "install_php.sh"),
"25": ("Install L2TP", "install_l2tp.sh.sh"),
}
while True:
print("\nPlease choose what you want to install:")
for key, value in options.items():
print(f"{key}. {value[0]}")
choice = input("Enter your choice (or 'E' to exit): ").strip()
if choice.lower() == "e":
print("Exiting...")
break
if choice in options:
script_name = options[choice][1]
subprocess.run(["bash", script_name])
else:
print("Invalid choice. Please try again.\n")
if __name__ == "__main__":
main()