A comprehensive, production-ready Fedora Linux configuration with modern terminal tools, development environment, and productivity scripts.
- Modern Terminal Experience: Zsh with Oh My Zsh, autosuggestions, and syntax highlighting
- Beautiful UI: Catppuccin theme across all applications
- Developer Tools: Neovim with LSP, Kitty terminal, Tmux multiplexer
- System Scripts: Automated system maintenance and power management
- File Manager: Superfile with modern UI
- Terminal Clock: Peaclock with multiple themes
- Fun Elements: Pokémon colorscripts for terminal startup
- pokemon-colorscripts/
Pokémon-themed terminal color scripts with 900+ sprites - Scripts/
System management and utility scripts:update.sh– DNF system update, cleanup, and flatpak updatesPower-Saving.sh– GNOME power profile switchingHotspotConnections.sh– Network hotspot device monitoring
- tmux/
Tmux configuration with TPM plugin manager and modern styling - kitty/
Kitty terminal with Catppuccin theme and Wayland support - nvim/
Complete Neovim IDE setup:- LSP servers for 10+ languages
- Lazy.nvim plugin manager
- File explorer, fuzzy finder, Git integration
- Auto-completion and debugging support
- superfile/
Modern terminal file manager configuration - peaclock/
Terminal clock with multiple visual themes - .zshrc
Zsh configuration with aliases, exports, and tmux integration
- Fedora Linux 38+ (recommended: Fedora 39+)
- Internet connection for package installation
- Git (usually pre-installed)
git clone https://github.com/Rakeshyadav-19/Fedora-Linux.git ~/Fedora-Linux
cd ~/Fedora-Linuxchmod +x install.sh
./install.shLog out and back in, or restart your terminal to activate all changes.
- Core Tools:
tmux,zsh,git,curl,wget - Terminal Utilities:
eza,bat,fzf,ripgrep,fd-find - Development:
neovim,nodejs,npm,python3-pip - Media:
xclip,wl-clipboard,figlet - Optional:
kitty,flatpaksupport
.zshrc→~/.zshrctmux/.tmux.conf→~/.tmux.confkitty/kitty.conf→~/.config/kitty/kitty.confnvim/→~/.config/nvim/superfile/→~/.config/superfile/peaclock/→~/.config/peaclock/
- Oh My Zsh framework
- zsh-autosuggestions
- zsh-syntax-highlighting
- Custom aliases and functions
- System Update:
sysup→~/Fedora-Linux/Scripts/update.sh - Power Management:
power-saver→~/Fedora-Linux/Scripts/Power-Saving.sh - Hotspot Monitor:
hotscon→~/Fedora-Linux/Scripts/HotspotConnections.sh
vi→nvim(Neovim as default editor)ls→eza --icons=auto(Modern ls with icons)c→clear(Quick clear)pokemon→pokemon-colorscripts -r(Random Pokémon)peaclock→ Configured peaclock with themes
- Theme: Catppuccin Mocha with transparency
- Features: Wayland support, URL detection, cursor effects
- Auto-tmux: Automatically starts tmux session in Kitty
- Prefix:
Ctrl+A(instead of default Ctrl+B) - Mouse Support: Full mouse integration
- Plugins: TPM (Tmux Plugin Manager) ready
- Theme: Custom status bar with activity monitoring
- Plugin Manager: Lazy.nvim
- LSP Support: 10+ language servers (Python, TypeScript, Rust, Go, etc.)
- Features:
- File explorer (Neo-tree)
- Fuzzy finder (Telescope)
- Git integration (Fugitive, Gitsigns)
- Auto-completion (nvim-cmp)
- Debugging support (nvim-dap)
- Treesitter syntax highlighting
- superfile: TUI file manager with themes
- peaclock: Terminal clock with visual configs
- pokemon-colorscripts: 900+ Pokémon sprites for terminal fun
- OS: Fedora Linux 38+
- RAM: 4GB (8GB+ recommended for Neovim LSP)
- Storage: 2GB free space
- Display: Any resolution (optimized for 1080p+)
The install script will automatically install these:
# Core system tools
tmux zsh git curl wget nodejs npm python3-pip
# Terminal utilities
eza bat fzf ripgrep fd-find neovim kitty
# Development tools
gcc make cmake python3-dev nodejs-dev
# Media and clipboard
xclip wl-clipboard figlet
# Optional enhancements
flatpak snapd# Check if everything is working
tmux -V
nvim --version
zsh --version
pokemon-colorscripts --help- Edit
~/.zshrcfor additional aliases - Modify
~/.tmux.conffor tmux preferences - Configure Neovim plugins in
~/.config/nvim/lua/plugins.lua - Adjust Kitty theme in
~/.config/kitty/kitty.conf
# Python
pip install python-lsp-server
# Node.js/TypeScript
npm install -g typescript-language-server
# Rust
rustup component add rust-analyzer1. Zsh not set as default shell
chsh -s $(which zsh)
# Log out and back in2. Tmux plugins not working
# Install TPM first
git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm
# Then in tmux: Prefix + I to install plugins3. Neovim LSP servers not working
# Open Neovim and run:
:checkhealth lsp
# Install missing servers as suggested4. Kitty config not loading
# Verify Kitty is installed and config path is correct
kitty --debug-config5. Pokemon colorscripts not showing
# Check if it's in PATH
echo $PATH | grep -q ~/.local/bin && echo "PATH OK" || echo "Add ~/.local/bin to PATH"More screenshots and demos available in individual tool directories
# Update system packages
sysup
# Update dotfiles (pull latest changes)
cd ~/Fedora-Linux && git pull
# Update Neovim plugins
nvim -c "Lazy sync" -c "qa"
# Update Oh My Zsh
omz update# The setup creates symlinks, so your configs are already in the repo
# Commit any changes you make:
cd ~/Fedora-Linux
git add -A
git commit -m "Personal customizations"
git push| Tool | Purpose | Config Location |
|---|---|---|
| Zsh + Oh My Zsh | Shell framework | ~/.zshrc |
| Tmux | Terminal multiplexer | ~/.tmux.conf |
| Neovim | Code editor | ~/.config/nvim/ |
| Kitty | Terminal emulator | ~/.config/kitty/ |
| Superfile | File manager | ~/.config/superfile/ |
| Peaclock | Terminal clock | ~/.config/peaclock/ |
| Pokemon Colorscripts | Terminal art | ~/.local/bin/ |
This project is licensed under the MIT License - see the LICENSE file for details.
Individual components have their own licenses:
- pokemon-colorscripts - MIT License
- Other tools follow their respective licenses
- pokemon-colorscripts - Terminal Pokémon art
- Oh My Zsh - Zsh framework
- Tmux - Terminal multiplexer
- Kitty - Modern terminal emulator
- Neovim - Hyperextensible text editor
- Catppuccin - Beautiful pastel themes
- Lazy.nvim - Plugin manager for Neovim
- Fork this repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
If you find this project helpful, please consider:
- ⭐ Starring this repository
- 🐛 Reporting issues
- 📝 Contributing improvements
- 📢 Sharing with others
Happy hacking! 🚀
