Skip to content

Linux Arch dotfiles - featuring Project Alarm (Arch) & Project Asahi (Fedora)

License

Notifications You must be signed in to change notification settings

Rouzihiro/dotfiles

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation


ArchLinux & Fedora Universal Installer for a Lightweight & Beautiful Setup

๐Ÿ–ฅ๏ธ Automatic Installation:

bash <(curl -sSL https://kutt.it/ReyDot)

Theme Switcher Demo

Blazing Fast Theme Switcher

A simple, efficient, and centralized theme management system for your dotfiles and applications.


Overview

With this setup, you define all your themes once inside your dotfiles. Then, using a small script, you can switch themes across all your applications instantly.

The magic? Symlinks. Instead of moving files or copying themes around, the script updates a single symlink pointing to the currently active theme folder. All your apps source their color schemes from that symlink, making theme switching:

  • Blazing fast
  • Safe (no file duplication or accidental overwrites)
  • Centralized (one place to manage all themes)

Features

  • Centralized theme definitions in your dotfiles
  • Instant theme switching across all apps
  • Minimal disk operations (symlink only)
  • Compatible with Nvim, Wofi, multiple Terminals, Tmux, Starship and other tools that read theme files

Installation

Clone your dotfiles and make sure the scripts and themes are in place:

# Example directory structure
~/.dotfiles/
โ”œโ”€โ”€ install-themes.sh
โ”œโ”€โ”€ themes/
โ”‚   โ”œโ”€โ”€ theme1/
โ”‚   โ”œโ”€โ”€ theme2/
โ”‚   โ””โ”€โ”€ ...
โ””โ”€โ”€ .local/bin/rofi/wofi-theme-switcher

๐Ÿš€ Great performance for x86 and Apple Silicon M1

This setup with Sway WM idles at ~600MB RAM with our ultra-efficient stack:

โœ“ C/Rust-powered tools

โœ“ Asahi Linux-tuned kernel

โœ“ Battery-optimized power profiles

Why it flies:

  • Zero Electron apps
  • GPU-optimized compositing
  • Minimal background services

๐ŸŒŸ Features

  • Cross-Platform Compatibility: Works on:
    • All standard x86_64 PCs
    • Apple Silicon (M1/M2) via Asahi Linux
    • Microsoft Surface devices
    • Various consumer laptops (HP, Dell, Lenovo, etc.)
  • Modular Design: Select only the packages you need
  • Proven Stability: Successfully installed on:
    • MacBook Air M1 (8GB)
    • MacBook Pro (Intel)
    • Microsoft Surface Pro 2
    • Various friends/family devices
  • Included Fixes: Hardware-specific solutions in /fixes directory

๐Ÿ› ๏ธ Tested Configurations

Device Status Notes
MacBook Air M1 (8GB) โœ… Fully Working Includes Asahi fixes
Microsoft Surface Pro 2 โœ… Fully Working Touchscreen support
Generic Intel Laptops โœ… Fully Working Broad compatibility

Core System

  • Shell: zsh & bash
  • Kernel: Linux 6.14.8-asahi-1-1-ARCH

Sway Home Screenshot Sway Home Screenshot 2 Sway Home Screenshot 3 Sway Home Screenshot 4 Sway Home Screenshot 5 Sway Home Screenshot 6 Sway Home Screenshot 7 Sway Home Screenshot 8

Window Managers

Sway Ecosystem

Component Description Language
Sway Window Manager C
Swaybg Wallpaper manager C
Swaylock Screen locker C
Swayidle Idle management C
i3blocks Status Bar for Sway/i3 C

Sway Home Screenshot 9 Sway Home Screenshot 10

System Components

Component Description Language
Tmux Terminal Multiplexer C
Starship Cross-Shell Prompt Rust
Dunst Notification Daemon C
Rofi-Wayland Application Launcher C
wlr-randr Display Output Manager C

Applications

Component Description Language
Autotiling-rs Auto-Tiling Script for Sway/Hyprland Rust
Bob Neovim Version Manager (Nightly Installer) Rust
Brave Browser Web Browser JavaScript
Btop System Monitor C++
Fastfetch System Information Tool C
Foot Terminal Emulator C
Fuzzel Wayland Application Launcher C
fzf-preview Fuzzy Finder Preview Plugin TypeScript
Lazygit Git TUI Client Go
Librewolf Privacy-Focused Firefox Fork C++
Neovim Text Editor C
nvim-nightly Nightly Build of Neovim C
Satty Screenshot Annotation Tool Rust
Swappy Wayland Screenshot Editor C
Thunar File Manager C
Vifm Terminal File Manager C
Zathura PDF Reader C

Gaming

Component Description Language
Steam Game Distribution Platform C++
AntimicroX Gamepad to Keyboard/Mouse Mapper C++

๐Ÿ–ฅ๏ธ Manual Installation Experience

For best visual experience install FZF:

git clone https://github.com/Rouzihiro/dotfiles.git
cd dotfiles
chmod +x install-arch.sh
chmod +x install-fedora.sh
chmod +x install-themes.sh
./install-arch.sh
./install-fedora.sh
./install-themes.sh

๐ŸŒˆ Customization

Edit package lists in /pkgs directory

Add your fixes to /fixes (see existing examples)

Select packages interactively during installation

several Shell Enhanced Functions


Theme Generator - How To

Overview

This project generates consistent theme files across multiple applications based on a single Kitty terminal color palette configuration.

Prerequisites

  • Python 3.x installed
  • $HOME/dotfiles/themes directory exists
  • $HOME/dotfiles/.local/bin in your shell PATH

Setup Instructions

1. Create Your Kitty Configuration

First, create a kitty.conf file in your themes directory with your desired color palette: Create the file at $HOME/dotfiles/themes/kitty.conf with the following content:

Base color palette

color0-15

Application-specific colors

background #YOUR_BACKGROUND foreground #YOUR_FOREGROUND selection_foreground #YOUR_SELECTION_FG selection_background #YOUR_SELECTION_BG cursor #YOUR_CURSOR cursor_text_color #YOUR_CURSOR_TEXT url_color #YOUR_URL_COLOR active_tab_foreground #YOUR_ACTIVE_TAB_FG active_tab_background #YOUR_ACTIVE_TAB_BG inactive_tab_foreground #YOUR_INACTIVE_TAB_FG inactive_tab_background #YOUR_INACTIVE_TAB_BG

Replace all the #YOUR_... placeholders with your actual hex color values.

2. Generate Theme Files

After creating your kitty.conf file, run the theme generator:

python ~/dotfiles/projects/theme-generator/main.py

This will parse your Kitty color palette and generate theme files for various applications (Vim, terminal, etc.) in the appropriate directories.

3. Generate Starship Configuration

Finally, run the Starship generator to create a consistent prompt configuration:

python ~/dotfiles/projects/theme-generator/starship_generator.py

This will create a Starship configuration file that matches your color palette.

4. Install and Apply Themes

Run the theme installer script to make the new theme available in your theme selector:

$HOME/dotfiles/install-themes.sh

5. Generate Palette Files

Finally, generate the palette files for your theme selector:

$HOME/dotfiles/.local/bin/zorro/z-theme-palettes-gen

Notes

  • The theme generator reads from $HOME/dotfiles/themes/kitty.conf
  • Generated files will be placed in their respective application directories
  • Run all scripts whenever you update your color palette to keep everything synchronized
  • Ensure $HOME/dotfiles/.local/bin is in your shell PATH for the palette generator to work

About

Linux Arch dotfiles - featuring Project Alarm (Arch) & Project Asahi (Fedora)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published