My System Configuration ⚙️
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.
git
: Required to clone the repo.python >= 3.10
: Required to run the installation script.Platform | Status |
---|---|
Arch Linux | :1st_place_medal: Tested the most. Arch Linux is my main OS. You get the most configuration if you are on Linux. |
MacOS | :2nd_place_medal: Not as bad, but it can have some bugs here and there, I'm starting to use Macs again. |
Windows | :3rd_place_medal: 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 | :skull: 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: 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 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.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.
:warning: 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.