GithubHelp home page GithubHelp logo

singularisart / singularis Goto Github PK

View Code? Open in Web Editor NEW
64.0 2.0 5.0 4.23 GB

My System Configuration ⚙️

Home Page: https://singularisart.github.io

License: MIT License

Shell 26.11% CSS 1.04% Lua 42.90% Makefile 0.29% C 13.65% Roff 0.62% GLSL 1.51% Go 0.26% Python 10.86% Perl 0.58% SCSS 2.07% Vim Script 0.11%
arch vim dunst gnuplot install latex linux markdown matplotlib neomutt

singularis's Introduction

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

singularis's People

Contributors

singularisart avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

singularis's Issues

installing issue

Singularis-master! ❯ ./install --aspect "dotfiles(^bin)" 0.00s [main●] ~/Downloads/Singularis-master
[Notice] Installing my Dotfiles.
[Info] Installed .xprofile.
[Info] Installed .zshenv.
[Info] Installed GeoGebra.
[Info] Installed awesome.
[Info] Installed bashtop.
[Info] Installed bottom.
[Info] Installed bspwm.
[Info] Installed btop.
[Info] Installed calcurse.
[Info] Installed castero.
[Info] Installed chameleon.
[Info] Installed cmus.
[Info] Installed cointop.
[Info] Installed dunst.
[Info] Installed dwm.
[Info] Installed easytag.
[Info] Installed git.
[Info] Installed gtk-2.0.
[Info] Installed gtk-3.0.
[Info] Installed gtk-4.0.
[Info] Installed inkscape.
[Info] Installed inkscape-figures.
[Info] Installed ipython.
[Info] Installed kitty.
[Info] Installed lf.
[Info] Installed lynx.
[Info] Installed manuskript.
[Info] Installed mpd.
[Info] Installed mpv.
[Info] Installed ncmpcpp.
[Info] Installed neofetch.
[Info] Installed newsboat.
[Info] Installed picom.
[Info] Installed polybar.
[Info] Installed python.
[Info] Installed ranger.
[Info] Installed rofi.
[Info] Installed sioyek.
[Info] Installed sxhkd.
[Info] Installed tmux.
[Info] Installed wal.
[Info] Installed wal-discord.
[Info] Installed zsh.
[Info] Installed fehbg.
[Warn] Skipping the installation of bin.
[Warn] You need to be using the --singularis command to install the share aspect.
Traceback (most recent call last):
File "/home/lahcen/Downloads/Singularis-master/./install", line 5, in
main.main()
File "/home/lahcen/Downloads/Singularis-master/man/main.py", line 207, in main
parse_arguments(args)
File "/home/lahcen/Downloads/Singularis-master/man/main.py", line 38, in parse_arguments
core(args)
File "/home/lahcen/Downloads/Singularis-master/man/main.py", line 13, in core
[aspect.install_aspect() for aspect in aspects["aspects_to_install"]]
File "/home/lahcen/Downloads/Singularis-master/man/main.py", line 13, in
[aspect.install_aspect() for aspect in aspects["aspects_to_install"]]
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/lahcen/Downloads/Singularis-master/man/operations/aspects.py", line 54, in install_aspect
exec(code, replace_vars)
File "", line 15, in
File "/home/lahcen/Downloads/Singularis-master/man/operations/template.py", line 189, in init
dict.init(self, self.get_templates())
^^^^^^^^^^^^^^^^^^^^
File "/home/lahcen/Downloads/Singularis-master/man/operations/template.py", line 205, in get_templates
Template(
File "/home/lahcen/Downloads/Singularis-master/man/operations/template.py", line 68, in init
self.setup_for_installation()
File "/home/lahcen/Downloads/Singularis-master/man/operations/template.py", line 92, in setup_for_installation
self.install()
File "/home/lahcen/Downloads/Singularis-master/man/operations/template.py", line 123, in install
private_vars = yaml.load(private_info, Loader=yaml.FullLoader)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/yaml/init.py", line 79, in load
loader = Loader(stream)
^^^^^^^^^^^^^^
File "/usr/lib/python3.11/site-packages/yaml/loader.py", line 24, in init
Reader.init(self, stream)
File "/usr/lib/python3.11/site-packages/yaml/reader.py", line 85, in init
self.determine_encoding()
File "/usr/lib/python3.11/site-packages/yaml/reader.py", line 124, in determine_encoding
self.update_raw()
File "/usr/lib/python3.11/site-packages/yaml/reader.py", line 178, in update_raw
data = self.stream.read(size)
^^^^^^^^^^^^^^^^^^^^^^
File "", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb7 in position 15: invalid start byte

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.