From 186f12c5f1782d47dae88a4066bcc94163c7d696 Mon Sep 17 00:00:00 2001 From: "Dylan M. Taylor" Date: Tue, 6 Apr 2021 12:55:15 -0400 Subject: Remove chromium from default awesome install Promotes a consistent installation experience across DEs. --- profiles/awesome.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'profiles/awesome.py') diff --git a/profiles/awesome.py b/profiles/awesome.py index b914b175..a565ccb3 100644 --- a/profiles/awesome.py +++ b/profiles/awesome.py @@ -31,11 +31,10 @@ if __name__ == 'awesome': # Then setup and configure the desktop environment: awesome editor = "nano" filebrowser = "nemo gpicview-gtk3" - webbrowser = "chromium" # TODO: Ask the user to select one instead utils = "openssh sshfs htop scrot wget" - installation.add_additional_packages(f"{webbrowser} {utils} {filebrowser} {editor}") + installation.add_additional_packages(f"{utils} {filebrowser} {editor}") alacritty = archinstall.Application(installation, 'alacritty') alacritty.install() -- cgit v1.2.3-70-g09d2 From ea81759e40bf0a54c30dbf90453e2d4c036f01aa Mon Sep 17 00:00:00 2001 From: Dylan Taylor Date: Wed, 7 Apr 2021 08:37:39 -0400 Subject: Add minimal profile and implement idea of 'top-level' profiles --- profiles/awesome.py | 5 +++++ profiles/desktop.py | 2 ++ profiles/gnome.py | 2 ++ profiles/kde.py | 2 ++ profiles/minimal.py | 23 +++++++++++++++++++++++ profiles/xorg.py | 2 ++ 6 files changed, 36 insertions(+) create mode 100644 profiles/minimal.py (limited to 'profiles/awesome.py') diff --git a/profiles/awesome.py b/profiles/awesome.py index a565ccb3..c54aa827 100644 --- a/profiles/awesome.py +++ b/profiles/awesome.py @@ -2,6 +2,11 @@ import archinstall +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__ = ['nano', 'nemo', 'gpicview-gtk3', 'openssh', 'sshfs', 'htop', 'scrot', 'wget'] def _prep_function(*args, **kwargs): """ diff --git a/profiles/desktop.py b/profiles/desktop.py index 41a2ad8b..e7536629 100644 --- a/profiles/desktop.py +++ b/profiles/desktop.py @@ -2,6 +2,8 @@ import archinstall, os +is_top_level_profile = True + def _prep_function(*args, **kwargs): """ Magic function called by the importing installer diff --git a/profiles/gnome.py b/profiles/gnome.py index b37679de..c75cafee 100644 --- a/profiles/gnome.py +++ b/profiles/gnome.py @@ -2,6 +2,8 @@ import archinstall +is_top_level_profile = False + def _prep_function(*args, **kwargs): """ Magic function called by the importing installer diff --git a/profiles/kde.py b/profiles/kde.py index e1449d81..10ef3766 100644 --- a/profiles/kde.py +++ b/profiles/kde.py @@ -2,6 +2,8 @@ import archinstall, os +is_top_level_profile = False + # TODO: Remove hard dependency of bash (due to .bash_profile) def _prep_function(*args, **kwargs): diff --git a/profiles/minimal.py b/profiles/minimal.py new file mode 100644 index 00000000..0e27bdab --- /dev/null +++ b/profiles/minimal.py @@ -0,0 +1,23 @@ +# Used to do a minimal install + +import archinstall, os + +is_top_level_profile = True + +def _prep_function(*args, **kwargs): + """ + Magic function called by the importing installer + before continuing any further. It also avoids executing any + other code in this stage. So it's a safe way to ask the user + for more input before any other installer steps start. + """ + + # Do nothing here for now + +if __name__ == 'minimal': + """ + This "profile" is a meta-profile. + It is used for a custom minimal installation, without any desktop-specific packages. + """ + + # Do nothing here for now diff --git a/profiles/xorg.py b/profiles/xorg.py index 1282b8a5..e905d533 100644 --- a/profiles/xorg.py +++ b/profiles/xorg.py @@ -2,6 +2,8 @@ import archinstall, os +is_top_level_profile = True + AVAILABLE_DRIVERS = { # Sub-dicts are layer-2 options to be selected # and lists are a list of packages to be installed -- cgit v1.2.3-70-g09d2 From d8a243777872b86349adfc7068829f59c2bd305b Mon Sep 17 00:00:00 2001 From: "Dylan M. Taylor" Date: Thu, 8 Apr 2021 13:08:26 -0400 Subject: Move from awesome to desktop and add wireless config utilities and smartmontools --- profiles/awesome.py | 10 ++-------- profiles/desktop.py | 10 +++++++++- 2 files changed, 11 insertions(+), 9 deletions(-) (limited to 'profiles/awesome.py') diff --git a/profiles/awesome.py b/profiles/awesome.py index c54aa827..0b00a424 100644 --- a/profiles/awesome.py +++ b/profiles/awesome.py @@ -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__ = ['nano', 'nemo', 'gpicview-gtk3', 'openssh', 'sshfs', 'htop', 'scrot', 'wget'] +__packages__ = ['nemo', 'gpicview-gtk3', 'scrot'] def _prep_function(*args, **kwargs): """ @@ -33,13 +33,7 @@ if __name__ == 'awesome': awesome = archinstall.Application(installation, 'awesome') awesome.install() - # Then setup and configure the desktop environment: awesome - editor = "nano" - filebrowser = "nemo gpicview-gtk3" - utils = "openssh sshfs htop scrot wget" - - - installation.add_additional_packages(f"{utils} {filebrowser} {editor}") + installation.add_additional_packages(__packages__) alacritty = archinstall.Application(installation, 'alacritty') alacritty.install() diff --git a/profiles/desktop.py b/profiles/desktop.py index e7536629..012d66aa 100644 --- a/profiles/desktop.py +++ b/profiles/desktop.py @@ -4,6 +4,10 @@ import archinstall, os is_top_level_profile = True +# 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__ = ['nano', 'openssh', 'htop', 'wget', 'iwd', 'wireless_tools', 'wpa_supplicant', 'smartmontools'] + def _prep_function(*args, **kwargs): """ Magic function called by the importing installer @@ -14,7 +18,7 @@ def _prep_function(*args, **kwargs): supported_desktops = ['gnome', 'kde', 'awesome'] desktop = archinstall.generic_select(supported_desktops, 'Select your desired desktop environment: ') - + # Temporarily store the selected desktop profile # in a session-safe location, since this module will get reloaded # the next time it gets executed. @@ -41,7 +45,11 @@ if __name__ == 'desktop': There are plenty of desktop-turn-key-solutions based on Arch Linux, this is therefore just a helper to get started """ + + # Install common packages for all desktop environments + installation.add_additional_packages(__packages__) # TODO: Remove magic variable 'installation' and place it # in archinstall.storage or archinstall.session/archinstall.installation installation.install_profile(archinstall.storage['_desktop_profile']) + -- cgit v1.2.3-70-g09d2 From 64b0ef85402e30b375c44a1103f4bbb6e2fced84 Mon Sep 17 00:00:00 2001 From: "Dylan M. Taylor" Date: Mon, 12 Apr 2021 08:53:38 -0400 Subject: Fix awesome profile installation --- profiles/awesome.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'profiles/awesome.py') diff --git a/profiles/awesome.py b/profiles/awesome.py index 0b00a424..cbd52a3c 100644 --- a/profiles/awesome.py +++ b/profiles/awesome.py @@ -39,13 +39,13 @@ if __name__ == 'awesome': alacritty.install() # TODO: Copy a full configuration to ~/.config/awesome/rc.lua instead. - with open(f'{installation.mountpoint}/etc/xdg/awesome/rc.lua', 'r') as fh: + with open(f'{installation.target}/etc/xdg/awesome/rc.lua', 'r') as fh: awesome_lua = fh.read() ## Replace xterm with alacritty for a smoother experience. awesome_lua = awesome_lua.replace('"xterm"', '"alacritty"') - with open(f'{installation.mountpoint}/etc/xdg/awesome/rc.lua', 'w') as fh: + with open(f'{installation.target}/etc/xdg/awesome/rc.lua', 'w') as fh: fh.write(awesome_lua) ## TODO: Configure the right-click-menu to contain the above packages that were installed. (as a user config) -- cgit v1.2.3-70-g09d2