annotate packages.py @ 74:023741df3298

more pkgs
author drewp@bigasterisk.com
date Sat, 11 Jun 2022 22:57:23 -0700
parents f0e59adf7b91
children 41008d412ec8
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
49
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
3 from pyinfra.operations import apt, files, ssh, server
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
4
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
5 is_pi = host.get_fact(LinuxDistribution)['name'] in ['Debian', 'Raspbian GNU/Linux']
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
6 is_wifi_pi = host.name in ['frontdoor', 'living']
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
7
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
8 if not is_pi:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
9 apt.key(keyserver='keyserver.ubuntu.com', keyid='8B48AD6246925553')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
10
69
659e4b228909 new host 'pipe'
drewp@bigasterisk.com
parents: 62
diff changeset
11 if host.name == 'pipe':
659e4b228909 new host 'pipe'
drewp@bigasterisk.com
parents: 62
diff changeset
12 apt.packages(packages=['mandb', 'apt-listchanges'], present=False)
659e4b228909 new host 'pipe'
drewp@bigasterisk.com
parents: 62
diff changeset
13 files.template(src='templates/odroid_sources.list.j2', dest='/etc/apt/sources.list', rel='focal')
659e4b228909 new host 'pipe'
drewp@bigasterisk.com
parents: 62
diff changeset
14
659e4b228909 new host 'pipe'
drewp@bigasterisk.com
parents: 62
diff changeset
15 elif is_pi:
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
16 apt.packages(packages=['mandb', 'apt-listchanges'], present=False)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
17 files.template(src='templates/pi_sources.list.j2', dest='/etc/apt/sources.list', rel='bullseye')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
18 # 'apt upgrade'?
42
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
19 apt.packages(
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
20 update=False, # see system.py
74
023741df3298 more pkgs
drewp@bigasterisk.com
parents: 72
diff changeset
21 packages=['dirmngr', 'gnupg2', 'apt-utils', 'aptitude'])
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
22
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
23 apt.key(src='https://ftp-master.debian.org/keys/archive-key-8.asc')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
24 apt.key(src='https://ftp-master.debian.org/keys/archive-key-8-security.asc')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
25 apt.key(src='https://ftp-master.debian.org/keys/archive-key-9-security.asc')
13
d0ca4e569009 upgrade ubuntu on bang
drewp@bigasterisk.com
parents: 12
diff changeset
26 apt.key(keyserver='keyserver.ubuntu.com', keyid='04EE7237B7D453EC')
d0ca4e569009 upgrade ubuntu on bang
drewp@bigasterisk.com
parents: 12
diff changeset
27 apt.key(keyserver='keyserver.ubuntu.com', keyid='648ACFD622F3D138')
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
28
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
29 files.file(path='/etc/apt/sources.list.d/raspi.list', present=False)
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
30
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
31 if is_wifi_pi:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
32 files.put(dest="/etc/network/interfaces.d/wlan0", src="files/pi_wlan0_powersave")
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
33 ssh.command(host.name, "iw wlan0 set power_save off")
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
34
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
35 files.template(src='templates/boot_config.txt.j2', dest='/boot/config.txt')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
36
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
37 if not is_pi and host.name != 'prime':
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
38 apt.key(src='https://dl.google.com/linux/linux_signing_key.pub')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
39 apt.repo(src='deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main')
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 apt.key(src='https://packages.microsoft.com/keys/microsoft.asc')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
42 apt.repo(src="deb [arch=amd64,arm64,armhf] http://packages.microsoft.com/repos/code stable main")
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
43
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
44 apt.key(keyserver='keyserver.ubuntu.com', keyid='F24AEA9FB05498B7')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
45 apt.repo(src="deb [arch=amd64,i386] https://repo.steampowered.com/steam/ stable steam")
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
46
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
47 apt.packages(packages=[
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
48 'build-essential',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
49 # 'i2c-tools',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
50 'rsync',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
51 'dstat',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
52 'ifstat',
24
ebcc782fabb8 more pkgs for all hosts
drewp@bigasterisk.com
parents: 13
diff changeset
53 'mosquitto-clients',
ebcc782fabb8 more pkgs for all hosts
drewp@bigasterisk.com
parents: 13
diff changeset
54 'ncdu',
42
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
55 "udns-utils",
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
56 "atool",
74
023741df3298 more pkgs
drewp@bigasterisk.com
parents: 72
diff changeset
57 'iproute2', # needed for wireguard
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
58 ])
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
59
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
60 if not is_pi:
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
61 apt.packages(packages=[
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
62 'keychain',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
63 'python3-docker',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
64 'python3-invoke',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
65 'python3-pip',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
66 'python3-virtualenv',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
67 'sysstat',
24
ebcc782fabb8 more pkgs for all hosts
drewp@bigasterisk.com
parents: 13
diff changeset
68 'debian-goodies',
25
16cd19a68832 add lxterminal (because kitty isn't configured yet)
drewp@bigasterisk.com
parents: 24
diff changeset
69 'lxterminal',
42
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
70 'iotop',
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
71 'lpr',
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
72 'nodejs',
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
73 'npm',
74
023741df3298 more pkgs
drewp@bigasterisk.com
parents: 72
diff changeset
74 'ethtool',
023741df3298 more pkgs
drewp@bigasterisk.com
parents: 72
diff changeset
75 'speedtest-cli',
023741df3298 more pkgs
drewp@bigasterisk.com
parents: 72
diff changeset
76 'net-tools',
023741df3298 more pkgs
drewp@bigasterisk.com
parents: 72
diff changeset
77 'oping',
023741df3298 more pkgs
drewp@bigasterisk.com
parents: 72
diff changeset
78 'mtr-tiny',
023741df3298 more pkgs
drewp@bigasterisk.com
parents: 72
diff changeset
79 'tcpdump',
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
80 ])
62
50100cad1f38 new upstream versions
drewp@bigasterisk.com
parents: 60
diff changeset
81 vers = '0.25.0' # see https://github.com/kovidgoyal/kitty/releases
49
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
82 home = '/home/drewp'
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
83 local = f"{home}/.local/kitty"
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
84 dl = f'/tmp/kitty-{vers}-x86_64.txz'
49
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
85 files.download(src=f"https://github.com/kovidgoyal/kitty/releases/download/v{vers}/kitty-{vers}-x86_64.txz",
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
86 dest=dl)
60
a949704defd0 new pyinfra
drewp@bigasterisk.com
parents: 56
diff changeset
87 files.directory(local)
49
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
88 server.shell([
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
89 f"mkdir -p {local}", # https://github.com/Fizzadar/pyinfra/issues/777
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
90 f"aunpack --extract-to={local} {dl}",
49
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
91 ])
23c1450eb9a3 kitty install
drewp@bigasterisk.com
parents: 46
diff changeset
92 files.link(target="{local}/bin/kitty", path="{home}/bin/kitty")
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
93
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
94 server.shell([
62
50100cad1f38 new upstream versions
drewp@bigasterisk.com
parents: 60
diff changeset
95 # https://github.com/pnpm/pnpm/releases
50100cad1f38 new upstream versions
drewp@bigasterisk.com
parents: 60
diff changeset
96 "npm install -g pnpm@7.0.0",
56
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
97 ])
4c15fc1e879d bump some tool versions
drewp@bigasterisk.com
parents: 49
diff changeset
98
72
f0e59adf7b91 updates that aren't pkg or version changes
drewp@bigasterisk.com
parents: 69
diff changeset
99 apt.packages(packages='mlocate', present=False)
f0e59adf7b91 updates that aren't pkg or version changes
drewp@bigasterisk.com
parents: 69
diff changeset
100 if not is_pi and host.name not in ['prime', 'pipe']:
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
101 apt.packages(packages='plocate')
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
102
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
103 if host.name == "bang":
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
104 apt.packages(packages=[
34
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 25
diff changeset
105 'iptables',
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 25
diff changeset
106 'openntpd',
d4fb38f13c79 refactor dns and some other non-net setup
drewp@bigasterisk.com
parents: 25
diff changeset
107 'ntpdate',
12
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
108 'zfsutils-linux',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
109 'zfs-zed',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
110 'zfs-auto-snapshot',
15c5ce7c74b5 refactor, cleanup, split large deploys
drewp@bigasterisk.com
parents:
diff changeset
111 ])
37
fbd0849dfdbd redo networking to be much simpler. Uses systemd-networkd
drewp@bigasterisk.com
parents: 34
diff changeset
112
fbd0849dfdbd redo networking to be much simpler. Uses systemd-networkd
drewp@bigasterisk.com
parents: 34
diff changeset
113 if host.name == 'plus':
42
057d0816afcd more pkgs
drewp@bigasterisk.com
parents: 37
diff changeset
114 apt.packages(packages=['network-manager'])