My System Configuration
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.
- 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.
- neomutt: TUI email client.
- Telegram desktop: GUI Telegram client.
- nctelegram: TUI Telegram client.
- discord: GUI Discord client.
- cordless: TUI Discord client.
- weechat: Terminal IRC client.
- tuir: TUI Reddit client.
- rainbowstream: TUI Twitter client.
- kdeconnect-sms: Send SMS from your system.
- how2: Search stack overflow from the terminal.
- NeoVim: Amazing text editor.
- Qalculate!: Intuitive and powerful calculator.
- gnuplot: Graph and plot in the terminal.
- Anki: Powerful, intelligent flash cards.
- dijo: Curses based habit tracker.
- manuskript: Novel writing tool.
- Ugene: Bioinformatics suite.
- pymol: Molecular science suite.
- GROMACS: Molecular dynamics simulation suite.
- Desmos-Destkop: Desktop desmos app.
- celestia: Real-time space simulation.
- inkscape: Vector drawing program.
- castero: TUI for podcasts.
- newsboat: TUI RSS reader.
- ncmpcpp: Lightweight console music player.
- mpd: Music player daemon.
- tetris-terminal: Tetris in the terminal.
- tty-solitaire: Solitaire in the terminal.
- bs: Battleship in the terminal.
- bsdgames : Collection of terminal games.
- dopewars: drug dealing game set in 1980s NYC.
- Cures of War: Fast-paced action strategy game for Linux.
- pipes.sh: Animated pipes terminal screensaver.
- rain.sh: Animated rain terminal screensaver.
- unimatrix: Matrix in your terminal.
- asciiquarium: Aquarium in your terminal.
- bonsai.sh: Grow a bonsai tree in your terminal.
- termtracker: Track satellites in your terminal.
- genact: Fake activity generator.
- 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.
- 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.
- 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.
- synonym: Thesaurus in the terminal.
- mapscii: Map in your terminal.
- translate-shell: Google translate in the terminal.
- wtfuitil: Modular terminal dashboard.
- iponmap: Commandline IP location finder.
- Pass: Light way of managing passwords.
- Rofi Pass: Quick program that allows you to select pass password via rofi.
- 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.
- 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
git
: Required to clone the repo.python >= 3.10
: Required to run the installation script.
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. |
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).
./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.
-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 includeTrace
,Debug
,Info
(default),Notice
,Warn
,Error
,Fatal
, andSuccess
.-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 usingsingularis
command.-C, --confirm
: Prompt for confirmation at each step.-d, --dry-run
: Display actions without installing anything.
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.
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
Control package installation using options -p, --no-packages
, -y, --no-python
, and -n, --no-node
.
./install -p -y -n
Unless otherwise noted, the contents of this repo are in the public domain. See the LICENSE for details.