Skip to content

j4v3l/Nixos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

NixOS Configuration

CI/CD Status Auto Update NixOS Flakes

🌟 Modern, modular NixOS configuration with automated CI/CD and intelligent bot assistance

✨ Features

  • πŸ—οΈ Modular Architecture - Clean system/user separation
  • πŸ€– Automated CI/CD - Testing, formatting, security checks
  • πŸ”„ Auto-Updates - Weekly dependency updates via PRs
  • πŸ›‘οΈ Security First - Secret scanning & vulnerability checks
  • πŸ“¦ Bot Commands - Interactive PR management (/bot help)
  • 🎯 Multi-Desktop - GNOME, KDE, XFCE support

🚦 Status

Component Status
πŸ§ͺ Flake Check Passing
πŸ—οΈ Build Test Passing
πŸ”’ Security Passing
πŸ”„ Dependencies Up to date

πŸ€– Bot Commands

Command Action
/bot format Auto-format Nix files
/bot check Run flake validation
/bot build Test configuration build

πŸ“ Structure

β”œβ”€β”€ flake.nix                    # Main flake configuration
β”œβ”€β”€ hosts/default/               # Host-specific configs
└── modules/
    β”œβ”€β”€ nixos/                   # System modules
    └── home-manager/            # User modules

πŸš€ Quick Start

  1. Setup hardware config:

    sudo nixos-generate-config
    sudo cp /etc/nixos/hardware-configuration.nix hosts/default/
  2. Update personal info in flake.nix and modules/home-manager/git.nix

  3. Deploy:

    sudo nixos-rebuild switch --flake .#nixos

πŸ› οΈ Common Commands

# System rebuild
sudo nixos-rebuild switch --flake .#nixos

# Update dependencies
nix flake update

# Validate configuration
nix flake check

# Development environment
nix develop

# Run tests
./test.sh

# Cleanup
sudo nix-collect-garbage -d

πŸ”§ Customization

  • System packages: Edit modules/nixos/system.nix
  • User packages: Edit modules/home-manager/packages.nix
  • Desktop environment: Change desktop option in configuration.nix

πŸ› Troubleshooting

Build fails: Run nix flake check --show-trace
CI issues: Test locally with ./test-ci.sh or act -j check-flake
Rollback: sudo nixos-rebuild switch --rollback
Disk space in CI: Large packages (TeXLive) auto-excluded via NIXOS_CI_BUILD=true
Kernel module errors: CI environment automatically excludes hardware-dependent packages

Common Issues

Package Collision: If you get "collision between packages", check for duplicates:

  • Don't install packages via both packages.nix and programs.* configuration
  • Example: Remove neovim from packages if using programs.neovim.enable = true

Hardware Config: Update hosts/default/hardware-configuration.nix with real values:

sudo nixos-generate-config --root /mnt
# Copy generated hardware-configuration.nix to hosts/default/

Path not in Nix store: Usually caused by placeholder UUIDs in hardware config

πŸ“š Resources

🀝 Contributing

Contributions are welcome! Please read our Contributing Guidelines and Code of Conduct before submitting pull requests.

Happy NixOS-ing! πŸŽ‰

About

Modern, modular NixOS configuration with automated CI/CD and intelligent bot assistance.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published