1919#
2020## PyInfra Functions
2121#
22- @deploy ("Pacman mirror preparation " )
22+ @deploy ("Initial pacman Operations " )
2323def prepare_pacman ():
24- pacman .update (
25- name = "Updating pacman repositories" ,
26- _sudo = True
27- )
28-
2924 pacman .packages (
30- name = "Installing bootstrap packages" ,
25+ name = "Installing initial packages" ,
3126 packages = ["archlinux-keyring" , "rsync" , "rebuild-detector" , "reflector" ],
3227 present = True ,
33- update = False ,
28+ update = True ,
3429 _sudo = True ,
3530 )
3631
3732 server .shell (
38- name = "Updating arch mirrors" ,
33+ name = "Changing pacman mirrors to the fastest available in the specified region " ,
3934 commands = [f"reflector -c { host .data .get ("MIRROR_REGION" )} -p https,rsync --delay 12 --sort rate --save /etc/pacman.d/mirrorlist" ],
4035 _sudo = True
4136 )
4237
4338 pacman .update (
44- name = "Updating newly synced pacman repositories " ,
39+ name = "Syncing local mirror cache with remote sources " ,
4540 _sudo = True
4641 )
4742
48- @deploy ("Package Management " )
43+ @deploy ("Packages Installation " )
4944def install_packages ():
5045 pacman .packages (
51- name = "Installing system packages" ,
52- packages = ["linux-lts-headers" , "pacman-contrib" , "base-devel" , "dmidecode" , "dkms" , "amd-ucode" ,
53- "linux-firmware" , "lm_sensors" , "curl" , "e2fsprogs" , "exfatprogs" , "iproute2" , "mtr" ,
54- "lsof" , "smartmontools" , "udisks2" , "dosfstools" , "less" ],
46+ name = "System" ,
47+ packages = ["linux-lts-headers" , "pacman-contrib" , "base-devel" , "dmidecode" ,
48+ "dkms" , "amd-ucode" , "linux-firmware" , "lm_sensors" , "curl" ,
49+ "e2fsprogs" , "exfatprogs" , "iproute2" , "mtr" , "lsof" , "smartmontools" ,
50+ "udisks2" , "dosfstools" , "less" ],
5551 present = True ,
5652 update = False ,
5753 _sudo = True ,
5854 )
5955
6056 pacman .packages (
61- name = "Installing AMDGPU drivers" ,
62- packages = ["mesa" , "xf86-video-amdgpu" , "vulkan-radeon" , "libva-mesa-driver" , "mesa-vdpau" , "nvtop" ],
57+ name = "AMD APU/GPU" ,
58+ packages = ["mesa" , "xf86-video-amdgpu" , "vulkan-radeon" , "libva-mesa-driver" ,
59+ "mesa-vdpau" , "nvtop" ],
6360 present = True ,
6461 update = False ,
6562 _sudo = True ,
6663 )
6764
6865 pacman .packages (
69- name = "Installing Services packages " ,
70- packages = ["docker" , "docker-compose" , "samba" , "zerotier-one" , "openssh" , "clamav" ,
71- "mariadb-clients" , "openldap" , "smbclient" ],
66+ name = "Services" ,
67+ packages = ["docker" , "docker-compose" , "samba" , "zerotier-one" , "openssh" ,
68+ "clamav" , " mariadb-clients" , "openldap" , "smbclient" ],
7269 present = True ,
7370 update = False ,
7471 _sudo = True ,
7572 )
7673
7774 pacman .packages (
78- name = "Installing Archiving & Compression packages " ,
75+ name = "Archiving & Compression" ,
7976 packages = ["tar" , "bzip2" , "unrar" , "gzip" , "unzip" , "zip" , "p7zip" ],
8077 present = True ,
8178 update = False ,
8279 _sudo = True ,
8380 )
8481
8582 pacman .packages (
86- name = "Installing Runners & SDK packages " ,
87- packages = ["jre17-openjdk-headless" , "jre21-openjdk-headless" , "python" ],
83+ name = "Code Runtime " ,
84+ packages = ["jre17-openjdk-headless" , "jre21-openjdk-headless" , "python" , "rustup" ],
8885 present = True ,
8986 update = False ,
9087 _sudo = True ,
9188 )
9289
9390 pacman .packages (
94- name = "Installing User packages" ,
95- packages = ["eza" , "neovim" , "rustup" , "speedtest-cli" , "trash-cli" , "git" , "dos2unix" , "screen" , "iperf3" ,
96- "lolcat" , "zsh" , "zsh-autosuggestions" , "zsh-syntax-highlighting" , "beep" , "ffmpeg" , "influx-cli" ,
97- "speedtest-cli" , "uwufetch" , "yt-dlp" , "duf" ],
91+ name = "User Specific" ,
92+ packages = ["eza" , "neovim" , "speedtest-cli" , "trash-cli" , "git" ,
93+ "dos2unix" , "screen" , "iperf3" ,"lolcat" , "zsh" , "zsh-autosuggestions" ,
94+ "zsh-syntax-highlighting" , "beep" , "ffmpeg" , "influx-cli" ,"speedtest-cli" ,
95+ "uwufetch" , "yt-dlp" , "duf" ],
9896 present = True ,
9997 update = False ,
10098 _sudo = True ,
10199 )
102100
103- @deploy ("AUR Configuration Support " )
101+ @deploy ("AUR Integration " )
104102def preparing_aur_support ():
105103 server .shell (
106104 name = "Fixing ownership of the `.local` user folder" ,
@@ -114,7 +112,7 @@ def preparing_aur_support():
114112 )
115113
116114 git .repo (
117- name = "Downloading paru from Github" ,
115+ name = "Downloading ` paru` from Github" ,
118116 src = "https://aur.archlinux.org/paru.git" ,
119117 dest = f"/home/{ host .get_fact (User )} /paru" ,
120118 branch = "master" ,
@@ -123,13 +121,13 @@ def preparing_aur_support():
123121 )
124122
125123 server .shell (
126- name = "Bypassing `sudo: a terminal is required to read the password` error " ,
124+ name = "Bypassing `sudo: a terminal is required to read the password`" ,
127125 commands = [f"echo '{ host .get_fact (User )} ALL = NOPASSWD: /usr/bin/pacman' >> /etc/sudoers" ],
128126 _sudo = True
129127 )
130128
131129 server .shell (
132- name = "Building paru from source" ,
130+ name = "Building ` paru` from source" ,
133131 commands = [f"cd /home/{ host .get_fact (User )} /paru; makepkg -sci --noconfirm" ]
134132 )
135133
@@ -139,33 +137,38 @@ def preparing_aur_support():
139137 _sudo = True
140138 )
141139
142- @deploy ("Package Management (AUR)" )
140+ @deploy ("Packages Installation (AUR)" )
143141def install_aur_packages ():
144142 server .shell (
145- name = "Installing AUR packages" ,
146- commands = ["paru -S --noconfirm --cleanafter autojump mkinitcpio-firmware telegraf-bin" ],
143+ name = "Services & Firmware" ,
144+ commands = ["paru -S --noconfirm --cleanafter mkinitcpio-firmware telegraf-bin" ],
145+ )
146+
147+ server .shell (
148+ name = "User Specific" ,
149+ commands = ["paru -S --noconfirm --cleanafter autojump" ],
147150 )
148151
149- @deploy ("User Configuration" )
152+ @deploy ("User Environment Configuration" )
150153def user_configuration ():
151154 server .shell (
152155 name = "Changing shell to ZSH" ,
153156 commands = [f"chsh -s /usr/bin/zsh { host .get_fact (User )} " ],
154157 _sudo = True
155158 )
156159
157- @deploy ("Service Configuration " )
160+ @deploy ("Service Preparation " )
158161def service_configuration ():
159162 server .shell (
160163 name = "Joining Zerotier network" ,
161164 commands = [f"zerotier-cli join { host .data .get ("ZEROTIER_NETWORK_ID" )} " ],
162165 _sudo = True
163166 )
164167
165- @deploy ("System service management " )
168+ @deploy ("System Configuration " )
166169def system_services ():
167170 systemd .service (
168- name = "Enabling SSH service " ,
171+ name = "Enabling SSH" ,
169172 service = "sshd.service" ,
170173 running = True ,
171174 enabled = True ,
@@ -181,47 +184,47 @@ def system_services():
181184 )
182185
183186 systemd .service (
184- name = "Enabling SMB service " ,
187+ name = "Enabling SMB" ,
185188 service = "smb.service" ,
186189 running = True ,
187190 enabled = True ,
188191 _sudo = True
189192 )
190193
191194 systemd .service (
192- name = "Enabling NMB service " ,
195+ name = "Enabling NMB" ,
193196 service = "nmb.service" ,
194197 running = True ,
195198 enabled = True ,
196199 _sudo = True
197200 )
198201
199202 systemd .service (
200- name = "Enabling Zerotier-one service " ,
203+ name = "Enabling Zerotier" ,
201204 service = "zerotier-one.service" ,
202205 running = True ,
203206 enabled = True ,
204207 _sudo = True
205208 )
206209
207210 systemd .service (
208- name = "Enabling Telegraf service " ,
211+ name = "Enabling Telegraf" ,
209212 service = "telegraf.service" ,
210213 running = True ,
211214 enabled = True ,
212215 _sudo = True
213216 )
214217
215- @deploy ("Deploy Cleanup" )
218+ @deploy ("PyInfra Script Cleanup" )
216219def session_cleanup ():
217220 server .shell (
218- name = "Removing ` sudo` bypass" ,
219- commands = [f"sed '$ d' /etc/sudoers" ],
221+ name = "Removing sudo bypass" ,
222+ commands = [f"sed -i '/NOPASSWD/ d' /etc/sudoers" ],
220223 _sudo = True
221224 )
222225
223226 server .shell (
224- name = "Removing paru-src leftovers" ,
227+ name = "Removing ` paru-src` leftovers" ,
225228 commands = [f"rm /home/{ host .get_fact (User )} /paru -r" ],
226229 _sudo = True
227230 )
0 commit comments