mirror of
https://github.com/BalrajSinghGidda/nixos-dotfiles.git
synced 2026-04-07 09:27:23 +00:00
Add: Changelog and remove backup file
This commit is contained in:
128
CHANGELOG.md
Normal file
128
CHANGELOG.md
Normal 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! 🎉
|
||||
@@ -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
|
||||
];
|
||||
}
|
||||
Reference in New Issue
Block a user