Search
![nix](https://programming.dev/pictrs/image/890e2662-72ba-4735-b443-91b49048766a.png?format=webp&thumbnail=64)
[solved] Is there a way to automatically import all .nix files in a directory?
My solution:
nix
let nixFilesInDirectory = directory: ( map (file: "${directory}/${file}") ( builtins.filter ( nodeName: (builtins.isList (builtins.match ".+\.nix$" nodeName)) && # checking that it is NOT a directory by seeing # if the node name forcefully used as a directory is an invalid path (!builtins.pathExists "${directory}/${nodeName}/.") ) (builtins.attrNames (builtins.readDir directory)) ) ); nixFilesInDirectories = directoryList: ( builtins.concatMap (directory: nixFilesInDirectory directory) (directoryList) ); # ... in { imports = nixFilesInDirectories ([ "${./programs}" "${./programs/terminal-niceties}" ]); # ... }
snippet from the full source code: [quazar-omega/home-manager-config (L5-L26)](https://codeberg.org/quazar-omega/home-manager-config/src/commit/7afabf08c04d0d9ce48e06091