Skip to content

Commit

Permalink
TAIGA 0.4
Browse files Browse the repository at this point in the history
0.4
  • Loading branch information
document10 committed Aug 21, 2023
2 parents dbb97c1 + 3d31c1a commit 18e1afc
Show file tree
Hide file tree
Showing 16 changed files with 974 additions and 403 deletions.
45 changes: 23 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,30 @@
# TAIGA
Taiga or Terminal Application for Installing Graphical Appliances is a terminal script for configuring a desktop environment on the system.
## Installer types
**1.Express install:** The script will detect the distro and the GPU used,and you can pick the desktop environment,which will be installed with the appropriate display manager.
**2.Custom install:** Pick all options manually.Useful if auto-detection doesn't work or if some components are not needed
Aditionally you can run the script in diffrent modes by adding these arguments after the script:
- *s* : Simulation mode-no changes will be done to the system
- *l* [`filepath`]: loads configuration from the file specified in [filepath]
- *sl* / *ls* [`filepath`]: loads configuration from the file specified in [filepath] and enters Simulation mode
- *h* : shows this screen and exits
## Prerequisites
The script requires `python`,`sudo` and `pciutils` in order to run.Please check commands for installing these dependencies as well as whether they're already configured on your system or not here:
[https://github.com/document10/taiga/info/distros.md](https://github.com/document10/taiga/blob/master/info/distros.md)
## Running the script
Currently there are two ways to run the script:
### Method 1:Using python
Taiga or Terminal Application for Installing Graphical Appliances is a terminal program for configuring a desktop environment,sound server and other useful components on the system.The application is controlled using the keyboard and you will see what keys to press for performing actions in the app.
## Running TAIGA
For running the program you will need `sudo` and `pciutils` installed on the system.Guides for installing and checking if these components are installed are available on the wiki.
### Running from binary
The `master` or `dev` branches won't include binaries by default,instead those are included on the `bin` branches which contain only the binary specific to the platform.To get the `Linux` binary run:
```
git clone https://github.com/document10/taiga -b bin_linux
```
And for the `FreeBSD` binary run:
```
git clone https://github.com/document10/taiga -b bin_fbsd
```
The binaries are also avalaible on the [Releases](https://github.com/document10/taiga/releases) page.
After getting the binary relevant to your system,ensure you have enough rights to run the binary using:

```sh
python3 taiga.py [args]
sudo chmod 777 taiga
```
or
Running the script is pretty straightforward:
```sh
python taiga.py [args]
./taiga
```
### Method 2:Using shell commands
You can also load a config created with the script using:
```sh
chmod +X taiga.py #only run once
./taiga.py [args]
./taiga [configfile]
```
Note:This method does not work on FreeBSD as all user-installed binaries are stored in `/usr/local/bin`,as opposed to `/usr/bin`.FreeBSD users must use **Method 1**.
where [configfile] is the path to the config.
### Running from source
You will additionally need the latest version of python as well as `simple-term-menu` as a `pip` library.Instructions on setting up those are on the wiki.
26 changes: 23 additions & 3 deletions distros/FreeBSD.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name":"FreeBSD",
"identify" : "pkg -v",
"order" : 3,
"pre" : ["sudo freebsd-update fetch","sudo freebsd-update install","sudo pkg update","sudo pkg upgrade","sudo pkg install -y xf86-input-evdev xorg xdg-user-dirs xdg-utils oss polkit bash neofetch curl gcc micro gvfs unzip gzip lzip exa python usbutils networkmgr bsdisks octopkg"],
"pre" : ["sudo freebsd-update fetch","sudo freebsd-update install","sudo pkg update","sudo pkg upgrade","sudo pkg install -y xf86-input-evdev xorg xdg-user-dirs xdg-utils oss polkit bash neofetch curl gcc micro gvfs unzip gzip lzip exa python usbutils networkmgr bsdisks"],
"post" : ["sudo sysrc dbus_enable=YES","sudo sysrc hald_enable=YES","sudo sysrc sound_load=YES","sudo sysrc snd_hda_load=YES","sudo sysrc moused_enable=YES","sudo sysrc snd_driver=YES"],
"GD" : [
{
Expand Down Expand Up @@ -52,7 +52,7 @@
{
"name":"Awesome",
"DM":"LightDM",
"comm": ["sudo pkg install -y awesome pcmanfm"]
"comm": ["sudo pkg install -y awesome pcmanfm polkit-gnome dunst libnotify"]
},
{
"name":"Budgie",
Expand All @@ -74,6 +74,11 @@
"DM":"GDM",
"comm":["sudo pkg install -y gnome polkit-gnome"]
},
{
"name":"i3",
"DM":"LightDM",
"comm":["sudo pkg install -y i3 dmenu pcmanfm polkit-gnome dunst libnotify"]
},
{
"name":"KDE Plasma",
"DM":"SDDM",
Expand All @@ -94,16 +99,31 @@
"DM":"LightDM",
"comm":["sudo pkg install -y mate mate-themes polkit-gnome"]
},
{
"name":"Openbox",
"DM":"LightDM",
"comm":["sudo pkg install -y openbox obconf menumaker pcmanfm polkit-gnome dunst libnotify"]
},
{
"name":"Sway",
"DM":"LightDM",
"comm":["sudo pkg install -y wayland seatd sway swaybg swaylock dmenu-wayland dmenu swayidle waybar xwayland pcmanfm polkit-gnome dunst libnotify","export XDG_RUNTIME_DIR=/var/run/user/`id -u`","sudo sysrc seatd_enable=YES"]
},
{
"name":"XFCE",
"DM":"LightDM",
"comm":["sudo pkg install -y polkit-gnome xfce"]
},
{
"name":"Xmonad",
"DM":"LightDM",
"comm":["sudo pkg install -y hs-xmonad pcmanfm polkit-gnome dunst libnotify"]
}
],
"tasks" : [
{
"name":"Install recommended packages",
"comm":["sudo pkg -y install vlc firefox libreoffice"]
"comm":["sudo pkg -y install vlc firefox libreoffice octopkg"]
}
]
}
50 changes: 44 additions & 6 deletions distros/arch.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name":"Arch Linux",
"identify" : "which pacman",
"order" : 0,
"pre" : ["sudo pacman -Syu --noconfirm xorg xorg-server xterm avahi xdg-user-dirs xdg-utils bluez bluez-utils alsa-utils pipewire pipewire-alsa pipewire-pulse pipewire-jack sof-firmware blueman network-manager-applet gvfs exa neofetch micro polkit"],
"pre" : ["sudo pacman -Syu --noconfirm","sudo pacman --noconfirm -S xorg xorg-server xterm avahi xdg-user-dirs xdg-utils bluez bluez-utils alsa-utils pipewire pipewire-alsa pipewire-pulse pipewire-jack sof-firmware blueman network-manager-applet gvfs exa neofetch micro polkit"],
"post" : ["sudo systemctl enable bluetooth","sudo systemctl set-default graphical.target"],
"GD" : [
{
Expand Down Expand Up @@ -44,7 +44,7 @@
{
"name":"Awesome",
"DM":"LightDM",
"comm": ["sudo pacman -S --noconfirm awesome pcmanfm polkit-gnome"]
"comm": ["sudo pacman -S --noconfirm awesome pcmanfm polkit-gnome dunst libnotify"]
},
{
"name":"Budgie",
Expand Down Expand Up @@ -76,10 +76,20 @@
"DM":"GDM",
"comm":["sudo pacman -S --noconfirm gnome"]
},
{
"name":"Hyprland",
"DM":"SDDM",
"comm":["sudo pacman -S --noconfirm hyprland xorg-xwayland waybar dunst libnotify pcmanfm polkit-gnome"]
},
{
"name":"i3",
"DM":"LightDM",
"comm":["sudo pacman -S --noconfirm i3 dmenu pcmanfm polkit-gnome"]
},
{
"name":"KDE Plasma",
"DM":"SDDM",
"comm":["sudo pacman -S --noconfirm plasma plasma-wayland-session kde-applications packagekit-qt5 sddm-kcm"]
"comm":["sudo pacman -S --noconfirm plasma plasma-wayland-session kde-applications packagekit-qt5 sddm-kcm dunst libnotify"]
},
{
"name":"LXDE",
Expand All @@ -96,29 +106,57 @@
"DM":"LightDM",
"comm":["sudo pacman -S --noconfirm mate mate-extra polkit-gnome"]
},
{
"name":"Openbox",
"DM":"LightDM",
"comm":["sudo pacman -S --noconfirm openbox obconf menumaker alacritty pcmanfm polkit-gnome dunst libnotify"]
},
{
"name":"Pantheon",
"DM":"LightDM",
"comm":["sudo pacman -S --noconfirm pantheon"]
},
{
"name":"Sway",
"DM":"LightDM",
"comm":["sudo pacman -S --noconfirm sway swaybg swaylock swayidle xorg-xwayland waybar swayimg pcmanfm polkit-gnome dunst libnotify"]
},
{
"name":"Weston",
"DM":"LightDM",
"comm":["sudo pacman -S --noconfirm weston xorg-xwayland pcmanfm polkit-gnome dunst libnotify"]
},
{
"name":"XFCE",
"DM":"LightDM",
"comm":["sudo pacman -S --noconfirm xfce4 xfce4-goodies polkit-gnome"]
},
{
"name":"Xmonad",
"DM":"LightDM",
"comm":["sudo pacman -S --noconfirm xmonad xmonad-contrib pcmanfm polkit-gnome dunst libnotify dmenu"]
}
],
"tasks" : [
{
"name":"Configure extra sources",
"comm":["sudo pacman -S --noconfirm cargo flatpak", "git clone https://aur.archlinux.org/paru.git","cd paru && makepkg -si","git clone https://aur.archlinux.org/snapd.git","cd snapd && makepkg -si","sudo systemctl enable --now snapd.socket","sudo snap install core","sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo"]
"name":"Install paru (AUR helper)",
"comm":["sudo pacman -S --noconfirm cargo", "git clone https://aur.archlinux.org/paru.git","cd paru && makepkg -si"]
},
{
"name":"Install snapd",
"comm":["git clone https://aur.archlinux.org/snapd.git","cd snapd && makepkg -si","sudo systemctl enable --now snapd.socket","sudo snap install core"]
},
{
"name":"Install flatpak",
"comm":["sudo pacman -S --noconfirm flatpak","sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo"]
},
{
"name":"Install recommended packages",
"comm":["sudo pacman -S --noconfirm vlc firefox libreoffice-still"]
},
{
"name":"Install extra themes",
"comm":["git clone https://github.com/vinceliuice/Orchis-theme","cd Orchis-theme && ./install.sh -t all","git clone https://github.com/vinceliuice/Tela-circle-icon-theme","cd Tela-circle-icon-theme && ./install.sh -a","git clone https://github.com/vinceliuice/Vimix-cursors","cd Vimix-cursors && sudo ./install.sh"]
"comm":["sudo pacman -S --noconfirm sassc","git clone https://github.com/vinceliuice/Orchis-theme","cd Orchis-theme && ./install.sh -t all","cd ..","git clone https://github.com/vinceliuice/Tela-circle-icon-theme","cd Tela-circle-icon-theme && ./install.sh -a","cd ..","git clone https://github.com/vinceliuice/Vimix-cursors","cd Vimix-cursors && sudo ./install.sh","cd","git clone https://gitlab.com/dwt1/wallpapers"]
}
]
}
41 changes: 37 additions & 4 deletions distros/debian.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
{
"name":"Awesome",
"DM":"LightDM",
"comm": ["sudo apt install -y awesome pcmanfm"]
"comm": ["sudo apt install -y awesome pcmanfm dunst"]
},
{
"name":"Budgie",
Expand All @@ -61,6 +61,11 @@
"DM":"GDM",
"comm":["sudo apt install -y task-gnome-desktop"]
},
{
"name":"i3",
"DM":"LightDM",
"comm":["sudo apt install -y i3 dunst pcmanfm"]
},
{
"name":"KDE Plasma",
"DM":"SDDM",
Expand All @@ -81,24 +86,52 @@
"DM":"LightDM",
"comm":["sudo apt install -y task-mate-desktop mate-desktop-environment-extras"]
},
{
"name":"Openbox",
"DM":"LightDM",
"comm":["sudo apt install -y openbox obconf dunst pcmanfm"]
},
{
"name":"Sway",
"DM":"LightDM",
"comm":["sudo apt install -y sway swaybg swaylock swayidle waybar xwayland pcmanfm dunst"]
},
{
"name":"Weston",
"DM":"LightDM",
"comm":["sudo apt install -y weston xwayland pcmanfm dunst"]
},
{
"name":"XFCE",
"DM":"LightDM",
"comm":["sudo apt install -y task-xfce-desktop"]
},
{
"name":"Xmonad",
"DM":"LightDM",
"comm":["sudo apt install -y xmonad libghc-xmonad-contrib-dev pcmanfm dunst suckless-tools"]
}
],
"tasks" : [
{
"name" : "Configure extra sources",
"comm" : ["sudo dpkg --add-architecture i386","sudo apt update","sudo apt upgrade","sudo apt install -y flatpak snapd","sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo","sudo snap install core"]
"name" : "Add 32-bit repositories",
"comm" : ["sudo dpkg --add-architecture i386","sudo apt update","sudo apt upgrade"]
},
{
"name":"Install snapd",
"comm":["sudo apt install -y snapd","sudo systemctl enable --now snapd.socket","sudo snap install core"]
},
{
"name":"Install flatpak",
"comm":["sudo apt install -y flatpak","sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo"]
},
{
"name":"Install recommended packages",
"comm":["sudo apt install -y vlc firefox-esr libreoffice"]
},
{
"name":"Install extra themes",
"comm":["git clone https://github.com/vinceliuice/Orchis-theme","cd Orchis-theme && ./install.sh -t all","git clone https://github.com/vinceliuice/Tela-circle-icon-theme","cd Tela-circle-icon-theme && ./install.sh -a","git clone https://github.com/vinceliuice/Vimix-cursors","cd Vimix-cursors && sudo ./install.sh"]
"comm":["sudo apt install -y sassc","git clone https://github.com/vinceliuice/Orchis-theme","cd Orchis-theme && ./install.sh -t all","cd ..","git clone https://github.com/vinceliuice/Tela-circle-icon-theme","cd Tela-circle-icon-theme && ./install.sh -a","cd ..","git clone https://github.com/vinceliuice/Vimix-cursors","cd Vimix-cursors && sudo ./install.sh","cd","git clone https://gitlab.com/dwt1/wallpapers"]
}
]
}
36 changes: 32 additions & 4 deletions distros/fedora.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
{
"name":"Awesome",
"DM":"LightDM",
"comm": ["sudo dnf install -y awesome pcmanfm"]
"comm": ["sudo dnf install -y awesome pcmanfm dunst polkit-gnome libnotify"]
},
{
"name":"Budgie",
Expand Down Expand Up @@ -91,24 +91,52 @@
"DM":"LightDM",
"comm":["sudo dnf group install -y 'MATE Desktop'","sudo dnf group install -y 'MATE Applications'"]
},
{
"name":"Openbox",
"DM":"LightDM",
"comm":["sudo dnf install -y openbox obconf dunst pcmanfm libnotify"]
},
{
"name":"Sway",
"DM":"LightDM",
"comm":["sudo dnf install -y sway swaybg swaylock swayidle waybar dunst pcmanfm libnotify"]
},
{
"name":"Weston",
"DM":"LightDM",
"comm":["sudo apt install -y weston dunst pcmanfm libnotify"]
},
{
"name":"XFCE",
"DM":"LightDM",
"comm":["sudo dnf group install -y 'Xfce Desktop'"]
},
{
"name":"Xmonad",
"DM":"LightDM",
"comm":["sudo dnf install -y xmonad ghc-xmonad-contrib polkit-gnome dunst polkit-gnome libnotify"]
}
],
"tasks" : [
{
"name" : "Configure extra sources",
"comm" : ["sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm","sudo dnf groupupdate core -y","sudo dnf install fedora-workstation-repositories -y","sudo dnf install -y flatpak snapd","sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo","sudo snap install core"]
"name" : "Configure extra repositories",
"comm" : ["sudo dnf install -y https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm","sudo dnf groupupdate core -y","sudo dnf install fedora-workstation-repositories -y"]
},
{
"name":"Install snapd",
"comm":["sudo dnf install -y snapd","sudo systemctl enable --now snapd.socket","sudo snap install core"]
},
{
"name":"Install flatpak",
"comm":["sudo dnf install -y flatpak","sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo"]
},
{
"name":"Install recommended packages",
"comm":["sudo dnf install -y firefox libreoffice"]
},
{
"name":"Install extra themes",
"comm":["git clone https://github.com/vinceliuice/Orchis-theme","cd Orchis-theme && ./install.sh -t all","git clone https://github.com/vinceliuice/Tela-circle-icon-theme","cd Tela-circle-icon-theme && ./install.sh -a","git clone https://github.com/vinceliuice/Vimix-cursors","cd Vimix-cursors && sudo ./install.sh"]
"comm":["sudo dnf install -y sassc","git clone https://github.com/vinceliuice/Orchis-theme","cd Orchis-theme && ./install.sh -t all","cd ..","git clone https://github.com/vinceliuice/Tela-circle-icon-theme","cd Tela-circle-icon-theme && ./install.sh -a","cd ..","git clone https://github.com/vinceliuice/Vimix-cursors","cd Vimix-cursors && sudo ./install.sh","cd","git clone https://gitlab.com/dwt1/wallpapers"]
}
]
}

0 comments on commit 18e1afc

Please sign in to comment.