Skip to content

Matt-FTW/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 



Stargazers Forks Commit Activity Size

🌿 β€Ž About

Hey there! πŸ‘‹

This is my personal dotfiles repository.

I created this repo to help me backup my config files and to easily deploy them in a new machine with the help of Ansible and yadm. It has some files exclusive to my personal use (programming, gaming, etc) so it's not just a rice.

At first I didn't think about ricing but more and more, my focus has got into creating a good and aesthetic rice, with a lot of customization, as well as maintaining the easy deploy and use for my multiple machines.

If you wanna know how to install them, go to the setup section. There is a guided installation.

I've been working on this for a long time so I hope you like it!

✨ Features

  • πŸ•ΆοΈ Dark Mode for the Whole System
  • πŸ’€ Neovim powered by LazyVim with Custom Extras Added (More than 200!)
  • ☝️ Screenshot, Clipboard, Color and Wallpaper Picker
  • πŸͺŸ Animations for Most of the System
  • πŸ–₯️ AwesomeWM Workspace Behavior
  • πŸ“‚ Following XDG Base Directory Standard
  • πŸš— Automatic Mounting of USB Devices with Notification
  • πŸ“œ Scratchpads
  • πŸ€“ Shell Prompt with Nerd Icons
  • 🌎 Custom Userchrome and Extension Configurations
  • πŸš€ Minimal VSCodium with Native Integration of your Neovim Setup
  • πŸ¦€ Rust Alternatives
  • πŸ”” Notification Center
  • πŸ”Š Volume and Brightness OSD
  • 🎨 Color Scripts for the Terminal
  • πŸ”’ Idle and Lock apps
  • πŸ’₯ Performance Mode
  • βš™οΈ Various other Tweaks

🌸 Core System Info

rice-logo

The rice codename is Artemis 🏹, named after the Greek goddess of the hunt and the wild.


🐧 Whole System Info

Here is all the information about my setup:

Note

Some of this apps have the config files included in the repo, which are marked with βš™οΈ. Also, my favorite are programs and tools are marked with πŸ’–.

🐧 System
πŸ“š Entry ✨ App
OS πŸ’– Arch Linux
Package Manager pacman βš™οΈ
AUR Helper πŸ’– yay βš™οΈ
Window Manager πŸ’– hyprland βš™οΈ
Notification Daemon/Center swaync βš™οΈ
OSD Popup swayosd
Bar πŸ’– waybar βš™οΈ
Audio Daemon pipewire
Application Launcher πŸ’– rofi βš™οΈ
Firewall ufw
Clipboard Manager wl-clipboard (with cliphist)
Wallpaper Switcher swww
Lock Screen hyprlock βš™οΈ
Idle Timeout hypridle βš™οΈ
Color Picker hyprpicker
Screenshot Tool hyprshot (Using grim and slurp)
Image Annotation satty βš™οΈ
Logout Menu wleave βš™οΈ
πŸ–₯️ CLI/TUI Apps
πŸ“š Entry ✨ App
Shell πŸ’– fish βš™οΈ
Terminal Emulator πŸ’– kitty βš™οΈ
Terminal Multiplexer zellij βš™οΈ
Shell Prompt starship βš™οΈ
Text Editor πŸ’– neovim βš™οΈ
Shell History atuin βš™οΈ
CD Replacement πŸ’– zoxide
LS Replacement eza
Cat Replacement bat βš™οΈ
Find Replacement fd βš™οΈ
File Manager πŸ’– yazi βš™οΈ
Help Pages navi / TLDR βš™οΈ
Fuzzy File Finder πŸ’– fzf
Fuzzy Word Finder ripgrep βš™οΈ
Git TUI πŸ’– lazygit βš™οΈ
Npm Manager TUI lazynpm
Docker TUI lazydocker
Arch Package Search TUI pacseek βš™οΈ
Trash CLI gtrash
Update Tool topgrade βš™οΈ
Audio Visualizer cava βš™οΈ
System Monitor btop βš™οΈ
GPU Monitor nvtop
System Fetch fastfetch βš™οΈ
Git Fetch onefetch
Keybindings TUI keyb βš™οΈ
πŸ–±οΈ GUI Apps
πŸ“š Entry ✨ App
Music Player Spotify (patched with Spicetify) βš™οΈ
Fallback Text Editor VSCodium βš™οΈ
Web Browser πŸ’– Floorp βš™οΈ
Messaging App Vesktop (Custom Discord Client) βš™οΈ
Email Client Thunderbird
PDF Viewer Zathura βš™οΈ
Note Taking App πŸ’– Obsidian βš™οΈ
Video Player MPV βš™οΈ
Image Viewer geeqie βš™οΈ
File Manager Nemo
Audio Effects Easyeffects
Image Editor Krita
VM Manager Virt-Manager (QEMU)
Recording Program OBS
Office Apps LibreOffice
πŸ” Other
πŸ“š Entry ✨ App
Colorscheme πŸ’– Catppuccin Macchiato
Font JetBrainsMono Nerd Font
Icon Theme Catppuccin-SE
Dotfiles Manager πŸ’– yadm βš™οΈ
Automatic System Deployment πŸ’– Ansible βš™οΈ

πŸ”§ β€Ž Setup

πŸ“¦ Manual Installation

Note

