Last Updated: December 2025
A: ArchStarterPack is a curated collection of configuration files, setup guides, and optimization scripts specifically designed for Arch Linux-based systems. It provides battle-tested configurations for system optimization, hardware peripherals, and development environments.
A: No! Each module is independent. You can use:
- Only CachyOS configuration for system optimization
- Only LogiOps for mouse configuration
- Only Node.js setup for development
- Any combination you need
A: The configurations are tested on ASUS X507UF hardware running CachyOS, but they should work on:
- ✅ Any Arch-based distribution (Manjaro, EndeavourOS, etc.)
- ✅ Systems with similar Intel + NVIDIA Optimus setups
⚠️ Other hardware with modifications- ❌ Non-Arch distributions (will need significant adaptation)
Run ./check-prerequisites.sh to verify compatibility.
A: The guides are written to be beginner-friendly with:
- Detailed explanations
- Safety checks before critical operations
- Backup instructions
- Rollback procedures
However, system configuration always carries some risk. We recommend:
- Reading the full guide before starting
- Creating backups
- Testing on non-critical systems first
- Understanding what each command does
A: YES! Always create backups before making system changes. Each guide includes backup commands, but at minimum:
# Backup critical configs
sudo cp /etc/default/grub /etc/default/grub.backup
sudo cp -r /etc/modprobe.d /etc/modprobe.d.backup
sudo cp /etc/mkinitcpio.conf /etc/mkinitcpio.conf.backupA: Yes! The configurations work on any Arch-based distribution. The name "CachyOS" refers to the distribution we tested on, but the settings are generic.
A: Results vary by usage, but typical improvements:
- Light usage: 20-30% longer battery life
- Web browsing: 15-25% improvement
- Video playback: 10-20% improvement
The configurations optimize power management but don't perform miracles. Battery health and age also affect results.
A: No, the configurations include thermal management via thermald. Your laptop's BIOS fan control will automatically increase cooling when needed. We've tested under heavy load without thermal issues.
A: Yes! Every guide includes rollback instructions. You can restore from backups or manually remove changes. See the "Rollback Instructions" section in each guide.
A:
- Main guide (
asus_x_507_uf_readme.md): Recommended for most users, maintains display flexibility - Deprecated guide (
asus_x_507_uf_nvidia_deprecated.md): For users who only use external monitors and want to completely disable the internal screen
Use the main guide unless you have a specific reason to use the deprecated one.
A: The Intel CPU and GPU optimizations work independently. NVIDIA-specific parameters only affect NVIDIA GPUs. If you don't have an NVIDIA GPU, simply omit those parameters.
A: LogiOps supports many Logitech mice, including:
- MX Master series (3S, 3, 2S, 1)
- MX Anywhere series
- MX Ergo
- Many others with HID++ protocol
Check the LogiOps GitHub for full compatibility.
A: Yes! The configuration file works as a template. You'll need to:
- Change the device name to match your mouse
- Find the CID codes for your mouse buttons (see readme.md)
- Adjust button mappings as needed
A:
# Stop the service
sudo systemctl stop logid
# Run in debug mode
sudo logid -v
# Press buttons on your mouse and observe the CID values in the outputA: Common issues:
- Wrong CID codes: Verify with
sudo logid -v - Config syntax error: Test with
sudo logid -t - KDE shortcuts conflict: Check System Settings → Shortcuts
- Service not running:
sudo systemctl status logid
A: Yes! The button mappings work on any Linux desktop. You may need to adjust keyboard shortcuts in the gestures section to match your DE's shortcuts (the config uses KDE/Plasma shortcuts by default).
A: Our minimal approach:
- ✅ No third-party plugin managers
- ✅ Works with system package manager (pacman)
- ✅ Easier to understand and maintain
- ✅ Faster shell startup time
- ✅ Fewer dependencies
You can use fisher/bass if you prefer, but this approach is simpler.
A: Yes! The configuration is designed to work in:
- Native Fish terminals
- VSCode integrated terminal
- Alacritty, Kitty, etc.
If you have issues, see nvm-fish-readme.md troubleshooting section.
A:
# List available versions
nvm list-remote
# Install a specific version
nvm install 18
# Use a version
nvm use 18
# Set default version
nvm alias default 18A: This module is specifically for Fish shell. For bash/zsh, use standard NVM installation:
# Standard NVM works directly with bash/zsh
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bashA:
-
Ensure you've set a default Node version:
bash -ic 'source /usr/share/nvm/init-nvm.sh && nvm install --lts && nvm alias default lts/*' -
Reload Fish:
exec fish -
Manually load NVM:
nvm-load node -v
A:
- TLP: Manages power profiles, CPU governors, USB autosuspend, battery thresholds (power management)
- thermald: Manages thermal zones and cooling devices (thermal management)
They work together: TLP optimizes power, thermald keeps temperatures safe.
A:
- Intel P-State: Modern Intel driver (6th gen+), hardware-managed frequencies, better efficiency
- CPUFreq: Legacy driver, software-managed frequencies, works on older CPUs
Use P-State on modern Intel CPUs (Skylake and newer).
A: Usually yes, especially for:
- GRUB/kernel parameter changes
- Graphics driver changes
- Power management service changes
Some settings can be applied without rebooting (like TLP configs), but rebooting ensures everything is properly loaded.
A: Generally yes, but be careful with:
- ❌ Conflicting kernel parameters
- ❌ Overlapping power management (TLP vs power-profiles-daemon)
- ✅ Combining mouse config with system optimization
- ✅ Using Node.js setup with any other module
When in doubt, ask in the Issues section.
A:
- At GRUB menu, press
eto edit boot entry - Remove the problematic parameters from the line starting with
linux - Press
Ctrl+Xto boot - Once booted, restore from backup:
sudo cp /etc/default/grub.backup /etc/default/grub sudo grub-mkconfig -o /boot/grub/grub.cfg
See TROUBLESHOOTING.md for more details.
A:
- Check TROUBLESHOOTING.md
- Run diagnostics (shows executed commands):
- Full system:
./cachy_os_config/diagnostics.sh - DRM/power/USB:
./cachy_os_config/drm-power-diagnostics.sh
- Full system:
- Search existing GitHub Issues
- Open a new issue with:
- Your hardware specs
- Distribution and kernel version
- Diagnostics output
- Steps you've taken
- Error messages
A:
- Don't panic! Everything is reversible
- Follow the rollback instructions in the guide you used
- Restore from backups:
sudo cp /etc/default/grub.backup.* /etc/default/grub sudo grub-mkconfig -o /boot/grub/grub.cfg sudo reboot - If still stuck, boot from a live USB and restore configurations
A: Yes! We welcome contributions for:
- Different laptop models
- Different mice/peripherals
- Different desktop environments
- Additional optimization guides
See CONTRIBUTING.md for guidelines.
A: Open an issue on GitHub with:
- Description of the bug
- Steps to reproduce
- Expected vs actual behavior
- Your system information (run
./check-prerequisites.sh)
A: Absolutely! Translations are welcome. Please:
- Fork the repository
- Create a language directory (e.g.,
docs/es/for Spanish) - Translate the documentation
- Submit a pull request
A: Yes! This project is open source under the MIT License. You can:
- ✅ Use configurations in personal/commercial projects
- ✅ Modify and adapt to your needs
- ✅ Redistribute with attribution
- ✅ Create derivatives
See LICENSE for full details.
A: No. This is a community project provided "as-is" without warranty. See the disclaimer in README.md. We help where we can, but cannot guarantee support.
A: The guide is written for Brother DCP-T820DW, but the general setup process works for most Brother printers. Check the AUR for your specific model's driver:
paru -Ss brotherA:
- WiFi (Recommended): More flexible, can print from any device on network
- USB: More reliable, faster for large jobs, good for single computer
You can set up both and choose based on needs.
A:
- Simple Scan: Basic scanning, quick and simple
- digiKam: Professional photo management, editing, organization, tagging, face detection, RAW support
Use Simple Scan for quick scans, digiKam for photo library management.
A: The CUPS and SANE setup is universal. Only the Brother-specific driver installation differs. Check manufacturer documentation for your scanner model.
A: No. Set only the Pi-hole IP as DHCP DNS. A secondary DNS lets clients bypass Pi-hole. Redundancy belongs inside Pi-hole via multiple upstreams (e.g., Unbound + Cloudflare) not in DHCP.
A: Install Unbound on the Pi, listen on 127.0.0.1#5335, then set Pi-hole’s upstream DNS to 127.0.0.1#5335. See pi-hole/docs/unbound.md for the config snippet and diagram.
A: Yes, if the router advertises only Pi-hole as IPv6 DNS (RDNSS/DHCPv6). Ensure Pi-hole has a stable IPv6, and don’t hand out public IPv6 resolvers. See pi-hole/docs/ipv6.md.
A: Likely. Block outbound DNS (53/853) to anything except Pi-hole, and disable router DoH/DoT. For stubborn clients/browsers, enforce policies or block common DoH endpoints. See pi-hole/docs/hardcoded-dns.md.
A: Start with the dedicated networking module (reading path + practice drills): networking/README.md.
A: Yes! Your CPU must support hardware virtualization:
- Intel: VT-x (check with
lscpu | grep -i vmx) - AMD: AMD-V / SVM (check with
lscpu | grep -i svm)
If nothing appears, enable virtualization in BIOS/UEFI. There's no software workaround.
Learn more: ../vm/docs/installation-setup.md
A: You need to add your user to the libvirt group:
sudo usermod -aG libvirt $(whoami)Learn more: ../vm/docs/installation-setup.md, ../shell-commands/02-commands/usermod.md
A: Common causes:
- libvirt default network inactive:
sudo virsh net-start default - Firewall blocking VM traffic: Add UFW rules for
virbr0 - Guest interface not configured: Check interface name and create NetworkManager profile
Learn more: ../vm/docs/networking.md, ../vm/docs/troubleshooting.md
A: This is usually an IPv6 issue in NAT networking. Disable IPv6 in the VM:
sudo nano /etc/sysctl.d/99-disable-ipv6.confAdd:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
Apply: sudo sysctl --system
Learn more: ../vm/docs/networking.md
A: VM performance is dominated by graphics, not CPU. Try:
- Use Virtio-GPU instead of QXL (if supported)
- Disable 3D acceleration (often causes lag)
- Reduce desktop animations (GNOME/KDE/XFCE)
- Enable host CPU passthrough in virt-manager
Learn more: ../vm/docs/performance.md, ../vm/docs/video-display.md
A:
- NAT (default): VM hidden behind host, works out of the box, safe
- Bridged: VM on same network as host, appears as separate machine, requires bridge setup
Use NAT for learning/testing, bridged for servers/labs.
Learn more: ../vm/docs/networking.md, ../vm/docs/advanced.md
A: Yes! It provides:
- Accurate IP reporting in virt-manager
- Clean shutdown/reboot
- Better display resizing
- Clipboard integration
Install inside VM: sudo apt install -y qemu-guest-agent
Learn more: ../vm/docs/performance.md
A: No. The Android module focuses on safer “no-root” debloating:
- Uninstall for user 0 (removes for the main user, not the system partition)
- Disable packages (prevents them from running)
Start here: android/README.md.
A: It removes the app for the main Android user (user 0), but usually does not delete the system APK. This makes it more reversible than deleting system apps.
Rollback/restore: android/docs/safety-rollback.md.
A: Use the rollback recipes:
- Reinstall:
adb shell cmd package install-existing <package> - Re-enable:
adb shell pm enable <package>
See: android/docs/safety-rollback.md.
A: Pi-hole shows “what domain was resolved,” not “which app did it.” Use ADB/logcat to map UID → package, then debloat/disable the responsible package.
See: android/docs/investigation.md.
A: Some apps/devices use hardcoded DNS or DoH/DoT. Fix by enforcing DNS on the router/firewall (allow DNS only to Pi-hole; block/redirect other DNS).
See: pi-hole/docs/hardcoded-dns.md.
A: The Shell Commands module is a comprehensive learning guide covering Unix/Linux command-line tools. It includes:
- 80+ hands-on practice exercises (beginner → expert)
- 40+ command tutorials with real-world examples
- Piping patterns and command combinations
- Salesforce CLI integration patterns
- Generic Linux system administration examples
It's designed for self-paced learning over 4-6 weeks.
A:
- For configuration modules (CachyOS, LogiOps, Node.js, Printer): Basic copy-paste command knowledge is enough. The guides provide all commands.
- For advanced customization: Shell command knowledge is helpful but not required.
- For the Shell Commands module itself: No prerequisites! It starts from fundamentals.
The Shell Commands module is an optional learning resource to enhance your Linux skills.
A: Yes! The shell commands are universal across all Unix/Linux systems:
- ✅ Works on: Ubuntu, Debian, Fedora, CentOS, macOS, WSL, etc.
- ✅ Generic Linux examples work everywhere
⚠️ Salesforce CLI examples require SF CLI installation (works on any OS)⚠️ Some Arch-specific examples usepacman, but concepts apply to any package manager
Only the system configuration modules (CachyOS, LogiOps) are Arch-specific.
A:
- Minimum: 4 weeks (1-2 hours/week) - Following the structured learning path
- Comfortable: 6 weeks - With thorough practice and experimentation
- Self-paced: As long as you need - Use as reference material
Breakdown:
- Week 1: Basics and beginner exercises (6-8 hours)
- Week 2: Core commands and intermediate exercises (6-8 hours)
- Week 3: Combinations and advanced exercises (6-8 hours)
- Week 4+: Expert exercises and real-world application (variable)
You can also use it as a quick reference without completing all exercises.
A:
- Shell Commands Module: Learn individual commands and how to combine them interactively
- Shell Scripting: Write automated scripts (.sh files) using those commands
The Shell Commands module teaches you the building blocks. Once you master the commands, writing scripts becomes much easier. The module does include some scripting patterns in the Salesforce deployment section.
A: Absolutely! It includes Salesforce-specific sections:
- SF CLI integration patterns (deployments, queries, tests)
- Apex log analysis techniques
- Deployment automation scripts
- JSON processing with
jqfor SF CLI output - Real-world deployment workflows
Plus, shell command knowledge is essential for CI/CD pipelines, log analysis, and workflow automation in Salesforce development.
A: Yes! We welcome contributions:
- Fork the repository
- Add your patterns to relevant sections
- Follow the existing format (examples + explanations)
- Submit a pull request
See CONTRIBUTING.md for guidelines.
A: No! The exercises are optional practice:
- Selective approach: Pick exercises relevant to your work
- Complete approach: Do all 80 to master the material
- Reference approach: Use exercises as examples when needed
However, completing exercises significantly improves retention and practical skills.
A: Each practice section includes:
- Clear problem descriptions
- Expected output examples
- Hints for complex problems
- Solutions (check the solutions file)
If still stuck:
- Search for the command's man page:
man grep - Check the command's tutorial in
02-commands/ - Review the patterns in
03-combinations/ - Open an issue with your question
A: Real-world! Examples include:
- Actual Salesforce CLI workflows
- Production log analysis patterns
- Docker container monitoring
- Web server log parsing
- Git repository analysis
- Network troubleshooting
- System administration tasks
All patterns are used in production environments.
- 📖 Read the Main README
- 🔧 Check TROUBLESHOOTING.md
- 📚 Review GLOSSARY.md for term definitions
- 💬 Open a GitHub Issue
- 🌐 Check the Arch Wiki
Pro Tip: Before asking a question, try running:
./check-prerequisites.sh # Check system compatibility
./cachy_os_config/diagnostics.sh --redact # Full system diagnostics (personal info masked)
./cachy_os_config/drm-power-diagnostics.sh --redact # DRM/power/USB diagnostics (personal info masked)These tools often reveal the answer to your question! Use --redact to safely share output.