99 lines
3.0 KiB
Markdown
99 lines
3.0 KiB
Markdown
# TODO - NixOS Configuration
|
|
|
|
This file tracks remaining tasks and known issues for the NixOS configuration.
|
|
|
|
## High Priority
|
|
|
|
### Hardware Configuration
|
|
- [ ] Replace `hardware-configuration.nix` with actual generated configuration
|
|
- Run `sudo nixos-generate-config --show-hardware-config > hardware-configuration.nix`
|
|
- Verify file systems are correctly configured
|
|
- Verify boot partition is correct
|
|
- Adjust CPU microcode (Intel vs AMD)
|
|
|
|
### System Settings
|
|
- [ ] Choose boot loader (systemd-boot vs GRUB)
|
|
|
|
## Medium Priority
|
|
|
|
### Tmux Configuration
|
|
|
|
- [ ] Update note popup keybindings (C-n, C-p) with correct NixOS paths
|
|
- Current: Commented out (had WSL hard-coded paths)
|
|
- Action: Decide on note location and update paths
|
|
- Example: `~/Documents/notes/Work/quick_notes.md`
|
|
|
|
- [ ] Verify `~/bin/tmuxp_selector.sh` script exists
|
|
- Used by `C-s` keybinding
|
|
- May need to be created or path adjusted
|
|
|
|
## Low Priority
|
|
|
|
### Shell Configuration
|
|
|
|
- [ ] Consider adding additional shell aliases
|
|
- [ ] Review if any macOS-specific tools need Linux alternatives
|
|
|
|
### Documentation
|
|
|
|
- [ ] Document custom Neovim configuration (lua files)
|
|
- [ ] Create troubleshooting guide for common issues
|
|
|
|
### Optimizations
|
|
|
|
- [ ] Consider using `programs.zsh.shellInit` vs `initContent`
|
|
- [ ] Review if `nix-ld` is actually needed (check use cases)
|
|
- [ ] Consider splitting large modules into smaller files
|
|
|
|
## Features Not Yet Ported
|
|
|
|
These were not in the original Home Manager config but might be useful on NixOS:
|
|
|
|
- [ ] Docker / Podman
|
|
|
|
## Known Issues
|
|
|
|
## Testing Checklist
|
|
|
|
Before considering this configuration complete:
|
|
|
|
- [ ] LSP servers work in Neovim
|
|
|
|
## Future Enhancements
|
|
|
|
- [ ] Add backup/restore scripts
|
|
- [ ] Create CI/CD for testing configuration
|
|
- [ ] Consider using flake-parts for better organization
|
|
- [ ] Add system monitoring tools
|
|
- [ ] Configure automatic updates
|
|
- [ ] Add custom shell functions
|
|
- [ ] Integrate with cloud sync for dotfiles
|
|
|
|
## Notes
|
|
|
|
### Unified Structure Benefits
|
|
|
|
1. **Multi-platform support**: Added support for Darwin (macOS) and NixOS (WSL and native).
|
|
2. **Modular Home Manager**: Reusable modules shared across all platforms.
|
|
3. **Machine-specific configurations**: Separated into `hosts/` for better organization.
|
|
4. **Flexible deployment**: Support for both NixOS modules and standalone Home Manager.
|
|
|
|
### Migration Path
|
|
|
|
This configuration is designed to be the central point for all machines:
|
|
|
|
1. Clone to `~/dev/dot/newnix` (or preferred path).
|
|
2. Identify your host type (NixOS WSL, Darwin, etc.).
|
|
3. Apply the corresponding flake output as described in `README.md`.
|
|
4. Test and verify workflows.
|
|
|
|
## Questions to Resolve
|
|
|
|
- [ ] What are the custom packages used for?
|
|
- [ ] Are there any private/work-specific configurations to add?
|
|
- [ ] Should we add any of the "Features Not Yet Ported"?
|
|
- [ ] Is GPU acceleration needed (NVIDIA, AMD)?
|
|
- [ ] Are there any cron jobs or systemd timers to configure?
|
|
- [ ] Should we enable fish or keep only zsh?
|
|
- [ ] Do we need any container tools (Docker, Podman)?
|