This commit is contained in:
Carlos Outerelo 2022-04-20 04:07:37 +00:00 committed by GitHub
commit 1e3fef90ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
35 changed files with 846 additions and 437 deletions

View File

@ -1,7 +0,0 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"

23
.github/labeler.yml vendored
View File

@ -1,23 +0,0 @@
repo:
- '*'
GitHub-Action:
- .github/workflows/*
Configs:
- configs/**/*
Package-Files:
- pkg-files/**/*
scripts:
- scripts/**/*
debug:
- scripts/debug/**/*
helpers:
- scripts/helpers/**/*
installers:
- scripts/installers/**/*

View File

@ -1,18 +0,0 @@
name: "Combine Dependabot PRs"
on:
workflow_dispatch:
jobs:
combine-prs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3.0.0
- uses: maadhattah/combine-dependabot-prs@main
with:
branchPrefix: "dependabot"
mustBeGreen: true
combineBranchName: "combined-prs"
ignoreLabel: "nocombine"
baseBranch: "main"
openPR: true
allowSkipped: false

View File

@ -1,27 +0,0 @@
name: Generate Documentation
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3.0.0
- name: Github Action genshdoc
id: action-genshdoc
uses: vargiuscuola/genshdoc@master
- name: genshdoc result
run: echo "The result of genshdoc Action was ${{ steps.action-genshdoc.outputs.result }}"
- name: Commit files
run: |
echo ${{ github.ref }}
git add .
git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com"
git config --local user.name "github-actions[bot]"
git commit -m "CI: Automated build push" -a | exit 0
- name: Push changes
if: github.ref == 'refs/heads/main'
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.GITHUB_TOKEN }}

View File

@ -1,22 +0,0 @@
# This workflow will triage pull requests and apply a label based on the
# paths that are modified in the pull request.
#
# To use this workflow, you will need to set up a .github/labeler.yml
# file with configuration. For more information, see:
# https://github.com/actions/labeler
name: Labeler
on: [pull_request]
jobs:
label:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
- uses: actions/labeler@v4
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

View File

@ -1,55 +0,0 @@
---
#################################
#################################
## Super Linter GitHub Actions ##
#################################
#################################
name: Lint Code Base
#
# Documentation:
# https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions
#
#############################
# Start the job on all push #
#############################
on:
push:
branches-ignore: [master, main]
# Remove the line above to run when pushing to master
pull_request:
branches: [master, main]
###############
# Set the Job #
###############
jobs:
build:
# Name the Job
name: Lint Code Base
# Set the agent to run on
runs-on: ubuntu-latest
##################
# Load all steps #
##################
steps:
##########################
# Checkout the code base #
##########################
- name: Checkout Code
uses: actions/checkout@v3.0.0
with:
# Full git history is needed to get a proper list of changed files within `super-linter`
fetch-depth: 0
################################
# Run Linter against code base #
################################
- name: Lint Code Base
uses: github/super-linter@v4
env:
VALIDATE_ALL_CODEBASE: false
DEFAULT_BRANCH: main
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

4
.gitignore vendored
View File

@ -1,4 +0,0 @@
install.conf
installlog.txt
archnikus.code-workspace
setup.conf

View File

@ -1,6 +0,0 @@
# Lines starting with '#' are comments.
# Each line is a file pattern followed by one or more owners.
# Order is important. The last matching pattern has the most precedence.
# These owners will be the default owners for everything in the repo.
* @ChrisTitusTech

BIN
Carl_OS.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

55
Carl_OS.sh Normal file
View File

