{ lib, ... }:

let
  getModules = path:
    let
      dirEntries = builtins.removeAttrs (builtins.readDir path) [ "default.nix" ];
      moduleEntries = lib.attrsets.filterAttrs (n: v: v == "regular") dirEntries;
      moduleNames = builtins.attrNames moduleEntries;


      modulePaths = builtins.map (name: path + /${name}) moduleNames;
    in
    modulePaths;
in
{
  imports = getModules ./.;

  snowhawk.user.enable = lib.mkDefault true;
  snowhawk.tmux.enable = lib.mkDefault true;
  snowhawk.tmux.sessionizer.enable = lib.mkDefault true;
  snowhawk.fish.enable = lib.mkDefault true;
  snowhawk.git.enable = lib.mkDefault true;
  snowhawk.lazygit.enable = lib.mkDefault true;
}