Skip to content

Commit

Permalink
Merge branch 'main' into backgrounds
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisTitusTech committed Jul 30, 2022
2 parents a6e565a + ce1d6ca commit 3054110
Show file tree
Hide file tree
Showing 24 changed files with 430 additions and 13 deletions.
7 changes: 7 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
version: 2
updates:
# Maintain dependencies for GitHub Actions
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "daily"
23 changes: 23 additions & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
repo:
- '*'

GitHub-Action:
- .github/workflows/*

Configs:
- configs/**/*

Package-Files:
- pkg-files/**/*

scripts:
- scripts/**/*

debug:
- scripts/debug/**/*

helpers:
- scripts/helpers/**/*

installers:
- scripts/installers/**/*
18 changes: 18 additions & 0 deletions .github/workflows/combine.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: "Combine Dependabot PRs"
on:
workflow_dispatch:

jobs:
combine-prs:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]
- uses: maadhattah/combine-dependabot-prs@main
with:
branchPrefix: "dependabot"
mustBeGreen: true
combineBranchName: "combined-prs"
ignoreLabel: "nocombine"
baseBranch: "main"
openPR: true
allowSkipped: false
27 changes: 27 additions & 0 deletions .github/workflows/generate-documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Generate Documentation

on: [push]

jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/[email protected]
- 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 }}
22 changes: 22 additions & 0 deletions .github/workflows/label.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# 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 }}"
55 changes: 55 additions & 0 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
---
#################################
#################################
## 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/[email protected]
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 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
install.conf
installlog.txt
archnikus.code-workspace
setup.conf
configs/setup.conf
# keep logs out
configs/*.log
6 changes: 6 additions & 0 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# 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
16 changes: 14 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# ArchTitus Installer Script
[![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" />

Expand All @@ -23,12 +24,15 @@ cd ArchTitus
```

### System Description
This is completely automated arch install of the KDE desktop environment on arch using all the packages I use on a daily basis.
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.

## Troubleshooting

__[Arch Linux 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)__

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

You can check if the WiFi is blocked by running `rfkill list`.
Expand All @@ -46,6 +50,14 @@ After unblocking the WiFi, you can connect to it. Go through these 5 steps:

#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
Expand Down
23 changes: 23 additions & 0 deletions REFERENCE-0-preinstall.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Preinstall

Contains the steps necessary to configure and pacstrap the install to selected drive.

# Overview

Creates the btrfs subvolumes.


# Functions
* [mountallsubvol()](#mountallsubvol)
* [subvolumesetup()](#subvolumesetup)


## mountallsubvol()

Mount all btrfs subvolumes after root has been mounted.

## subvolumesetup()

BTRFS subvolulme creation and mounting.


8 changes: 8 additions & 0 deletions REFERENCE-1-setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Setup

Configures installed system, installs base packages, and creates user.

# Functions



8 changes: 8 additions & 0 deletions REFERENCE-2-user.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# User

User customizations and AUR package installation.

# Functions



8 changes: 8 additions & 0 deletions REFERENCE-3-post-setup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Post-Setup

Finalizing installation configurations and cleaning up after script.

# Functions



8 changes: 8 additions & 0 deletions REFERENCE-archtitus.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# ArchTitus

Entrance script that launches children scripts for each phase of installation.

# Functions



98 changes: 98 additions & 0 deletions REFERENCE-startup.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
# Startup

This script will ask users about their prefrences like disk, file system, timezone, keyboard layout, user name, password, etc.

# Settings

## General Settings
* **CONFIG_FILE** (string)[default: **$CONFIGS_DIR/setup.conf**]: Location of setup.conf to be used by set_option and all subsequent scripts.


# Functions
* [set_option()](#set_option)
* [select_option()](#select_option)
* [logo()](#logo)
* [filesystem()](#filesystem)
* [timezone()](#timezone)
* [keymap()](#keymap)
* [drivessd()](#drivessd)
* [diskpart()](#diskpart)
* [userinfo()](#userinfo)
* [aurhelper()](#aurhelper)
* [desktopenv()](#desktopenv)
* [installtype()](#installtype)


## set_option()

set options in setup.conf

### Output on stdout

* Output routed to startup.log

### Output on stderr

* # @stderror Output routed to startup.log

### Arguments

* **$1** (string): Configuration variable.

### Arguments

* **$2** (string): Configuration value.

## select_option()

Renders a text based list of options that can be selected by the
user using up, down and enter keys and returns the chosen option.

Arguments : list of options, maximum of 256
"opt1" "opt2" ...
Return value: selected index (0 for opt1, 1 for opt2 ...)

## logo()

Displays ArchTitus logo

_Function has no arguments._

## filesystem()

This function will handle file systems. At this movement we are handling only
btrfs and ext4. Others will be added in future.

## timezone()

Detects and sets timezone.

## keymap()

Set user's keyboard mapping.

## drivessd()

Choose whether drive is SSD or not.

## diskpart()

Disk selection for drive to be used with installation.

## userinfo()

Gather username and password to be used for installation.

## aurhelper()

Choose AUR helper.

## desktopenv()

Choose Desktop Environment

## installtype()

Choose whether to do full or minimal installation.


8 changes: 8 additions & 0 deletions REFERENCE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Reference
**Library Files**
* [scripts/startup.sh](REFERENCE-startup.md)
* [scripts/0-preinstall.sh](REFERENCE-0-preinstall.md)
* [archtitus.sh](REFERENCE-archtitus.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)
4 changes: 4 additions & 0 deletions archtitus.sh
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
#!/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
Expand Down
Loading

0 comments on commit 3054110

Please sign in to comment.