Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/examples/minimal.py
diff options
context:
space:
mode:
authorDaniel Girtler <blackrabbit256@gmail.com>2023-04-19 20:55:42 +1000
committerGitHub <noreply@github.com>2023-04-19 12:55:42 +0200
commit00b0ae7ba439a5a420095175b3bedd52c569db51 (patch)
treef02d081e361d5e65603f74dea3873dcc6606cf7c /examples/minimal.py
parent5253e57e9f26cf3e59cb2460544af13f56e485bb (diff)
PyParted and a large rewrite of the underlying partitioning (#1604)
* Invert mypy files * Add optional pre-commit hooks * New profile structure * Serialize profiles * Use profile instead of classmethod * Custom profile setup * Separator between back * Support profile import via url * Move profiles module * Refactor files * Remove symlink * Add user to docker group * Update schema description * Handle list services * mypy fixes * mypy fixes * Rename profilesv2 to profiles * flake8 * mypy again * Support selecting DM * Fix mypy * Cleanup * Update greeter setting * Update schema * Revert toml changes * Poc external dependencies * Dependency support * New encryption menu * flake8 * Mypy and flake8 * Unify lsblk command * Update bootloader configuration * Git hooks * Fix import * Pyparted * Remove custom font setting * flake8 * Remove default preview * Manual partitioning menu * Update structure * Disk configuration * Update filesystem * luks2 encryption * Everything works until installation * Btrfsutil * Btrfs handling * Update btrfs * Save encryption config * Fix pipewire issue * Update mypy version * Update all pre-commit * Update package versions * Revert audio/pipewire * Merge master PRs * Add master changes * Merge master changes * Small renaming * Pull master changes * Reset disk enc after disk config change * Generate locals * Update naming * Fix imports * Fix broken sync * Fix pre selection on table menu * Profile menu * Update profile * Fix post_install * Added python-pyparted to PKGBUILD, this requires [testing] to be enabled in order to run makepkg. Package still works via python -m build etc. * Swaped around some setuptools logic in pyproject Since we define `package-data` and `packages` there should be no need for: ``` [tool.setuptools.packages.find] where = ["archinstall", "archinstall.*"] ``` * Removed pyproject collisions. Duplicate definitions. * Made sure pyproject.toml includes languages * Add example and update README * Fix pyproject issues * Generate locale * Refactor imports * Simplify imports * Add profile description and package examples * Align code * Fix mypy * Simplify imports * Fix saving config * Fix wrong luks merge * Refactor installation * Fix cdrom device loading * Fix wrongly merged code * Fix imports and greeter * Don't terminate on partprobe error * Use specific path on partprobe from luks * Update archinstall/lib/disk/device_model.py Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com> * Update archinstall/lib/disk/device_model.py Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com> * Update github workflow to test archinstall installation * Update sway merge * Generate locales * Update workflow --------- Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com> Co-authored-by: Anton Hvornum <anton@hvornum.se> Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com> Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com>
Diffstat (limited to 'examples/minimal.py')
-rw-r--r--examples/minimal.py75
1 files changed, 0 insertions, 75 deletions
diff --git a/examples/minimal.py b/examples/minimal.py
deleted file mode 100644
index 8b4c847f..00000000
--- a/examples/minimal.py
+++ /dev/null
@@ -1,75 +0,0 @@
-import archinstall
-
-# Select a harddrive and a disk password
-from archinstall import User
-
-archinstall.log("Minimal only supports:")
-archinstall.log(" * Being installed to a single disk")
-
-if archinstall.arguments.get('help', None):
- archinstall.log(" - Optional disk encryption via --!encryption-password=<password>")
- archinstall.log(" - Optional filesystem type via --filesystem=<fs type>")
- archinstall.log(" - Optional systemd network via --network")
-
-archinstall.arguments['harddrive'] = archinstall.select_disk(archinstall.all_blockdevices())
-
-
-def install_on(mountpoint):
- # We kick off the installer by telling it where the
- with archinstall.Installer(mountpoint) as installation:
- # Strap in the base system, add a boot loader and configure
- # some other minor details as specified by this profile and user.
- if installation.minimal_installation():
- installation.set_hostname('minimal-arch')
- installation.add_bootloader()
-
- # Optionally enable networking:
- if archinstall.arguments.get('network', None):
- installation.copy_iso_network_config(enable_services=True)
-
- installation.add_additional_packages(['nano', 'wget', 'git'])
- installation.install_profile('minimal')
-
- user = User('devel', 'devel', False)
- installation.create_users(user)
-
- # Once this is done, we output some useful information to the user
- # And the installation is complete.
- archinstall.log("There are two new accounts in your installation after reboot:")
- archinstall.log(" * root (password: airoot)")
- archinstall.log(" * devel (password: devel)")
-
-
-if archinstall.arguments['harddrive']:
- archinstall.arguments['harddrive'].keep_partitions = False
-
- print(f" ! Formatting {archinstall.arguments['harddrive']} in ", end='')
- archinstall.do_countdown()
-
- # First, we configure the basic filesystem layout
- with archinstall.Filesystem(archinstall.arguments['harddrive'], archinstall.GPT) as fs:
- # We use the entire disk instead of setting up partitions on your own
- if archinstall.arguments['harddrive'].keep_partitions is False:
- fs.use_entire_disk(root_filesystem_type=archinstall.arguments.get('filesystem', 'btrfs'))
-
- boot = fs.find_partition('/boot')
- root = fs.find_partition('/')
-
- boot.format('fat32')
-
- # We encrypt the root partition if we got a password to do so with,
- # Otherwise we just skip straight to formatting and installation
- if archinstall.arguments.get('!encryption-password', None):
- root.encrypted = True
- root.encrypt(password=archinstall.arguments.get('!encryption-password', None))
-
- with archinstall.luks2(root, 'luksloop', archinstall.arguments.get('!encryption-password', None)) as unlocked_root:
- unlocked_root.format(root.filesystem)
- unlocked_root.mount('/mnt')
- else:
- root.format(root.filesystem)
- root.mount('/mnt')
-
- boot.mount('/mnt/boot')
-
-install_on('/mnt')