{
  self,
  inputs,
  ...
}: {
  flake = {
    nixosModules = rec {
      audio = import ./audio;
      bluetooth = import ./bluetooth;
      core = import ./core;
      crypto = import ./crypto;
      desktop-extended = import ./desktop-extended;
      docker = import ./docker;
      #email = import ./email;
      #gaming = import ./gaming;
      graphical = import ./graphical;
      #invoiceplane = import ./invoiceplane;
      nix = import ./nix;
      nextcloud = import ./nextcloud;
      office = import ./office;
      printing = import ./printing;
      terminal-life = import ./terminal-life;
      user = import ./user;
      virtualisation = import ./virtualisation;
      #wireguard-client = import ./wireguard-client;

      base.imports = [
        self.nixosModules.home-manager
        inputs.agenix.nixosModules.default

        self.nixosModules.overlays
        self.nixosModules.core
        self.nixosModules.crypto
        self.nixosModules.nix
        self.nixosModules.terminal-life

        self.nixosModules.root
        self.nixosModules.user
      ];
    };
  };
}