Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Hvornum <anton.feeds+github@gmail.com>2020-08-20 19:47:39 +0000
committerAnton Hvornum <anton.feeds+github@gmail.com>2020-08-20 19:47:39 +0000
commitf6f5875892e4ec6978323026b5f7819ddce1bb83 (patch)
treeb71535281671592f7966ab0f24812a9bc34558b4
parent056b800c8eb42c4112dce54bd1a7336d52ead2ab (diff)
Added a unattended installer. Fixed list_profiles() to not include .py ending in the profile name, it's already in the ['path'] defintion. Renamed desktop.py to awesome.py as it more accurately describes what's being installed. desktop should be reserved to a default desktop environment that's more new-user-friendly.
-rw-r--r--archinstall/lib/profiles.py4
-rw-r--r--examples/minimal.py2
-rw-r--r--examples/unattended.py19
-rw-r--r--profiles/52-54-00-12-34-56.py2
-rw-r--r--profiles/awesome.py (renamed from profiles/desktop.py)0
5 files changed, 19 insertions, 8 deletions
diff --git a/archinstall/lib/profiles.py b/archinstall/lib/profiles.py
index b63a26c4..2ed367b9 100644
--- a/archinstall/lib/profiles.py
+++ b/archinstall/lib/profiles.py
@@ -26,7 +26,7 @@ def list_profiles(base='./profiles/', filter_irrelevant_macs=True):
tailored = False
if os.path.splitext(file)[1] == '.py':
if len(mac := re.findall('(([a-zA-z0-9]{2}[-:]){5}([a-zA-z0-9]{2}))', file)):
- if filter_irrelevant_macs and mac[0][0] not in local_macs::
+ if filter_irrelevant_macs and mac[0][0] not in local_macs:
continue
tailored = True
@@ -36,7 +36,7 @@ def list_profiles(base='./profiles/', filter_irrelevant_macs=True):
if first_line[0] == '#':
description = first_line[1:].strip()
- cache[file] = {'path' : os.path.join(root, file), 'description' : description, 'tailored' : tailored}
+ cache[file[:-2]] = {'path' : os.path.join(root, file), 'description' : description, 'tailored' : tailored}
break
return cache
diff --git a/examples/minimal.py b/examples/minimal.py
index 203fa94e..c0ccfe20 100644
--- a/examples/minimal.py
+++ b/examples/minimal.py
@@ -24,7 +24,7 @@ with archinstall.Filesystem(harddrive, archinstall.GPT) as fs:
installation.add_bootloader()
installation.add_additional_packages(['nano', 'wget', 'git'])
- installation.install_profile('workstation')
+ installation.install_profile('awesome')
installation.user_create('anton', 'test')
installation.user_set_pw('root', 'toor')
diff --git a/examples/unattended.py b/examples/unattended.py
index 7dfa58c1..b0ef0b7b 100644
--- a/examples/unattended.py
+++ b/examples/unattended.py
@@ -1,6 +1,17 @@
import archinstall
+import time
-for profile in archinstall.list_profiles():
- # Tailored means it's a match for this machine.
- if profile['tailored']:
- print('Selecting profile to be installed:', profile) \ No newline at end of file
+for name, info in archinstall.list_profiles().items():
+ # Tailored means it's a match for this machine
+ # based on it's MAC address (or some other criteria
+ # that fits the requirements for this machine specifically).
+ if info['tailored']:
+ print(f'Found a tailored profile for this machine called: "{name}".')
+ print(f'Starting install in:')
+ for i in range(10, 0, -1):
+ print(f'{i}...')
+ time.sleep(1)
+
+ profile = archinstall.Profile(None, info['path'])
+ profile.install()
+ break \ No newline at end of file
diff --git a/profiles/52-54-00-12-34-56.py b/profiles/52-54-00-12-34-56.py
index 4c487938..6a3639c7 100644
--- a/profiles/52-54-00-12-34-56.py
+++ b/profiles/52-54-00-12-34-56.py
@@ -24,7 +24,7 @@ with archinstall.Filesystem(harddrive, archinstall.GPT) as fs:
installation.add_bootloader()
installation.add_additional_packages(['nano', 'wget', 'git'])
- installation.install_profile('workstation')
+ installation.install_profile('awesome')
installation.user_create('anton', 'test')
installation.user_set_pw('root', 'toor')
diff --git a/profiles/desktop.py b/profiles/awesome.py
index 67e4fd25..67e4fd25 100644
--- a/profiles/desktop.py
+++ b/profiles/awesome.py