[home manager] Is there a way to automatically import all .nix files in a directory?
I'm trying out Nix Home Manager and learning its features little by little.
I've been trying to split my app configurations into their own files now and saw that many do the following:
- Make a directory containing all the app specific configurations:
programs/
└── helix.nix
- Make a catch-all file
default.nix
that selectively imports the files inside:
programs/
├── default.nix
└── helix.nix
Content:
{
imports = [
./helix.nix
];
}
- Import the directory (picking up the
default.nix
) within the home-manager configuration:
{
# some stuff...
imports = [
./programs
];
# some other stuff...
}
I'd like to avoid having to write each and every file I'll create into the imports of default.nix
, that kinda defeats the point of separating it if I'll have to specify everything anyway, so is there a way to do so? I haven't found different ways to do this in various Nix discussions.
Example I'm looking at: https://github.com/fufexan/dotfiles/blob/main/home/terminal/default.nix
My own repository: https://codeberg.org/quazar-omega/home-manager-config