Sirius is a collection of my personal system configurations and applications that I use in my personal computer. It does automatic package installations and configuration that I used to do after a fresh Fedora installation.
- Apps:
- IBus Avro
- Telegram Desktop
- Heroku CLI
- youtube-dl
- rclone
- hugo extended
- Typora
- RPM Packages (List Here)
- Flathub Packages (List Here)
- NPM Packages (List Here)
- PIP Packages (List Here)
- Fonts:
- Adorsho Lipi
- Akaash
- Arial
- Arial Rounded
- Bangla
- Ben Sen
- Calibri
- Cambria
- Century Gothic
- Century Schoolbook
- Comic Sans
- Consolas
- Courier New
- Dancing Script
- Garamond
- Geogia
- Google Sans
- Jetbrains Mono
- Josefin Sans
- Joti One
- Kalpurush
- Lobster
- Merriweather
- Mitra
- Monaco
- Monaco B
- Mukti
- Nikosh
- Nirmala
- Nunito
- Pacifico
- Poppins
- Sagar
- San Francisco Pro
- Segoe UI
- Siyam Rupali
- Solaiman Lipi
- Sutonny MJ
- Tahoma
- Times New Roman
- Ubuntu Font
- Verdana
- And many more from RPM Packages (List Here)
- Wrapper scripts:
- Backup and restore:
- csync script configuration.
- rclone configuration.
- vnstat database.
- GSettings configurations (List Here)
- Disable grub menu (Since I have only one OS installed)
- Disable Wayland
- Android udev rules
- set /tmp size to 8GB
- Install Oh My ZSH
- Install zsh-autosuggestions
- vimrc configuration
- zshrc configuration
- And many more...
To run this script, you will need
- Fedora 38 Workstation (x86_64)
Clone this repository
git clone https://github.com/AlShakib/sirius.git
Change current directory to the repository
cd sirius
Run the script,
sudo ./start.sh
To setup gsettings settings - run,
./gsettings.sh
There are few things you can customize before running the script.
There are two files in the config
directory named home.edit
and root.edit
. These two files contain the location of those files which are going to be edited by the script. The source file will contain in the root
or the home
directory. By reading those source files, the script will edit the destination file. By default the destination file has to contain the variable = value
format. (Note the =
delimiter.)
The source file may have following format:
entry=value
: If entry is already present in destination, override the value in the destination otherwise append the entry to the destination.@entry|value
: Append new value to entry's value if present in destination.$entry=value
: Change value if and only if entry exists.!entry
: Remove entry from destination.>entry
: Forcefully append to destination.~entry
: Uncomment an entry from the destination file. (Only # comment is supported for now.)
- The
root
directory contains all files which are going to copy or override over/
directory. You can add or modify any file in theroot
directory. You can skip from directly being copied by adding those files toconfig/root.edit
. (Note: You should not add files toroot/home/{username}/
. The home directory requires ownership of the user. If you want to add files to the home directory, follow the next instruction.) - The
home
directory contains all files which are going to copy or override over/home/{username}/
. You can add or modify any file in thehome
directory. You can skip from directly being copied by adding those files toconfig/home.edit
.
You can add new package to package list by editing packages/dnf
, packages/flathub
, packages/npm
and packages/pip
.
The package list file will contain the name of the packages. For example, if you add tilix
to packages/dnf
, the script will install Tilix Terminal Emulator.
You can remove a package by adding !
in front of the package name. For example, if you add !tilix
to package/dnf
, the script will remove Tilix Terminal Emulator from system.
You can add new gnome shell extensions to root/usr/share/gnome-shell/extensions
for system level installation or home/.local/share/gnome-shell/extensions
for user level installation.
You can add new fonts to root/usr/share/fonts
for system level font installation.
You can add new themes to root/usr/share/themes
for system level theme installation.
You can add new gsettings value or modify existing gsettings value by editing config/gsettings
.
After running the script, the log file can be found in the log
directory.
Pull requests are welcome. As it is my personal setup, I may or may not accept those requests. Feel free to fork this repository and modify.
- Project Icon is made by Eucalyp from www.flaticon.com
GNU General Public License v3.0
Copyright © 2020 - 2023 Al Shakib