A complete NixOS system configuration with GNOME desktop, development tools, and Home Manager integration.
- Fresh NixOS installation with internet connection
- Git installed:
nix-shell -p git
# 1. Clone the repository
git clone https://github.com/LFTPadilla/nixos.git ~/.dotfiles
# 2. Navigate to system directory
cd ~/.dotfiles/system
# 3. Test the configuration
sudo nixos-rebuild test --flake .#default
# 4. If successful, apply permanently
sudo nixos-rebuild switch --flake .#default
# 5. Reboot to ensure all services start correctly
reboot~/.ssh/ # SSH keys and known_hosts
~/.gnupg/ # GPG keys and configuration
~/.netrc # Network authentication credentials
~/.profile # User environment variables
~/.npmrc # npm configuration and registry tokens
~/.config/1Password/ # 1Password vault cache
~/.config/Claude/ # Claude AI conversation history
~/.config/BraveSoftware/ # Browser bookmarks and settings
~/.config/Code/ # VS Code settings and extensions
~/.config/chromium/ # Chromium browser data
~/.config/Bitwarden/ # Password manager data
~/programming/ # Your project repositories
~/Documents/ # Important documents
~/Nextcloud*/ # Cloud synced files
- GNOME with X11 (Wayland disabled for compatibility)
- Custom theme switching (dark/light mode scripts)
- Rofi launcher with multiple modes (apps, windows, emoji)
- Flameshot for screenshots with annotation
- Custom keybindings for productivity
- GUI Control: Settings β Power β Power Mode
- Keyboard Shortcuts:
Super+Alt+1β Power Saver modeSuper+Alt+2β Balanced modeSuper+Alt+3β Performance mode
- Terminal Commands:
power-saver,balanced,performance
- Languages: Node.js 22, Python 3, Docker support
- Editors: Neovim (default), VS Code, Cursor
- Shell: Zsh + Oh-My-Zsh + Starship prompt
- Terminal: Kitty with Catppuccin theme
- File Manager: Yazi with custom configuration
- Version Control: Git with helpful aliases
- Tailscale VPN for remote access
- Sunshine game streaming server
- Home Assistant Companion for automation
- ActivityWatch for time tracking
- Auto-cpufreq for power management
system/
βββ flake.nix # Nix flake definition and inputs
βββ configuration.nix # Main system configuration
βββ home.nix # Home Manager user configuration
βββ hardware-configuration.nix # Hardware-specific settings
βββ packages/ # Package definitions
βββ system.nix # System-wide packages
βββ user.nix # User packages
βββ development.nix # Development tools
βββ desktop.nix # Desktop applications
system/applications/
βββ rofi/ # Rofi launcher configuration
βββ sunshine.nix # Game streaming setup
βββ vm.nix # Virtual machine configuration
system/scripts/
βββ translate.sh # Quick translation tool
βββ translate-selection.sh # Translate selected text
users/felipe/homeassistant/
βββ *.sh # Power management scripts
βββ hacompanion.toml # Home Assistant config
# System packages (requires rebuild)
# Edit system/packages/system.nix or user.nix
# User packages via Home Manager
# Edit system/packages/user.nix
# Then rebuild
rebuild-test # Test first
rebuild # Apply changes# Edit system/configuration.nix
# Add/modify services section
# Test and apply
sudo nixos-rebuild test --flake ~/.dotfiles/system#default
sudo nixos-rebuild switch --flake ~/.dotfiles/system#default# Update flake inputs
update-flake
# Rebuild with new packages
rebuild# System management
rebuild # Apply configuration changes
rebuild-test # Test configuration without switching
rebuild-boot # Apply on next boot
update-flake # Update all flake inputs
# Power management
power-saver # Switch to power saving mode
balanced # Switch to balanced mode
performance # Switch to performance mode
power-status # Show current power profile
# Quick editing
edit-config # Edit main system configuration
edit-home # Edit Home Manager configuration
dot # Navigate to dotfiles directory
# Theme switching
dark-theme # Switch to dark theme
light-theme # Switch to light theme# Weekly maintenance
nix-collect-garbage -d # Clean old generations
sudo nixos-rebuild switch --upgrade # Update system# Roll back to previous generation
sudo nixos-rebuild switch --rollback
# Check available generations
sudo nix-env -p /nix/var/nix/profiles/system --list-generations# Detailed error information
sudo nixos-rebuild switch --flake ~/.dotfiles/system#default --show-trace
# Check flake issues
nix flake check ~/.dotfiles/system/# Check service status
systemctl status <service-name>
# View logs
journalctl -xeu <service-name>
# Restart service
sudo systemctl restart <service-name>- Change default passwords for all accounts
- Set up SSH keys (generate new ones if lost)
- Configure GPG keys for signing commits
- Set up 1Password or password manager
- Configure Tailscale for secure remote access
- Firewall is enabled with specific port rules
- SSH has rate limiting configured
- VPN integration available (Tailscale, ProtonVPN)
- Companion service runs automatically
- Power management integration
- System monitoring capabilities
- Nextcloud integration for file sync
- GitHub integration for code repositories
- Various cloud storage providers supported
- Fresh NixOS install with same username
- Restore SSH keys from backup to
~/.ssh/ - Clone dotfiles:
git clone <your-repo> ~/.dotfiles - Run installation steps above
- Restore application data from cloud backups
- Reconfigure services (Tailscale, 1Password, etc.)
- Lost configs:
git checkoutto restore specific files - Broken build: Use
--rollbackto previous generation - Service issues: Check systemd logs and restart services
Last Updated: $(date) NixOS Version: 25.05 (Unstable) Home Manager: Latest
For questions or issues, check the git history or create an issue in the repository.