Files
dot/TODO.md
2026-02-13 21:25:03 +01:00

3.0 KiB

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)?