index : archinstall32 | |
Archlinux32 installer | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | examples/custom-command-sample.json | 36 | ||||
-rw-r--r-- | examples/guided.py | 10 |
diff --git a/examples/custom-command-sample.json b/examples/custom-command-sample.json new file mode 100644 index 00000000..0518d3db --- /dev/null +++ b/examples/custom-command-sample.json @@ -0,0 +1,36 @@ +{ + "audio": "pipewire", + "bootloader": "systemd-bootctl", + "custom-commands": [ + "cd /home/devel; git clone https://aur.archlinux.org/paru.git", + "chown -R devel:devel /home/devel/paru", + "usermod -aG docker devel" + ], + "!encryption-password": "supersecret", + "filesystem": "btrfs", + "harddrive": { + "path": "/dev/nvme0n1" + }, + "hostname": "development-box", + "kernels": [ + "linux" + ], + "keyboard-language": "us", + "mirror-region": { + "Worldwide": { + "https://mirror.rackspace.com/archlinux/$repo/os/$arch": true + } + }, + "nic": { + "NetworkManager": true + }, + "packages": ["docker", "git", "wget", "zsh"], + "profile": "gnome", + "superusers": { + "devel": { + "!password": "devel" + } + }, + "timezone": "US/Eastern", + "users": {} +} diff --git a/examples/guided.py b/examples/guided.py index 3a2bc1c0..d23c483e 100644 --- a/examples/guided.py +++ b/examples/guided.py @@ -4,6 +4,7 @@ import os import time import archinstall +from archinstall.lib.general import run_custom_user_commands from archinstall.lib.hardware import has_uefi from archinstall.lib.networking import check_mirror_reachable from archinstall.lib.profiles import Profile @@ -186,10 +187,7 @@ def ask_user_questions(): if archinstall.arguments['profile'] and archinstall.arguments['profile'].has_prep_function(): with archinstall.arguments['profile'].load_instructions(namespace=f"{archinstall.arguments['profile'].namespace}.py") as imported: if not imported._prep_function(): - archinstall.log( - ' * Profile\'s preparation requirements was not fulfilled.', - fg='red' - ) + archinstall.log(' * Profile\'s preparation requirements was not fulfilled.', fg='red') exit(1) # Ask about audio server selection if one is not already set @@ -381,6 +379,10 @@ def perform_installation(mountpoint): archinstall.log(' * Profile\'s post configuration requirements was not fulfilled.', fg='red') exit(1) + # If the user provided custom commands to be run post-installation, execute them now. + if archinstall.arguments.get('custom-commands', None): + run_custom_user_commands(archinstall.arguments['custom-commands'], installation) + installation.log("For post-installation tips, see https://wiki.archlinux.org/index.php/Installation_guide#Post-installation", fg="yellow") if not archinstall.arguments.get('silent'): choice = input("Would you like to chroot into the newly created installation and perform post-installation configuration? [Y/n] ") |