annotate packages.py @ 131:7a94db404be4

packages refactor and some updates
author drewp@bigasterisk.com
date Wed, 21 Dec 2022 13:44:38 -0800
parents fe3ae7c95e65
children 5558d8481ddf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
1 from pyinfra import host
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
2 from pyinfra.facts.server import LinuxDistribution
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
3 from pyinfra.operations import apt, files, server
114
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
4 import package_lists
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
5
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
6 is_pi = host.get_fact(LinuxDistribution)['name'] in ['Debian', 'Raspbian GNU/Linux']
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
7
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
8
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
9 def kitty():
131
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
10 vers = '0.26.5' # see https://github.com/kovidgoyal/kitty/releases
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
11 home = '/home/drewp'
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
12 local = f"{home}/.local/kitty"
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
13 dl = f'/tmp/kitty-{vers}-x86_64.txz'
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
14 files.download(src=f"https://github.com/kovidgoyal/kitty/releases/download/v{vers}/kitty-{vers}-x86_64.txz", dest=dl)
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
15 files.directory(local)
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
16 server.shell([
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
17 f"mkdir -p {local}", # https://github.com/Fizzadar/pyinfra/issues/777
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
18 f"aunpack --extract-to={local} {dl}",
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
19 ])
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
20 files.link(target="{local}/bin/kitty", path="{home}/bin/kitty")
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
21
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
22
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
23 def pnpm():
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
24 server.shell([
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
25 # https://github.com/pnpm/pnpm/releases
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
26 # but also https://pnpm.io/installation#compatibility
131
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
27 "npm install -g pnpm@6.35.1",
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
28 ])
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
29
69
659e4b228909 new host 'pipe'
drewp@bigasterisk.com
parents: 62
diff changeset
30
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
31 def proper_locate():
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
32 apt.packages(packages='mlocate', present=False)
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
33 if not is_pi and host.name not in ['prime', 'pipe']:
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
34 apt.packages(packages='plocate')
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
35
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
36
131
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
37 def proper_man():
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
38 if host.name in ['pipe', 'prime'] or is_pi:
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
39 apt.packages(packages=['mandb'], present=False)
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
40
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
41
131
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
42 def pkg_keys():
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
43 # apt.key(keyserver='keyserver.ubuntu.com', keyid='04EE7237B7D453EC')
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
44 # apt.key(keyserver='keyserver.ubuntu.com', keyid='648ACFD622F3D138')
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
45 # apt.key(keyserver='keyserver.ubuntu.com', keyid='8B48AD6246925553')
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
46 # apt.key(keyserver='keyserver.ubuntu.com', keyid='F24AEA9FB05498B7')
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
47 apt.key(src='https://dl.google.com/linux/linux_signing_key.pub')
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
48 apt.key(src='https://ftp-master.debian.org/keys/archive-key-8-security.asc')
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
49 apt.key(src='https://ftp-master.debian.org/keys/archive-key-8.asc')
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
50 apt.key(src='https://ftp-master.debian.org/keys/archive-key-9-security.asc')
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
51 apt.key(src='https://packages.microsoft.com/keys/microsoft.asc')
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
52
114
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
53
131
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
54 pkg_keys()
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
55
114
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
56 apt.packages(packages=package_lists.setup)
131
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
57
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
58 if not is_pi:
83
9e66c3f17351 add reptyr
drewp@bigasterisk.com
parents: 77
diff changeset
59 if host.name != 'pipe':
131
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
60 apt.packages(packages=['reptyr'])
103
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
61 kitty()
8b8ef9d8f0fd dead code and templates, reformat, maybe a little refactor
drewp@bigasterisk.com
parents: 93
diff changeset
62 pnpm()
131
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
63 else:
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
64 apt.packages(packages=package_lists.pi_setup)
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
65
114
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
66 proper_locate()
131
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
67 proper_man()
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
68
114
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
69 apt.packages(packages=package_lists.general)
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
70 apt.packages(packages=package_lists.debug)
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
71
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
72 if host.name == "bang":
114
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
73 apt.packages(packages=package_lists.for_bang)
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
74
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
75 if host.name == "pipe":
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
76 apt.packages(packages=package_lists.for_pipe)
37
fbd0849dfdbd redo networking to be much simpler. Uses systemd-networkd
drewp@bigasterisk.com
parents: 34
diff changeset
77
131
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
78 if host.name == "prime":
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
79 apt.packages(packages=package_lists.for_prime)
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
80
37
fbd0849dfdbd redo networking to be much simpler. Uses systemd-networkd
drewp@bigasterisk.com
parents: 34
diff changeset
81 if host.name == 'plus':
114
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
82 apt.packages(packages=package_lists.laptop)
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
83
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
84 desktop_env = host.name in ['dash', 'slash', 'plus']
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
85 if desktop_env:
7e280bf26dba package lists big update, pulling from /var/log/apt on a few hosts
drewp@bigasterisk.com
parents: 108
diff changeset
86 apt.packages(packages=package_lists.xorg + package_lists.desktop)
131
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
87
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
88 if not is_pi:
7a94db404be4 packages refactor and some updates
drewp@bigasterisk.com
parents: 126
diff changeset
89 apt.packages(packages=package_lists.non_pi)