diff --git a/.github/dependabot.yml b/.github/dependabot.yml deleted file mode 100644 index 583decf..0000000 --- a/.github/dependabot.yml +++ /dev/null @@ -1,7 +0,0 @@ -version: 2 -updates: - # Maintain dependencies for GitHub Actions - - package-ecosystem: "github-actions" - directory: "/" - schedule: - interval: "daily" \ No newline at end of file diff --git a/.github/labeler.yml b/.github/labeler.yml deleted file mode 100644 index de40377..0000000 --- a/.github/labeler.yml +++ /dev/null @@ -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/**/* \ No newline at end of file diff --git a/.github/workflows/combine.yml b/.github/workflows/combine.yml deleted file mode 100644 index 435f74e..0000000 --- a/.github/workflows/combine.yml +++ /dev/null @@ -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 \ No newline at end of file diff --git a/.github/workflows/generate-documentation.yml b/.github/workflows/generate-documentation.yml deleted file mode 100644 index 658483c..0000000 --- a/.github/workflows/generate-documentation.yml +++ /dev/null @@ -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 }} \ No newline at end of file diff --git a/.github/workflows/label.yml b/.github/workflows/label.yml deleted file mode 100644 index ef3d7d5..0000000 --- a/.github/workflows/label.yml +++ /dev/null @@ -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 }}" \ No newline at end of file diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml deleted file mode 100644 index 5df60a8..0000000 --- a/.github/workflows/linter.yml +++ /dev/null @@ -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 }} \ No newline at end of file diff --git a/.gitignore b/.gitignore deleted file mode 100644 index a20aba1..0000000 --- a/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -install.conf -installlog.txt -archnikus.code-workspace -setup.conf \ No newline at end of file diff --git a/CODEOWNERS b/CODEOWNERS deleted file mode 100644 index 0af880c..0000000 --- a/CODEOWNERS +++ /dev/null @@ -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 \ No newline at end of file diff --git a/Carl_OS.png b/Carl_OS.png new file mode 100644 index 0000000..f5840a6 Binary files /dev/null and b/Carl_OS.png differ diff --git a/Carl_OS.sh b/Carl_OS.sh new file mode 100644 index 0000000..fd7b01b --- /dev/null +++ b/Carl_OS.sh @@ -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 + +" diff --git a/LICENSE b/LICENSE index b78f314..f34ea01 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,7 @@ MIT License Copyright (c) 2021 Chris Titus +Copyright (c) 2022 Carlos Outerelo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/PKG_Documentation.md b/PKG_Documentation.md index 9a030e1..3e1be41 100644 --- a/PKG_Documentation.md +++ b/PKG_Documentation.md @@ -18,7 +18,7 @@ * [MATE Desktop Environment](#mate-desktop-environment) -* [Openbox and Awesome](#openbox-and-awesome) +* [Openbox](#openbox) * [XFCE Desktop Environment](#xfce-desktop-environment) @@ -26,7 +26,7 @@ #### Essentials -The following packages are included in all ArchTitus versions and flavours since they are essential pieces of the operating system: +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. @@ -66,6 +66,8 @@ FULL installations also include the following packages: * **[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. @@ -98,6 +100,8 @@ FULL installations also include the following packages: * **[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. @@ -208,7 +212,7 @@ FULL installations also include the following packages: * **[swtpm](https://archlinux.org/packages/community/x86_64/swtpm/)**: Libtpms-based TPM emulator with socket, character device, and Linux CUSE interface. -* **[synergy](https://archlinux.org/packages/community/x86_64/synergy/)**: A paid and close-source alternative to [barrier](https://archlinux.org/packages/community/x86_64/barrier/). Adds KVM functionalities so that you can use your mouse and keyboard across multiple devices. +* **[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). @@ -288,8 +292,12 @@ Only for FULL installations (MINIMAL installs do not install AUR packages). * **[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 diff --git a/README.md b/README.md index 936730d..bd814fd 100644 --- a/README.md +++ b/README.md @@ -1,68 +1,60 @@ -# ArchTitus Installer Script -[![GitHub Super-Linter](https://github.com/ChrisTitusTech/ArchTitus/workflows/Lint%20Code%20Base/badge.svg)](https://github.com/marketplace/actions/super-linter) +# Carl_OS - +[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.) + + +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 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 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 @ - -## Boot Arch ISO - -From initial Prompt type the following commands: +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: ``` pacman -Sy git -git clone https://github.com/ChrisTitusTech/ArchTitus -cd ArchTitus -./archtitus.sh +git clone https://github.com/outerelocarlos/Carl_OS +cd Carl_OS +chmod +x ./Carl_OS.sh +./Carl_OS.sh ``` -### System Description -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. +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. +### 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 -__[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. -### No Wifi +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). -You can check if the WiFi is blocked by running `rfkill list`. -If it says **Soft blocked: yes**, then run `rfkill unblock wifi` +## Acknowledgements -After unblocking the WiFi, you can connect to it. Go through these 5 steps: - -#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: +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. \ No newline at end of file diff --git a/REFERENCE-archtitus.md b/REFERENCE-Carl_OS.md similarity index 88% rename from REFERENCE-archtitus.md rename to REFERENCE-Carl_OS.md index ecd766e..786c804 100644 --- a/REFERENCE-archtitus.md +++ b/REFERENCE-Carl_OS.md @@ -1,4 +1,4 @@ -# ArchTitus +# Carl_OS Entrance script that launches children scripts for each phase of installation. diff --git a/REFERENCE-startup.md b/REFERENCE-startup.md index 221d4bf..11c5d3b 100644 --- a/REFERENCE-startup.md +++ b/REFERENCE-startup.md @@ -54,7 +54,7 @@ user using up, down and enter keys and returns the chosen option. ## logo() -Displays ArchTitus logo +Displays Carl_OS logo _Function has no arguments._ diff --git a/REFERENCE.md b/REFERENCE.md index 8fa58c7..ccf6ba3 100644 --- a/REFERENCE.md +++ b/REFERENCE.md @@ -2,7 +2,7 @@ **Library Files** * [scripts/startup.sh](REFERENCE-startup.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/3-post-setup.sh](REFERENCE-3-post-setup.md) * [scripts/2-user.sh](REFERENCE-2-user.md) diff --git a/archtitus.sh b/archtitus.sh deleted file mode 100755 index f30f175..0000000 --- a/archtitus.sh +++ /dev/null @@ -1,53 +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 - -" diff --git a/pkg-files/aur-pkgs.txt b/pkg-files/aur-pkgs.txt index 687240c..3c8ce10 100644 --- a/pkg-files/aur-pkgs.txt +++ b/pkg-files/aur-pkgs.txt @@ -16,6 +16,9 @@ nordic-theme ocs-url plymouth-git sddm-nordic-theme-git +sddm-sugar-candy-git snapper-gui-git +teamviewer ttf-meslo +whatsapp-nativefier zoom \ No newline at end of file diff --git a/pkg-files/gnome.txt b/pkg-files/gnome.txt index c39ec12..f9ba78a 100644 --- a/pkg-files/gnome.txt +++ b/pkg-files/gnome.txt @@ -1,3 +1,3 @@ gnome ---END OF MINIMAL INSTALL-- -gnome-extras \ No newline at end of file +gnome-extras +--END OF MINIMAL INSTALL-- \ No newline at end of file diff --git a/pkg-files/pacman-pkgs.txt b/pkg-files/pacman-pkgs.txt index 8151601..a6c05b2 100644 --- a/pkg-files/pacman-pkgs.txt +++ b/pkg-files/pacman-pkgs.txt @@ -16,6 +16,7 @@ alsa-utils autoconf automake awesome-terminal-fonts +barrier bash-completion bind bison @@ -32,10 +33,14 @@ cups dialog dmidecode dnsmasq +docker dtc efibootmgr egl-wayland exfat-utils +firefox +firefox-decentraleyes +firefox-ublock-origin flex fuse2 fuse3 @@ -84,7 +89,7 @@ snap-pac snapper steam swtpm -synergy +telegram-desktop terminus-font traceroute ttf-droid diff --git a/scripts/0-preinstall.sh b/scripts/0-preinstall.sh index d53cf53..7272062 100755 --- a/scripts/0-preinstall.sh +++ b/scripts/0-preinstall.sh @@ -1,13 +1,13 @@ #!/usr/bin/env bash #------------------------------------------------------------------------- # -# █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ -# ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ -# ███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ -# ██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ -# ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ -# ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ -# +# ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗ +# ██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝ +# ██║ ███████║██████╔╝██║ ██║ ██║███████╗ +# ██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║ +# ╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║ +# ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝ +# #------------------------------------------------------------------------- #github-action genshdoc # @@ -16,12 +16,12 @@ echo -ne " ------------------------------------------------------------------------- - █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ - ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ - ███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ - ██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ - ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ - ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ + ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗ + ██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝ + ██║ ███████║██████╔╝██║ ██║ ██║███████╗ + ██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║ + ╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║ + ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝ ------------------------------------------------------------------------- Automated Arch Linux Installer @@ -157,7 +157,7 @@ echo -ne " " 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 -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 genfstab -L /mnt >> /mnt/etc/fstab diff --git a/scripts/1-setup.sh b/scripts/1-setup.sh index f67e7bb..6c2b402 100755 --- a/scripts/1-setup.sh +++ b/scripts/1-setup.sh @@ -6,19 +6,19 @@ echo -ne " ------------------------------------------------------------------------- - █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ - ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ - ███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ - ██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ - ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ - ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ - + ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗ + ██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝ + ██║ ███████║██████╔╝██║ ██║ ██║███████╗ + ██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║ + ╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║ + ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝ + ------------------------------------------------------------------------- Automated Arch Linux Installer - SCRIPTHOME: ArchTitus + SCRIPTHOME: Carl_OS ------------------------------------------------------------------------- " -source $HOME/ArchTitus/configs/setup.conf +source $HOME/Carl_OS/configs/setup.conf echo -ne " ------------------------------------------------------------------------- Network Setup @@ -60,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" ln -s /usr/share/zoneinfo/${TIMEZONE} /etc/localtime # Set keymaps -localectl --no-ask-password set-keymap ${KEYMAP} +localectl --no-ask-password set-keymap --no-convert ${KEYMAP} # Add sudo no password rights sed -i 's/^# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/' /etc/sudoers @@ -81,7 +81,7 @@ echo -ne " # 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 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 if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]; then # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line @@ -126,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 fi #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 while true do @@ -140,11 +140,11 @@ if ! source $HOME/ArchTitus/configs/setup.conf; then echo "Incorrect username." done # 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 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 while true @@ -163,7 +163,7 @@ echo "password=${password,,}" >> ${HOME}/ArchTitus/configs/setup.conf fi 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 echo -ne " ------------------------------------------------------------------------- @@ -179,9 +179,9 @@ if [ $(whoami) = "root" ]; then echo "$USERNAME:$PASSWORD" | chpasswd echo "$USERNAME password set" - cp -R $HOME/ArchTitus /home/$USERNAME/ - chown -R $USERNAME: /home/$USERNAME/ArchTitus - echo "ArchTitus copied to home directory" + cp -R $HOME/Carl_OS /home/$USERNAME/ + chown -R $USERNAME: /home/$USERNAME/Carl_OS + echo "Carl_OS copied to home directory" # enter $NAME_OF_MACHINE to /etc/hostname echo $NAME_OF_MACHINE > /etc/hostname diff --git a/scripts/2-user.sh b/scripts/2-user.sh index 44b4c58..fb5bd8e 100755 --- a/scripts/2-user.sh +++ b/scripts/2-user.sh @@ -6,20 +6,20 @@ echo -ne " ------------------------------------------------------------------------- - █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ - ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ - ███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ - ██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ - ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ - ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ - + ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗ + ██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝ + ██║ ███████║██████╔╝██║ ██║ ██║███████╗ + ██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║ + ╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║ + ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝ + ------------------------------------------------------------------------- Automated Arch Linux Installer - SCRIPTHOME: ArchTitus + SCRIPTHOME: Carl_OS ------------------------------------------------------------------------- AUR Packages Install " -source $HOME/ArchTitus/configs/setup.conf +source $HOME/Carl_OS/configs/setup.conf cd ~ mkdir "/home/$USERNAME/.cache" @@ -28,7 +28,7 @@ source $HOME/ArchTitus/configs/setup.conf git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k 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 if [[ ${line} == '--END OF MINIMAL INSTALL--' ]] then @@ -47,7 +47,7 @@ if [[ ! $AUR_HELPER == none ]]; then makepkg -si --noconfirm # 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 - 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 if [[ ${line} == '--END OF MINIMAL INSTALL--' ]]; then # If selected installation type is FULL, skip the --END OF THE MINIMAL INSTALLATION-- line @@ -63,15 +63,17 @@ export PATH=$PATH:~/.local/bin # Theming DE if user chose FULL installation if [[ $INSTALL_TYPE == "FULL" ]]; then if [[ $DESKTOP_ENV == "kde" ]]; then - cp -r ~/ArchTitus/configs/.config/* ~/.config/ + cp -r ~/Carl_OS/configs/.config/* ~/.config/ pip install konsave - konsave -i ~/ArchTitus/configs/kde.knsv + konsave -i ~/Carl_OS/configs/kde.knsv sleep 1 konsave -a kde elif [[ $DESKTOP_ENV == "openbox" ]]; then cd ~ git clone https://github.com/stojshic/dotfiles-openbox ./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 diff --git a/scripts/3-post-setup.sh b/scripts/3-post-setup.sh index cf3c033..f56e634 100755 --- a/scripts/3-post-setup.sh +++ b/scripts/3-post-setup.sh @@ -6,21 +6,21 @@ echo -ne " ------------------------------------------------------------------------- - █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ - ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ - ███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ - ██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ - ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ - ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ - + ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗ + ██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝ + ██║ ███████║██████╔╝██║ ██║ ██║███████╗ + ██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║ + ╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║ + ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝ + ------------------------------------------------------------------------- Automated Arch Linux Installer - SCRIPTHOME: ArchTitus + 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 grub-install --efi-directory=/boot ${DISK} @@ -44,7 +44,7 @@ THEME_NAME=CyberRe echo -e "Creating the theme directory..." mkdir -p "${THEME_DIR}/${THEME_NAME}" echo -e "Copying the theme..." -cd ${HOME}/ArchTitus +cd ${HOME}/Carl_OS cp -a configs${THEME_DIR}/${THEME_NAME}/* ${THEME_DIR}/${THEME_NAME} echo -e "Backing up Grub config..." cp -an /etc/default/grub /etc/default/grub.bak @@ -68,12 +68,12 @@ if [[ ${DESKTOP_ENV} == "kde" ]]; then fi elif [[ "${DESKTOP_ENV}" == "gnome" ]]; then - systemctl enable gdm.service + systemctl enable gdm.service elif [[ "${DESKTOP_ENV}" == "lxde" ]]; then systemctl enable lxdm.service -elif [[ "${DESKTOP_ENV}" == "openbox"] || ["${DESKTOP_ENV}" == "awesome"] ]]; then +elif [[ ["${DESKTOP_ENV}" == "openbox"] || ["${DESKTOP_ENV}" == "awesome"] ]]; then systemctl enable lightdm.service if [[ "${INSTALL_TYPE}" == "FULL" ]]; then # Set default lightdm-webkit2-greeter theme to Litarvan @@ -110,6 +110,18 @@ echo " Bluetooth enabled" systemctl enable avahi-daemon.service 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 echo -ne " ------------------------------------------------------------------------- @@ -117,11 +129,11 @@ echo -ne " ------------------------------------------------------------------------- " -SNAPPER_CONF="$HOME/ArchTitus/configs/etc/snapper/configs/root" +SNAPPER_CONF="$HOME/Carl_OS/configs/etc/snapper/configs/root" mkdir -p /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/ cp -rfv ${SNAPPER_CONF_D} /etc/conf.d/ @@ -132,12 +144,12 @@ echo -ne " 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 mkdir -p /usr/share/plymouth/themes echo 'Installing Plymouth theme...' 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 \(.*block\) /&plymouth-/' /etc/mkinitcpio.conf # create plymouth-encrypt after block hook else @@ -158,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) ALL/%wheel ALL=(ALL:ALL) ALL/' /etc/sudoers -rm -r $HOME/ArchTitus -rm -r /home/$USERNAME/ArchTitus +rm -r $HOME/Carl_OS +rm -r /home/$USERNAME/Carl_OS # Replace in the same state cd $pwd diff --git a/scripts/startup.sh b/scripts/startup.sh index b9f798d..58dd4e0 100755 --- a/scripts/startup.sh +++ b/scripts/startup.sh @@ -131,23 +131,23 @@ select_option() { return $(( $active_col + $active_row * $colmax )) } -# @description Displays ArchTitus logo +# @description Displays Carl_OS logo # @noargs logo () { # This will be shown on every set as user is progressing echo -ne " ------------------------------------------------------------------------- - █████╗ ██████╗ ██████╗██╗ ██╗████████╗██╗████████╗██╗ ██╗███████╗ - ██╔══██╗██╔══██╗██╔════╝██║ ██║╚══██╔══╝██║╚══██╔══╝██║ ██║██╔════╝ - ███████║██████╔╝██║ ███████║ ██║ ██║ ██║ ██║ ██║███████╗ - ██╔══██║██╔══██╗██║ ██╔══██║ ██║ ██║ ██║ ██║ ██║╚════██║ - ██║ ██║██║ ██║╚██████╗██║ ██║ ██║ ██║ ██║ ╚██████╔╝███████║ - ╚═╝ ╚═╝╚═╝ ╚═╝ ╚═════╝╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚══════╝ - + ██████╗ █████╗ ██████╗ ██╗ ██████╗ ███████╗ + ██╔════╝██╔══██╗██╔══██╗██║ ██╔═══██╗██╔════╝ + ██║ ███████║██████╔╝██║ ██║ ██║███████╗ + ██║ ██╔══██║██╔══██╗██║ ██║ ██║╚════██║ + ╚██████╗██║ ██║██║ ██║███████╗███████╗╚██████╔╝███████║ + ╚═════╝╚═╝ ╚═╝╚═╝ ╚═╝╚══════╝╚══════╝ ╚═════╝ ╚══════╝ + ------------------------------------------------------------------------- Please select presetup settings for your system -------------------------------------------------------------------------- +------------------------------------------------------------------------ " } # @description This function will handle file systems. At this movement we are handling only diff --git a/titusarch.png b/titusarch.png deleted file mode 100755 index 005c184..0000000 Binary files a/titusarch.png and /dev/null differ