Skip to content

SingularisArt/Singularis

Repository files navigation

Status

My System Configuration

Stars Issues Build Status Repo Size License

Gallery

System

💤 Zsh

🦊 Firefox

🔔 Dunst

🚀 Rofi

🔮 Polybar

Communication

📧 Neomutt

🌀 Discord

Development

🔥 NeoVim

💹 GnuPlot

📈 MatPlotLib

📜 LaTeX

📔 Markdown

Utility

💻 Monitors

📰 PDF's

🗃️ Files

🗓️ Calendar

📅 Habits

📑 Scratchpad

Entertainment

🔊 Audio

📰 News

🎁 Misc

📁 Images

Table of Content

Overview

This repo contains all my system-wide configuration. Let me clear something up. This ISN'T my dotfiles. My dotfiles are a subset of this repo. I have other things like my neovim config, systemd, email, etc. I have more information on each aspect in the root folder of each of the aspects. I used to have all that information on the main README, which wasn't a good idea since it turned out to be 2000+ lines.

Applications

System

  • bspwm: Tiling window manager.
  • polybar: Customizable taskbar.
  • xmenu: Modular start menu.
  • rofi: Application launcher.
  • kdeconnect: Control system from phone.
  • flameshot: Robust screenshotting tool.
  • giph: Record gifs from your terminal.
  • slop: Screen region selector.
  • xclip: Scriptable clipboard utility.
  • kitty: My main terminal.

Tools

Communication

Development

  • NeoVim: Amazing text editor.
  • Qalculate!: Intuitive and powerful calculator.
  • gnuplot: Graph and plot in the terminal.

Education

  • Anki: Powerful, intelligent flash cards.

Productivity

Science

Personal

Entertainment

Media

Games

Misc

Utility

System

  • ckb-next: Corsair peripheral software.
  • baobab: GUI disk usage. analyzer
  • diskonaut: TUI disk usage. analyzer.
  • dust: TUI disk usage analyzer.
  • dunst: Lightweight notifier.
  • zathura: Lightweight PDF reader.
  • lf: Vim inspired console file manager.
  • gpick: Advanced color picker.

Monitors

System
  • s-tui: Terminal-based CPU stress and monitoring utility.
  • gotop: Terminal based graphical activity monitor.
  • bashtop: Terminal based graphical activity monitor written in bash.
  • glances: Your system at a glance.
  • iotop: IO statistics.
  • nmon: Configurable ncurses system monitor.
  • atop: System and process montior.
  • powertop: Monitor system power.
  • nvtop: NVIDIA GPU TUI monitor.
  • kmon: TUI Kernel monitor.
Network
  • dnstop: Terminal DNS monitor.
  • ethstatus: Ethernet status monitor.
  • jnettop: View hosts/ports taking up the most network traffic.
  • nload: Monitors network traffic and bandwidth usage.
  • bmon: Bandwidth monitor.
  • termshark: Wireshark implemented in a TUI.
Finance
  • cointop: TUI crypto market watcher.
  • mop: TUI stock market ticker.
  • stonks: TUI Stock charts.

Misc

Security

  • Pass: Light way of managing passwords.
  • Rofi Pass: Quick program that allows you to select pass password via rofi.

Theming

  • pywal: Generate colorschemes from photos haishoku, colorthief, and colorz python modules for pywal backends.
  • Chameleon: Automatically apply the schemes below.
  • Zathura-Pywal: pywal colorscheme for zathura.
  • qutewal: pywal theme for qutebrowser.
  • oomox: Generate icon themes, spotify themes, and GTK themes from pywal.
  • lxappearance: GUI for selecting/viewing GTK themes.
  • Archdroid Icons: For custom GTK themes.
  • qt5ct: Qt5 configuration tool.
  • qtcurve-qt5: Qt5/Qt4 config tool.
  • qt5-styleplugins: Enable Qt features such as GTK theme.
  • Pywalfox: Theme firefox and DDG with pywal.

