1
0
Fork
You've already forked dotfiles
0
Dotfiles for my Linux system. Enjoy!
  • Shell 100%
2026年01月03日 08:10:42 +00:00
.devcontainer more changes, added new kitty theme 2023年10月03日 07:01:24 +00:00
.local/bin more changes, added new kitty theme 2023年10月03日 07:01:24 +00:00
assets Added preview pics 2023年10月03日 07:18:00 +00:00
config more changes, added new kitty theme 2023年10月03日 07:01:24 +00:00
fonts more changes and new fonts 2023年04月29日 10:58:56 -07:00
zsh whoops forgot this too 2026年01月03日 08:09:24 +00:00
.gitignore wow im forgetting a lot 2026年01月03日 08:10:42 +00:00
.shellcheckrc rewrote printing messages to user 2023年01月20日 17:15:02 -08:00
CHANGELOG.md fix weird code pt. 1 2026年01月03日 07:55:57 +00:00
README.md fix weird code pt. 1 2026年01月03日 07:55:57 +00:00
shell-install.sh fix weird code pt. 1 2026年01月03日 07:55:57 +00:00

My Linux dotfiles

These are my dotfiles for my Linux configs and ZSH.

Intended to be an opinionated (yet neutral) config that just works out of the box, while being easily customizable and easy to understand.

Goals/philosiphy:

  • Shouldn't get in the way of your work
  • Be familar and comfortable
  • Easily customizble and extendable/modular
  • Easy to learn/low learning curve (nothing so complex that users have to bend their backs to learn)
  • Promote ease of work, quality of life, and convenience
  • Have sensible defaults that works with most users

Please 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 derivatives
    • openSUSE Tumbleweed
    • Void Linux
    • NixOS/nix-pkgs
    • More coming soon? (maybe)

TODO

  • Fix bugs (this will probably never get completed but it's nice to dream)
  • 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
  • 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.

Just keep in mind all the configs expect the correct needed directories and dependencies.

Getting help

Discord: michael_scopic

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

  • 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 (I'm not active here).

Also please leave feedback and help me improve the script/configs.

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 (RIP).