@ -0,0 +1,55 @@
#!/bin/bash
#github-action genshdoc
#
# @file Carl_OS
# @brief Entrance script that launches children scripts for each phase of installation.
# Find the name of the folder the scripts are in
chmod +x ./scripts/*.sh
set -a
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
SCRIPTS_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"/scripts
CONFIGS_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"/configs
set +a
echo -ne "
-------------------------------------------------------------------------
██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗
██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝
██║ ███████║██████╔╝██║ ██║ ██║███████╗
██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║
╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝
-------------------------------------------------------------------------
Automated Arch Linux Installer
-------------------------------------------------------------------------
Scripts are in directory named Carl_OS
"
( bash $SCRIPT_DIR/scripts/startup.sh )|& tee startup.log
source $CONFIGS_DIR/setup.conf
( bash $SCRIPT_DIR/scripts/0-preinstall.sh )|& tee 0-preinstall.log
( arch-chroot /mnt $HOME/Carl_OS/scripts/1-setup.sh )|& tee 1-setup.log
if [[ ! $DESKTOP_ENV == server ]]; then
( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/Carl_OS/scripts/2-user.sh )|& tee 2-user.log
fi
( arch-chroot /mnt $HOME/Carl_OS/scripts/3-post-setup.sh )|& tee 3-post-setup.log
cp -v *.log /mnt/home/$USERNAME
echo -ne "
-------------------------------------------------------------------------
██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗
██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝
██║ ███████║██████╔╝██║ ██║ ██║███████╗
██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║
╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝
-------------------------------------------------------------------------
Automated Arch Linux Installer
-------------------------------------------------------------------------
Done - Please Eject Install Media and Reboot
"

View File

@ -1,6 +1,7 @@
MIT License MIT License
Copyright (c) 2021 Chris Titus Copyright (c) 2021 Chris Titus
Copyright (c) 2022 Carlos Outerelo <outerelocarlos@gmail.com>
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

538
PKG_Documentation.md Normal file
View File

@ -0,0 +1,538 @@
## Package Documentation
* [Pacman Packages](#pacman-packages)
* [AUR Packages](#aur-packages)
* [Budgie Desktop Environment](#budgie-desktop-environment)
* [Cinnamon Desktop Environment](#cinnamon-desktop-environment)
* [Deepin Desktop Environment](#deepin-desktop-environment)
* [GNOME Desktop Environment](#gnome-desktop-environment)
* [KDE Desktop Environment](#kde-desktop-environment)
* [LXDE Desktop Environment](#lxde-desktop-environment)
* [MATE Desktop Environment](#mate-desktop-environment)
* [Openbox](#openbox)
* [XFCE Desktop Environment](#xfce-desktop-environment)
### Pacman Packages
#### Essentials
The following packages are included in all Carl_OS versions and flavours since they are essential pieces of the operating system:
* **[binutils](https://archlinux.org/packages/core/x86_64/binutils/)**: A set of programs to assemble and manipulate binary and object files.
* **[dosfstools](https://archlinux.org/packages/core/x86_64/dosfstools/)**: DOS filesystem utilities.
* **[linux-headers](https://archlinux.org/packages/core/x86_64/linux-headers/)**: Headers and scripts for building modules for the Linux kernel.
* **[mesa](https://archlinux.org/packages/extra/x86_64/mesa/)**: An open-source implementation of the OpenGL specification.
* **[noto-fonts-emoji](https://archlinux.org/packages/extra/x86_64/noto-fonts-emoji/)**: Google Noto emoji fonts.
* **[usbutils](https://archlinux.org/packages/core/x86_64/usbutils/)**: A collection of USB tools to query connected USB devices.
* **[xdg-user-dirs](https://archlinux.org/packages/extra/x86_64/xdg-user-dirs/)**: Tool to manage user directories like the desktop folder and the music folder. It also handles localization (i.e. translation) of the filenames.
* **[xorg](https://archlinux.org/groups/x86_64/xorg/)**: The most popular display server among Linux users. Note that this is a package group, meaning that it contains and installs several packages.
* **[xorg-apps](https://archlinux.org/groups/x86_64/xorg-apps/)**: A collection (package group) of X.Org applications.
* **[xorg-drivers](https://archlinux.org/groups/x86_64/xorg-drivers/)**: A collection (package group) of X.Org drivers.
* **[xorg-xinit](https://archlinux.org/packages/extra/x86_64/xorg-xinit/)**: X.Org initialization program.
* **[xterm](https://archlinux.org/packages/extra/x86_64/xterm/)**: X Terminal Emulator.
#### Full package bundle
FULL installations also include the following packages:
* **[alsa-plugins](https://archlinux.org/packages/extra/x86_64/alsa-plugins/)**: Additional ALSA (Advanced Linux Sound Architecture) plugins.
* **[alsa-utils](https://archlinux.org/packages/extra/x86_64/alsa-utils/)**: ALSA (Advanced Linux Sound Architecture) utilities.
* **[autoconf](https://archlinux.org/packages/core/any/autoconf/)**: A GNU tool for automatically configuring source code.
* **[automake](https://archlinux.org/packages/core/any/automake/)**: A GNU tool for automatically creating Makefiles.
* **[awesome-terminal-fonts](https://archlinux.org/packages/community/any/awesome-terminal-fonts/)**: This package adds several symbols and icons to improve the look of monospace terminals.
* **[barrier](https://archlinux.org/packages/community/x86_64/barrier/)**: Open-source KVM software based on Synergy (GUI).
* **[bash-completion](https://archlinux.org/packages/extra/x86_64/bash-completion/)**: Programmable completion for the bash shell.
* **[bind](https://archlinux.org/packages/extra/x86_64/bind/)**: A complete, highly portable implementation of the DNS protocol.
* **[bison](https://archlinux.org/packages/core/x86_64/bison/)**: The GNU general-purpose parser generator.
* **[bluez](https://archlinux.org/packages/extra/x86_64/bluez/)**: Daemons for the bluetooth protocol stack.
* **[bluez-libs](https://archlinux.org/packages/extra/x86_64/bluez-libs/)**: Deprecated libraries for the bluetooth protocol stack.
* **[bluez-utils](https://archlinux.org/packages/extra/x86_64/bluez-utils/)**: Development and debugging utilities for the bluetooth protocol stack.
* **[bridge-utils](https://archlinux.org/packages/extra/x86_64/bridge-utils/)**: Utilities for configuring the Linux ethernet bridge.
* **[btrfs-progs](https://archlinux.org/packages/core/x86_64/btrfs-progs/)**: [Btrfs](https://en.wikipedia.org/wiki/Btrfs) filesystem utilities.
* **[celluloid](https://archlinux.org/packages/community/x86_64/celluloid/)**: Simple GTK+ frontend for mpv.
* **[cmatrix](https://archlinux.org/packages/community/x86_64/cmatrix/)**: A command-line utility to display a Matrix-like text-raining effect (type `cmatrix` in the terminal)
* **[code](https://archlinux.org/packages/community/x86_64/code/)**: The open-source build of Visual Studio Code (vscode).
* **[cronie](https://archlinux.org/packages/core/x86_64/cronie/)**: Daemon that runs specified programs at scheduled times (and related tools).
* **[cups](https://archlinux.org/packages/extra/x86_64/cups/)**: Daemon install of a standards-based and open source printing system. CUPS uses IPP Everywhere to support printing to local and network printers.
* **[dialog](https://archlinux.org/packages/core/x86_64/dialog/)**: A tool to display dialog boxes from shell scripts.
* **[dmidecode](https://archlinux.org/packages/extra/x86_64/dmidecode/)**: Open-source tool which reports information about your system's hardware as described in your system BIOS according to the SMBIOS/DMI standard.
* **[dnsmasq](https://archlinux.org/packages/extra/x86_64/dnsmasq/)**: Lightweight, easy to configure DNS forwarder and DHCP server.
* **[docker](https://archlinux.org/packages/community/x86_64/docker/)**: Pack, ship and run any application as a lightweight container.
* **[dtc](https://archlinux.org/packages/community/x86_64/dtc/)**: Device Tree Compiler, useful to reformat device-trees files (e.g. dts -> dtb) for booting kernels on embedded systems.
* **[efibootmgr](https://archlinux.org/packages/core/x86_64/efibootmgr/)**: Linux user-space application to modify the EFI Boot Manager.
* **[egl-wayland](https://archlinux.org/packages/extra/x86_64/egl-wayland/)**: WIP implementation of an [EGL](https://en.wikipedia.org/wiki/EGL_(API)) External Platform library to add client-side [Wayland]([Wayland](https://wiki.archlinux.org/title/Wayland)) support to [EGL](https://en.wikipedia.org/wiki/EGL_(API)).
* **[exfat-utils](https://archlinux.org/packages/community/x86_64/exfat-utils/)**: Utilities for the exFAT file system.
* **[firefox](https://archlinux.org/packages/extra/x86_64/firefox/)**: Standalone web browser from Mozilla.
* **[firefox-decentraleyes](https://archlinux.org/packages/community/any/firefox-decentraleyes/)**: A free and open-source browser extension used for local content delivery network emulation. Its primary task is to block connections to major CDNs such as Cloudflare and Google, and serve popular web libraries locally on the users machine.
* **[firefox-ublock-origin](https://archlinux.org/packages/community/any/firefox-ublock-origin/)**: Efficient ad-blocker add-on for various browsers.
* **[flex](https://archlinux.org/packages/core/x86_64/flex/)**: A tool for generating text-scanning programs (programs which recognize lexical patterns in text).
* **[fuse2](https://archlinux.org/packages/extra/x86_64/fuse2/)**: A library that makes it possible to implement a filesystem in a userspace program.
* **[fuse3](https://archlinux.org/packages/extra/x86_64/fuse3/)**: A library that makes it possible to implement a filesystem in a userspace program.
* **[fuseiso](https://archlinux.org/packages/community/x86_64/fuseiso/)**: [FUSE](https://wiki.archlinux.org/title/FUSE) module to mount ISO filesystem images.
* **[gamemode](https://archlinux.org/packages/community/x86_64/gamemode/)**: Allows games to request temporary optimizations for the host OS.
* **[gcc](https://archlinux.org/packages/core/x86_64/gcc/)**: The GNU Compiler Collection for C and C++ front-ends.
* **[gimp](https://archlinux.org/packages/extra/x86_64/gimp/)**: A powerful, free, and open-source image editor.
* **[gparted](https://archlinux.org/packages/extra/x86_64/gparted/)**: A disk partitioning utility, frontend to GNU's Parted.
* **[gptfdisk](https://archlinux.org/packages/extra/x86_64/gptfdisk/)**: A text-mode partitioning tool that works on GUID Partition Table (GPT) disks.
* **[grub-customizer](https://archlinux.org/packages/community/x86_64/grub-customizer/)**: A graphical grub2 settings manager.
* **[gst-libav](https://archlinux.org/packages/extra/x86_64/gst-libav/)**: Multimedia graph framework - libav plugin.
* **[gst-plugins-good](https://archlinux.org/packages/extra/x86_64/gst-plugins-good/)**: Multimedia graph framework - good plugins.
* **[gst-plugins-ugly](https://archlinux.org/packages/extra/x86_64/gst-plugins-ugly/)**: Multimedia graph framework - ugly plugins.
* **[haveged](https://archlinux.org/packages/extra/x86_64/haveged/)**: Entropy harvesting daemon using CPU timings.
* **[htop](https://archlinux.org/packages/extra/x86_64/htop/)**: Interactive process viewer.
* **[jdk-openjdk](https://archlinux.org/packages/extra/x86_64/jdk-openjdk/)**: OpenJDK Java 18 development kit.
* **[kitty](https://archlinux.org/packages/community/x86_64/kitty/)**: A modern, hackable and featureful OpenGL-based terminal emulator.
* **[libdvdcss](https://archlinux.org/packages/extra/x86_64/libdvdcss/)**: Portable abstraction library for DVD decryption.
* **[libtool](https://archlinux.org/packages/core/x86_64/libtool/)**: A generic library support script.
* **[lsof](https://archlinux.org/packages/extra/x86_64/lsof/)**: Lists open files for running Unix processes.
* **[lutris](https://archlinux.org/packages/community/any/lutris/)**: Open-source gaming platform. Allows users to directly access certain game libraries (Steam, Epic, GOG, Humble Bundle) and bundles several packages to emulate and run games as well as possible.
* **[lzop](https://archlinux.org/packages/extra/x86_64/lzop/)**: File compressor using lzo lib.
* **[m4](https://archlinux.org/packages/core/x86_64/m4/)**: The GNU macro processor.
* **[make](https://archlinux.org/packages/core/x86_64/make/)**: GNU Make is a tool which controls the generation of executables and other non-source files of a program from the program's source files (specifically from the *makefile*).
* **[neofetch](https://archlinux.org/packages/community/any/neofetch/)**: A CLI system information tool written in BASH that supports displaying images.
* **[ntfs-3g](https://archlinux.org/packages/extra/x86_64/ntfs-3g/)**: Driver and utilities for the NTFS file system.
* **[ntp](https://archlinux.org/packages/extra/x86_64/ntp/)**: Network Time Protocol reference implementation.
* **[openbsd-netcat](https://archlinux.org/packages/community/x86_64/openbsd-netcat/)**: TCP/IP swiss army knife. OpenBSD variant.
* **[openssh](https://archlinux.org/packages/core/x86_64/openssh/)**: Premier connectivity tool for remote login with the SSH protocol.
* **[os-prober](https://archlinux.org/packages/community/x86_64/os-prober/)**: Utility to detect other OSes on a set of drives.
* **[p7zip](https://archlinux.org/packages/extra/x86_64/p7zip/)**: Command-line file archiver with high compression ratio.
* **[papirus-icon-theme](https://archlinux.org/packages/community/any/papirus-icon-theme/)**: Papirus icon theme.
* **[patch](https://archlinux.org/packages/core/x86_64/patch/)**: A utility to apply patch files to original sources.
* **[picom](https://archlinux.org/packages/community/x86_64/picom/)**: X compositor that may fix tearing issues.
* **[pkgconf](https://archlinux.org/packages/core/x86_64/pkgconf/)**: Package compiler and linker metadata toolkit.
* **[powerline-fonts](https://archlinux.org/packages/community/x86_64/powerline-fonts/)**: Patched fonts for powerline.
* **[pulseaudio](https://archlinux.org/packages/extra/x86_64/pulseaudio/)**: A featureful, general-purpose sound server.
* **[pulseaudio-alsa](https://archlinux.org/packages/extra/x86_64/pulseaudio-alsa/)**: ALSA (Advanced Linux Sound Architecture) configuration for PulseAudio.
* **[pulseaudio-bluetooth](https://archlinux.org/packages/extra/x86_64/pulseaudio-bluetooth/)**: Bluetooth support for PulseAudio.
* **[python-notify2](https://archlinux.org/packages/extra/x86_64/python-notify2/)**: Python interface to DBus notifications.
* **[python-psutil](https://archlinux.org/packages/community/x86_64/python-psutil/)**: A cross-platform process and system utilities module for Python.
* **[python-pyqt5](https://archlinux.org/packages/extra/x86_64/python-pyqt5/)**: A set of Python bindings for the Qt5 toolkit.
* **[python-pip](https://archlinux.org/packages/extra/x86_64/python-pip/)**: The PyPA recommended tool for installing Python packages.
* **[qemu](https://archlinux.org/packages/extra/x86_64/qemu/)**: A generic and open source machine emulator and virtualizer.
* **[snap-pac](https://archlinux.org/packages/community/any/snap-pac/)**: Pacman hooks that use snapper to create pre/post [Btrfs](https://en.wikipedia.org/wiki/Btrfs) snapshots like [openSUSE's YaST](https://yast.opensuse.org/).
* **[snapper](https://archlinux.org/packages/community/x86_64/snapper/)**: A tool for managing [Btrfs](https://en.wikipedia.org/wiki/Btrfs) and LVM snapshots. It can create, diff and restore snapshots and provides timelined auto-snapping.
* **[steam](https://archlinux.org/packages/multilib/x86_64/steam/)**: Valve's digital software delivery system.
* **[swtpm](https://archlinux.org/packages/community/x86_64/swtpm/)**: Libtpms-based TPM emulator with socket, character device, and Linux CUSE interface.
* **[telegram-desktop](https://archlinux.org/packages/community/x86_64/telegram-desktop/)**: The official Telegram desktop client (messaging platform).
* **[terminus-font](https://archlinux.org/packages/community/any/terminus-font/)**: Monospace bitmap font (for X11 and console).
* **[traceroute](https://archlinux.org/packages/core/x86_64/traceroute/)**: Tracks the route taken by packets over an IP network.
* **[ttf-droid](https://archlinux.org/packages/community/any/ttf-droid/)**: General-purpose fonts released by Google as part of Android.
* **[ttf-hack](https://archlinux.org/packages/extra/any/ttf-hack/)**: A hand groomed and optically balanced typeface based on Bitstream Vera Mono.
* **[ttf-roboto](https://archlinux.org/packages/community/any/ttf-roboto/)**: Google's signature family of fonts.
* **[ufw](https://archlinux.org/packages/community/any/ufw/)**: Uncomplicated and easy to use CLI tool for managing a netfilter firewall.
* **[unrar](https://archlinux.org/packages/extra/x86_64/unrar/)**: Tool to view and/or extract the content of RAR archives.
* **[unzip](https://archlinux.org/packages/extra/x86_64/unzip/)**: Tool to view and/or extract the content of ZIP archives.
* **[vde2](https://archlinux.org/packages/extra/x86_64/vde2/)**: Virtual Distributed Ethernet (for emulators like [qemu](https://archlinux.org/packages/extra/x86_64/qemu/)).
* **[virt-manager](https://archlinux.org/packages/community/any/virt-manager/)**: Desktop user interface for managing virtual machines.
* **[virt-viewer](https://archlinux.org/packages/community/x86_64/virt-viewer/)**: A lightweight interface for interacting with the graphical display of virtualized guest OS.
* **[which](https://archlinux.org/packages/core/x86_64/which/)**: A utility to show the full path of commands.
* **[wine-gecko](https://archlinux.org/packages/community/x86_64/wine-gecko/)**: Wine's built-in replacement for Microsoft's Internet Explorer.
* **[wine-mono](https://archlinux.org/packages/community/any/wine-mono/)**: Wine's built-in replacement for Microsoft's .NET Framework.
* **[winetricks](https://archlinux.org/packages/multilib/x86_64/winetricks/)**: Script to install various redistributable runtime libraries in Wine.
* **[zip](https://archlinux.org/packages/extra/x86_64/zip/)**: Compressor/archiver for creating and modifying ZIP files.
* **[zsh](https://archlinux.org/packages/extra/x86_64/zsh/)**: A very advanced and programmable command interpreter (shell) for UNIX.
* **[zsh-autosuggestions](https://archlinux.org/packages/community/any/zsh-autosuggestions/)**: Autosuggestions for zsh.
* **[zsh-syntax-highlighting](https://archlinux.org/packages/community/any/zsh-syntax-highlighting/)**: Syntax highlighting for zsh.
### AUR Packages
Only for FULL installations (MINIMAL installs do not install AUR packages).
* **[autojump](https://aur.archlinux.org/packages/autojump)**: A faster way to navigate your filesystem from the command line.
* **[brave-bin](https://aur.archlinux.org/packages/brave-bin)**: A privacy-focused Chromium web browser. I recommend a Gecko-based browser instead (e.g. [Firefox]((https://archlinux.org/packages/extra/x86_64/firefox/))) as Google's monolopoly benefits nobody, but certain plugins are only available for Chromium-based web browsers.
* **[bridge-utils](https://aur.archlinux.org/packages/bridge-utils)**: Utilities for configuring the Linux ethernet bridge.
* **[dxvk-bin](https://aur.archlinux.org/packages/dxvk-bin)**: Vulkan-based compatibility layer for Direct3D 9/10/11 which allows running 3D applications on Linux using Wine (Windows DLL binary files).
* **[github-desktop-bin](https://aur.archlinux.org/packages/github-desktop-bin)**: GUI for managing Git and GitHub.
* **[lightly-git](https://aur.archlinux.org/packages/lightly-git)**: Lightly is a fork of breeze theme style that aims to be visually modern and minimalistic.
* **[lightlyshaders-git](https://aur.archlinux.org/packages/lightlyshaders-git)**: Rounded corners and outline effects for KWin.
* **[mangohud](https://aur.archlinux.org/packages/mangohud)**: Vulkan overlay layer for monitoring FPS, temperatures, CPU/GPU load and more.
* **[mangohud-common](https://aur.archlinux.org/packages/mangohud-common)**: Common files for mangohud.
* **[nerd-fonts-fira-code](https://aur.archlinux.org/packages/nerd-fonts-fira-code)**: Patched font Fira (Fura) Code from the nerd-fonts library.
* **[nordic-darker-standard-buttons-theme](https://aur.archlinux.org/packages/nordic-darker-standard-buttons-theme)**: Nord-derived themes for GTK and other platforms.
* **[nordic-darker-theme](https://aur.archlinux.org/packages/nordic-darker-theme)**: Nord-derived themes for GTK and other platforms.
* **[nordic-kde-git](https://aur.archlinux.org/packages/nordic-kde-git)**: Theme for KDE Plasma 5 using the Nord color pallete.
* **[nordic-theme](https://aur.archlinux.org/packages/nordic-theme)**: Nord-derived themes for GTK and other platforms.
* **[ocs-url](https://aur.archlinux.org/packages/ocs-url)**: An install helper program for items served via OpenCollaborationServices (ocs://).
* **[plymouth-git](https://aur.archlinux.org/packages/plymouth-git)**: A graphical boot splash screen with kernel mode-setting support (development version).
* **[sddm-nordic-theme-git](https://aur.archlinux.org/packages/sddm-nordic-theme-git)**: Nordic theme for SDDM (Simple Desktop Display Manager).
* **[snapper-gui-git](https://aur.archlinux.org/packages/snapper-gui-git)**: GUI for [snapper](https://archlinux.org/packages/community/x86_64/snapper/), a tool of managing snapshots of [Btrfs](https://en.wikipedia.org/wiki/Btrfs) subvolumes and LVM volumes.
* **[teamviewer](https://aur.archlinux.org/packages/teamviewer)**: All-in-one software for remote support/control and online meetings.
* **[ttf-meslo](https://aur.archlinux.org/packages/ttf-meslo)**: Meslo LG is a customized version of Apple's Menlo font with various line gap and dotted zero.
* **[whatsapp-nativefier](https://aur.archlinux.org/packages/whatsapp-nativefier)**: WhatsApp desktop built with nativefier (electron).
* **[zoom](https://aur.archlinux.org/packages/zoom)**: A video/web conferencing service.
### Budgie Desktop Environment
The following packages are only installed if the user selects the [Budgie desktop environment](https://wiki.archlinux.org/title/Budgie) during the installation process.
* **[budgie-desktop](https://archlinux.org/packages/community/x86_64/budgie-desktop/)**: A modern desktop environment from the Solus Project.
* **[gnome](https://archlinux.org/groups/x86_64/gnome/)**: GNOME's package group complements the Budgie desktop environment to provide a more complete desktop experience.
### Cinnamon Desktop Environment
The following packages are only installed if the user selects the [Cinnamon desktop environment](https://wiki.archlinux.org/title/Cinnamon) during the installation process. This project installs Cinnamon alongside two window managers: GNOME Shell makes the desktop environment feel akin to GNOME 3 whereas Metacity follows more traditional desktop metaphor conventions, making Cinnamon feel like a modern version of GNOME 2.
* **[cinnamon](https://archlinux.org/packages/community/x86_64/cinnamon/)**: Cinnamon is a desktop environment from the Linux Mint team which combines a traditional desktop layout with modern graphical effects.
* **[gnome-shell](https://archlinux.org/packages/extra/x86_64/gnome-shell/)**: The most modern window manager for GNOME-based systems. Makes Cinnamon feel like GNOME 3.
* **[metacity](https://archlinux.org/packages/community/x86_64/metacity/)**: The window manager of GNOME Flashback. It provides a more classic feel, following traditional desktop metaphor conventions.
### Deepin Desktop Environment
The following packages are only installed if the user selects the [Deepin desktop environment](https://wiki.archlinux.org/title/Deepin_Desktop_Environment) during the installation process. Deepin is undoubtedly a well-rounded desktop environment, providing a beautiful (reminiscent of the MacOS UI), easy to use, safe and reliable system.
* **[deepin](https://archlinux.org/groups/x86_64/deepin/)**: Package group to install the Deepin desktop environment and its core packages.
* **[deepin-extra](https://archlinux.org/groups/x86_64/deepin-extra/)**: Package group with several extra components for the Deepin desktop environment.
### GNOME Desktop Environment
The following packages are only installed if the user selects the [GNOME desktop environment](https://wiki.archlinux.org/title/GNOME) during the installation process. GNOME is arguably of the most popular desktop environment for the Linux ecosystem based on the fact that is the one that comes preinstalled with Ubuntu, the most popular Linux distribution. Its desktop experience has changed quite significantly since GNOME 3, bringing some design choices from mobile systems and/or MacOS. Some users despite this, other love it, but despite it all GNOME remains a featureful and efficient desktop environment.
* **[gnome](https://archlinux.org/groups/x86_64/gnome/)**: Package group to install the GNOME desktop environment and its core packages.
FULL installations also include the following software:
* **[gnome-extras](https://archlinux.org/groups/x86_64/gnome-extra/)**: Package group with several extra components for the GNOME desktop environment.
### KDE Desktop Environment
The following packages are only installed if the user selects the [KDE Plasma desktop environment](https://wiki.archlinux.org/title/KDE) during the installation process. KDE Plasma is one of the most popular desktop environments for the Linux ecosystem, providing a familiar experience for Windows users as well as a highly customizable one for more advanced Linus users. It is also worth noting that KDE's software suite is also quite extensive and works well in tandem (as an ecosystem of sorts).
* **[plasma-desktop](https://archlinux.org/packages/extra/x86_64/plasma-desktop/)**: KDE's Plasma desktop environment.
* **[dolphin](https://archlinux.org/packages/extra/x86_64/dolphin/)**: A lightweight yet featureful file manager.
* **[sddm](https://archlinux.org/packages/extra/x86_64/sddm/)**: The Simple Desktop Display Manager (SSDM) is the recommended display manager for the KDE Plasma and LXQt desktop environments.
FULL installations also include the following software:
* **[ark](https://archlinux.org/packages/extra/x86_64/ark/)**: Ark is a graphical file compression/decompression utility with support for multiple formats.
* **[audiocd-kio](https://archlinux.org/packages/extra/x86_64/audiocd-kio/)**: KIO slave that enables KIO-aware applications (such as Dolphin or k3b) to access audio and CD text data on the audio compact disks.
* **[bluedevil](https://archlinux.org/packages/extra/x86_64/bluedevil/)**: Integrates Bluetooth technology/connectivity within KDE workspace and applications.
* **[breeze](https://archlinux.org/packages/extra/x86_64/breeze/)**: Artwork, styles and assets for the Breeze visual style for the Plasma Desktop.
* **[breeze-gtk](https://archlinux.org/packages/extra/any/breeze-gtk/)**: Breeze widget theme for GTK 2 and 3.
* **[discover](https://archlinux.org/packages/extra/x86_64/discover/)**: KDE's software discovery tool. Like an App Store of sorts.
* **[extra-cmake-modules](https://archlinux.org/packages/extra/any/extra-cmake-modules/)**: Extra modules and scripts for CMake.
* **[filelight](https://archlinux.org/packages/extra/x86_64/filelight/)**: A KDE application to visualize the system's disk usage in a visually appealing format.
* **[gwenview](https://archlinux.org/packages/extra/x86_64/gwenview/)**: A fast and easy to use image viewer.
* **[kate](https://archlinux.org/packages/extra/x86_64/kate/)**: A multi-document, multi-view and featureful text editor by KDE.
* **[kde-gtk-config](https://archlinux.org/packages/extra/x86_64/kde-gtk-config/)**: GTK2 and GTK3 Configurator for KDE.
* **[kcodecs](https://archlinux.org/packages/extra/x86_64/kcodecs/)**: This package provides a collection of methods to manipulate strings using various encodings.
* **[kcoreaddons](https://archlinux.org/packages/extra/x86_64/kcoreaddons/)**: Addons to QtCore.
* **[kdeplasma-addons](https://archlinux.org/packages/extra/x86_64/kdeplasma-addons/)**: All kind of addons to improve the KDE Plasma experience.
* **[kgamma5](https://archlinux.org/packages/extra/x86_64/kgamma5/)**: Handy package to adjust your monitor gamma settings.
* **[kgpg](https://archlinux.org/packages/extra/x86_64/kgpg/)**: A frontend for GnuPG (a powerful encryption utility). It can help you set up and manage your keys, view key signatures, trust status and expiry dates.
* **[kinfocenter](https://archlinux.org/packages/extra/x86_64/kinfocenter/)**: An utility that provides information about the system.
* **[konsole](https://archlinux.org/packages/extra/x86_64/konsole/)**: KDE terminal emulator.
* **[kscreen](https://archlinux.org/packages/extra/x86_64/kscreen/)**: KDE screen management software.
* **[kvantum-qt5](https://archlinux.org/packages/community/x86_64/kvantum/)**: SVG-based theme engine for Qt5/6 (including config tool and extra themes).
* **[kwalletmanager](https://archlinux.org/packages/kde-unstable/x86_64/kwalletmanager/)**: KDE's tool to manage the passwords on your system.
* **[layer-shell-qt](https://archlinux.org/packages/extra/x86_64/layer-shell-qt/)**: Qt component to allow applications to make use of the Wayland wl-layer-shell protocol.
* **[milou](https://archlinux.org/packages/extra/x86_64/milou/)**: A dedicated search application built on top of Baloo.
* **[okular](https://archlinux.org/packages/extra/x86_64/okular/)**: A multi-platform document viewer developed by KDE.
* **[oxygen](https://archlinux.org/packages/extra/x86_64/oxygen/)**: Oxygen theme for KDE Plasma.
* **[plasma-nm](https://archlinux.org/packages/extra/x86_64/plasma-nm/)**: Plasma applet written in QML for managing network connections.
* **[plasma-pa](https://archlinux.org/packages/extra/x86_64/plasma-pa/)**: Plasma applet for audio volume management using PulseAudio.
* **[plasma-wayland-session](https://archlinux.org/packages/extra/x86_64/plasma-wayland-session/)**: KDE Plasma [Wayland](https://wiki.archlinux.org/title/Wayland) session.
* **[powerdevil](https://archlinux.org/packages/extra/x86_64/powerdevil/)**: A tool for managing the power consumption settings of a KDE Plasma.
* **[print-manager](https://archlinux.org/packages/extra/x86_64/print-manager/)**: A tool for managing print jobs and printers.
* **[spectacle](https://archlinux.org/packages/extra/x86_64/spectacle/)**: KDE screenshot capture utility.
* **[systemsettings](https://archlinux.org/packages/extra/x86_64/systemsettings/)**: KDE system manager for hardware, software, and workspaces.
* **[xdg-desktop-portal-kde](https://archlinux.org/packages/extra/x86_64/xdg-desktop-portal-kde/)**: A backend implementation for xdg-desktop-portal using Qt/KF5.
* **[zeroconf-ioslave](https://archlinux.org/packages/extra/x86_64/zeroconf-ioslave/)**: Adds an entry to Dolphin's Network page to show local services such as printers which advertise themselves with [DNS-SD](http://www.dns-sd.org/).
### LXDE Desktop Environment
The following packages are only installed if the user selects the [LXDE desktop environment](https://wiki.archlinux.org/title/LXDE) during the installation process. LXDE (Lightweight X11 Desktop Environment) is an extremely fast-performing and energy-saving desktop environment, featuring a classic interface reminiscent of older Windows versions.
* **[lxde](https://archlinux.org/groups/x86_64/lxde/)**: Package group to install the LXDE desktop environment and its core packages.
### MATE Desktop Environment
The following packages are only installed if the user selects the [MATE desktop environment](https://wiki.archlinux.org/title/MATE) during the installation process. MATE is a fork and continuation of GNOME 2, providing an intuitive, classic and attractive desktop environment which follows traditional desktop metaphor conventions.
* **[mate](https://archlinux.org/groups/x86_64/mate/)**: Package group to install the MATE desktop environment and its core packages.
* **[mate-extra](https://archlinux.org/groups/x86_64/mate-extra/)**: Package group with several extra components for the MATE desktop environment.
### Openbox and Awesome
The following packages are only installed if the user selects either [Openbox](https://wiki.archlinux.org/title/Openbox) or [Awesome](https://wiki.archlinux.org/title/Awesome) from within the desktop environment prompt during the installation process. Neither is a desktop environment *per se* but rather lightweight, powerful, and highly configurable windows manager. Both can run independently or within other integrated desktop environments (such as KDE and Xfce) as an alternative to the window managers they provide, although running Awesome independently is not really a user-friendly experience (it is primarily targeted at power users, developers and enthusiasts who want to have fine-grained control of their graphical environment).
Openbox, however, provides a lightweight alternative to desktop environments while still offering a manageable user interface (as a matter of fact, the fast-performing LXDE desktop environment is built upon Openbox).
The package selection is almost identical for both window managers, with the exception of the package that installs the window manager itself:
* **[openbox](https://archlinux.org/packages/community/x86_64/openbox/)**: Installs the Openbox window manager.
* **[awesome](https://archlinux.org/packages/community/x86_64/awesome/)**: Installs the Awesome window manager.
The rest of the software goes as follows:
* **[lightdm](https://archlinux.org/packages/extra/x86_64/lightdm/)**: A lightweight display manager.
* **[lightdm-gtk-greeter](https://archlinux.org/packages/extra/x86_64/lightdm-gtk-greeter/)**: GTK+ greeter for LightDM.
* **[lxsession](https://archlinux.org/packages/community/x86_64/lxsession/)**: A lightweight X11 session manager
* **[rxvt-unicode](https://archlinux.org/packages/community/x86_64/rxvt-unicode/)**: Unicode-enabled Rxvt-clone terminal emulator.
* **[thunar](https://archlinux.org/packages/extra/x86_64/thunar/)**: Modern file manager for XFCE which works rather well with Openbox.
FULL installations also include the following software:
* **[alsa-utils](https://archlinux.org/packages/extra/x86_64/alsa-utils/)**: ALSA (Advanced Linux Sound Architecture) utilities.
* **[dunst](https://archlinux.org/packages/community/x86_64/dunst/)**: Customizable and lightweight notification-daemon.
* **[feh](https://archlinux.org/packages/extra/x86_64/feh/)**: Fast and light imlib2-based image viewer.
* **[geany](https://archlinux.org/packages/community/x86_64/geany/)**: Fast and lightweight IDE.
* **[gsimplecal](https://archlinux.org/packages/community/x86_64/gsimplecal/)**: Simple and lightweight GTK calendar.
* **[gtk2-perl](https://archlinux.org/packages/extra/x86_64/gtk2-perl/)**: Perl bindings for GTK+ 2.X
* **[htop](https://archlinux.org/packages/extra/x86_64/htop/)**: Interactive process viewer.
* **[imagemagick](https://archlinux.org/packages/extra/x86_64/imagemagick/)**: An image viewing/manipulation program.
* **[jq](https://archlinux.org/packages/community/x86_64/jq/)**: Command-line JSON processor.
* **[lightdm-webkit2-greeter](https://archlinux.org/packages/community/x86_64/lightdm-webkit2-greeter/)**: LightDM greeter that uses WebKit2 for theming via HTML/JavaScript.
* **[lightdm-webkit-theme-litarvan](https://archlinux.org/packages/community/any/lightdm-webkit-theme-litarvan/)**: Modern and full-featured LightDM theme.
* **[lxappearance](https://archlinux.org/packages/community/x86_64/lxappearance/)**: Feature-rich GTK+ theme switcher of the LXDE Desktop.
* **[nano](https://archlinux.org/packages/core/x86_64/nano/)**: Pico editor clone with enhancements.
* **[neofetch](https://archlinux.org/packages/community/any/neofetch/)**: A CLI system information tool written in BASH that supports displaying images.
* **[obconf](https://archlinux.org/packages/community/x86_64/obconf/)**: A GTK+ based configuration tool for the Openbox window manager.
* **[parcellite](https://archlinux.org/packages/community/x86_64/parcellite/)**: Lightweight GTK+ clipboard manager.
* **[pavucontrol](https://archlinux.org/packages/extra/x86_64/pavucontrol/)**: PulseAudio Volume Control.
* **[picom](https://archlinux.org/packages/community/x86_64/picom/)**: X compositor that may fix tearing issues.
* **[playerctl](https://archlinux.org/packages/community/x86_64/playerctl/)**: A command-line utility and library for controlling media players that implement the MPRIS D-Bus Interface Specification which simplifies binding player actions to media keys.
* **[pulseaudio](https://archlinux.org/packages/extra/x86_64/pulseaudio/)**: A featureful, general-purpose sound server.
* **[pulseaudio-alsa](https://archlinux.org/packages/extra/x86_64/pulseaudio-alsa/)**: ALSA (Advanced Linux Sound Architecture) configuration for PulseAudio.
* **[qt5ct](https://archlinux.org/packages/community/x86_64/qt5ct/)**: Qt5 Configuration Utility.
* **[rofi](https://archlinux.org/packages/community/x86_64/rofi/)**: A window switcher, application launcher and dmenu replacement.
* **[scrot](https://archlinux.org/packages/community/x86_64/scrot/)**: Simple command-line screenshot utility for X.
* **[thunar-archive-plugin](https://archlinux.org/packages/extra/x86_64/thunar-archive-plugin/)**: Allows to create and extract archives in the Thunar file manager.
* **[thunar-volman](https://archlinux.org/packages/extra/x86_64/thunar-volman/)**: Automatic management of removeable devices in the Thunar file manager.
* **[thunar-media-tags-plugin](https://archlinux.org/packages/extra/x86_64/thunar-media-tags-plugin/)**: Adds special features for media files to the Thunar file manager.
* **[tint2](https://archlinux.org/packages/community/x86_64/tint2/)**: Basic, good-looking task manager for WMs.
* **[tumbler](https://archlinux.org/packages/extra/x86_64/tumbler/)**: D-Bus service for applications to request thumbnails.
* **[viewnior](https://archlinux.org/packages/community/x86_64/viewnior/)**: A simple, fast and elegant image viewer.
* **[w3m](https://archlinux.org/packages/extra/x86_64/w3m/)**: A text-based web browser.
* **[wireless_tools](https://archlinux.org/packages/extra/x86_64/wireless_tools/)**: Tools allowing to manipulate the Wireless Extensions (`iwconfig`, `iwlist`, `iwspy`, `iwpriv` and `ifrename`).
* **[xautolock](https://archlinux.org/packages/community/x86_64/xautolock/)**: An automatic X screen-locker/screen-saver.
* **[xclip](https://archlinux.org/packages/extra/x86_64/xclip/)**: Command line interface to the X11 clipboard.
* **[xfce4-power-manager](https://archlinux.org/packages/extra/x86_64/xfce4-power-manager/)**: A handy package to manage the power sources of the system and connected devices, extremely useful for laptop devices.
* **[xsettingsd](https://archlinux.org/packages/community/x86_64/xsettingsd/)**: Provides settings to X11 applications via the XSETTINGS specification.
* **[zsh](https://archlinux.org/packages/extra/x86_64/zsh/)**: A very advanced and programmable command interpreter (shell) for UNIX.
### Xfce Desktop Environment
The following packages are only installed if the user selects the classic and lightweight [Xfce desktop environment](https://wiki.archlinux.org/title/Xfce) during the installation process.
* **[xfce4](https://archlinux.org/groups/x86_64/xfce4/)**: Package group to install the classic and lightweight Xfce desktop environment along with its core packages.
* **[xfce4-goodies](https://archlinux.org/groups/x86_64/xfce4-goodies/)**: Package group with several extra components for the Xfce desktop environment.

View File

@ -1,64 +1,60 @@
# ArchTitus Installer Script # Carl_OS
[![GitHub Super-Linter](https://github.com/ChrisTitusTech/ArchTitus/workflows/Lint%20Code%20Base/badge.svg)](https://github.com/marketplace/actions/super-linter)
<img src="https://i.imgur.com/YiNMnan.png" /> [Arch Titus](https://github.com/ChrisTitusTech/ArchTitus) fork to build my own Arch Linux flavour. It features an automated Arch Linux install, streamlining said process quite significantly.
This README contains the steps I do to install and configure a fully-functional Arch Linux installation containing a desktop environment, all the support packages (network, bluetooth, audio, printers, etc.), along with all my preferred applications and utilities. The shell scripts in this repo allow the entire process to be automated.) <img src="./Carl_OS.png" />
This README contains the steps I do to install and configure a fully-functional Arch Linux installation containing a desktop environment, all the support packages (network, bluetooth, audio, printers, etc.), along with all my preferred applications and utilities. The shell scripts in this repository allow the entire process to be automated.
--- ---
## Create Arch ISO or Use Image ## Installation Process
Download ArchISO from <https://archlinux.org/download/> and put on a USB drive with [Etcher](https://www.balena.io/etcher/), [Ventoy](https://www.ventoy.net/en/index.html), or [Rufus](https://rufus.ie/en/) Download the Arch Linux .iso file from <https://archlinux.org/download/> and mount it on a USB drive with [Etcher](https://www.balena.io/etcher/), [Ventoy](https://www.ventoy.net/en/index.html), [Rufus](https://rufus.ie/en/) or whichever tool you prefer.
If you don't want to build using this script I did create an image @ <https://www.christitus.com/arch-titus> Then, use the aforementioned USB to boot into Arch Linux. If you are using Wi-Fi instead of an Ethernet connection, refer to [Wi-Fi Installation](#wi-fi-installation). If not, type the following commands upon the initial prompt:
## Boot Arch ISO
From initial Prompt type the following commands:
``` ```
pacman -Sy git pacman -Sy git
git clone https://github.com/ChrisTitusTech/ArchTitus git clone https://github.com/outerelocarlos/Carl_OS
cd ArchTitus cd Carl_OS
./archtitus.sh chmod +x ./Carl_OS.sh
./Carl_OS.sh
``` ```
### System Description This initiates an almost completely automated Arch Linux install. This process includes prompts to select your desired desktop environment, window manager, AUR helper, and whether to do a full or minimal install.
This is completely automated arch install. It includes prompts to select your desired desktop environment, window manager, AUR helper, and whether to do a full or minimal install. The KDE desktop environment on arch includes all the packages I use on a daily basis, as well as some customizations.
### Wi-Fi Installation
First of all, you should check if your Wi-Fi network is blocked. To do so, run `rfkill list`.
If the output says **Soft blocked: yes**, then run `rfkill unblock wifi`.
After unblocking the Wi-Fi, you can connect to it. To do so, go through these 5 steps:
1. Run `iwctl`
2. Run `device list` and find your device's name.
3. Run `station [device name] scan`.
4. Run `station [device name] get-networks`.
5. Find your network and run `station [device name] connect [network name]`, enter your password and run `exit`. You can test if you have internet connection by running `ping google.com`, and then press Ctrl and C (Ctrl+C) to stop the ping test.
After these 5 steps, you may now type the previously provided commands to install Carl_OS
---
## Documentation
The package selection and their purpose is detailed in the **[PKG_Documentation.md](PKG_Documentation.md)** file.
## Troubleshooting ## Troubleshooting
__[Arch Linux RickEllis Installation Guide](https://github.com/rickellis/Arch-Linux-Install-Guide)__ **[Arch Linux RickEllis Installation Guide](https://github.com/rickellis/Arch-Linux-Install-Guide)**
__[Arch Linux Wiki Installation Guide](https://wiki.archlinux.org/title/Installation_guide)__ **[Arch Linux Wiki Installation Guide](https://wiki.archlinux.org/title/Installation_guide)**
The main script will generate .log files for every script that is run as part of the installation process. These log files contain the terminal output so you can review any warnings or errors that occurred during installation and aid in troubleshooting. The main script will generate .log files for every script that is run as part of the installation process. These log files contain the terminal output so you can review any warnings or errors that occurred during installation (helps with the troubleshooting).
### No Wifi
You can check if the WiFi is blocked by running `rfkill list`. ## Acknowledgements
If it says **Soft blocked: yes**, then run `rfkill unblock wifi`
After unblocking the WiFi, you can connect to it. Go through these 5 steps: This is a forked project based on [Arch Titus](https://github.com/ChrisTitusTech/ArchTitus). As such, most of the credit should go to Chris Titus and all of the amazing devs and enthusiasts who have contributed to the project. I would like to highlight the work done by [Austin Horstman](https://github.com/khaneliman) since he has really improved upon the structure of the project and streamlined the installation process.
#1: Run `iwctl`
#2: Run `device list`, and find your device name.
#3: Run `station [device name] scan`
#4: Run `station [device name] get-networks`
#5: Find your network, and run `station [device name] connect [network name]`, enter your password and run `exit`. You can test if you have internet connection by running `ping google.com`, and then Press Ctrl and C to stop the ping test.
## Reporting Issues
An issue is easier to resolve if it contains a few important pieces of information.
1. Chosen configuration from /configs/setup.conf (DONT INCLUDE PASSWORDS)
1. Errors seen in .log files
1. What commit/branch you used
1. Where you were installing (VMWare, Virtualbox, Virt-Manager, Baremetal, etc)
1. If a VM, what was the configuration used.
## Credits
- Original packages script was a post install cleanup script called ArchMatic located here: https://github.com/rickellis/ArchMatic
- Thank you to all the folks that helped during the creation from YouTube Chat! Here are all those Livestreams showing the creation: <https://www.youtube.com/watch?v=IkMCtkDIhe8&list=PLc7fktTRMBowNaBTsDHlL6X3P3ViX3tYg>

View File

@ -1,4 +1,4 @@
# ArchTitus # Carl_OS
Entrance script that launches children scripts for each phase of installation. Entrance script that launches children scripts for each phase of installation.

View File

@ -54,7 +54,7 @@ user using up, down and enter keys and returns the chosen option.
## logo() ## logo()
Displays ArchTitus logo Displays Carl_OS logo
_Function has no arguments._ _Function has no arguments._

View File

@ -2,7 +2,7 @@
**Library Files** **Library Files**
* [scripts/startup.sh](REFERENCE-startup.md) * [scripts/startup.sh](REFERENCE-startup.md)
* [scripts/0-preinstall.sh](REFERENCE-0-preinstall.md) * [scripts/0-preinstall.sh](REFERENCE-0-preinstall.md)
* [archtitus.sh](REFERENCE-archtitus.md) * [Carl_OS.sh](REFERENCE-Carl_OS.md)
* [scripts/1-setup.sh](REFERENCE-1-setup.md) * [scripts/1-setup.sh](REFERENCE-1-setup.md)
* [scripts/3-post-setup.sh](REFERENCE-3-post-setup.md) * [scripts/3-post-setup.sh](REFERENCE-3-post-setup.md)
* [scripts/2-user.sh](REFERENCE-2-user.md) * [scripts/2-user.sh](REFERENCE-2-user.md)

View File

@ -1,48 +0,0 @@
#!/bin/bash
#github-action genshdoc
#
# @file ArchTitus
# @brief Entrance script that launches children scripts for each phase of installation.
# Find the name of the folder the scripts are in
set -a
SCRIPT_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
SCRIPTS_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"/scripts
CONFIGS_DIR="$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"/configs
set +a
echo -ne "
-------------------------------------------------------------------------
█████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗
██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝
███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗
██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║
██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
-------------------------------------------------------------------------
Automated Arch Linux Installer
-------------------------------------------------------------------------
Scripts are in directory named ArchTitus
"
( bash $SCRIPT_DIR/scripts/startup.sh )|& tee startup.log
source $CONFIGS_DIR/setup.conf
( bash $SCRIPT_DIR/scripts/0-preinstall.sh )|& tee 0-preinstall.log
( arch-chroot /mnt $HOME/ArchTitus/scripts/1-setup.sh )|& tee 1-setup.log
if [[ ! $DESKTOP_ENV == server ]]; then
( arch-chroot /mnt /usr/bin/runuser -u $USERNAME -- /home/$USERNAME/ArchTitus/scripts/2-user.sh )|& tee 2-user.log
fi
( arch-chroot /mnt $HOME/ArchTitus/scripts/3-post-setup.sh )|& tee 3-post-setup.log
cp -v *.log /mnt/home/$USERNAME
echo -ne "
-------------------------------------------------------------------------
█████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗
██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝
███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗
██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║
██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
-------------------------------------------------------------------------
Automated Arch Linux Installer
-------------------------------------------------------------------------
Done - Please Eject Install Media and Reboot
"

View File

@ -16,7 +16,9 @@ nordic-theme
ocs-url ocs-url
plymouth-git plymouth-git
sddm-nordic-theme-git sddm-nordic-theme-git
sddm-sugar-candy-git
snapper-gui-git snapper-gui-git
teamviewer
ttf-meslo ttf-meslo
vde2 whatsapp-nativefier
zoom zoom

View File

@ -1,44 +1,44 @@
awesome awesome
lightdm lightdm
lightdm-gtk-greeter lightdm-gtk-greeter
thunar
lxsession lxsession
rxvt-unicode rxvt-unicode
thunar
--END OF MINIMAL INSTALL-- --END OF MINIMAL INSTALL--
alsa-utils alsa-utils
pulseaudio
pulseaudio-alsa
wireless_tools
zsh
dunst dunst
rofi
feh feh
geany
gsimplecal
gtk2-perl
htop
imagemagick
jq
lightdm-webkit2-greeter lightdm-webkit2-greeter
lightdm-webkit-theme-litarvan lightdm-webkit-theme-litarvan
lxappearance lxappearance
nano
neofetch
obconf
parcellite
pavucontrol
picom
playerctl
pulseaudio
pulseaudio-alsa
qt5ct qt5ct
gsimplecal rofi
xautolock
xclip
scrot scrot
tint2
thunar-archive-plugin thunar-archive-plugin
thunar-volman thunar-volman
thunar-media-tags-plugin thunar-media-tags-plugin
tumbler tumbler
jq
w3m
geany
nano
viewnior viewnior
pavucontrol w3m
parcellite wireless_tools
neofetch xautolock
htop xclip
picom
gtk2-perl
xfce4-power-manager xfce4-power-manager
imagemagick
playerctl
xsettingsd xsettingsd
obconf zsh

View File

@ -1,3 +1,3 @@
budgie-desktop budgie-desktop
gnome gnome
--END OF MINIMAL INSTALL-- --END OF MINIMAL INSTALL--

View File

@ -1,4 +1,4 @@
cinnamon cinnamon
metacity gnome-shell
gnome-shell metacity
--END OF MINIMAL INSTALL-- --END OF MINIMAL INSTALL--

View File

@ -1,3 +1,3 @@
deepin deepin
deepin-extra deepin-extra
--END OF MINIMAL INSTALL-- --END OF MINIMAL INSTALL--

View File

@ -1,3 +1,3 @@
gnome gnome
--END OF MINIMAL INSTALL--
gnome-extras gnome-extras
--END OF MINIMAL INSTALL--

View File

@ -1,6 +1,6 @@
dolphin
plasma-desktop plasma-desktop
sddm sddm
dolphin
--END OF MINIMAL INSTALL-- --END OF MINIMAL INSTALL--
ark ark
audiocd-kio audiocd-kio
@ -36,4 +36,4 @@ print-manager
spectacle spectacle
systemsettings systemsettings
xdg-desktop-portal-kde xdg-desktop-portal-kde
zeroconf-ioslave zeroconf-ioslave

View File

@ -1,2 +1,2 @@
lxde lxde
--END OF MINIMAL INSTALL-- --END OF MINIMAL INSTALL--

View File

@ -1,3 +1,3 @@
mate mate
mate-extra mate-extra
--END OF MINIMAL INSTALL-- --END OF MINIMAL INSTALL--

View File

@ -1,45 +1,44 @@
openbox
lightdm lightdm
lightdm-gtk-greeter lightdm-gtk-greeter
thunar
lxsession lxsession
openbox
rxvt-unicode rxvt-unicode
thunar
--END OF MINIMAL INSTALL-- --END OF MINIMAL INSTALL--
alsa-utils alsa-utils
pulseaudio
pulseaudio-alsa
wireless_tools
zsh
dunst dunst
tint2
rofi
feh feh
geany
gsimplecal
gtk2-perl
htop
imagemagick
jq
lightdm-webkit2-greeter lightdm-webkit2-greeter
lightdm-webkit-theme-litarvan lightdm-webkit-theme-litarvan
lxappearance lxappearance
nano
neofetch
obconf
parcellite
pavucontrol
picom
playerctl
pulseaudio
pulseaudio-alsa
qt5ct qt5ct
gsimplecal rofi
xautolock
xclip
scrot scrot
thunar-archive-plugin thunar-archive-plugin
thunar-volman thunar-volman
thunar-media-tags-plugin thunar-media-tags-plugin
tint2
tumbler tumbler
jq
w3m
geany
nano
viewnior viewnior
pavucontrol w3m
parcellite wireless_tools
neofetch xautolock
htop xclip
picom
gtk2-perl
xfce4-power-manager xfce4-power-manager
imagemagick
playerctl
xsettingsd xsettingsd
obconf zsh

View File

@ -1,23 +1,22 @@
mesa
xorg
xorg-server
xorg-apps
xorg-drivers
xorg-xkill
xorg-xinit
xterm
binutils binutils
dosfstools dosfstools
linux-headers linux-headers
mesa
noto-fonts-emoji noto-fonts-emoji
usbutils usbutils
xdg-user-dirs xdg-user-dirs
xorg
xorg-apps
xorg-drivers
xorg-xinit
xterm
--END OF MINIMAL INSTALL-- --END OF MINIMAL INSTALL--
alsa-plugins alsa-plugins
alsa-utils alsa-utils
autoconf autoconf
automake automake
awesome-terminal-fonts awesome-terminal-fonts
barrier
bash-completion bash-completion
bind bind
bison bison
@ -34,10 +33,14 @@ cups
dialog dialog
dmidecode dmidecode
dnsmasq dnsmasq
docker
dtc dtc
efibootmgr efibootmgr
egl-wayland egl-wayland
exfat-utils exfat-utils
firefox
firefox-decentraleyes
firefox-ublock-origin
flex flex
fuse2 fuse2
fuse3 fuse3
@ -86,7 +89,7 @@ snap-pac
snapper snapper
steam steam
swtpm swtpm
synergy telegram-desktop
terminus-font terminus-font
traceroute traceroute
ttf-droid ttf-droid
@ -95,6 +98,7 @@ ttf-roboto
ufw ufw
unrar unrar
unzip unzip
vde2
virt-manager virt-manager
virt-viewer virt-viewer
which which
@ -103,5 +107,5 @@ wine-mono
winetricks winetricks
zip zip
zsh zsh
zsh-syntax-highlighting
zsh-autosuggestions zsh-autosuggestions
zsh-syntax-highlighting

View File

@ -1,3 +1,3 @@
xfce4 xfce4
xfce4-goodies xfce4-goodies
--END OF MINIMAL INSTALL-- --END OF MINIMAL INSTALL--

View File

@ -1,11 +1,13 @@
#!/usr/bin/env bash #!/usr/bin/env bash
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
# █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ #
# ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ # ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗
# ███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ # ██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝
# ██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ # ██║ ███████║██████╔╝██║ ██║ ██║███████╗
# ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ # ██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║
# ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ # ╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║
# ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝
#
#------------------------------------------------------------------------- #-------------------------------------------------------------------------
#github-action genshdoc #github-action genshdoc
# #
@ -13,14 +15,16 @@
# @brief Contains the steps necessary to configure and pacstrap the install to selected drive. # @brief Contains the steps necessary to configure and pacstrap the install to selected drive.
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
█████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗
██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗
███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ ██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝
██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ ██║ ███████║██████╔╝██║ ██║ ██║███████╗
██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ ██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝
------------------------------------------------------------------------- -------------------------------------------------------------------------
Automated Arch Linux Installer Automated Arch Linux Installer
------------------------------------------------------------------------- -------------------------------------------------------------------------
Setting up mirrors for optimal download Setting up mirrors for optimal download
@ -36,20 +40,20 @@ pacman -S --noconfirm --needed reflector rsync grub
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.backup
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Setting up $iso mirrors for faster downloads Setting up $iso mirrors for faster downloads
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
reflector -a 48 -c $iso -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist reflector -a 48 -c $iso -f 5 -l 20 --sort rate --save /etc/pacman.d/mirrorlist
mkdir /mnt &>/dev/null # Hiding error message if any mkdir /mnt &>/dev/null # Hiding error message if any
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Installing Prerequisites Installing Prerequisites
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
pacman -S --noconfirm --needed gptfdisk btrfs-progs glibc pacman -S --noconfirm --needed gptfdisk btrfs-progs glibc
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Formating Disk Formating Disk
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
umount -A --recursive /mnt # make sure everything is unmounted before we start umount -A --recursive /mnt # make sure everything is unmounted before we start
@ -69,7 +73,7 @@ partprobe ${DISK} # reread partition table to ensure it is correct
# make filesystems # make filesystems
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Creating Filesystems Creating Filesystems
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
# @description Creates the btrfs subvolumes. # @description Creates the btrfs subvolumes.
@ -148,12 +152,12 @@ if ! grep -qs '/mnt' /proc/mounts; then
fi fi
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Arch Install on Main Drive Arch Install on Main Drive
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
pacstrap /mnt base base-devel linux linux-firmware vim nano sudo archlinux-keyring wget libnewt --noconfirm --needed pacstrap /mnt base base-devel linux linux-firmware vim nano sudo archlinux-keyring wget libnewt --noconfirm --needed
echo "keyserver hkp://keyserver.ubuntu.com" >> /mnt/etc/pacman.d/gnupg/gpg.conf echo "keyserver hkp://keyserver.ubuntu.com" >> /mnt/etc/pacman.d/gnupg/gpg.conf
cp -R ${SCRIPT_DIR} /mnt/root/ArchTitus cp -R ${SCRIPT_DIR} /mnt/root/Carl_OS
cp /etc/pacman.d/mirrorlist /mnt/etc/pacman.d/mirrorlist cp /etc/pacman.d/mirrorlist /mnt/etc/pacman.d/mirrorlist
genfstab -L /mnt >> /mnt/etc/fstab genfstab -L /mnt >> /mnt/etc/fstab
@ -163,7 +167,7 @@ echo "
cat /mnt/etc/fstab cat /mnt/etc/fstab
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
GRUB BIOS Bootloader Install & Check GRUB BIOS Bootloader Install & Check
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
if [[ ! -d "/sys/firmware/efi" ]]; then if [[ ! -d "/sys/firmware/efi" ]]; then
@ -173,7 +177,7 @@ else
fi fi
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Checking for low memory systems <8G Checking for low memory systems <8G
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
TOTAL_MEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*') TOTAL_MEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*')
@ -191,6 +195,6 @@ if [[ $TOTAL_MEM -lt 8000000 ]]; then
fi fi
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
SYSTEM READY FOR 1-setup.sh SYSTEM READY FOR 1-setup.sh
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "

View File

@ -5,28 +5,30 @@
# @brief Configures installed system, installs base packages, and creates user. # @brief Configures installed system, installs base packages, and creates user.
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
█████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗
██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗
███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ ██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝
██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ ██║ ███████║██████╔╝██║ ██║ ██║███████╗
██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ ██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝
------------------------------------------------------------------------- -------------------------------------------------------------------------
Automated Arch Linux Installer Automated Arch Linux Installer
SCRIPTHOME: ArchTitus SCRIPTHOME: Carl_OS
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
source $HOME/ArchTitus/configs/setup.conf source $HOME/Carl_OS/configs/setup.conf
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Network Setup Network Setup
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
pacman -S --noconfirm --needed networkmanager dhclient pacman -S --noconfirm --needed networkmanager dhclient
systemctl enable --now NetworkManager systemctl enable --now NetworkManager
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Setting up mirrors for optimal download Setting up mirrors for optimal download
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
pacman -S --noconfirm --needed pacman-contrib curl pacman -S --noconfirm --needed pacman-contrib curl
@ -36,9 +38,9 @@ cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
nc=$(grep -c ^processor /proc/cpuinfo) nc=$(grep -c ^processor /proc/cpuinfo)
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
You have " $nc" cores. And CPU has "$nc" cores
changing the makeflags for "$nc" cores. Aswell as Changing makeflags for "$nc" cores
changing the compression settings. Changing the compression settings accordingly
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
TOTAL_MEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*') TOTAL_MEM=$(cat /proc/meminfo | grep -i 'memtotal' | grep -o '[[:digit:]]*')
@ -48,7 +50,7 @@ sed -i "s/COMPRESSXZ=(xz -c -z -)/COMPRESSXZ=(xz -c -T $nc -z -)/g" /etc/makepkg
fi fi
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Setup Language to US and set locale Setup Language to US and set locale
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
sed -i 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen sed -i 's/^#en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen
@ -58,7 +60,7 @@ timedatectl --no-ask-password set-ntp 1
localectl --no-ask-password set-locale LANG="en_US.UTF-8" LC_TIME="en_US.UTF-8" localectl --no-ask-password set-locale LANG="en_US.UTF-8" LC_TIME="en_US.UTF-8"
ln -s /usr/share/zoneinfo/${TIMEZONE} /etc/localtime ln -s /usr/share/zoneinfo/${TIMEZONE} /etc/localtime
# Set keymaps # Set keymaps
localectl --no-ask-password set-keymap ${KEYMAP} localectl --no-ask-password set-keymap --no-convert ${KEYMAP}
# Add sudo no password rights # Add sudo no password rights
sed -i 's/^# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers sed -i 's/^# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers
@ -73,13 +75,13 @@ pacman -Sy --noconfirm --needed
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Installing Base System Installing Base System
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
# sed $INSTALL_TYPE is using install type to check for MINIMAL installation, if it's true, stop # sed $INSTALL_TYPE is using install type to check for MINIMAL installation, if it's true, stop
# stop the script and move on, not installing any more packages below that line # stop the script and move on, not installing any more packages below that line
if [[ ! $DESKTOP_ENV == server ]]; then if [[ ! $DESKTOP_ENV == server ]]; then
sed -n '/'$INSTALL_TYPE'/q;p' $HOME/ArchTitus/pkg-files/pacman-pkgs.txt | while read line sed -n '/'$INSTALL_TYPE'/q;p' $HOME/Carl_OS/pkg-files/pacman-pkgs.txt | while read line
do do
if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]; then if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]; then
# If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line
@ -91,7 +93,7 @@ if [[ ! $DESKTOP_ENV == server ]]; then
fi fi
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Installing Microcode Installing Microcode
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
# determine processor type and install microcode # determine processor type and install microcode
@ -108,7 +110,7 @@ fi
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Installing Graphics Drivers Installing Graphics Drivers
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
# Graphics Drivers find and install # Graphics Drivers find and install
@ -124,7 +126,7 @@ elif grep -E "Intel Corporation UHD" <<< ${gpu_type}; then
pacman -S --needed --noconfirm libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa pacman -S --needed --noconfirm libva-intel-driver libvdpau-va-gl lib32-vulkan-intel vulkan-intel libva-intel-driver libva-utils lib32-mesa
fi fi
#SETUP IS WRONG THIS IS RUN #SETUP IS WRONG THIS IS RUN
if ! source $HOME/ArchTitus/configs/setup.conf; then if ! source $HOME/Carl_OS/configs/setup.conf; then
# Loop through user input until the user gives a valid username # Loop through user input until the user gives a valid username
while true while true
do do
@ -138,11 +140,11 @@ if ! source $HOME/ArchTitus/configs/setup.conf; then
echo "Incorrect username." echo "Incorrect username."
done done
# convert name to lowercase before saving to setup.conf # convert name to lowercase before saving to setup.conf
echo "username=${username,,}" >> ${HOME}/ArchTitus/configs/setup.conf echo "username=${username,,}" >> ${HOME}/Carl_OS/configs/setup.conf
#Set Password #Set Password
read -p "Please enter password:" password read -p "Please enter password:" password
echo "password=${password,,}" >> ${HOME}/ArchTitus/configs/setup.conf echo "password=${password,,}" >> ${HOME}/Carl_OS/configs/setup.conf
# Loop through user input until the user gives a valid hostname, but allow the user to force save # Loop through user input until the user gives a valid hostname, but allow the user to force save
while true while true
@ -161,11 +163,11 @@ echo "password=${password,,}" >> ${HOME}/ArchTitus/configs/setup.conf
fi fi
done done
echo "NAME_OF_MACHINE=${name_of_machine,,}" >> ${HOME}/ArchTitus/configs/setup.conf echo "NAME_OF_MACHINE=${name_of_machine,,}" >> ${HOME}/Carl_OS/configs/setup.conf
fi fi
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Adding User Adding User
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
if [ $(whoami) = "root" ]; then if [ $(whoami) = "root" ]; then
@ -177,9 +179,9 @@ if [ $(whoami) = "root" ]; then
echo "$USERNAME:$PASSWORD" | chpasswd echo "$USERNAME:$PASSWORD" | chpasswd
echo "$USERNAME password set" echo "$USERNAME password set"
cp -R $HOME/ArchTitus /home/$USERNAME/ cp -R $HOME/Carl_OS /home/$USERNAME/
chown -R $USERNAME: /home/$USERNAME/ArchTitus chown -R $USERNAME: /home/$USERNAME/Carl_OS
echo "ArchTitus copied to home directory" echo "Carl_OS copied to home directory"
# enter $NAME_OF_MACHINE to /etc/hostname # enter $NAME_OF_MACHINE to /etc/hostname
echo $NAME_OF_MACHINE > /etc/hostname echo $NAME_OF_MACHINE > /etc/hostname
@ -195,6 +197,6 @@ if [[ ${FS} == "luks" ]]; then
fi fi
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
SYSTEM READY FOR 2-user.sh SYSTEM READY FOR 2-user.sh
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "

View File

@ -4,21 +4,22 @@
# @file User # @file User
# @brief User customizations and AUR package installation. # @brief User customizations and AUR package installation.
echo -ne " echo -ne "
-------------------------------------------------------------------------
█████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗
██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝
███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗
██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║
██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
-------------------------------------------------------------------------
Automated Arch Linux Installer
SCRIPTHOME: ArchTitus
------------------------------------------------------------------------- -------------------------------------------------------------------------
Installing AUR Softwares ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗
██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝
██║ ███████║██████╔╝██║ ██║ ██║███████╗
██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║
╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝
-------------------------------------------------------------------------
Automated Arch Linux Installer
SCRIPTHOME: Carl_OS
-------------------------------------------------------------------------
AUR Packages Install
" "
source $HOME/ArchTitus/configs/setup.conf source $HOME/Carl_OS/configs/setup.conf
cd ~ cd ~
mkdir "/home/$USERNAME/.cache" mkdir "/home/$USERNAME/.cache"
@ -27,7 +28,7 @@ source $HOME/ArchTitus/configs/setup.conf
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k
ln -s "~/zsh/.zshrc" ~/.zshrc ln -s "~/zsh/.zshrc" ~/.zshrc
sed -n '/'$INSTALL_TYPE'/q;p' ~/ArchTitus/pkg-files/${DESKTOP_ENV}.txt | while read line sed -n '/'$INSTALL_TYPE'/q;p' ~/Carl_OS/pkg-files/${DESKTOP_ENV}.txt | while read line
do do
if [[ ${line} == '--END OF MINIMAL INSTALL--' ]] if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]
then then
@ -46,7 +47,7 @@ if [[ ! $AUR_HELPER == none ]]; then
makepkg -si --noconfirm makepkg -si --noconfirm
# sed $INSTALL_TYPE is using install type to check for MINIMAL installation, if it's true, stop # sed $INSTALL_TYPE is using install type to check for MINIMAL installation, if it's true, stop
# stop the script and move on, not installing any more packages below that line # stop the script and move on, not installing any more packages below that line
sed -n '/'$INSTALL_TYPE'/q;p' ~/ArchTitus/pkg-files/aur-pkgs.txt | while read line sed -n '/'$INSTALL_TYPE'/q;p' ~/Carl_OS/pkg-files/aur-pkgs.txt | while read line
do do
if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]; then if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]; then
# If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line
@ -62,15 +63,17 @@ export PATH=$PATH:~/.local/bin
# Theming DE if user chose FULL installation # Theming DE if user chose FULL installation
if [[ $INSTALL_TYPE == "FULL" ]]; then if [[ $INSTALL_TYPE == "FULL" ]]; then
if [[ $DESKTOP_ENV == "kde" ]]; then if [[ $DESKTOP_ENV == "kde" ]]; then
cp -r ~/ArchTitus/configs/.config/* ~/.config/ cp -r ~/Carl_OS/configs/.config/* ~/.config/
pip install konsave pip install konsave
konsave -i ~/ArchTitus/configs/kde.knsv konsave -i ~/Carl_OS/configs/kde.knsv
sleep 1 sleep 1
konsave -a kde konsave -a kde
elif [[ $DESKTOP_ENV == "openbox" ]]; then elif [[ $DESKTOP_ENV == "openbox" ]]; then
cd ~ cd ~
git clone https://github.com/stojshic/dotfiles-openbox git clone https://github.com/stojshic/dotfiles-openbox
./dotfiles-openbox/install-titus.sh ./dotfiles-openbox/install-titus.sh
elif [[ [ $DESKTOP_ENV == "gnome" ] && [ ! $AUR_HELPER == none ] ]]; then
$AUR_HELPER -S --noconfirm --needed gnome-shell-extension-pop-shell
fi fi
fi fi

View File

@ -4,22 +4,23 @@
# @file Post-Setup # @file Post-Setup
# @brief Finalizing installation configurations and cleaning up after script. # @brief Finalizing installation configurations and cleaning up after script.
echo -ne " echo -ne "
-------------------------------------------------------------------------
█████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗
██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝
███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗
██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║
██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝
-------------------------------------------------------------------------
Automated Arch Linux Installer
SCRIPTHOME: ArchTitus
------------------------------------------------------------------------- -------------------------------------------------------------------------
Final Setup and Configurations ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗
GRUB EFI Bootloader Install & Check ██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝
██║ ███████║██████╔╝██║ ██║ ██║███████╗
██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║
╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║
╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝
-------------------------------------------------------------------------
Automated Arch Linux Installer
SCRIPTHOME: Carl_OS
-------------------------------------------------------------------------
Final Setup and Configurations
GRUB EFI Bootloader: Install & Check
" "
source ${HOME}/ArchTitus/configs/setup.conf source ${HOME}/Carl_OS/configs/setup.conf
if [[ -d "/sys/firmware/efi" ]]; then if [[ -d "/sys/firmware/efi" ]]; then
grub-install --efi-directory=/boot ${DISK} grub-install --efi-directory=/boot ${DISK}
@ -27,7 +28,7 @@ fi
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Creating (and Theming) Grub Boot Menu Creating (and Theming) Grub Boot Menu
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
# set kernel parameter for decrypting the drive # set kernel parameter for decrypting the drive
@ -43,7 +44,7 @@ THEME_NAME=CyberRe
echo -e "Creating the theme directory..." echo -e "Creating the theme directory..."
mkdir -p "${THEME_DIR}/${THEME_NAME}" mkdir -p "${THEME_DIR}/${THEME_NAME}"
echo -e "Copying the theme..." echo -e "Copying the theme..."
cd ${HOME}/ArchTitus cd ${HOME}/Carl_OS
cp -a configs${THEME_DIR}/${THEME_NAME}/* ${THEME_DIR}/${THEME_NAME} cp -a configs${THEME_DIR}/${THEME_NAME}/* ${THEME_DIR}/${THEME_NAME}
echo -e "Backing up Grub config..." echo -e "Backing up Grub config..."
cp -an /etc/default/grub /etc/default/grub.bak cp -an /etc/default/grub /etc/default/grub.bak
@ -56,7 +57,7 @@ echo -e "All set!"
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Enabling (and Theming) Login Display Manager Enabling (and Theming) Login Display Manager
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
if [[ ${DESKTOP_ENV} == "kde" ]]; then if [[ ${DESKTOP_ENV} == "kde" ]]; then
@ -67,12 +68,12 @@ if [[ ${DESKTOP_ENV} == "kde" ]]; then
fi fi
elif [[ "${DESKTOP_ENV}" == "gnome" ]]; then elif [[ "${DESKTOP_ENV}" == "gnome" ]]; then
systemctl enable gdm.service systemctl enable gdm.service
elif [[ "${DESKTOP_ENV}" == "lxde" ]]; then elif [[ "${DESKTOP_ENV}" == "lxde" ]]; then
systemctl enable lxdm.service systemctl enable lxdm.service
elif [[ "${DESKTOP_ENV}" == "openbox" ]]; then elif [[ ["${DESKTOP_ENV}" == "openbox"] || ["${DESKTOP_ENV}" == "awesome"] ]]; then
systemctl enable lightdm.service systemctl enable lightdm.service
if [[ "${INSTALL_TYPE}" == "FULL" ]]; then if [[ "${INSTALL_TYPE}" == "FULL" ]]; then
# Set default lightdm-webkit2-greeter theme to Litarvan # Set default lightdm-webkit2-greeter theme to Litarvan
@ -90,7 +91,7 @@ fi
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Enabling Essential Services Enabling Essential Services
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
systemctl enable cups.service systemctl enable cups.service
@ -109,18 +110,30 @@ echo " Bluetooth enabled"
systemctl enable avahi-daemon.service systemctl enable avahi-daemon.service
echo " Avahi enabled" echo " Avahi enabled"
echo -ne "
-------------------------------------------------------------------------
Setting up my Docker environment
-------------------------------------------------------------------------
"
systemctl enable docker
echo " Docker enabled"
systemctl start docker
echo " Docker started"
docker pull gitea/gitea
if [[ "${FS}" == "luks" || "${FS}" == "btrfs" ]]; then if [[ "${FS}" == "luks" || "${FS}" == "btrfs" ]]; then
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Creating Snapper Config Creating Snapper Config
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
SNAPPER_CONF="$HOME/ArchTitus/configs/etc/snapper/configs/root" SNAPPER_CONF="$HOME/Carl_OS/configs/etc/snapper/configs/root"
mkdir -p /etc/snapper/configs/ mkdir -p /etc/snapper/configs/
cp -rfv ${SNAPPER_CONF} /etc/snapper/configs/ cp -rfv ${SNAPPER_CONF} /etc/snapper/configs/
SNAPPER_CONF_D="$HOME/ArchTitus/configs/etc/conf.d/snapper" SNAPPER_CONF_D="$HOME/Carl_OS/configs/etc/conf.d/snapper"
mkdir -p /etc/conf.d/ mkdir -p /etc/conf.d/
cp -rfv ${SNAPPER_CONF_D} /etc/conf.d/ cp -rfv ${SNAPPER_CONF_D} /etc/conf.d/
@ -131,12 +144,12 @@ echo -ne "
Enabling (and Theming) Plymouth Boot Splash Enabling (and Theming) Plymouth Boot Splash
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
PLYMOUTH_THEMES_DIR="$HOME/ArchTitus/configs/usr/share/plymouth/themes" PLYMOUTH_THEMES_DIR="$HOME/Carl_OS/configs/usr/share/plymouth/themes"
PLYMOUTH_THEME="arch-glow" # can grab from config later if we allow selection PLYMOUTH_THEME="arch-glow" # can grab from config later if we allow selection
mkdir -p /usr/share/plymouth/themes mkdir -p /usr/share/plymouth/themes
echo 'Installing Plymouth theme...' echo 'Installing Plymouth theme...'
cp -rf ${PLYMOUTH_THEMES_DIR}/${PLYMOUTH_THEME} /usr/share/plymouth/themes cp -rf ${PLYMOUTH_THEMES_DIR}/${PLYMOUTH_THEME} /usr/share/plymouth/themes
if [[ $FS == "luks"]]; then if [[ "${FS}" == "luks" ]]; then
sed -i 's/HOOKS=(base udev*/& plymouth/' /etc/mkinitcpio.conf # add plymouth after base udev sed -i 's/HOOKS=(base udev*/& plymouth/' /etc/mkinitcpio.conf # add plymouth after base udev
sed -i 's/HOOKS=(base udev \(.*block\) /&plymouth-/' /etc/mkinitcpio.conf # create plymouth-encrypt after block hook sed -i 's/HOOKS=(base udev \(.*block\) /&plymouth-/' /etc/mkinitcpio.conf # create plymouth-encrypt after block hook
else else
@ -147,7 +160,7 @@ echo 'Plymouth theme installed'
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
Cleaning Cleaning
------------------------------------------------------------------------- -------------------------------------------------------------------------
" "
# Remove no password sudo rights # Remove no password sudo rights
@ -157,8 +170,8 @@ sed -i 's/^%wheel ALL=(ALL:ALL) NOPASSWD: ALL/# %wheel ALL=(ALL:ALL) NOPASSWD: A
sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers sed -i 's/^# %wheel ALL=(ALL) ALL/%wheel ALL=(ALL) ALL/' /etc/sudoers
sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers sed -i 's/^# %wheel ALL=(ALL:ALL) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers
rm -r $HOME/ArchTitus rm -r $HOME/Carl_OS
rm -r /home/$USERNAME/ArchTitus rm -r /home/$USERNAME/Carl_OS
# Replace in the same state # Replace in the same state
cd $pwd cd $pwd

View File

@ -131,20 +131,22 @@ select_option() {
return $(( $active_col + $active_row * $colmax )) return $(( $active_col + $active_row * $colmax ))
} }
# @description Displays ArchTitus logo # @description Displays Carl_OS logo
# @noargs # @noargs
logo () { logo () {
# This will be shown on every set as user is progressing # This will be shown on every set as user is progressing
echo -ne " echo -ne "
------------------------------------------------------------------------- -------------------------------------------------------------------------
█████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗
██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗
███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ ██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝
██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ ██║ ███████║██████╔╝██║ ██║ ██║███████╗
██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ ██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║
╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ ╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║
------------------------------------------------------------------------ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝
Please select presetup settings for your system
-------------------------------------------------------------------------
Please select presetup settings for your system
------------------------------------------------------------------------ ------------------------------------------------------------------------
" "
} }
@ -240,9 +242,9 @@ esac
diskpart () { diskpart () {
echo -ne " echo -ne "
------------------------------------------------------------------------ ------------------------------------------------------------------------
THIS WILL FORMAT AND DELETE ALL DATA ON THE DISK THIS WILL FORMAT AND DELETE ALL DATA ON THE DISK
Please make sure you know what you are doing because Please make sure you know what you are doing because
after formating your disk there is no way to get data back after formating your disk there is no way to get data back
------------------------------------------------------------------------ ------------------------------------------------------------------------
" "
@ -296,7 +298,7 @@ aurhelper () {
desktopenv () { desktopenv () {
# Let the user choose Desktop Enviroment from predefined list # Let the user choose Desktop Enviroment from predefined list
echo -ne "Please select your desired Desktop Enviroment:\n" echo -ne "Please select your desired Desktop Enviroment:\n"
options=(gnome kde cinnamon xfce mate budgie lxde deepin openbox server) options=(gnome kde cinnamon xfce mate budgie lxde deepin openbox awesome server)
select_option $? 4 "${options[@]}" select_option $? 4 "${options[@]}"
desktop_env=${options[$?]} desktop_env=${options[$?]}
set_option DESKTOP_ENV $desktop_env set_option DESKTOP_ENV $desktop_env

Binary file not shown.

Before

Width:  |  Height:  |  Size: 792 KiB