According to this review message, I need to create a directory in /etc: nixos/crowdsec: use sensible defaults by TornaxO7 · Pull Request #446307 · NixOS/nixpkgs · GitHub
If I look up how to use environment.etc, I’m not seeing any option to create directories in /etc, only files.
What would you recommend to do to create a directory in /etc with environment.etc or should I rather use systemd.tmpfiles.settings for this?
First of all, hopefully you’ve exhausted the possibility of not putting config in /etc, but instead passing a /nix/store path as a config file location to whatever program is being configured.
Second, hopefully you don’t need to create an empty directory in /etc.
With those caveats out of the way: you need to put a file in /etc, but not in the top level of /etc. This is done as follows:
# Creates /etc/directory_name/file_name with the given contents
environment.etc."directory_name/file_name".text = "...";
Any number of parent directories will be created automatically.
First of all, hopefully you’ve exhausted the possibility of not putting config in /etc, but instead passing a /nix/store path as a config file location to whatever program is being configured.
My current idea is, to put paths in the config file which do point to /etc but those files will be symlinks to /nix/store. So I’d say 
Second, hopefully you don’t need to create an empty directory in /etc.
It seems like so. At least that’s how I understand this comment.
With those caveats out of the way: you need to put a file in /etc, but not in the top level of /etc. This is done as follows:
# Creates /etc/directory_name/file_name with the given contents
environment.etc."directory_name/file_name".text = "...";
Any number of parent directories will be created automatically.
Alright, thank you 
Why not just point to the store path directly? The /etc is a waste at that point IMO.
I changed that now: Some paths in the config file are going to point to the /nix/store files directly now.