Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- *
- * thlinst.c Arch Linux installer Program
- * gcc thlinst.c -o thlinst
- * ./thlinst
- * The Tux Hat Linux Project By: Gary Perreault, Vince Ford, Cody & Will.
- * 2013-2021
- *
- *
- * Copyright (c) 2021, The Tux Hat Linux Project Team.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice, this
- * list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
- * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
- * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * The views and conclusions contained in the software and documentation are those
- * of the authors and should not be interpreted as representing official policies,
- * either expressed or implied, of the FreeBSD Project.
- */
- #include <unistd.h> // chdir
- #include <errno.h> // strerror
- #include <ncurses.h>
- #include <stdio.h>
- #include <stdlib.h>
- #include <sys/utsname.h>
- #include <unistd.h>
- #include <string.h>
- #include <errno.h>
- #include <sys/wait.h>
- #define RED "\x1b[31m" // Colours for the logo to make it pretty!
- #define GREEN "\x1b[32m"
- #define BLUE "\x1b[34m"
- #define RESET "\x1b[0m"
- void print_logo(){
- printf(GREEN"╔═══════════════════════════════════════════════════════════════════╗\n");
- printf(GREEN"║ Tux Hat Linux Base Installer "GREEN"║\n");
- printf(GREEN"║ (c) 2021 - FreeBSD Licensed "GREEN"║\n");
- printf(GREEN"║ By: Tux Hat Linux Project Team "GREEN"║\n");
- printf(GREEN"╚═══════════════════════════════════════════════════════════════════╝"RESET"\n");
- printf("\n\n");
- printf(BLUE"//**"GREEN"Welcome to Tux Hat Linux Desktop for Arch Linux"BLUE"**//\n");
- printf("\n\n");
- printf(RED" PLEASE HIT "GREEN"ENTER"RED" TO PROCEED."GREEN"\n");
- getchar();
- }
- //void network(){
- //printf("\n\n");
- //printf(BLUE"Arch Linux is about to Pacman Update .. ");
- //printf(RED" PLEASE HIT "GREEN"ENTER"RED" TO PROCEED."GREEN"\n");
- //getchar();
- //printf("\n\n");
- //system("/usr/bin/iwctl");
- //}
- /* This function does pacman -Syy to update Arch Linux */
- void pacman_update(){
- printf("\n\n");
- printf(BLUE"//**"GREEN"Arch Linux is about to Pacman Update"BLUE"**//");
- printf(RED" PLEASE HIT "GREEN"ENTER"RED" TO PROCEED."GREEN"\n");
- getchar();
- printf("\n\n");
- system("/usr/bin/sudo /usr/bin/pacman -Syy --noconfirm");
- }
- /* This function does pacman -Syu to upgrade Arch Linux */
- void pacman_upgrade(){
- printf("\n\n");
- printf(BLUE"//**"GREEN"Arch Linux is about to Pacman Upgrade"BLUE"**//");
- printf(RED" PLEASE HIT "GREEN"ENTER"RED" TO PROCEED."GREEN"\n");
- getchar();
- printf("\n\n");
- system("/usr/bin/sudo /usr/bin/pacman -Syu --noconfirm");
- }
- /* This function does pacman -S to all the packages you need for the Skel */
- void base_inst(){
- printf("\n\n");
- printf(BLUE"//**"GREEN"This is the Base Packages for Arch Linux base, base-devel, Grub, Gnome, GDM, Drivers, Kernel, wayland & X11, and extra useful packages"BLUE"**//");
- printf(RED" PLEASE HIT "GREEN"ENTER"RED" TO PROCEED."GREEN"\n");
- getchar();
- printf("\n\n");
- system("/usr/bin/sudo /usr/bin/pacman -S --noconfirm base base-devel linux-firmware ffmpeg lollypop nano gnome wget gdm vlc intel-ucode geany vim intel-media-driver firefox libva-intel-driver openshot mc zsh gimp alsa-utils pulseaudio pulseaudio-bluetooth bluez bluez-utils git neofetch mc tmux scrot grub efibootmgr networkmanager network-manager-applet dialog wpa_supplicant xdg-utils xdg-user-dirs inetutils");
- }
- //** Gnome-terminal themes you can select 1 or choose them ALL needs gogh.sh**//
- void gt_theme(){
- printf("\n\n");
- printf(BLUE"//**"GREEN"Gnome-terminal themes you can select 1 or choose them ALL"BLUE"**//");
- printf(RED" PLEASE HIT "GREEN"ENTER"RED" TO PROCEED."GREEN"\n");
- getchar();
- printf("\n\n");
- system("sh gogh.sh");
- }
- /* installing yay for archlinux aur*/
- void yay_inst(){
- printf("\n\n");
- printf(BLUE"//**"GREEN"To install packages from AUR you need to install Yay Package Manager"BLUE"**//");
- printf(RED" PLEASE HIT "GREEN"ENTER"RED" TO PROCEED."GREEN"\n");
- getchar();
- printf("\n\n");
- system("git clone https://aur.archlinux.org/yay.git");
- }
- // ... cd yay
- void cd_yay(){
- char *dir = "yay"; // cd to yay <dir>
- int ret;
- ret = chdir (dir);
- if (ret){ // same as ret!=0, means an error occurred and errno is set
- fprintf(stderr, "error: %s\n", strerror(errno));
- }
- }
- //** makepkg yay pkgbuild AUR
- void mkpkg_yay(){
- system("/usr/bin/makepkg -sri --noconfirm --needed");
- }
- //** Must be in user mode not root to use yay for AUR Packages **//
- // void yay_pkg(){
- // printf("\n\n");
- // printf(BLUE"//**"GREEN"This will install Timeshift and Timeshift Autosnap & Gnome Themes & Extensions"BLUE"**//");
- // printf(RED" PLEASE HIT "GREEN"ENTER"RED" TO PROCEED."GREEN"\n");
- // getchar();
- // system("yay -S timeshift timeshift-autosnap skeuos-gtk-theme-git obs-studio-git gnome-shell-extension-dash-to-dock-gnome40-git");
- // }
- /* This function just thank you for trying out the project ;) */
- void thank_you(){
- printf("\n\n");
- printf(BLUE"//**"GREEN"Thank You for trying out Tux Hat Linux"BLUE"**//"RESET"\n");
- printf("\n\n");
- }
- int main( int argc, char **argv ){
- print_logo();
- //network();
- pacman_update();
- pacman_upgrade();
- base_inst();
- gt_theme();
- yay_inst();
- cd_yay();
- mkpkg_yay();
- // yay_pkg();
- thank_you();
- return 0;
- }
Add Comment
Please, Sign In to add comment