Giter VIP home page Giter VIP logo

tituspi's Introduction

TitusPi - A Raspberry Pi Desktop Distribution that doesn't suck

Original work by PapyElGringo, he is now developing material-shell for GNOME

An almost desktop environment made with AwesomeWM following the Material Design guidelines with a performant opiniated mouse/keyboard workflow to increase daily productivity and comfort.

Tiled Panel Exit screen

Before you Start

I have created two different systems for TitusPi. Below you will find two paths... Arch Install or Raspbian OS Install. Choose one and DO NOT run commands for both.

Completed Images @ https://www.cttstore.com/tituspi

  • Raspbian OS Install - Completed
  • Arch ARM OS Install - Pi3 Arch in testing - Pi4 Arch not built

These instructions are not complete as there are components missing to build the base OS install. (Xorg and other dependencies) If you have ever built arch before you will be familiar with the build process. It is almost identical - https://wiki.archlinux.org/index.php/installation_guide . I will update the project with each build, but it will take a long time before the instructions will be complete due to the complexity of building this.

Any extra scripts and modifications I made is in the extras folder in this project. The script I use for changing to tty1 to run emulationstation or the emulationstation.desktop file are extras I have added.

Other modifications to the systems:

  • modified Polkit to automatically elevate programs (This is a security flaw)
  • autologin via tty AND gui - This is needed for the emulationstation script
  • RetroPie install - I manually chose the packages and used its setup scripts for screensaver modification and other minor tweaks
  • Raspi-config - I recommend installing this package on the install for configurations and tweaks

Download

Arch Base Installation

Root Pacman Setup

pacman -S xorg xorg-drivers mesa lightdm lightdm-gtk-greeter base-devel vim nano sudo clang cmake git gcc glibc networkmanager

Yay Install with User (DO NOT USE ROOT)

git clone "https://aur.archlinux.org/yay.git"
cd yay
makepkg -si

Service Setup on Boot

sudo systemctl enable NetworkManager
sudo systemctl enable lightdm
sudo systemctl enable systemd-timesyncd

Raspberry Pi OS Base Installation

Work In Progress - Look at the Arch install and install those packages (Note: some are a bit different because of the package manager differences)

Material Awesome Setup

Raspbian-Based

sudo apt install awesome fonts-roboto rofi compton i3lock xclip qt5-style-plugins materia-gtk-theme lxappearance xbacklight flameshot nautilus xfce4-power-manager pnmixer network-manager-gnome policykit-1-gnome terminator chromium gedit nautilus -y
wget -qO- https://git.io/papirus-icon-theme-install | sh

Note: picom replaced with compton in pi because of ARM Architecture

Arch-Based

yay -S awesome rofi picom i3lock-fancy xclip ttf-roboto polkit-gnome materia-gtk-theme lxappearance flameshot pnmixer network-manager-applet xfce4-power-manager terminator chromium gedit nautilus -y
wget -qO- https://git.io/papirus-icon-theme-install | sh

Program list

  • AwesomeWM as the window manager - universal package install: awesome
  • Roboto as the font - Debian: fonts-roboto Arch: ttf-roboto
  • Rofi for the app launcher - universal install: rofi
  • Compton - This is depreciated, but the new picom is not supported in ARM yet
  • i3lock the lockscreen application universal install: i3lock-fancy
  • xclip for copying screenshots to clipboard package: xclip
  • [gnome-polkit] recommend using the gnome-polkit as it integrates nicely for elevating programs that need root access
  • Materia as GTK theme - Arch Install: materia-theme debian: materia-gtk-theme
  • Papirus Dark as icon theme Universal Install: wget -qO- https://git.io/papirus-icon-theme-install | sh
  • lxappearance to set up the gtk and icon theme
  • (Laptop) xbacklight for adjusting brightness on laptops (disabled by default)
  • flameshot my personal screenshot utility of choice, can be replaced by whichever you want, just remember to edit the apps.lua file
  • pnmixer Audio Tray icon that is in debian repositories and is easily installed on arch through AUR.
  • network-manager-applet nm-applet is a Network Manager Tray display from GNOME.
  • xfce4-power-manager XFCE4's power manager is excellent and a great way of dealing with sleep, monitor timeout, and other power management features.

Clone the configuration

git clone https://github.com/ChrisTitusTech/TitusPi.git ~/.config/awesome

Set the themes

Start lxappearance to active the icon theme and GTK theme Note: for cursor theme, edit ~/.icons/default/index.theme and ~/.config/gtk3-0/settings.ini, for the change to also show up in applications run as root, copy the 2 files over to their respective place in /root.

Same theme for Qt/KDE applications and GTK applications, and fix missing indicators

First install qt5-style-plugins (debian) | qt5-styleplugins (arch) and add this to the bottom of your /etc/environment

XDG_CURRENT_DESKTOP=Unity
QT_QPA_PLATFORMTHEME=gtk2

The first variable fixes most indicators (especially electron based ones!), the second tells Qt and KDE applications to use your gtk2 theme set through lxappearance.

Changing the Matrial Awesome Theme

The documentation live within the source code.

The project is split in functional directories and in each of them there is a readme where you can get additional information about the them.

  • Configuration is about all the settings available
  • Layout hold the disposition of all the widgets
  • Module contain all the features available
  • Theme hold all the aesthetic aspects
  • Widget contain all the widgets available

Extra Packages for Quality of Life

yay -S raspi-config pulseaudio pavucontrol

tituspi's People

Contributors

alok8bb avatar buckyinsfo avatar christitustech avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.