{ description = "Timo's Shared Nix Modules"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; }; outputs = { self, nixpkgs, ... }: { # Set up formatter. formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixpkgs-fmt; # Global all-hosts configuration nixosModules.default = { ... }: { imports = [ ./system/default/editor.nix ./system/default/nix.nix ./system/default/packages.nix ./system/default/prompt.nix ./system/default/scripts.nix ./system/default/ssh-authorized-keys.nix ]; }; # Linux specific system configuration nixosModules.linux = { ... }: { imports = [ ./system/linux/i18n.nix ./system/linux/openssh.nix ./system/linux/system.nix ./system/linux/user-tb.nix ]; }; # MacOS specific system configuration nixosModules.macos = { ... }: { imports = [ ./system/macos/environment.nix ./system/macos/fonts.nix ./system/macos/hotkeys.nix ./system/macos/nix.nix ./system/macos/system.nix ./system/macos/yabai.nix ]; }; # Tools on all development machines nixosModules.develop = { ... }: { imports = [ ./system/develop/packages.nix ./system/develop/scripts.nix ]; }; # Home Manager Modules homeManagerModules.default = { ... }: { imports = [ ./home/default/bash.nix ./home/default/basic.nix ./home/default/direnv.nix ./home/default/git.nix ]; }; # Add private homelab and cloud host aliases homeManagerModules.private = { ... }: { imports = [ ./home/private/ssh-hosts.nix ]; }; # MacOS specific home configuration homeManagerModules.macos = { ... }: { imports = [ ./home/macos/home.nix ]; }; # Emacs Configuration homeManagerModules.develop = { ... }: { imports = [ ./home/develop/emacs.nix ]; }; # Claude Code configuration homeManagerModules.claude = { ... }: { imports = [ ./home/claude/config.nix ]; }; }; }