Aspects

  • APT : More info here.
  • AUR : More info here.
  • Dotfiles: More info here.
  • Email : More info here.
  • Homebrew: More info here
  • Node : More info here
  • NeoVim : More info here
  • Pacman : More info here
  • Python : More info here
  • Systemd : More info here
  • Yum : More info here

Dependencies

  • git: Required to clone the repo.
  • python >= 3.10: Required to run the installation script.

Platform status

Platform Status
Arch Linux 🥇 Tested the most. Arch Linux is my main OS. You get the most configuration if you are on Linux.
MacOS 🥈 Not as bad, but it can have some bugs here and there, I'm starting to use Macs again.
Windows 🥉 The worst rank. Not tested at all. I don't even have an install script for it. You shouldn't use windows when using my dotfiles.
Other 💀 Not tested at all, and probably will never be.

Installation

git clone --recursive https://github.com/SingularisArt/Singularis.git

I typically clone it to ~/.local/share/Singularis

⚠️ WARNING: Numerous installations and configurations are available (refer to the aspects directory). Unless you desire an identical setup to mine, which is improbable, you likely don't need to install everything. Perhaps you're not interested in the entirety of the "dotfiles" and "nvim" aspects either. Prior to installation, please examine the contents of each aspect. Alternatively, you can simply browse the configuration files and adopt any intriguing or useful elements (all content is in the public domain, unless stated otherwise).

Examples

./install --all                               # Install everything.
./install --aspect "dotfiles"                 # Just install "dotfiles".
./install --aspect "dotfiles email"           # Just install "dotfiles" and "email".
./install --aspect "^dotfiles"                # Install everything except the "dotfiles" aspect.
./install --aspect "dotfiles(awesome)"        # Just install "awesome" from my "dotfiles" aspect.
./install --aspect "dotfiles(awesome,zsh)"    # Just install "awesome" and "zsh" from my "dotfiles" aspect.
./install --aspect "dotfiles(^awesome)"       # Install everything except "awesome" from my "dotfiles" aspect.
./install --confirm --aspect "dotfiles"       # Prompt for confirmation at each step.
./install --dry-run --aspect "dotfiles"       # Do a dry-run, showing what would be changed.
./install --list-aspects                      # List all available aspects to install.
./install --list-aspects "dotfiles"           # List all available sub-aspects to install within my "dotfiles" aspect.
./install --help                              # Lists all possible commands/options.
./install                                     # Lists all possible commands/options.

Options

  • -a, --all: Install everything. Use with caution, as it installs all aspects, required packages, and libraries.
  • -c, --aspect [aspect_name]: Install specific aspects. You can include or exclude aspects, configurations, and sub-configurations.
  • -p, --no-packages: Disable the installation of required packages.
  • -y, --no-python: Disable the installation of required Python libraries.
  • -n, --no-node: Disable the installation of required Node.js libraries.
  • -l, --log [log_level]: Change the log level. Options include Trace, Debug, Info (default), Notice, Warn, Error, Fatal, and Success.
  • -t, --package-type [package_type]: Change the package type. Available options: aur (default), pacman, apt, apt-get, yum.
  • -A, --list-aspects: List all available aspects.
  • -s, --singularis: Run only if using singularis command.
  • -C, --confirm: Prompt for confirmation at each step.
  • -d, --dry-run: Display actions without installing anything.

Install

Here's how I install my dotfiles, in case you're wondering how to install them yourself (which isn't a clever idea because dotfiles are ment to be stolen taken from and used as an inspiration). Anyway, here's how I install them.

./install --backup                      # I create a backup of everything just in case something goes the wrong way.
./install --log "0" --all --singularis  # I set the log level to 0 so I can see everything that's happening.

⚠️ Avoid using the --singularis option. It includes my personal configuration/data that only I can decrypt. Issues may arise if you use the --singularis option.

Logging

Control the log level using the -l, --log option. Log levels include Trace, Debug, Info (default), Notice, Warn, Error, Fatal, and Success.

./install -l Debug

Package Installation

Control package installation using options -p, --no-packages, -y, --no-python, and -n, --no-node.

./install -p -y -n

License

Unless otherwise noted, the contents of this repo are in the public domain. See the LICENSE for details.

Credit