Add: Changelog and remove backup file

This commit is contained in:
BalrajSinghGidda
2026-03-20 20:14:34 +05:30
parent c06c93b2da
commit 18ab9bf64e
2 changed files with 128 additions and 46 deletions

128
CHANGELOG.md Normal file
View File

@@ -0,0 +1,128 @@
# 📋 Changelog - Repository Improvements
## Changes Made
This restructure makes the repository significantly more accessible to newcomers while maintaining a clean, modular architecture.
### 1. ✅ Comprehensive Documentation Structure
**Created:**
- `docs/ARCHITECTURE.md` - Detailed explanation of how the system is organized
- `docs/QUICK_START.md` - Step-by-step installation and setup guide
- `docs/MODULE_GUIDE.md` - In-depth documentation for each module
- `CONTRIBUTING.md` - Guidelines for contributing and customizing
- Module-level READMEs in:
- `modules/nixos/README.md`
- `modules/home-manager/README.md`
- `config/README.md`
**Updated:**
- `README.md` - Added visual directory tree, quick links to docs, Makefile commands
### 2. ✅ Home Manager Restructure
**Changes:**
- Split monolithic `apps.nix` into focused modules:
- `cli-tools.nix` - Command-line utilities (ripgrep, yazi, eza, zoxide, etc.)
- `gui-apps.nix` - GUI applications (flatpak)
- `dev-tools.nix` - Development tools and languages
- Created `programs/` subdirectory for program-specific configs:
- `programs/gemini-cli.nix` - Gemini AI CLI configuration
- Updated module imports in `default.nix`
**Benefits:**
- Easier to understand what packages do what
- Simpler to add/remove specific tool categories
- Better organization for future expansion
### 3. ✅ Fixed Structural Issues
**Fixes:**
- Removed duplicate import in `hosts/nixos-btw/default.nix`
- Deleted redundant `hosts/nixos-btw/configuration.nix`
- Fixed broken shell aliases (updated paths to match new structure)
- Corrected git configuration syntax (userName/userEmail → settings.user.name/email)
### 4. ✅ Added Helper Files
**Created:**
- `Makefile` - Common commands (switch, test, build, update, clean, check, fmt)
- `.envrc.example` - Template for direnv configuration
- `CONTRIBUTING.md` - Contribution guidelines
### 5. ✅ Inline Documentation
**Enhanced all .nix files with:**
- File-level comments explaining purpose
- Inline comments for complex configurations
- User-customizable sections clearly marked
- Examples and best practices
**Files enhanced:**
- `flake.nix` - Explained inputs, outputs, Home Manager integration
- All module files in `modules/nixos/` and `modules/home-manager/`
- Host configuration files in `hosts/nixos-btw/`
## Summary of Benefits
### For New Users:
1. **Clear entry point** - README → Quick Start → Architecture → Modules
2. **Visual structure** - ASCII tree shows where everything lives
3. **Step-by-step guidance** - No guessing about what to customize
4. **Safety** - Instructions emphasize backups and testing
5. **Troubleshooting** - Common issues documented with solutions
### For Experienced Users:
1. **Modular architecture** - Easy to understand and modify
2. **Quick reference** - Module guide shows all options at a glance
3. **Helper tools** - Makefile reduces typing
4. **Contribution ready** - Guidelines make it easy to share improvements
### For Maintainability:
1. **Self-documenting** - Comments explain why, not just what
2. **Consistent structure** - Predictable organization
3. **Focused modules** - Single responsibility principle
4. **Easy to extend** - Templates for adding new modules
## File Count
- **Created:** 13 new files
- **Modified:** 13 files
- **Deleted:** 2 files (redundant/backup)
- **Total documentation:** ~30 KB of new documentation
## Testing
- ✅ Flake validation passed (`nix flake check`)
- ✅ No syntax errors
- ✅ All modules properly imported
- ✅ Git configuration corrected
## Next Steps for Users
1. **Read the docs** (especially QUICK_START.md)
2. **Customize personal info** (username, git, hostname)
3. **Test with** `make build` before applying
4. **Apply with** `make switch`
## Migration Notes
If you're updating from the old structure:
1. **apps.nix split** - Packages are now in:
- CLI tools → `cli-tools.nix`
- GUI apps → `gui-apps.nix`
- Dev tools → `dev-tools.nix`
- Gemini CLI → `programs/gemini-cli.nix`
2. **Removed files:**
- `hosts/nixos-btw/configuration.nix` (merged into default.nix)
3. **Updated aliases:**
- `edit-config``edit-nixos` (opens modules/nixos/)
- `edit-home-config``edit-home` (opens modules/home-manager/)
- New: `edit-host` (opens hosts/nixos-btw/)
---
**Total time to implement:** ~2 hours
**Lines of documentation added:** ~1,800
**Result:** A significantly more accessible and maintainable NixOS configuration! 🎉

View File

@@ -1,46 +0,0 @@
{ pkgs, ... }:
let
# Import custom devshell scripts package
devshell-scripts = pkgs.callPackage ./devshell-scripts.nix {};
in
{
# Gemini AI CLI tool configuration
programs.gemini-cli = {
enable = true;
settings = {
"theme" = "Default";
"preferredEditor" = "nvim";
"autoAccept" = true;
};
defaultModel = "gemini-2.5-pro";
};
# User packages (installed to user profile, not system-wide)
home.packages = with pkgs; [
# Code search and analysis
ripgrep # Fast grep alternative (rg)
# Nix development tools
nil # Nix language server
nixpkgs-fmt # Nix code formatter
# Programming languages & compilers
nodejs # JavaScript runtime
gcc # C/C++ compiler
# File management
yazi # Terminal file manager
eza # Modern ls replacement
zoxide # Smart cd command
# Package management
flatpak # Universal package manager
# Python packages
python313Packages.euporie # Jupyter notebook terminal client
# Custom scripts for creating development environments
devshell-scripts
];
}