Merge branch 'master' into packages
This commit is contained in:
commit
455dd24614
|
|
@ -5,7 +5,7 @@ name: Upload archinstall to PyPi
|
|||
|
||||
on:
|
||||
release:
|
||||
types: [created]
|
||||
types: [created, published]
|
||||
|
||||
jobs:
|
||||
deploy:
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ from .lib.general import *
|
|||
from .lib.disk import *
|
||||
from .lib.user_interaction import *
|
||||
from .lib.exceptions import *
|
||||
from .lib.installer import __packages__, __base_packages__, Installer
|
||||
from .lib.installer import __packages__, Installer
|
||||
from .lib.profiles import *
|
||||
from .lib.luks import *
|
||||
from .lib.mirrors import *
|
||||
|
|
|
|||
|
|
@ -3,6 +3,8 @@ from .general import sys_command
|
|||
from .networking import list_interfaces, enrichIfaceTypes
|
||||
from typing import Optional
|
||||
|
||||
__packages__ = ['xf86-video-amdgpu', 'xf86-video-ati', 'xf86-video-intel', 'xf86-video-nouveau', 'xf86-video-fbdev', 'xf86-video-vesa', 'xf86-video-vmware', 'nvidia', 'mesa']
|
||||
|
||||
AVAILABLE_GFX_DRIVERS = {
|
||||
# Sub-dicts are layer-2 options to be selected
|
||||
# and lists are a list of packages to be installed
|
||||
|
|
@ -18,7 +20,7 @@ AVAILABLE_GFX_DRIVERS = {
|
|||
'mesa' : ['mesa'],
|
||||
'fbdev' : ['xf86-video-fbdev'],
|
||||
'vesa' : ['xf86-video-vesa'],
|
||||
'vmware' : ['xf86-video-vmware']
|
||||
'vmware / virtualbox' : ['xf86-video-vmware']
|
||||
}
|
||||
|
||||
def hasWifi()->bool:
|
||||
|
|
|
|||
|
|
@ -12,8 +12,7 @@ from .storage import storage
|
|||
from .hardware import *
|
||||
|
||||
# Any package that the Installer() is responsible for (optional and the default ones)
|
||||
__packages__ = ["base", "base-devel", "linux", "linux-firmware", "efibootmgr", "nano", "ntp", "iwd"]
|
||||
__base_packages__ = __packages__[:6]
|
||||
__packages__ = ["base", "base-devel", "linux-firmware", "linux", "linux-lts", "linux-zen", "linux-hardened"]
|
||||
|
||||
class Installer():
|
||||
"""
|
||||
|
|
@ -39,8 +38,7 @@ class Installer():
|
|||
:type hostname: str, optional
|
||||
|
||||
"""
|
||||
def __init__(self, target, *, base_packages='base base-devel linux-firmware', kernels='linux'):
|
||||
kernels = kernels.split(",")
|
||||
def __init__(self, target, *, base_packages=__packages__[:3], kernels=['linux']):
|
||||
self.target = target
|
||||
self.init_time = time.strftime('%Y-%m-%d_%H-%M-%S')
|
||||
self.milliseconds = int(str(time.time()).split('.')[1])
|
||||
|
|
@ -53,10 +51,7 @@ class Installer():
|
|||
self.base_packages = base_packages.split(' ') if type(base_packages) is str else base_packages
|
||||
for kernel in kernels:
|
||||
self.base_packages.append(kernel)
|
||||
if hasUEFI():
|
||||
self.base_packages.append("efibootmgr")
|
||||
else:
|
||||
self.base_packages.append("grub")
|
||||
|
||||
self.post_base_install = []
|
||||
|
||||
storage['session'] = self
|
||||
|
|
@ -364,12 +359,12 @@ class Installer():
|
|||
boot_partition = partition
|
||||
elif partition.mountpoint == self.target:
|
||||
root_partition = partition
|
||||
if hasUEFI():
|
||||
self.log(f'Adding bootloader {bootloader} to {boot_partition}', level=logging.INFO)
|
||||
else:
|
||||
self.log(f'Adding bootloader {bootloader} to {root_partition}', level=logging.INFO)
|
||||
|
||||
self.log(f'Adding bootloader {bootloader} to {boot_partition if boot_partition else root_partition}', level=logging.INFO)
|
||||
|
||||
if bootloader == 'systemd-bootctl':
|
||||
self.pacstrap('efibootmgr')
|
||||
|
||||
if not hasUEFI():
|
||||
raise HardwareIncompatibilityError
|
||||
# TODO: Ideally we would want to check if another config
|
||||
|
|
@ -432,6 +427,8 @@ class Installer():
|
|||
|
||||
raise RequirementError(f"Could not identify the UUID of {self.partition}, there for {self.target}/boot/loader/entries/arch.conf will be broken until fixed.")
|
||||
elif bootloader == "grub-install":
|
||||
self.pacstrap('grub')
|
||||
|
||||
if hasUEFI():
|
||||
o = b''.join(sys_command(f'/usr/bin/arch-chroot {self.target} grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB'))
|
||||
sys_command('/usr/bin/arch-chroot /mnt grub-mkconfig -o /boot/grub/grub.cfg')
|
||||
|
|
|
|||
|
|
@ -1,7 +1,8 @@
|
|||
import archinstall
|
||||
import json
|
||||
import urllib.request
|
||||
import git
|
||||
|
||||
__packages__ = ['nano', 'wget', 'git']
|
||||
|
||||
# Unmount and close previous runs (Mainly only used for re-runs, but won't hurt.)
|
||||
archinstall.sys_command(f'umount -R /mnt', suppress_errors=True)
|
||||
|
|
@ -30,22 +31,19 @@ with archinstall.Filesystem(harddrive) as fs:
|
|||
if installation.minimal_installation():
|
||||
installation.add_bootloader()
|
||||
|
||||
installation.add_additional_packages(['nano', 'wget', 'git'])
|
||||
installation.add_additional_packages(__packages__)
|
||||
installation.install_profile('awesome')
|
||||
|
||||
installation.user_create('anton', 'test')
|
||||
installation.user_create('devel', 'devel')
|
||||
installation.user_set_pw('root', 'toor')
|
||||
|
||||
repo = git.Repo('./')
|
||||
commit = repo.head.commit.hexsha[:7]
|
||||
|
||||
print(f'Submitting {commit}: success')
|
||||
print(f'Submitting {archinstall.__version__}: success')
|
||||
|
||||
conditions = {
|
||||
"project": "archinstall",
|
||||
"profile": "52-54-00-12-34-56",
|
||||
"status": "success",
|
||||
"commit": commit
|
||||
"version": archinstall.__version__
|
||||
}
|
||||
req = urllib.request.Request("https://api.archlinux.life/build/success",
|
||||
data=json.dumps(conditions).encode('utf8'),
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ is_top_level_profile = False
|
|||
|
||||
# New way of defining packages for a profile, which is iterable and can be used out side
|
||||
# of the profile to get a list of "what packages will be installed".
|
||||
__packages__ = ['nemo', 'gpicview-gtk3', 'scrot', 'alacritty']
|
||||
__packages__ = ['nemo', 'gpicview-gtk3', 'main', 'alacritty']
|
||||
|
||||
def _prep_function(*args, **kwargs):
|
||||
"""
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@ is_top_level_profile = False
|
|||
|
||||
# New way of defining packages for a profile, which is iterable and can be used out side
|
||||
# of the profile to get a list of "what packages will be installed".
|
||||
__packages__ = ['i3lock', 'i3status', 'i3blocks', 'xterm']
|
||||
__packages__ = ['i3lock', 'i3status', 'i3blocks', 'xterm', 'lightdm-gtk-greeter', 'lightdm']
|
||||
|
||||
def _prep_function(*args, **kwargs):
|
||||
"""
|
||||
|
|
@ -48,13 +48,13 @@ if __name__ == 'i3':
|
|||
"""
|
||||
|
||||
# Install common packages for all i3 configurations
|
||||
installation.add_additional_packages(__packages__)
|
||||
installation.add_additional_packages(__packages__[:4])
|
||||
|
||||
# Install dependency profiles
|
||||
installation.install_profile('xorg')
|
||||
|
||||
# gaps is installed by deafult so we are overriding it here
|
||||
installation.add_additional_packages("lightdm-gtk-greeter lightdm")
|
||||
# gaps is installed by deafult so we are overriding it here with lightdm
|
||||
installation.add_additional_packages(__packages__[4:])
|
||||
|
||||
# Auto start lightdm for all users
|
||||
installation.enable_service('lightdm')
|
||||
|
|
|
|||
|
|
@ -1,10 +1,12 @@
|
|||
# A system with "xorg" installed
|
||||
|
||||
import os
|
||||
from archinstall import generic_select, sys_command, RequirementError
|
||||
import archinstall
|
||||
|
||||
is_top_level_profile = True
|
||||
|
||||
__packages__ = ['dkms', 'xorg-server', 'xorg-xinit', 'nvidia-dkms', 'xorg-server', *archinstall.lib.hardware.__packages__]
|
||||
|
||||
def _prep_function(*args, **kwargs):
|
||||
"""
|
||||
Magic function called by the importing installer
|
||||
|
|
|
|||
Loading…
Reference in New Issue