The names of the packages are from the AUR and Arch Repos; adapt them to your system. Most of the packages are available on other distros official repos (most of the time out-to-date). For CLI/TUI specific packages I recommend to use homebrew.

  1. First, lets start with the required base packages for the configuration to function. Assuming you're running Arch Linux, and your AUR helper is yay:

    yay -Sy hyprland hyprlock hypridle xdg-desktop-portal-hyprland hyprpicker \
            swww waybar wleave-git rofi-wayland swaync swayosd-git wl-clipboard \
            pyprland qt5ct pavucontrol cliphist playerctl udiskie devify fzf jq eza fd \
            catppuccin-gtk-theme-macchiato catppuccin-cursors-macchiato cava slurp grim

    On the first line we have the hypr ecosystem packages and on the other lines we have the must have packages.

  2. Now lets move to the Optional Packages (If you dont want to install any more packages, move to the 3th step)

    • Replaceable Packages
    yay -Sy yazi nemo kitty ttf-ms-win11-auto ttf-jetbrainsmono-nerd zathura geeqie \
            ttf-nerd-fonts-symbols ttf-nerd-fonts-symbols-mono mpv

    Here we have some packages that you can replace with your favorite ones and are not required at all for the desktop to function (though it wont look the same). For example, the terminal (kitty), the file manager (nemo and yazi), the font (ttf-jetbrainsmono-nerd), the video player (mpv), etc.

    • Bluetooth
    yay -Sy bluez bluez-utils blueman

    After installing the required packages, we have to start the Bluetooth service. With systemd is pretty straightforward:

    systemctl --user enable bluetooth.service
    systemctl --user start bluetooth.service
    • Useful CLI/TUI packages
    yay -Sy ripgrep riprep-all sd duf nvtop btop dua-cli bat pacseek tgpt-bin sysz gtrash-bin topgrade fastfetch
    • Useful GUI packages
    yay -Sy pika-backup vesktop-bin nwg-displays nwg-look gnome-logs galculator gparted nm-connection-editor satty
  3. Installing the dotfiles: Firstly, clone this repository (remember to have git installed).

    git clone --depth 1 --recurse-submodules https://github.com/Matt-FTW/dotfiles.git
    cd dotfiles && git submodule update --remote --merge

    Now is time to copy the files into their respective directories. Be sure to backup your existing configuration files before copying the files. Once you have that, its time to copy the config files.

    cp -r .config/* ~/.config/
    cp -r .local/bin/* ~/.local/bin/
    cp .czrc ~/

    If you installed the fonts mentioned earlier, be sure to refresh the font cache.

    fc-cache -fv

Congratulations, at this point your done installing the configuration! πŸŽ‰

Logout from your current desktop session and log back into the Hyprland session.

If you had any issues or you have some questions about the installation process, feel free to open an issue or a new discussion post

πŸ“· β€Ž Gallery

Note

For specific images and videos about each tool, check out their own READMEs at their respective config folders. (STILL WIP 🚧)

System Fetch, Pacman Colorscript, App Launcher and Notif. Center
overview-1
Text Editor
overview-2
TUI File Manager, ls replacement and System Fetch
overview-3
GUI Text Editor
overview-4
System Fetch, Matrix Script and Browser on r/unixporn
overview-5
Browser with Main Page
overview-6
Lockscreen
overview-7
TUI System Monitor, Doom and Clock Script, ls replacement and Notif. Center
overview-8
Text Editor and Audio Visualizer
overview-9
File Manager, pipes script and Note Taking App
overview-10
Text Editor and Git UI Manager
overview-11
Audio Visualizer, Fuzzy Finder in a Git Directory and Image Viewer
overview-12
Text Editor
overview-13
Game Platform and Music Player
overview-14
Text Editor
overview-15

πŸŽ‰ β€Ž Credits

Big thanks to everyone at r/unixporn for inspiring me to make this!

I wanna point out some resources that helped me the most with the setup:

  • ArchWiki for all the awesome documentation and for helping me to not lose my mind.
  • Folke for his amazing contributions to the Neovim community with some awesome plugins and with the distro that i use: LazyVim. Also, his READMEs and dotfiles are amazing!
  • Yoru's README to help me with the distribution of the README.
  • Amadeus Dots for helping me with the startup setup of the Hyprland WM.
  • Hyprdots for helping me to take ideas from their work. Also, their setup is the best one I've ever seen for Hyprland; it's pretty awesome!.
  • Catppuccin for making the Best Colorscheme Ever πŸ–ŒοΈ
  • Github-issue-templates for the some of the markdown templates of the repo.

Those were the biggest inspiring factor for me, though you can find a lot more of setups that helped me in my list of favorite dotfiles from the Stars section of my Github Profile: Check it out!

✍️ Contributing

Part of what makes the open source community special are the contributions. Any contributions will be highly appreciated!

If you have any ideas or suggestions to make, feel free to open an issue or submit a PR

Please, before submitting a PR or opening an issue, be sure to follow the contributing guidelines, as well as the issues and pull requests formatting rules.

Blank or repeated issues and PRs will be closed.

πŸ’΅ Donating

If you want to support my work, please consider donating.

This is optional, but it's always appreciated.

Thank you! πŸ’–

πŸ’• Star History and Contributors

Thanks to everyone who have contributed and given an star to this project!

✏️ Contributors

⭐ Star History