Skip to content

michaelScopic/dotfiles

Repository files navigation

My Linux dotfiles

These are my dotfiles for my Linux configs and ZSH.

I hope you enjoy!

Previews

Nord Deep theme + neofetch

Kitty nord deep theme

Base16 Ashes theme + neofetch

Kitty Base16 Ashes theme

Nord Deep theme + htop

Htop preview

Table of contents

Why?

I wanted to showcase my configs in hopes that someone else can enjoy my work (and stealing from other ppl's dots lmao (credits are at the bottom of this file)).

This was also a perfect opportunity to learn Bash/Shell scripting.

Disclaimer

I'm kinda experienced in Bash/Shell scripting, but I'm still learning and getting the hang of stuff, so my code probably won't be the sexiest or most efficient, but it works.

Features

Shell script features:

  • Lots of colors
  • Interactive (and non-interactive with the --server option)
  • Automation for deploying dotfiles:
    • Installs needed dependencies (on supported distros)
    • Installs ZSH plugins and then backup and overwrite user's zshrc
    • Backs up user's current configs (in case they want to rollback)
    • Overwrites user's configs with the ones in this repo
  • Various distro support
    • Debian/Ubuntu and its derivatives
    • Arch Linux and its derivatives
    • Fedora (via dnf) and its derivative
    • openSUSE Tumbleweed
    • Void Linux
    • NixOS/nix-pkgs
    • More coming soon? (maybe)
    • More coming soon? (maybe)

TODO

  • FIX BUGS AAAAAAAAAAAA (this will probably never get completed but it's nice to dream yk)

  • shell-install.sh <- The file itself is done, but more improvements will follow

  • Deprecate and delete deploy.sh.bak and scripts/

    • Make everything a function in shell-install.sh
    • Make functions for printing info/notes, errors, and success messages
    • Detect if the user is running x86_64 Linux in dependencies(), and give an error if both aren't detected
    • Add fonts and automate installing fonts
    • Add support for NixOS
    • Add support for FreeBSD and OpenBSD
  • Upload a WM configs

    • Make a script to automate installing the configs/dependencies

config/htop

  • htoprc

config/starship

  • config/starship/rounded.toml
  • config/starship/plain-text-symbols.toml
  • config/starship/michael.toml <- My own prompt, based off rxyhn's prompt

config/neofetch/

  • config.conf

config/kitty/

  • kitty.conf
  • themes/ <- Folder to contain color themes
    • More themes coming soon...

zsh/

  • configs/
    • distro-aliases <- Aliases for package management
      • Arch Linux
      • Debian/Ubuntu
      • openSUSE
      • RHEL/dnf
    • Aliases
    • User functions
    • ZSH settings
  • ArchLabs_zshrc
  • zshrc

More coming soon...hopefully.

Installation guide

Install using the provided script

Clone the repo:

git clone --depth=1 https://github.com/michaelScopic/dotfiles

cd dotfiles

Script usage

Look at the possible arguments to use in the script by running:

  • (cd into the dotfiles directory if you aren't already there)
./shell-install.sh help

# Not putting in an argument will do the same
./shell-install.sh

You can use the following arguments with this script: all, zsh, backup, fonts, overwrite, or info.

So if you want to run all of them, just do:

./shell-install.sh all

If you want to have a more minimal install, pass the --server option at the end of the command.

./shell-install.sh all --server

Installing manually

If you don't want to run this script and only copy what you want, then just browse config/ and/or zsh/ and do what you want from there.

Getting help

Discord: michael_scopic.zsh

If you need help or if something does not work as expected, please contact me on Discord.

I am almost always online, and I will usually respond very quickly.

  • NOTE: If you do contact me, please tell me that you found me from GitHub. I am extremely paranoid of who messages me, especially for people I don't know.

You can also open a GitHub issue, but do note that I could respond very late.

Credits

Thank you r/unixporn community for inspiring me to rice desktops.

Rxyhn's starship prompt is from rxyhn's dotfiles, and I just tweaked the colors to match with any color scheme.

Rounded starship prompt (config/starship/rounded.toml) is from Syndrizzle's dotfiles, and I also tweaked the colors to match with any color scheme.

Plain text starship prompt (config/starship/plain-text-symbols.toml) are taken from Starship's official prompt presets.

My personal starship theme (config/starship/michael.toml) is based on rxyhn's prompt.

All fonts in fonts/ are from Nerdfonts.com.

The original zshrc and zsh/configs/zsh-settings.zsh are based on the .zshrc provided by ArchLabs.