├── .gitignore
├── LICENSE
├── docs
├── DOCS.md
├── README.md
├── logo.svg
└── screenshots
│ ├── bootsplash.png
│ ├── desktop_apps.png
│ ├── desktop_overview.jpg
│ ├── fastfetch.png
│ ├── installer.png
│ ├── manager_dashboard.png
│ ├── manager_menu.png
│ └── starship.png
└── installer.sh
/.gitignore:
--------------------------------------------------------------------------------
1 | # Ignore temp dir
2 | .tmp.*
3 |
4 | # Ignore gum binary
5 | gum
6 |
7 | # Ignore installer files
8 | installer.conf
9 | installer.conf.old
10 | installer.conf.new
11 | installer.log
12 | installer.log.old
13 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Apache License
2 | Version 2.0, January 2004
3 | http://www.apache.org/licenses/
4 |
5 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6 |
7 | 1. Definitions.
8 |
9 | "License" shall mean the terms and conditions for use, reproduction,
10 | and distribution as defined by Sections 1 through 9 of this document.
11 |
12 | "Licensor" shall mean the copyright owner or entity authorized by
13 | the copyright owner that is granting the License.
14 |
15 | "Legal Entity" shall mean the union of the acting entity and all
16 | other entities that control, are controlled by, or are under common
17 | control with that entity. For the purposes of this definition,
18 | "control" means (i) the power, direct or indirect, to cause the
19 | direction or management of such entity, whether by contract or
20 | otherwise, or (ii) ownership of fifty percent (50%) or more of the
21 | outstanding shares, or (iii) beneficial ownership of such entity.
22 |
23 | "You" (or "Your") shall mean an individual or Legal Entity
24 | exercising permissions granted by this License.
25 |
26 | "Source" form shall mean the preferred form for making modifications,
27 | including but not limited to software source code, documentation
28 | source, and configuration files.
29 |
30 | "Object" form shall mean any form resulting from mechanical
31 | transformation or translation of a Source form, including but
32 | not limited to compiled object code, generated documentation,
33 | and conversions to other media types.
34 |
35 | "Work" shall mean the work of authorship, whether in Source or
36 | Object form, made available under the License, as indicated by a
37 | copyright notice that is included in or attached to the work
38 | (an example is provided in the Appendix below).
39 |
40 | "Derivative Works" shall mean any work, whether in Source or Object
41 | form, that is based on (or derived from) the Work and for which the
42 | editorial revisions, annotations, elaborations, or other modifications
43 | represent, as a whole, an original work of authorship. For the purposes
44 | of this License, Derivative Works shall not include works that remain
45 | separable from, or merely link (or bind by name) to the interfaces of,
46 | the Work and Derivative Works thereof.
47 |
48 | "Contribution" shall mean any work of authorship, including
49 | the original version of the Work and any modifications or additions
50 | to that Work or Derivative Works thereof, that is intentionally
51 | submitted to Licensor for inclusion in the Work by the copyright owner
52 | or by an individual or Legal Entity authorized to submit on behalf of
53 | the copyright owner. For the purposes of this definition, "submitted"
54 | means any form of electronic, verbal, or written communication sent
55 | to the Licensor or its representatives, including but not limited to
56 | communication on electronic mailing lists, source code control systems,
57 | and issue tracking systems that are managed by, or on behalf of, the
58 | Licensor for the purpose of discussing and improving the Work, but
59 | excluding communication that is conspicuously marked or otherwise
60 | designated in writing by the copyright owner as "Not a Contribution."
61 |
62 | "Contributor" shall mean Licensor and any individual or Legal Entity
63 | on behalf of whom a Contribution has been received by Licensor and
64 | subsequently incorporated within the Work.
65 |
66 | 2. Grant of Copyright License. Subject to the terms and conditions of
67 | this License, each Contributor hereby grants to You a perpetual,
68 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69 | copyright license to reproduce, prepare Derivative Works of,
70 | publicly display, publicly perform, sublicense, and distribute the
71 | Work and such Derivative Works in Source or Object form.
72 |
73 | 3. Grant of Patent License. Subject to the terms and conditions of
74 | this License, each Contributor hereby grants to You a perpetual,
75 | worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76 | (except as stated in this section) patent license to make, have made,
77 | use, offer to sell, sell, import, and otherwise transfer the Work,
78 | where such license applies only to those patent claims licensable
79 | by such Contributor that are necessarily infringed by their
80 | Contribution(s) alone or by combination of their Contribution(s)
81 | with the Work to which such Contribution(s) was submitted. If You
82 | institute patent litigation against any entity (including a
83 | cross-claim or counterclaim in a lawsuit) alleging that the Work
84 | or a Contribution incorporated within the Work constitutes direct
85 | or contributory patent infringement, then any patent licenses
86 | granted to You under this License for that Work shall terminate
87 | as of the date such litigation is filed.
88 |
89 | 4. Redistribution. You may reproduce and distribute copies of the
90 | Work or Derivative Works thereof in any medium, with or without
91 | modifications, and in Source or Object form, provided that You
92 | meet the following conditions:
93 |
94 | (a) You must give any other recipients of the Work or
95 | Derivative Works a copy of this License; and
96 |
97 | (b) You must cause any modified files to carry prominent notices
98 | stating that You changed the files; and
99 |
100 | (c) You must retain, in the Source form of any Derivative Works
101 | that You distribute, all copyright, patent, trademark, and
102 | attribution notices from the Source form of the Work,
103 | excluding those notices that do not pertain to any part of
104 | the Derivative Works; and
105 |
106 | (d) If the Work includes a "NOTICE" text file as part of its
107 | distribution, then any Derivative Works that You distribute must
108 | include a readable copy of the attribution notices contained
109 | within such NOTICE file, excluding those notices that do not
110 | pertain to any part of the Derivative Works, in at least one
111 | of the following places: within a NOTICE text file distributed
112 | as part of the Derivative Works; within the Source form or
113 | documentation, if provided along with the Derivative Works; or,
114 | within a display generated by the Derivative Works, if and
115 | wherever such third-party notices normally appear. The contents
116 | of the NOTICE file are for informational purposes only and
117 | do not modify the License. You may add Your own attribution
118 | notices within Derivative Works that You distribute, alongside
119 | or as an addendum to the NOTICE text from the Work, provided
120 | that such additional attribution notices cannot be construed
121 | as modifying the License.
122 |
123 | You may add Your own copyright statement to Your modifications and
124 | may provide additional or different license terms and conditions
125 | for use, reproduction, or distribution of Your modifications, or
126 | for any such Derivative Works as a whole, provided Your use,
127 | reproduction, and distribution of the Work otherwise complies with
128 | the conditions stated in this License.
129 |
130 | 5. Submission of Contributions. Unless You explicitly state otherwise,
131 | any Contribution intentionally submitted for inclusion in the Work
132 | by You to the Licensor shall be under the terms and conditions of
133 | this License, without any additional terms or conditions.
134 | Notwithstanding the above, nothing herein shall supersede or modify
135 | the terms of any separate license agreement you may have executed
136 | with Licensor regarding such Contributions.
137 |
138 | 6. Trademarks. This License does not grant permission to use the trade
139 | names, trademarks, service marks, or product names of the Licensor,
140 | except as required for reasonable and customary use in describing the
141 | origin of the Work and reproducing the content of the NOTICE file.
142 |
143 | 7. Disclaimer of Warranty. Unless required by applicable law or
144 | agreed to in writing, Licensor provides the Work (and each
145 | Contributor provides its Contributions) on an "AS IS" BASIS,
146 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147 | implied, including, without limitation, any warranties or conditions
148 | of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149 | PARTICULAR PURPOSE. You are solely responsible for determining the
150 | appropriateness of using or redistributing the Work and assume any
151 | risks associated with Your exercise of permissions under this License.
152 |
153 | 8. Limitation of Liability. In no event and under no legal theory,
154 | whether in tort (including negligence), contract, or otherwise,
155 | unless required by applicable law (such as deliberate and grossly
156 | negligent acts) or agreed to in writing, shall any Contributor be
157 | liable to You for damages, including any direct, indirect, special,
158 | incidental, or consequential damages of any character arising as a
159 | result of this License or out of the use or inability to use the
160 | Work (including but not limited to damages for loss of goodwill,
161 | work stoppage, computer failure or malfunction, or any and all
162 | other commercial damages or losses), even if such Contributor
163 | has been advised of the possibility of such damages.
164 |
165 | 9. Accepting Warranty or Additional Liability. While redistributing
166 | the Work or Derivative Works thereof, You may choose to offer,
167 | and charge a fee for, acceptance of support, warranty, indemnity,
168 | or other liability obligations and/or rights consistent with this
169 | License. However, in accepting such obligations, You may act only
170 | on Your own behalf and on Your sole responsibility, not on behalf
171 | of any other Contributor, and only if You agree to indemnify,
172 | defend, and hold each Contributor harmless for any liability
173 | incurred by, or claims asserted against, such Contributor by reason
174 | of your accepting any such warranty or additional liability.
175 |
176 | END OF TERMS AND CONDITIONS
177 |
178 | APPENDIX: How to apply the Apache License to your work.
179 |
180 | To apply the Apache License to your work, attach the following
181 | boilerplate notice, with the fields enclosed by brackets "[]"
182 | replaced with your own identifying information. (Don't include
183 | the brackets!) The text should be enclosed in the appropriate
184 | comment syntax for the file format. We also recommend that a
185 | file or class name and description of purpose be included on the
186 | same "printed page" as the copyright notice for easier
187 | identification within third-party archives.
188 |
189 | Copyright [yyyy] [name of copyright owner]
190 |
191 | Licensed under the Apache License, Version 2.0 (the "License");
192 | you may not use this file except in compliance with the License.
193 | You may obtain a copy of the License at
194 |
195 | http://www.apache.org/licenses/LICENSE-2.0
196 |
197 | Unless required by applicable law or agreed to in writing, software
198 | distributed under the License is distributed on an "AS IS" BASIS,
199 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200 | See the License for the specific language governing permissions and
201 | limitations under the License.
202 |
--------------------------------------------------------------------------------
/docs/DOCS.md:
--------------------------------------------------------------------------------
1 |
21 |
22 | For a robust & stable Arch OS experience, install as few additional packages from the official [Arch Repository](https://archlinux.org/packages) or [AUR](https://aur.archlinux.org) as possible. Instead, use [Flatpak](https://flathub.org) or [GNOME Software](https://apps.gnome.org). Furthermore change system files only if absolutely necessary and perform regular package upgrades.
23 |
24 | - Arch OS System Manager: **`arch-os`**
25 | - System information: **`fetch`**
26 | - Update system: **`paru -Syu`**
27 | - Search package: **`paru -Ss `**
28 | - Install package: **`paru -S `**
29 | - List installed packages: **`paru -Qe`**
30 | - Show package info: **`paru -Qi `**
31 | - Remove package: **`paru -Rsn `**
32 |
33 | **Note:** See `~/.aliases` for useful command aliases
34 |
35 | ### GNOME Shortcuts
36 |
37 | **Note:** Only available with default installation preset (desktop).
38 |
39 | - Close Window: **`Super + q`**
40 | - Hide Window: **`Super + h`**
41 | - Toggle Desktop: **`Super + d`**
42 | - Toggle Fullscreen: **`Super + F11`**
43 |
44 | ### Additional Packages (optional)
45 |
46 | **Note:** The target of the respective URL is also the recommended way to install the package.
47 |
48 | - Install [Pika Backup](https://flathub.org/apps/details/org.gnome.World.PikaBackup) for backup and restore home files
49 | - Install [Extension Manager](https://flathub.org/apps/com.mattjakeman.ExtensionManager) for manage GNOME Extensions
50 | - Install [webapp-manager](https://aur.archlinux.org/packages/webapp-manager) for easy creation of web-apps for any website
51 | - Install [preload](https://wiki.archlinux.org/title/Preload) on older machines (start the service after installation: `sudo systemctl enable preload`)
52 | - Install [mutter-performance](https://aur.archlinux.org/packages/mutter-performance) (great on older Intel Graphics with Wayland)
53 | - Install [downgrade](https://aur.archlinux.org/packages/downgrade) when you need to downgrade a package
54 | - Install [EasyEffects](https://flathub.org/de/apps/com.github.wwmm.easyeffects) for Dolby Atmos
55 | - Install [folder-color-nautilus](https://aur.archlinux.org/packages/folder-color-nautilus) for setting colorful folders
56 | - Install [Flatseal](https://flathub.org/apps/com.github.tchx84.Flatseal) to manage Flatpak Permissions
57 | - Install [Warehouse](https://flathub.org/apps/io.github.flattool.Warehouse) to Manage Flatpak Packages
58 | - Install [LocalSend](https://flathub.org/de/apps/org.localsend.localsend_app) to simply share files in same network
59 | - Install [Monitorets](https://flathub.org/de/apps/io.github.jorchube.monitorets) as sticky system monitor
60 | - Install [MissionCenter](https://flathub.org/de/apps/io.missioncenter.MissionCenter) as system monitor
61 | - Install [Parabolic](https://flathub.org/de/apps/org.nickvision.tubeconverter) as download manager
62 | - Install [Amberol](https://archlinux.org/packages/extra/x86_64/amberol/) or [Gapless](https://flathub.org/apps/com.github.neithern.g4music) as music player
63 | - Install [noisetorch](https://aur.archlinux.org/packages/noisetorch) for microphone noise suppression
64 | - Install [AddWater](https://flathub.org/apps/dev.qwery.AddWater) for Firefox GNOME Theme
65 | - Install [MenuLibre](https://aur.archlinux.org/packages/menulibre) as desktop app editor
66 | - Install [File Roller](https://archlinux.org/packages/extra/x86_64/file-roller/) as archive helper tool
67 | - Install [GNOME Firmware](https://archlinux.org/packages/extra/x86_64/gnome-firmware/) to update firmware of the local hardware
68 | - Install [seahorse](https://archlinux.org/packages/extra/x86_64/seahorse/) as keyring editor (login password can be set to empty)
69 | - Install [dconf-editor](https://archlinux.org/packages/extra/x86_64/dconf-editor/) as graphical tool for `gsettings` and `dconf`
70 | - Install [GNOME Tweaks](https://archlinux.org/packages/extra/x86_64/gnome-tweaks/) as graphical tool for advanced GNOME settings
71 | - Install [Refine](https://flathub.org/apps/page.tesk.Refine) as replacement for GNOME Tweaks
72 | - Install [Ferdium](https://flathub.org/apps/org.ferdium.Ferdium) for all web services at one place
73 | - Install [Alpaca](https://flathub.org/apps/com.jeffser.Alpaca) for local AI support
74 | - Install [Ignition](https://flathub.org/apps/io.github.flattool.Ignition) to manage GNOME autostart files
75 | - Install [Papers](https://flathub.org/apps/org.gnome.Papers) as elegant document viewer for GNOME
76 | - Install [GDM Settings](https://flathub.org/apps/io.github.realmazharhussain.GdmSettings) GDM Login Manager Settings
77 |
78 | ### Theming (optional)
79 |
80 | - Desktop Font: [inter-font](https://archlinux.org/packages/extra/any/inter-font/), [adwaita-fonts](https://archlinux.org/packages/extra/any/adwaita-fonts/)
81 | - Desktop Theme: [adw-gtk3](https://github.com/lassekongo83/adw-gtk3)
82 | - Icon Theme: [tela-icon-theme](https://github.com/vinceliuice/Tela-icon-theme), [tela-circle-icon-theme](https://github.com/vinceliuice/Tela-circle-icon-theme)
83 | - Cursor Theme: [bibata-cursor](https://aur.archlinux.org/packages/bibata-cursor-theme-bin), [nordzy-cursors](https://github.com/alvatip/Nordzy-cursors)
84 | - Firefox Theme: [AddWater](https://flathub.org/apps/dev.qwery.AddWater), [firefox-gnome-theme](https://github.com/rafaelmardojai/firefox-gnome-theme)
85 | - GNOME GTK3 Theme Variant: [adw-gtk3-colorizer](https://extensions.gnome.org/extension/8084/adw-gtk3-colorizer/)
86 |
87 | ### GNOME Extensions (optional)
88 |
89 | - [archlinux-updates-indicator](https://extensions.gnome.org/extension/1010/archlinux-updates-indicator/)
90 | - [app-indicator-support](https://extensions.gnome.org/extension/615/appindicator-support/)
91 | - [weather-oclock](https://extensions.gnome.org/extension/5470/weather-oclock/)
92 | - [just-perfection](https://extensions.gnome.org/extension/3843/just-perfection/)
93 | - [dash-to-panel](https://extensions.gnome.org/extension/1160/dash-to-panel/)
94 | - [dash-to-dock](https://extensions.gnome.org/extension/307/dash-to-dock/)
95 | - [caffeine](https://extensions.gnome.org/extension/517/caffeine/)
96 | - [tiling-assistant](https://extensions.gnome.org/extension/3733/tiling-assistant/)
97 | - [happy-appy-hotkey](https://extensions.gnome.org/extension/6057/happy-appy-hotkey/)
98 | - [app-hider](https://extensions.gnome.org/extension/5895/app-hider/)
99 | - [hide-minimized](https://extensions.gnome.org/extension/2639/hide-minimized/)
100 | - [blur-my-shell](https://extensions.gnome.org/extension/3193/blur-my-shell/)
101 | - [open-bar](https://extensions.gnome.org/extension/6580/open-bar/)
102 | - [vitals](https://extensions.gnome.org/extension/1460/vitals/)
103 | - [system-monitor](https://extensions.gnome.org/extension/6807/system-monitor/)
104 | - [fullscreen-to-empty-workspace](https://extensions.gnome.org/extension/7559/fullscreen-to-empty-workspace/) (open fullscreen apps on new workspace)
105 | - [disable-unredirect-fullscreen](https://extensions.gnome.org/extension/1873/disable-unredirect-fullscreen-windows/) (fix some issues)
106 | - [window-calls](https://extensions.gnome.org/extension/4724/window-calls/) (alternative to wmctrl in wayland)
107 | - [lilypad](https://extensions.gnome.org/extension/7266/lilypad/)
108 |
109 | ### Office Support
110 |
111 | - [LibreOffice](https://archlinux.org/packages/extra/x86_64/libreoffice-fresh/)
112 | - [OnlyOffice](https://flathub.org/apps/org.onlyoffice.desktopeditors)
113 | - [Drawing](https://flathub.org/apps/com.github.maoschanz.drawing)
114 | - [BoxySVG](https://flathub.org/apps/com.boxy_svg.BoxySVG)
115 |
116 | ### Realtime Streaming to other PC, TV or Smart Device
117 |
118 | - Streaming Server: [Sunshine](https://docs.lizardbyte.dev/projects/sunshine/latest/index.html)
119 | - Streaming Client: [Moonlight](https://moonlight-stream.org)
120 | - Discord: [Vesktop](https://flathub.org/apps/dev.vencord.Vesktop) (incl. Wayland Screen Sharing)
121 | - All-In-One Game Collection Manager (TV/Desktop): [RetroDECK](https://retrodeck.readthedocs.io/en/latest/wiki_experiments/desktop-launch/desktop-launch/)
122 |
123 | #### Install Sunshine (Streaming Server)
124 |
125 | 1. Add [LizardByte Repository](https://github.com/LizardByte/pacman-repo) to Pacman config: `sudo nano /etc/pacman.conf`
126 |
127 | ```
128 | [lizardbyte]
129 | SigLevel = Optional
130 | Server = https://github.com/LizardByte/pacman-repo/releases/latest/download
131 | ```
132 |
133 | 2. Install Sunshine: `sudo pacman -Syyu lizardbyte/sunshine`
134 | 3. Start Sunshine Desktop Application (see system tray)
135 | 4. Open local Sunshine Web Interface: https://localhost:47990 and set username and password
136 | 5. Simply start streaming with [Moonlight](https://moonlight-stream.org)
137 |
138 | Source: [LizardByte Docs](https://docs.lizardbyte.dev/projects/sunshine/latest/md_docs_2getting__started.html#archlinux)
139 |
140 | ### For Developer
141 |
142 | For sandboxed CLI tools or test environment you can try [Distrobox](https://distrobox.it/) or [Toolbox](https://containertoolbx.org) and as container runtime use [Podman](https://podman.io) or [Docker](https://www.docker.com).
143 |
144 | #### Useful Tools
145 |
146 | - [GNOME Boxes](https://archlinux.org/packages/extra/x86_64/gnome-boxes/)
147 | - [Podman Desktop](https://flathub.org/apps/io.podman_desktop.PodmanDesktop)
148 | - [Pods](https://flathub.org/apps/com.github.marhkb.Pods)
149 | - [BoxBuddy](https://flathub.org/apps/io.github.dvlv.boxbuddyrs)
150 |
151 | ### For Gamer
152 |
153 | For native **Microsoft Windows Gaming** install [Qemu](https://wiki.archlinux.org/title/QEMU) and enable GPU Passthrough. Then you can use an emulated Microsoft Windows with native GPU access. For quick installation, have a look to this project: [quickpassthrough](https://github.com/HikariKnight/quickpassthrough)
154 |
155 | **Note:** Use [gamemode](https://wiki.archlinux.org/title/Gamemode) when playing games from Linux with: `gamemoderun `
156 |
157 | #### Gaming Meta Package
158 |
159 | You can install install [AUR/lutris-wine-meta](https://aur.archlinux.org/packages/lutris-wine-meta) and [AUR/arch-gaming-meta](https://aur.archlinux.org/packages/arch-gaming-meta) package to install some useful apps and libraries for gaming:
160 |
161 | ```
162 | paru -S lutris-wine-meta # Recommended from lutris maintainers
163 | paru -S arch-gaming-meta # Has a lot of depenencies
164 | ```
165 |
166 | #### Steam
167 |
168 | Install prefered Steam version:
169 |
170 | - Average between performance and compatibility (recommended): `paru -S steam`
171 | - Best performance: `paru -S steam-native`
172 | - Best compatibility: `flatpak install com.valvesoftware.Steam`
173 | - Install and apply GNOME Theme: [AdwSteamGtk](https://flathub.org/apps/io.github.Foldex.AdwSteamGtk)
174 |
175 | #### Other Gaming Tools
176 |
177 | - [Lutris](https://archlinux.org/packages/extra/any/lutris/)
178 | - [Bottles](https://aur.archlinux.org/packages/bottles)
179 | - [RetroDeck](https://flathub.org/apps/net.retrodeck.retrodeck)
180 | - [Cartridges](https://flathub.org/de/apps/page.kramo.Cartridges)
181 | - [ScummVM](https://flathub.org/apps/org.scummvm.ScummVM)
182 | - [Wine](https://archlinux.org/packages/multilib/x86_64/wine/), [Winetricks](https://archlinux.org/packages/multilib/x86_64/winetricks/)
183 | - [Proton](https://aur.archlinux.org/packages/proton-ge-custom-bin), [Protontricks](https://aur.archlinux.org/packages/protontricks)
184 | - [Gamescope](https://archlinux.org/packages/extra/x86_64/gamescope/)
185 | - [MangoHud](https://archlinux.org/packages/extra/x86_64/mangohud/)
186 | - [ProtonPlus](https://flathub.org/apps/com.vysp3r.ProtonPlus)
187 | - [Haguichi](https://flathub.org/apps/com.github.ztefn.haguichi), [logmein-hamachi](https://aur.archlinux.org/packages/logmein-hamachi])
188 |
189 | ### For Audiophiles
190 |
191 | For advanced Pipewire audio configuration, check out the official [Arch Wiki](https://wiki.archlinux.org/title/PipeWire).
192 |
193 | May check out these projects:
194 |
195 | - [AutoEq](https://github.com/jaakkopasanen/AutoEq)
196 | - [EasyEffects Presents](https://github.com/wwmm/easyeffects/wiki/Community-presets)
197 |
198 | ## Advanced Installation
199 |
200 | The `installer.conf` with all properties (except `ARCH_OS_PASSWORD` for better security) will automatically generated on first start of the installer and be updated on every setup change. If the file exists on startup, the values will set as preset for the installer properties. This file provides some additional properties to customize your Arch OS installation (see [Example](#example-installerconf)).
201 |
202 | **Note:** The `installer.conf` & `installer.log` will copied to the new user's home directory during installation. This files can be saved for reuse or simply deleted.
203 |
204 | ### Example: `installer.conf`
205 |
206 | ```
207 | ARCH_OS_HOSTNAME='arch-os' # Hostname
208 | ARCH_OS_USERNAME='tux' # User
209 | ARCH_OS_DISK='/dev/sda' # Disk
210 | ARCH_OS_BOOT_PARTITION='/dev/sda1' # Boot partition
211 | ARCH_OS_ROOT_PARTITION='/dev/sda2' # Root partition
212 | ARCH_OS_FILESYSTEM='btrfs' # Filesystem | Available: btrfs, ext4
213 | ARCH_OS_BOOTLOADER='grub' # Bootloader | Available: grub, systemd
214 | ARCH_OS_SNAPPER_ENABLED='true' # BTRFS Snapper enabled | Disable: false
215 | ARCH_OS_ENCRYPTION_ENABLED='true' # Disk encryption | Disable: false
216 | ARCH_OS_TIMEZONE='Europe/Berlin' # Timezone | Show available: ls /usr/share/zoneinfo/** | Example: Europe/Berlin
217 | ARCH_OS_LOCALE_LANG='de_DE' # Locale | Show available: ls /usr/share/i18n/locales | Example: de_DE
218 | ARCH_OS_LOCALE_GEN_LIST=('de_DE.UTF-8 UTF-8' 'de_DE ISO-8859-1' 'de_DE@euro ISO-8859-15' 'en_US.UTF-8 UTF-8') # Locale List | Show available: cat /etc/locale.gen
219 | ARCH_OS_REFLECTOR_COUNTRY='Germany' # Country used by reflector | Default: null | Example: Germany,France
220 | ARCH_OS_VCONSOLE_KEYMAP='de-latin1-nodeadkeys' # Console keymap | Show available: localectl list-keymaps | Example: de-latin1-nodeadkeys
221 | ARCH_OS_VCONSOLE_FONT='' # Console font | Default: null | Show available: find /usr/share/kbd/consolefonts/*.psfu.gz | Example: eurlatgr
222 | ARCH_OS_KERNEL='linux-zen' # Kernel | Default: linux-zen | Recommended: linux, linux-lts linux-zen, linux-hardened
223 | ARCH_OS_MICROCODE='intel-ucode' # Microcode | Disable: none | Available: intel-ucode, amd-ucode
224 | ARCH_OS_CORE_TWEAKS_ENABLED='true' # Arch OS Core Tweaks | Disable: false
225 | ARCH_OS_MULTILIB_ENABLED='true' # MultiLib 32 Bit Support | Disable: false
226 | ARCH_OS_AUR_HELPER='paru' # AUR Helper | Default: paru | Disable: none | Recommended: paru, yay, trizen, pikaur
227 | ARCH_OS_BOOTSPLASH_ENABLED='true' # Bootsplash | Disable: false
228 | ARCH_OS_HOUSEKEEPING_ENABLED='true' # Housekeeping | Disable: false
229 | ARCH_OS_MANAGER_ENABLED='true' # Arch OS Manager | Disable: false
230 | ARCH_OS_SHELL_ENHANCEMENT_ENABLED='true' # Shell Enhancement | Disable: false
231 | ARCH_OS_SHELL_ENHANCEMENT_FISH_ENABLED='true' # Enable fish shell | Default: true | Disable: false
232 | ARCH_OS_DESKTOP_ENABLED='true' # Arch OS Desktop (caution: if disabled, only a minimal tty will be provied)| Disable: false
233 | ARCH_OS_DESKTOP_GRAPHICS_DRIVER='amd' # Graphics Driver | Disable: none | Available: mesa, intel_i915, nvidia, amd, ati
234 | ARCH_OS_DESKTOP_EXTRAS_ENABLED='true' # Enable desktop extra packages (caution: if disabled, only core + gnome + git packages will be installed) | Disable: false
235 | ARCH_OS_DESKTOP_SLIM_ENABLED='true' # Enable Sim Desktop (only GNOME Core Apps) | Default: false
236 | ARCH_OS_DESKTOP_KEYBOARD_MODEL='pc105' # X11 keyboard model | Default: pc105 | Show available: localectl list-x11-keymap-models
237 | ARCH_OS_DESKTOP_KEYBOARD_LAYOUT='de' # X11 keyboard layout | Show available: localectl list-x11-keymap-layouts | Example: de
238 | ARCH_OS_DESKTOP_KEYBOARD_VARIANT='nodeadkeys' # X11 keyboard variant | Default: null | Show available: localectl list-x11-keymap-variants | Example: nodeadkeys
239 | ARCH_OS_SAMBA_SHARE_ENABLED='true' # Enable Samba public (anonymous) & home share (user) | Disable: false
240 | ARCH_OS_VM_SUPPORT_ENABLED='true' # VM Support | Default: true | Disable: false
241 | ARCH_OS_ECN_ENABLED='true' # Disable ECN support for legacy routers | Default: true | Disable: false
242 | ```
243 |
244 | ### Minimal Installation
245 |
246 | Set these properties to install Arch OS Core only with minimal packages & configurations. This is the same as preset `core`:
247 |
248 | ```
249 | ARCH_OS_CORE_TWEAKS_ENABLED='false'
250 | ARCH_OS_BOOTSPLASH_ENABLED='false'
251 | ARCH_OS_DESKTOP_ENABLED='false'
252 | ARCH_OS_MULTILIB_ENABLED='false'
253 | ARCH_OS_HOUSEKEEPING_ENABLED='false'
254 | ARCH_OS_SHELL_ENHANCEMENT_ENABLED='false'
255 | ARCH_OS_AUR_HELPER='none'
256 | ```
257 |
258 | If you want to disable VM support add `ARCH_OS_VM_SUPPORT_ENABLED='false'`
259 |
260 | **Note:** You will only be provided with a minimal tty after installation.
261 |
262 | ## Features
263 |
264 | Each feature can be activated/deactivated during installation. Further information can be found in the individual feature headings.
265 |
266 | ### Core Tweaks
267 |
268 | Enable this feature with `ARCH_OS_CORE_TWEAKS_ENABLED='true'`:
269 |
270 | - `vm.max_map_count` is set to `1048576` for compatibility of some apps/games (default)
271 | - `quiet splash vt.global_cursor_default=0` is set to kernel parameters for silent boot
272 | - Pacman parallel downloads is set to `5`
273 | - Pacman colors and eyecandy is enabled
274 | - Sudo password feedback is enabled
275 | - Debug packages are disabled in `/etc/makepkg.conf`
276 | - Watchdog is disabled with kernel arg `nowatchdog` and blacklist: `/etc/modprobe.d/blacklist-watchdog.conf`
277 |
278 | Disable this featuree with `ARCH_OS_CORE_TWEAKS_ENABLED='false'`
279 |
280 | ### Housekeeping
281 |
282 | This feature will install and configure:
283 |
284 | | Package | Service | Config | Description |
285 | | -------------- | -------------------- | --------------------------------- | ---------------------------------------------------------------------- |
286 | | reflector | reflector.service | /etc/xdg/reflector/reflector.conf | Rank & update the mirrorlist on every boot |
287 | | pacman-contrib | paccache.timer | none | Weekly clear the pacman cache |
288 | | pkgfile | pkgfile-update.timer | none | Missing command suggestion and daily database update |
289 | | smartmontools | smartd | none | Monitor storage devices |
290 | | irqbalance | irqbalance.service | none | Distribute hardware interrupts across processors on a multicore system |
291 |
292 | Disable this feature with `ARCH_OS_HOUSEKEEPING_ENABLED='false'`
293 |
294 | ### Shell Enhancement
295 |
296 |
297 |
298 | If the property `ARCH_OS_SHELL_ENHANCEMENT_ENABLED` is set to `true`, the following packages are installed and preconfigured (for root & user). To keep `bash` as default shell, set `ARCH_OS_SHELL_ENHANCEMENT_FISH_ENABLED='false'`.
299 |
300 | Package Dependencies:
301 |
302 | ```
303 | fish git starship eza bat zoxide fd fzf fastfetch mc btop nano man-db bash-completion nano-syntax-highlighting ttf-firacode-nerd ttf-nerd-fonts-symbols
304 | ```
305 |
306 | **Promt Theme [➜ Arch OS Starship Theme](https://github.com/murkl/starship-theme-arch-os)**
307 |
308 | - `fish` is set as default shell
309 | - `starship` is set as fancy default promt see `~/.config/fish/config.fish`
310 | - `ls` is replaced with colorful `eza` see `~/.aliases`
311 | - `man` is replaced with colorful `bat` see `~/.config/fish/config.fish`
312 | - `nano` is set as default editor
313 | - `fastfetch` is preconfigured as system info
314 |
315 | #### Useful Terminal commands
316 |
317 | - `help` open fish help in browser
318 | - `history` open command history
319 | - `fish` open fish shell (default)
320 | - `bash` switch to bash shell (go back to fish with `q`)
321 | - `fetch` show system info
322 | - `btop` show system manager
323 | - `logs` show system logs
324 | - `mc` open file manager
325 | - `fd` Alternative search
326 | - `z` Alternative cd (zoxide)
327 | - `ll` list files in dir
328 | - `la` list all files (+ hidden files) in dir
329 | - `lt` tree files in dir
330 | - `.` go back
331 | - `c` clear screen
332 | - `q` exit
333 | - `open ` open file in GNOME app
334 |
335 | **Note:** See `~/.aliases` for all command aliases
336 |
337 | #### Useful Terminal keyboard shortcuts
338 |
339 | - Use `Tab` to autocomplete command
340 | - Use `Arrows` to navigate
341 | - Use `Ctrl + r` to search in command history
342 | - Use `Alt + s` to run previous command as `sudo` (Bash: `sudo !!`)
343 | - Use `Alt + .` to paste the last parameter from previous command (Bash: `ESC .`)
344 |
345 | #### Configuration
346 |
347 | This config files are created or modified during the Arch OS installation.
348 |
349 | ```
350 | # Aliases
351 | ~/.aliases
352 |
353 | # Bash config
354 | ~/.bashrc
355 |
356 | # Fish config
357 | ~/.config/fish/config.fish
358 |
359 | # Starship config
360 | ~/.config/starship.toml
361 |
362 | # Fastfetch config
363 | ~/.config/fastfetch/config.jsonc
364 |
365 | # Midnight Commander config
366 | ~/.config/mc/ini
367 |
368 | # Btop config
369 | ~/.config/btop/btop.conf
370 |
371 | # Nano config
372 | /etc/nanorc
373 |
374 | # Environment config
375 | /etc/environment
376 |
377 | # Open Fish web config
378 | fish_config
379 | ```
380 |
381 | ### Arch OS Manager
382 |
383 | **GitHub Project ➜ [github.com/murkl/arch-os-manager](https://github.com/murkl/arch-os-manager)**
384 |
385 |
386 |
387 | Install **➜ [archlinux-updates-indicator](https://extensions.gnome.org/extension/1010/)** and set this in extension options to integrate [Arch OS Manager](https://github.com/murkl/arch-os-manager):
388 |
389 | - Check command: `/usr/bin/arch-os check`
390 | - Update command: `arch-os --kitty upgrade`
391 | - Package Manager (optional): `arch-os --kitty`
392 |
393 | ### Install Graphics Driver (manually)
394 |
395 | Set the property `ARCH_OS_DESKTOP_GRAPHICS_DRIVER='none'` and install your graphics driver manually:
396 |
397 | - [OpenGL](https://wiki.archlinux.org/title/OpenGL)
398 | - [Intel HD](https://wiki.archlinux.org/title/Intel_graphics#Installation)
399 | - [NVIDIA](https://wiki.archlinux.org/title/NVIDIA#Installation)
400 | - [NVIDIA Optimus](https://wiki.archlinux.org/title/NVIDIA_Optimus#Available_methods)
401 | - [AMD](https://wiki.archlinux.org/title/AMDGPU#Installation)
402 | - [ATI Legacy](https://wiki.archlinux.org/title/ATI#Installation)
403 |
404 | #### Tools
405 |
406 | - [AMD LACT](https://archlinux.org/packages/extra/x86_64/lact-libadwaita/): Overclocking Tool
407 |
408 | ### VM Support
409 |
410 | If the installation is executed in a VM (autodetected), the corresponding packages are installed.
411 |
412 | Supported VMs:
413 |
414 | - kvm
415 | - vmware
416 | - oracle
417 | - microsoft
418 |
419 | Disable this feature with `ARCH_OS_VM_SUPPORT_ENABLED='false'`
420 |
421 | ## Technical Information
422 |
423 | Here are some technical information regarding the Arch OS Core installation.
424 |
425 | ### Partitions layout
426 |
427 | The partitions layout is seperated in two partitions:
428 |
429 | 1. **FAT32** partition (1 GiB), mounted at `/boot` as ESP
430 | 2. **EXT4/BTRFS** partition (rest of disk) optional with **LUKS2 encrypted container**, mounted at `/` as root
431 |
432 | | Partition | Label | Size | Mount | Filesystem |
433 | | --------- | ------------------------ | ------------ | ----- | ------------------------------- |
434 | | 1 | BOOT | 1 GiB | /boot | FAT32 |
435 | | 2 | ROOT / BTRFS / cryptroot | Rest of disk | / | EXT4/BTRFS + Encryption (LUKS2) |
436 |
437 | #### BTRFS
438 |
439 | Great GUI for managing Snapshots: [AUR/btrfs-assistant](https://aur.archlinux.org/packages/btrfs-assistant)
440 |
441 | | Subvolume | Mountpoint | Description | Snapper Config |
442 | | ---------- | ----------- | -------------------------------------- | ------------------------- |
443 | | @ | / | Mount point for root | /etc/snapper/configs/root |
444 | | @home | /home | Mount point for home | x |
445 | | @snapshots | /.snapshots | Read-only snapshots created by snapper | x |
446 |
447 | **Note:** If `btrfs` as filesystem and `grub` as bootloader is selected, _OverlayFS_ is used and lets you overlay a writable layer on top of a read-only Btrfs snapshot, so changes are temporary and the original data stays untouched. It is enabled by adding `grub-btrfs-overlayfs` to the `HOOKS` array in `/etc/mkinitcpio.conf`.
448 |
449 | | Package | Service/Timer | Description |
450 | | ----------- | --------------------------- | -------------------------------------------------------------------- |
451 | | grub-btrfs | grub-btrfsd.service | Automatically updates GRUB menu entries when Btrfs snapshots change. |
452 | | btrfs-progs | btrfs-scrub@-.timer | Schedules regular Btrfs scrub for the root filesystem. |
453 | | btrfs-progs | btrfs-scrub@home.timer | Schedules regular Btrfs scrub for the /home subvolume. |
454 | | btrfs-progs | btrfs-scrub@snapshots.timer | Schedules regular Btrfs scrub for the /snapshots subvolume. |
455 | | snapper | snapper-boot.timer | Automatically creates a Btrfs snapshot at every system boot. |
456 | | snapper | snapper-timeline.timer | Automatically creates periodic Btrfs snapshots. |
457 | | snapper | snapper-cleanup.timer | Cleans up old Btrfs snapshots based on retention policy. |
458 |
459 | This packages are installed:
460 |
461 | ```
462 | base-devel btrfs-progs efibootmgr inotify-tools grub grub-btrfs snapper snap-pac
463 | ```
464 |
465 | **Note:** By installing `snap-pac`, a Pacman hook is created that automatically generates Btrfs snapshots before and after each package transaction.
466 |
467 | ### Swap
468 |
469 | As default, `zram-generator` is used to create swap with enhanced config.
470 |
471 | You can edit the zram-generator default configuration in `/etc/systemd/zram-generator.conf` and to modify the enhanced kernel parameter in `/etc/sysctl.d/99-vm-zram-parameters.conf`
472 |
473 | ### Packages
474 |
475 | This packages will be installed during Arch OS Core Installation (~150 packages in total):
476 |
477 | ```
478 | base base-devel linux-firmware zram-generator networkmanager [kernel_pkg] [microcode_pkg]
479 | ```
480 |
481 | ### Services
482 |
483 | This services will be enabled during Arch OS Core Installation:
484 |
485 | ```
486 | NetworkManager fstrim.timer systemd-zram-setup@zram0.service systemd-oomd.service systemd-boot-update.service systemd-timesyncd.service
487 | ```
488 |
489 | ### Configuration
490 |
491 | This configuration will be set during Arch OS Core Installation:
492 |
493 | - Bootloader timeout is set to `0`
494 | - User is added to group `wheel` to use `sudo`
495 |
496 | **Note:** The password (`ARCH_OS_PASSWORD`) is used for encryption (optional), root and user login and can be changed afterwards with `passwd` if necessary.
497 |
498 | ## Rescue & Recovery
499 |
500 | If you need to rescue your Arch OS in case of a crash, **boot from an Arch ISO device** and start the included recovery mode:
501 |
502 | ```
503 | curl -Ls bit.ly/arch-os | RECOVERY=true bash
504 | ```
505 |
506 | ### BTRFS Rollback - manually
507 |
508 | ```
509 | btrfs subvolume list /mnt/recovery # List BTRFS snapshots
510 | btrfs subvolume delete --recursive /mnt/recovery/@
511 | btrfs subvolume snapshot /mnt/recovery/@snapshots//snapshot /mnt/recovery/@
512 | ```
513 |
514 | ### EXT4 Recovery - manually
515 |
516 | Follow these instructions to do this manually.
517 |
518 | #### 1. Disk Information
519 |
520 | - Show disk info: `lsblk`
521 |
522 | _**Example**_
523 |
524 | - _Example Disk: `/dev/sda`_
525 | - _Example Boot: `/dev/sda1`_
526 | - _Example Root: `/dev/sda2`_
527 |
528 | #### 2. Mount
529 |
530 | **Note:** _You may have to replace the example `/dev/sda` with your own disk_
531 |
532 | - Create mount dir: `mkdir -p /mnt/boot`
533 | - a) Mount root partition (disk encryption enabled):
534 | - `cryptsetup open /dev/sda2 cryptroot`
535 | - `mount /dev/mapper/cryptroot /mnt`
536 | - b) Mount root partition (disk encryption disabled):
537 | - `mount /dev/sda2 /mnt`
538 | - Mount boot partition: `mount /dev/sda1 /mnt/boot`
539 |
540 | #### 3. Chroot
541 |
542 | - Enter chroot: `arch-chroot /mnt`
543 | - _Fix your Arch OS..._
544 | - Exit: `exit`
545 |
546 | ## Troubleshooting
547 |
548 | If an error occurs, see created `installer.log` for more details.
549 |
550 | ### Installation failed
551 |
552 | If you encounter problems with a server during Arch OS installation (`error: failed retrieving file` or related errors), remove this server from `/etc/pacman.d/mirrorlist` (Arch ISO) and run Arch OS Installer again.
553 |
554 | #### Example
555 |
556 | ```
557 | # From booted Arch ISO:
558 | nano /etc/pacman.d/mirrorlist
559 | ```
560 |
561 | ```
562 | ....
563 | # Disable this server
564 | # Server = https://archlinux.thaller.ws/$repo/os/$arch
565 | Server = https://london.mirror.pkgbuild.com/$repo/os/$arch
566 | Server = https://mirror.ubrco.de/archlinux/$repo/os/$arch
567 | Server = https://mirror.f4st.host/archlinux/$repo/os/$arch
568 | ....
569 | ```
570 |
571 | ### Device is busy
572 |
573 | Try terminate all processes with:
574 |
575 | ```
576 | fuser -km /mnt
577 | ```
578 |
579 | ### Legacy Routers (ECN disabled)
580 |
581 | Set `ARCH_OS_ECN_ENABLED="false"` in Arch OS `installer.conf`.
582 |
583 | ### Downgrade a package
584 |
585 | ```
586 | paru -S downgrade
587 | sudo downgrade my_package_name
588 | ```
589 |
590 | ### Reset Pacman Keyring & Update
591 |
592 | ```
593 | sudo rm -rf /etc/pacman.d/gnupg
594 | sudo pacman-key --init
595 | sudo pacman-key --populate
596 |
597 | # Do update
598 | sudo pacman -Sy archlinux-keyring && paru -Su
599 | ```
600 |
601 | ### Reset Pacman/AUR cache
602 |
603 | ```
604 | paru -Scc
605 | ```
606 |
607 | ## Development
608 |
609 | Create new pull request branches only from [main branch](https://github.com/murkl/arch-os/tree/main)! The [dev branch](https://github.com/murkl/arch-os/tree/dev) will be deleted after each merge into main.
610 |
611 | The Arch OS [dev branch](https://github.com/murkl/arch-os/tree/dev) can be broken, use only for testing!
612 |
613 | ```
614 | curl -Ls bit.ly/arch-os-dev | bash
615 | ```
616 |
617 | ### Parameter
618 |
619 | ```
620 | # Set password:
621 | ARCH_OS_PASSWORD=mySecret123 ./installer.sh
622 |
623 | # Force install:
624 | FORCE=true ./installer.sh
625 |
626 | # Custom gum:
627 | GUM=/usr/bin/gum ./installer.sh
628 |
629 | # Debug simulator:
630 | DEBUG=true ./installer.sh
631 |
632 | # Start recovery mode:
633 | RECOVERY=true ./installer.sh
634 | ```
635 |
636 | ## Credits
637 |
638 | Many thanks for these projects and the people behind them!
639 |
640 | - Arch Linux
641 | - GNOME
642 | - Gum by charm
643 |
--------------------------------------------------------------------------------
/docs/README.md:
--------------------------------------------------------------------------------
1 |
Optimized for Gaming, Emulation, Audio & Development
27 |
28 |
29 | This project aims to provide a mostly automized, minimal and robust Arch Linux base (minimal tty core or desktop), along with an easy-to-use and fast properties-file-based installer with error handling. Install a minimal Arch Linux core with optional features such as GNOME Desktop with Graphics Driver, Automatic Housekeeping, Zen Kernel, Fancy Shell Enhancement, preinstalled Paru as AUR Helper, enabled MultiLib, Bootsplash, System Manager and some more...
44 |
45 | ## Core Features
46 |
47 | - [Minimal Arch Linux](DOCS.md#minimal-installation) (~150 packages)
48 | - [Zen Kernel](DOCS.md#advanced-installation) (configurable)
49 | - [Swap](DOCS.md#swap) with zram-generator (zstd)
50 | - [Sole OS](DOCS.md#partitions-layout)
51 | - BTRFS Snapshot Support (Snapper, OverlayFS)
52 | - All-in-One password (encryption, root & user)
53 | - Multilingual Support
54 | - Filesystem btrfs or ext4
55 | - Bootloader: grub or systemd (auto updated)
56 | - Silent Boot (optional)
57 | - Systemd OOM (out-of-memory killer)
58 | - Pacman parallel downloads & eyecandy (optional)
59 | - Network Manager
60 | - SSD Support (fstrim)
61 | - Microcode Support (Intel & AMD)
62 | - Disabled Watchdog (optional)
63 | - UEFI only supported
64 | - [More Information...](DOCS.md#technical-information)
65 |
66 | ## Desktop Features
67 |
68 | - [GNOME Desktop Environment](DOCS.md#recommendation) (optional with additional packages)
69 | - [Arch OS Slim Version](DOCS.md#example-installerconf) (GNOME Core Apps only)
70 | - [Graphics Driver](DOCS.md#install-graphics-driver-manually) (Mesa, Intel i915, NVIDIA, AMD, ATI)
71 | - [Pipewire Audio](DOCS.md#for-audiophiles) (Dolby Atmos supported)
72 | - Flatpak Support + Auto Update (GNOME Software)
73 | - Samba, Networking Protocol Libs, Git, Utils & Codecs included
74 | - GNOME Power Profiles Support (tuned-ppd)
75 | - VPN Support
76 | - Basic Fonts
77 | - Wayland optimized (no Xorg pre-installed)
78 | - Auto GNOME Login enabled
79 | - Printer Support (cups)
80 | - SSH Agent (gcr)
81 | - Gamemode preinstalled
82 | - No Xorg included
83 |
84 | ## Additional Features
85 |
86 | - [Arch OS Core Tweaks](DOCS.md#core-tweaks)
87 | - [Arch OS Bootsplash](https://github.com/murkl/plymouth-theme-arch-os)
88 | - [Arch OS System Manager](DOCS.md#arch-os-manager)
89 | - [Arch OS Shell Enhancement](DOCS.md#shell-enhancement)
90 | - [Arch OS Starship Theme](https://github.com/murkl/starship-theme-arch-os)
91 | - [Arch OS Automatic Housekeeping](DOCS.md#housekeeping)
92 | - [AUR Helper](DOCS.md#advanced-installation) (configurable)
93 | - [VM Support](DOCS.md#vm-support) (optional)
94 | - 32 Bit Support (Multilib)
95 | - Disk Encryption (LUKS2)
96 |
97 | ## Arch OS Installation
98 |
99 | To install Arch OS, an internet connection is required, as many packages will be downloaded during the installation process.
100 |
101 | ### 1. Prepare bootable USB Device
102 |
103 | - Download latest Arch Linux ISO from **[archlinux.org](https://www.archlinux.org/download)** or **[archlinux.de](https://www.archlinux.de/download)**
104 | - Use **[Ventoy](https://www.ventoy.net/en/download.html)** or your prefered iso writer tool to create a bootable USB device
105 | - Alternatively (Linux only): **[➜ Arch OS Creator](https://github.com/murkl/arch-os-creator)**
106 |
107 | ### 2. Configure BIOS / UEFI Settings
108 |
109 | - Disable Secure Boot
110 | - Set Boot Mode to UEFI
111 |
112 | ### 3. Boot from USB Device
113 |
114 | - Load prefered keyboard layout (optional): `loadkeys de`
115 | - Connect to WLAN (optional): `iwctl station wlan0 connect 'SSID'`
116 |
117 | #### 3.1. Run Arch OS Installer
118 |
119 | ```
120 | curl -Ls bit.ly/arch-os | bash
121 | ```
122 |
123 | **Note:** _Cancel the Arch OS Installer with `Ctrl + c`. The properties will be restored upon the next execution._
124 |
125 | **[➜ See Advanced Installation](DOCS.md#advanced-installation)**
126 |
127 | ## System Maintenance
128 |
129 |
130 |
131 | After installing Arch OS with the default properties preset, most maintenance tasks are performed automatically. However, the following steps must be executed manually on a regular basis:
132 |
133 | - Regularly upgrade your system packages (Pacman/AUR & Flatpak)
134 | - Regularly read the **[Arch Linux News](https://www.archlinux.org/news)** (preferably before upgrading your system)
135 | - Regularly check & merge new configurations with `pacdiff` (preferably after each system upgrade)
136 | - Consult the **[Arch Linux Wiki](https://wiki.archlinux.org)** (if you need help)
137 |
138 | To streamline this process, you can use the preinstalled **[➜ Arch OS System Manager](https://github.com/murkl/arch-os-manager)**
139 |
140 |
141 |
142 |