This commit is contained in:
2025-10-01 21:52:02 +03:00
parent e112f10b70
commit d201ddf5ef
11 changed files with 421 additions and 1567 deletions

14
cachyos/README.md Normal file
View File

@@ -0,0 +1,14 @@
# CachyOS Installation
## 🚀 Quick Start
Run the master installation script to install everything:
```bash
cd /home/ocbwoy3/config/cachyos
./install-all.sh
```
This will automatically run all installation steps in the correct order.
**Note**: This installation is based on the currently written Nix configuration and should do it's best to recreate the same experience you'd get on NixOS, but on CachyOS. All the install scripts are written by Curor's AI, there might be some inaccuracies. Equivalent alternatives for Nix-specific stuff are provided wherever possible.

45
cachyos/install-all.sh Executable file
View File

@@ -0,0 +1,45 @@
#!/bin/bash
# Master Installation Script for Hyprland Rice on CachyOS
# Runs all installation and setup scripts in the correct order
set -e
echo "🚀 OCbwoy3 Dotfiles - CachyOS"
echo "============================="
echo ""
# Get the directory where this script is located
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo "📋 This script will:"
echo " 1. Install all required packages for your Hyprland rice"
echo " 2. Install Ralsei cursors"
echo " 3. Set up configuration symlinks and final configuration"
echo ""
echo "⚠️ This process may take a while and will require sudo privileges"
echo ""
read -p "Continue? (y/N): " -n 1 -r
echo
if [[ ! $REPLY =~ ^[Yy]$ ]]; then
echo "❌ Installation cancelled"
exit 1
fi
echo ""
echo "🔧 CHModing +x install scripts"
chmod +x "$SCRIPT_DIR"/*.sh
echo ""
echo "📦 [1/3] Install packages"
"$SCRIPT_DIR/install-packages.sh"
echo ""
echo "🎮 [2/3] Installing cursors"
"$SCRIPT_DIR/install-cursors.sh"
echo ""
echo "⚙️ [3/3] Installing Hyprland"
"$SCRIPT_DIR/setup.sh"
echo "🚀 Done!"

55
cachyos/install-cursors.sh Executable file
View File

@@ -0,0 +1,55 @@
#!/bin/bash
# Ralsei Cursors Installation Script for CachyOS
# Installs custom Ralsei cursor theme
set -e
echo "🎮 Installing Ralsei cursors..."
# Create cursor directory
CURSOR_DIR="$HOME/.local/share/icons/RalseiCursors"
mkdir -p "$CURSOR_DIR"
# Copy cursor files from config directory
CONFIG_DIR="/home/ocbwoy3/config"
CURSOR_SOURCE="$CONFIG_DIR/hosts/default/packages/ralsei-cursors/cursors"
if [ -d "$CURSOR_SOURCE" ]; then
echo "📁 Copying cursor files..."
cp -r "$CURSOR_SOURCE"/* "$CURSOR_DIR/"
# Copy theme index file
if [ -f "$CONFIG_DIR/hosts/default/packages/ralsei-cursors/index.theme" ]; then
cp "$CONFIG_DIR/hosts/default/packages/ralsei-cursors/index.theme" "$CURSOR_DIR/"
fi
echo "✅ Ralsei cursors copied successfully!"
else
echo "❌ Cursor source directory not found at: $CURSOR_SOURCE"
echo "Please ensure your config directory structure is correct."
exit 1
fi
# Update icon cache
echo "🔄 Updating icon cache..."
if command -v gtk-update-icon-cache &> /dev/null; then
gtk-update-icon-cache -f -t "$CURSOR_DIR"
echo "✅ Icon cache updated!"
else
echo "⚠️ gtk-update-icon-cache not found. You may need to install gtk-update-icon-cache"
fi
# Set as default cursor theme (optional - user can do this manually)
echo "🎯 Setting Ralsei cursors as default..."
if command -v gsettings &> /dev/null; then
gsettings set org.gnome.desktop.interface cursor-theme "RalseiCursors"
echo "✅ Cursor theme set as default!"
else
echo "⚠️ gsettings not found. You may need to set the cursor theme manually."
fi
# Alternative method using XDG
if command -v xdg-settings &> /dev/null; then
xdg-settings set cursor-theme "RalseiCursors" 2>/dev/null || true
fi

128
cachyos/install-packages.sh Executable file
View File

@@ -0,0 +1,128 @@
#!/bin/bash
set -e
echo "🚀 Installing packages for Hyprland"
# Update system first
# echo "📦 Updating system"
# sudo pacman -Syu --noconfirm
# Core Hyprland packages
echo "🎨 Installing Hyprland apps"
sudo pacman -S --needed --noconfirm \
hyprland \
waybar \
wofi \
hyprpaper \
dunst \
hyprlock \
hypridle
# Essential Wayland tools
echo "🔧 Installing Wayland apps"
sudo pacman -S --needed --noconfirm \
grim \
slurp \
swappy \
wl-clipboard \
wayland-utils \
cliphist \
libnotify
# Audio and media
echo "🎵 Installing media apps"
sudo pacman -S --needed --noconfirm \
pavucontrol \
playerctl \
mpv \
ffmpeg \
gimp \
imagemagick
# Fonts
echo "🔤 Installing fonts"
sudo pacman -S --needed --noconfirm \
noto-fonts \
noto-fonts-cjk \
noto-fonts-emoji \
ttf-nerd-fonts-symbols \
ttf-jetbrains-mono \
ttf-fira-code
# Development tools
echo "💻 Installing dev tools"
sudo pacman -S --needed --noconfirm \
npm \
git \
github-cli \
nix \
bun
# System utilities
echo "🛠️ Installing system tools"
sudo pacman -S --needed --noconfirm \
htop \
btop \
fastfetch \
wget \
curl \
unzip \
jq \
networkmanager \
blueman \
network-manager-applet \
ghostty
# Gaming
echo "🎮 Installing gaming stuff"
sudo pacman -S --needed --noconfirm \
steam \
gamescope \
mangohud
# DE
echo "🖥️ Installing DE components"
sudo pacman -S --needed --noconfirm \
gnome-keyring \
seahorse \
polkit-gnome \
xdg-desktop-portal \
xdg-desktop-portal-gtk \
xdg-desktop-portal-wlr \
qt5ct \
qt6ct \
prismlauncher
# File manager
echo "📁 Installing file manager"
sudo pacman -S --needed --noconfirm \
nautilus
echo "🔍 Installing more tools..."
sudo pacman -S --needed --noconfirm \
vesktop \
obs-studio \
kitty
# Install AUR packages
echo "📦 Installing AUR packages"
if command -v yay &> /dev/null; then
echo "Using yay for AUR packages..."
yay -S --needed --noconfirm \
hyprsysteminfo \
catppuccin-gtk-theme-mocha \
catppuccin-cursors-mocha-blue \
catppuccin-kde \
catppuccin-papirus-folders \
catppuccin-waybar-hyprland \
brave-bin
else
echo "⚠️ Please install yay"
echo "sudo pacman -S cachyos/yay"
fi
# Enable services
echo "🔧 Enabling services"
sudo systemctl enable NetworkManager
sudo systemctl enable bluetooth

172
cachyos/setup.sh Executable file
View File

@@ -0,0 +1,172 @@
#!/bin/bash
# Setup Script for Hyprland Rice Configuration
# Creates symlinks and performs final setup
set -e
echo "🔧 Setting up Hyprland rice configuration..."
CONFIG_DIR="/home/ocbwoy3/config"
USER_HOME="$HOME"
XDG_CONFIG_HOME="$USER_HOME/.config"
# Function to create symlink
create_symlink() {
local source="$1"
local target="$2"
local description="$3"
if [ -e "$source" ]; then
echo "🔗 Creating symlink: $description"
# Remove existing file/directory if it exists
[ -e "$target" ] && rm -rf "$target"
# Create parent directory if it doesn't exist
mkdir -p "$(dirname "$target")"
# Create symlink
ln -sf "$source" "$target"
echo "$description configured"
else
echo " ⚠️ Source not found: $source"
fi
}
# Create configuration symlinks
echo "📁 Setting up configuration symlinks..."
# Hyprland configuration
create_symlink "$CONFIG_DIR/config/hypr" "$XDG_CONFIG_HOME/hypr" "Hyprland configuration"
# Waybar configuration
create_symlink "$CONFIG_DIR/config/waybar" "$XDG_CONFIG_HOME/waybar" "Waybar configuration"
# Wofi configuration
create_symlink "$CONFIG_DIR/config/wofi" "$XDG_CONFIG_HOME/wofi" "Wofi configuration"
# Dunst configuration
create_symlink "$CONFIG_DIR/config/dunst" "$XDG_CONFIG_HOME/dunst" "Dunst notification daemon"
# Ghostty configuration
create_symlink "$CONFIG_DIR/config/ghostty" "$XDG_CONFIG_HOME/ghostty" "Ghostty terminal configuration"
# Wlogout configuration
create_symlink "$CONFIG_DIR/config/wlogout" "$XDG_CONFIG_HOME/wlogout" "Wlogout configuration"
# Qt5CT configuration
create_symlink "$CONFIG_DIR/config/qt5ct" "$XDG_CONFIG_HOME/qt5ct" "Qt5CT configuration"
# Fastfetch configuration
create_symlink "$CONFIG_DIR/config/fastfetch" "$XDG_CONFIG_HOME/fastfetch" "Fastfetch configuration"
# XDG Desktop Portal configuration
create_symlink "$CONFIG_DIR/config/xdg-desktop-portal" "$XDG_CONFIG_HOME/xdg-desktop-portal" "XDG Desktop Portal configuration"
# Create fonts directory and symlink custom font
echo "🔤 Setting up fonts..."
FONT_DIR="$USER_HOME/.local/share/fonts"
mkdir -p "$FONT_DIR"
create_symlink "$CONFIG_DIR/config/dotfile_deps/DotfilesFont.otf" "$FONT_DIR/DotfilesFont.otf" "Custom Dotfiles font"
# Set up GTK configuration
echo "🎨 Setting up GTK configuration..."
GTK_CONFIG_DIR="$XDG_CONFIG_HOME/gtk-3.0"
mkdir -p "$GTK_CONFIG_DIR"
create_symlink "$CONFIG_DIR/config/gtk-3.0/settings.ini" "$GTK_CONFIG_DIR/settings.ini" "GTK3 settings"
# Install Arashi icon theme
echo "🎯 Installing Arashi icon theme..."
ARASHI_THEME_DIR="$USER_HOME/.local/share/icons/Arashi"
ARASHI_REPO="https://github.com/0hStormy/Arashi"
if [ ! -d "$ARASHI_THEME_DIR" ]; then
mkdir -p "$USER_HOME/.local/share/icons/"
echo " 📥 Cloning Arashi icon theme from GitHub..."
git clone "$ARASHI_REPO" "$ARASHI_THEME_DIR"
echo " ✅ Arashi icon theme installed from GitHub"
else
echo " ✅ Arashi icon theme already installed"
fi
# Set up desktop environment
echo "🖥️ Configuring desktop environment..."
# Set GTK theme
if command -v gsettings &> /dev/null; then
echo "🎨 Setting GTK themes..."
gsettings set org.gnome.desktop.interface gtk-theme "Catppuccin-Mocha-Standard-Blue-Dark"
gsettings set org.gnome.desktop.interface icon-theme "Arashi"
gsettings set org.gnome.desktop.interface cursor-theme "RalseiCursors"
gsettings set org.gnome.desktop.interface font-name "Noto Sans 11"
gsettings set org.gnome.desktop.wm.preferences theme "Catppuccin-Mocha-Standard-Blue-Dark"
echo " ✅ GTK themes configured"
fi
# Set Qt theme
echo "🎨 Setting Qt themes..."
if command -v qt5ct &> /dev/null; then
echo " ✅ Qt5CT available for Qt5 theme configuration"
fi
if command -v qt6ct &> /dev/null; then
echo " ✅ Qt6CT available for Qt6 theme configuration"
fi
# Configure XDG directories
echo "📂 Setting up XDG directories..."
mkdir -p "$USER_HOME/.local/share/applications"
mkdir -p "$USER_HOME/.local/share/mime"
mkdir -p "$USER_HOME/.cache"
# Set up environment variables
echo "🌍 Setting up environment variables..."
sudo tee -a /etc/environment << EOF
# Hyprland rice environment variables
XDG_TERMINAL=ghostty
XDG_SYSTEM_MONITOR=htop
GTK_USE_PORTAL=1
QT_QPA_PLATFORMTHEME=qt5ct
EOF
echo " ✅ Environment variables configured in /etc/environment"
# Create useful scripts
echo "📝 Creating useful scripts..."
SCRIPTS_DIR="$USER_HOME/.local/bin"
mkdir -p "$SCRIPTS_DIR"
# Roblox game scripts
cat > "$SCRIPTS_DIR/regretevator" << 'EOF'
#!/bin/bash
xdg-open roblox://placeId=4972273297
EOF
cat > "$SCRIPTS_DIR/kaijuparadise" << 'EOF'
#!/bin/bash
xdg-open roblox://placeId=6456351776
EOF
cat > "$SCRIPTS_DIR/sewh" << 'EOF'
#!/bin/bash
xdg-open roblox://placeId=16991287194
EOF
# Make scripts executable
chmod +x "$SCRIPTS_DIR/regretevator"
chmod +x "$SCRIPTS_DIR/kaijuparadise"
chmod +x "$SCRIPTS_DIR/sewh"
echo " ✅ Roblox game scripts created"
# Update font cache
echo "🔄 Updating font cache..."
if command -v fc-cache &> /dev/null; then
fc-cache -fv
echo " ✅ Font cache updated"
fi
# Update icon cache
echo "🔄 Updating icon cache..."
if command -v gtk-update-icon-cache &> /dev/null; then
gtk-update-icon-cache -f -t "$USER_HOME/.local/share/icons" 2>/dev/null || true
echo " ✅ Icon cache updated"
fi

View File

@@ -1,5 +1,5 @@
font-family = "GeistMono NF" font-family = "GeistMono NF"
theme = catppuccin-mocha theme = Catppuccin Mocha
background-opacity = 0.7 background-opacity = 0.7
window-padding-x = 16 window-padding-x = 16
window-padding-y = 16 window-padding-y = 16

View File

@@ -1,7 +1,7 @@
[Settings] [Settings]
gtk-theme-name=catppuccin-mocha-blue-standard gtk-theme-name=catppuccin-mocha-blue-standard+default
gtk-icon-theme-name=Adwaita gtk-icon-theme-name=Arashi
gtk-font-name=Adwaita Sans 11 gtk-font-name=Monaspace Neon 11
gtk-cursor-theme-name=RalseiCursors gtk-cursor-theme-name=RalseiCursors
gtk-cursor-theme-size=24 gtk-cursor-theme-size=24
gtk-toolbar-style=GTK_TOOLBAR_ICONS gtk-toolbar-style=GTK_TOOLBAR_ICONS

View File

@@ -1,9 +1,9 @@
[Appearance] [Appearance]
color_scheme_path=/home/ocbwoy3/.config/qt5ct/colors/catppuccin-mocha-blue.conf color_scheme_path=/home/ocbwoy3/.config/qt5ct/colors/catppuccin-mocha-blue.conf
custom_palette=true custom_palette=true
icon_theme=arashi icon_theme=Arashi
standard_dialogs=default standard_dialogs=default
style=Darkly style=Windows
[Fonts] [Fonts]
fixed="Geist Mono,9,-1,5,50,0,0,0,0,0" fixed="Geist Mono,9,-1,5,50,0,0,0,0,0"
@@ -25,7 +25,7 @@ underline_shortcut=1
wheel_scroll_lines=3 wheel_scroll_lines=3
[SettingsWindow] [SettingsWindow]
geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\0\0\0\0\0\0\0\x4\xee\0\0\x3q\0\0\0\0\0\0\0\0\0\0\x3\xbf\0\0\x4\x1a\0\0\0\0\x2\0\0\0\a\x80\0\0\0\0\0\0\0\0\0\0\x4\xee\0\0\x3q) geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\x16\0\0\0\x36\0\0\x3\xb8\0\0\x4!\0\0\0\x16\0\0\0\x36\0\0\x3\xb8\0\0\x4!\0\0\0\0\0\0\0\0\a\x80\0\0\0\x16\0\0\0\x36\0\0\x3\xb8\0\0\x4!)
[Troubleshooting] [Troubleshooting]
force_raster_widgets=1 force_raster_widgets=1

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +0,0 @@
#!/usr/bin/bash
qlist -Iv > /home/ocbwoy3/config/gentoo/packages.txt
cat /var/lib/portage/world > /home/ocbwoy3/config/gentoo/world-packages.txt

View File

@@ -1,82 +0,0 @@
app-admin/sudo
app-admin/sudo-rs
app-arch/unzip
app-editors/vim
app-editors/vscode
app-eselect/eselect-repository
app-misc/brightnessctl
app-misc/cliphist
app-misc/fastfetch
app-misc/hyfetch
app-misc/neofetch
app-misc/nwg-look
app-misc/tmux
app-misc/wayland-utils
app-shells/gentoo-zsh-completions
app-shells/zsh
app-shells/zsh-completions
dev-libs/dbus-glib
dev-python/pillow
dev-ruby/psych
dev-vcs/git
games-util/gamemode
games-util/mangohud
gnome-base/nautilus
gui-apps/grim
gui-apps/hyprpaper
gui-apps/hyprsysteminfo
gui-apps/slurp
gui-apps/swappy
gui-apps/waybar
gui-apps/wl-clipboard
gui-apps/wlogout
gui-apps/wofi
gui-libs/aquamarine
gui-libs/display-manager-init
gui-libs/hyprutils
gui-libs/xdg-desktop-portal-hyprland
gui-wm/gamescope
gui-wm/hyprland
kde-apps/dolphin
kde-apps/juk
kde-apps/konsole
kde-plasma/discover
kde-plasma/plasma-login-sessions
kde-plasma/plasma-meta
media-gfx/gimp
media-libs/libwebp
media-sound/cmus
media-sound/pavucontrol
media-sound/playerctl
media-sound/spotify
media-video/ffmpeg
media-video/obs-studio
net-misc/dhcpcd
net-misc/netifrc
net-misc/yt-dlp
net-wireless/blueman
net-wireless/bluez
sys-apps/dbus
sys-apps/flatpak
sys-apps/pciutils
sys-apps/xdg-desktop-portal
sys-auth/hyprpolkitagent
sys-auth/polkit
sys-auth/rtkit
sys-boot/grub
sys-fs/btrfs-progs
sys-kernel/gentoo-kernel-bin
sys-kernel/linux-firmware
sys-power/cpupower
sys-process/htop
www-client/firefox-bin
www-client/w3m
www-client/zen-bin
x11-drivers/nvidia-drivers
x11-libs/libnotify
x11-libs/libxkbcommon
x11-misc/dunst
x11-misc/sddm
x11-terms/ghostty
x11-terms/kitty
x11-terms/wezterm