213 lines
5.7 KiB
Markdown
213 lines
5.7 KiB
Markdown
# Troubleshooting Guide
|
|
|
|
This guide provides solutions for common issues that may arise when using this NixOS configuration.
|
|
|
|
## System Issues
|
|
|
|
### Failed System Build
|
|
|
|
**Problem**: `nixos-rebuild switch` fails with an error.
|
|
|
|
**Solutions**:
|
|
|
|
1. **Syntax Errors**:
|
|
- Check the error message for file and line number information
|
|
- Verify the syntax in the mentioned file
|
|
- Common issues include missing semicolons, curly braces, or mismatched quotes
|
|
|
|
2. **Missing Dependencies**:
|
|
- If the error mentions a missing package or dependency:
|
|
```
|
|
git pull # Update to the latest version
|
|
nix flake update # Update the flake inputs
|
|
```
|
|
|
|
3. **Conflicting Modules**:
|
|
- Look for modules that might be configuring the same options incompatibly
|
|
- Disable one of the conflicting modules or adjust their configurations
|
|
|
|
4. **Disk Space Issues**:
|
|
- Check available disk space with `df -h`
|
|
- Clear old generations: `sudo nix-collect-garbage -d`
|
|
|
|
### Boot Issues
|
|
|
|
**Problem**: System fails to boot after a configuration change.
|
|
|
|
**Solutions**:
|
|
|
|
1. **Boot into a Previous Generation**:
|
|
- At the boot menu, select an older generation
|
|
- Once booted, revert the problematic change:
|
|
```
|
|
cd /etc/nixos
|
|
git revert HEAD # Or edit the files directly
|
|
sudo nixos-rebuild switch
|
|
```
|
|
|
|
2. **Boot from Installation Media**:
|
|
- Boot from a NixOS installation media
|
|
- Mount your system:
|
|
```
|
|
sudo mount /dev/disk/by-label/nixos /mnt
|
|
sudo mount /dev/disk/by-label/boot /mnt/boot # If separate boot partition
|
|
```
|
|
- Chroot into your system:
|
|
```
|
|
sudo nixos-enter --root /mnt
|
|
cd /etc/nixos
|
|
git revert HEAD # Or edit the files directly
|
|
nixos-rebuild switch --install-bootloader
|
|
```
|
|
|
|
## Home Assistant Issues
|
|
|
|
### Home Assistant Fails to Start
|
|
|
|
**Problem**: Home Assistant service fails to start.
|
|
|
|
**Solutions**:
|
|
|
|
1. **Check Service Status**:
|
|
```
|
|
systemctl status home-assistant
|
|
journalctl -u home-assistant -n 100
|
|
```
|
|
|
|
2. **Database Issues**:
|
|
- Check PostgreSQL is running: `systemctl status postgresql`
|
|
- Verify database connection settings in Home Assistant configuration
|
|
|
|
3. **Permission Issues**:
|
|
- Check ownership and permissions on config directory:
|
|
```
|
|
ls -la /var/lib/homeassistant
|
|
sudo chown -R hass:hass /var/lib/homeassistant
|
|
sudo chmod -R 750 /var/lib/homeassistant
|
|
```
|
|
|
|
4. **Custom Component Issues**:
|
|
- Try disabling custom components to isolate the issue:
|
|
- Edit `modules/nixos/homeassistant/services/homeassistant/default.nix`
|
|
- Comment out the `customComponents` section
|
|
- Rebuild: `sudo nixos-rebuild switch`
|
|
|
|
### Zigbee Device Connection Issues
|
|
|
|
**Problem**: Zigbee devices fail to connect or are unstable.
|
|
|
|
**Solutions**:
|
|
|
|
1. **Verify Device Path**:
|
|
- Check the Zigbee coordinator is properly detected:
|
|
```
|
|
ls -la /dev/ttyUSB*
|
|
```
|
|
- Update the device path if needed:
|
|
- Edit your system configuration
|
|
- Set `mjallen.services.home-assistant.zigbeeDevicePath` to the correct path
|
|
- Rebuild: `sudo nixos-rebuild switch`
|
|
|
|
2. **Interference Issues**:
|
|
- Move the Zigbee coordinator away from other wireless devices
|
|
- Try a USB extension cable to improve positioning
|
|
- Change Zigbee channel in Zigbee2MQTT configuration
|
|
|
|
3. **Reset Zigbee2MQTT**:
|
|
```
|
|
systemctl restart zigbee2mqtt
|
|
```
|
|
|
|
### Automation Issues
|
|
|
|
**Problem**: Automations don't run as expected.
|
|
|
|
**Solutions**:
|
|
|
|
1. **Check Automation Status**:
|
|
- In Home Assistant UI, verify the automation is enabled
|
|
- Check Home Assistant logs for automation execution errors
|
|
|
|
2. **Entity Issues**:
|
|
- Verify entity IDs are correct
|
|
- Check if entities are available/connected
|
|
- Test direct service calls to verify entity control works
|
|
|
|
3. **Trigger Issues**:
|
|
- Test the automation manually via Developer Tools > Services
|
|
- Use `automation.trigger` service with the automation's entity_id
|
|
|
|
## Flake Issues
|
|
|
|
### Flake Input Update Errors
|
|
|
|
**Problem**: `nix flake update` fails or causes issues.
|
|
|
|
**Solutions**:
|
|
|
|
1. **Selective Updates**:
|
|
- Update specific inputs instead of all at once:
|
|
```
|
|
nix flake lock --update-input nixpkgs
|
|
```
|
|
|
|
2. **Rollback Flake Lock**:
|
|
- If an update causes issues, revert to previous flake.lock:
|
|
```
|
|
git checkout HEAD^ -- flake.lock
|
|
```
|
|
|
|
3. **Pin to Specific Revisions**:
|
|
- In `flake.nix`, pin problematic inputs to specific revisions:
|
|
```nix
|
|
nixpkgs-stable.url = "github:NixOS/nixpkgs/5233fd2ba76a3accb05f88b08917450363be8899";
|
|
```
|
|
|
|
## Secret Management Issues
|
|
|
|
### Sops Decryption Errors
|
|
|
|
**Problem**: Sops fails to decrypt secrets.
|
|
|
|
**Solutions**:
|
|
|
|
1. **Key Issues**:
|
|
- Verify your GPG key is available and unlocked
|
|
- Check `.sops.yaml` includes your key fingerprint
|
|
|
|
2. **Permission Issues**:
|
|
- Check file permissions on secret files
|
|
- Make sure the user running `nixos-rebuild` has access to the GPG key
|
|
|
|
## Network Issues
|
|
|
|
### Firewall Blocks Services
|
|
|
|
**Problem**: Services are not accessible due to firewall rules.
|
|
|
|
**Solutions**:
|
|
|
|
1. **Check Firewall Status**:
|
|
```
|
|
sudo nix-shell -p iptables --run "iptables -L"
|
|
```
|
|
|
|
2. **Verify Firewall Configuration**:
|
|
- Check if ports are properly allowed in the configuration
|
|
- Add missing ports if necessary
|
|
|
|
3. **Temporary Disable Firewall** (for testing only):
|
|
```
|
|
sudo systemctl stop firewall
|
|
# After testing
|
|
sudo systemctl start firewall
|
|
```
|
|
|
|
## Getting Help
|
|
|
|
If you encounter an issue not covered in this guide:
|
|
|
|
1. Check the NixOS Wiki: https://nixos.wiki/
|
|
2. Search the NixOS Discourse forum: https://discourse.nixos.org/
|
|
3. Join the NixOS Matrix/Discord community for real-time help
|
|
4. File an issue in the repository if you believe you've found a bug |