Skip to content

Chinychon/dotfiles

Repository files navigation

Dotfiles

THIS README WAS GENERATED BY AI

A comprehensive collection of configuration files for a Linux desktop environment powered by i3 window manager and various terminal applications. Features a cohesive gruvbox-themed aesthetic with efficient development workflows.

Made by Chinychon

πŸ–ΌοΈ Gallery

Here are some screenshots showcasing the setup in action:

Main Desktop View

Main Desktop View

Additional Views

Rice Screenshot 2 Rice Screenshot 3 Rice Screenshot 4 Rice Screenshot 5 Rice Screenshot 7 Rice Screenshot 8

πŸ–₯️ Overview

This repository contains configuration files for:

  • Window Manager: i3 (tiling window manager)
  • Terminal: Alacritty with gruvbox theme
  • Shell: Zsh with Powerlevel10k prompt
  • Status Bar: Polybar with gruvbox colors
  • Application Launcher: Rofi
  • File Manager: Yazi (terminal-based)
  • System Monitor: btop
  • Notifications: Dunst
  • And many more tools...

πŸ“‹ Dependencies

Required Dependencies

Base System

# For Ubuntu/Debian
sudo apt install git stow build-essential bc xrandr pgrep

# For Arch Linux
sudo pacman -S git stow base-devel bc xorg-xrandr procps-ng

# For Fedora
sudo dnf install git stow @development-tools bc xorg-xrandr procps-ng

Core Applications

# Window Manager & Compositor
i3-gaps polybar picom

# Terminal & Shell
alacritty zsh oh-my-zsh

# Application Launcher & Notifications
rofi dunst

# System Monitoring & File Management
btop yazi bat

# Audio & Visual Tools
cava pavucontrol

Fonts

Install Nerd Fonts for proper icon rendering:

# Clone the repository
git clone https://github.com/ryanoasis/nerd-fonts.git
cd nerd-fonts
./install.sh

# Or install via package manager
# Ubuntu/Debian
sudo apt install fonts-font-awesome ttf-nerd-fonts-symbols-common

# Arch Linux
yay -S ttf-nerd-fonts-symbols-common ttf-iosevka-nerd

Development Tools

# Ruby version management
rbenv ruby-build

# Node version management
nvm (install via curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash)

# Python environment
miniconda or pyenv

Additional Dependencies for Scripts and Features

For Polybar scripts:

# For brightness control and calculations in polybar
bc

# For monitoring hardware status
xrandr

# For process management in polybar scripts
pgrep

# For system control
systemctl (usually pre-installed with systemd)

# For network status
tailscale (optional for VPN status in polybar)

For Yazi file manager:

# For media info in Yazi
mediainfo

# For EXIF information in Yazi
exiftool

# For media playback in Yazi
mpv

# For extracting archives in Yazi
unzip unrar p7zip (for 7z files)

# For searching files by content
ripgrep

# For directory jumping
zoxide

For shell enhancements:

# For smart directory jumping (used in zsh config)
zoxide

# For safe deletion (used in zsh aliases)
trash-cli

# For modern ls replacement (used in zsh aliases)
eza

Optional Dependencies

  • blueman - Bluetooth manager
  • nvme-cli - For NVMe drive info in btop
  • smartmontools - For drive health monitoring
  • lm-sensors - For hardware sensors in btop
  • htop - Alternative system monitor
  • neofetch or screenfetch - System information display
  • feh or nitrogen - Wallpaper setting tools
  • flameshot - Screenshot tool
  • xss-lock - Screen locking utility
  • i3lock - Screen locker (used in i3 config)
  • playerctl - Media player control

πŸš€ Installation

Prerequisites

  1. Install Git
  2. Install GNU Stow (for managing symlinks)

Steps

  1. Clone the repository:
git clone https://github.com/Chinychon/dotfiles.git ~/.dotfiles
cd ~/.dotfiles
  1. Install packages using Stow:
# Install all configurations
stow */  # This will install all packages

# Or install specific configurations
stow zsh
stow i3
stow alacritty
stow polybar
# etc.
  1. Install Oh-My-Zsh (if not already installed):
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
  1. Install Powerlevel10k (if not already installed):
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
  1. Install Zsh plugins:
# Syntax highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

# Autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
  1. Set Zsh as your default shell:
chsh -s $(which zsh)
  1. Reboot your system to ensure all configurations are loaded correctly.

πŸ”§ Configuration Highlights

Environment Switching

The configuration includes special functions for switching between development environments:

  • use_conda - Activate Python environment with conda
  • use_ruby - Activate Ruby environment with rbenv
  • Aliases: conda-env and ruby-env

Useful Zsh Aliases

  • ls β†’ eza (with icons)
  • ll β†’ eza -l
  • lt β†’ eza -T -L3 (tree view)
  • rm β†’ trash-put (safer deletion)

Mortal Reminder

A unique feature in the polybar that shows the remaining days in the current year as a reminder of life's brevity.

🎨 Theming

All configurations follow a consistent gruvbox dark theme. You can customize the theme by:

  1. Changing the theme file in alacritty/.config/alacritty/alacritty.toml
  2. Modifying colors in polybar/.config/polybar/config.ini
  3. Updating the rofi theme in rofi/.config/rofi/config.rasi

🀝 Contributing

Feel free to fork this repository and adapt the configurations to your needs. If you have improvements, please submit a pull request!

⚠️ Notes

  • The configuration assumes a dual monitor setup (HDMI-0 and DP-0). Modify i3/.config/i3/config to match your monitor setup.
  • Some scripts may need executable permissions: chmod +x ~/.dotfiles/scripts/*
  • The configuration uses Iosevka Nerd Font. Make sure it's installed for proper icon rendering.
  • BONUS: Thanks for reading the README. Check out this plugin for rendering markdown files in NVIM: https://github.com/MeanderingProgrammer/render-markdown.nvim

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors