You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Suggested by Claude, these are fairly good actually:
Looking at your configuration, here are several potential improvements:
Options Organization: In modules/default.nix, you could move the options to a separate options.nix file since they're becoming quite substantial. This would make the module structure cleaner.
Desktop Environment Specialisations: Instead of using lib.mkIf for each desktop environment, you could use specialisations like you did for nvidia/intel. This would make switching between desktop environments more efficient.
Hardware Configuration: The hardware configurations for pro and perso are very similar. You could create a common base hardware configuration and only keep the specific differences in the individual files.
Shell Aliases: In user/shell-aliases.nix, you could create a function to generate the update/rebuild aliases based on the user specs, as mentioned in your TODO comment:
Types for User Configuration: Your user configuration could benefit from more structured types:
types.submodule{options={name=lib.mkOption{type=types.str;description="Username";};email=lib.mkOption{type=types.str;description="User email";};homeDirectory=lib.mkOption{type=types.path;description="User home directory";};};}
Development Environment: The dev-env.nix could be split into separate modules for different development environments (web, system, etc.).
Security Module: Your security settings could be organized by concern (ssh, gpg, clamav, etc.) in separate files.
Editor Configurations: The editor configurations (neovim, helix, zed) could be moved to a separate editors subdirectory in packages.
Package Categories: In packages/default.nix, you could organize packages into more specific categories using separate files:
Suggested by Claude, these are fairly good actually:
The text was updated successfully, but these errors were encountered: