{ description = "Nomarchy - A NixOS-based distribution with Omarchy flavour"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11"; nixos-hardware.url = "github:NixOS/nixos-hardware"; disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; impermanence.url = "github:nix-community/impermanence"; home-manager = { url = "github:nix-community/home-manager/release-25.11"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-colors.url = "github:misterio77/nix-colors"; stylix.url = "github:danth/stylix"; walker.url = "github:abenz1267/walker"; }; outputs = { self, nixpkgs, nixos-hardware, disko, impermanence, home-manager, nix-colors, stylix, walker, ... } @ inputs: { # Expose inputs for downstream use inherit inputs; nixosModules = { system = import ./core; home = import ./features; }; nixosConfigurations = { # Minimal TTY installer ISO (new golden path) installerIso = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ { nixpkgs.hostPlatform = "x86_64-linux"; } "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix" ./hosts/installer-iso.nix { system.stateVersion = "25.11"; networking.hostName = "nomarchy-installer"; } ]; }; # Graphical installer ISO (legacy, for users who prefer GUI) installerIsoGraphical = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ { nixpkgs.hostPlatform = "x86_64-linux"; } "${nixpkgs}/nixos/modules/installer/cd-dvd/installation-cd-graphical-base.nix" ./hosts/live-iso.nix ./core home-manager.nixosModules.home-manager { system.stateVersion = "25.11"; home-manager.extraSpecialArgs = { inherit inputs; }; services.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.user = "nixos"; home-manager.useGlobalPkgs = false; home-manager.useUserPackages = true; home-manager.users.nixos = { imports = [ ./features ]; home.username = "nixos"; home.homeDirectory = "/home/nixos"; home.stateVersion = "25.11"; }; } ]; }; # VM for testing graphical installer installerVm = nixpkgs.lib.nixosSystem { # ... (rest of installerVm) }; default = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ { nixpkgs.hostPlatform = "x86_64-linux"; } ./core/default.nix ./core/system/vm-guest.nix home-manager.nixosModules.home-manager { system.stateVersion = "25.11"; networking.hostName = "nomarchy"; home-manager.extraSpecialArgs = { inherit inputs; }; virtualisation.vmVariant.virtualisation.memorySize = 4096; virtualisation.vmVariant.virtualisation.cores = 2; # Setup default user for testing users.users.nomarchy = { isNormalUser = true; extraGroups = [ "wheel" "video" "render" "networkmanager" ]; initialPassword = "nixos"; }; services.displayManager.autoLogin.enable = true; services.displayManager.autoLogin.user = "nomarchy"; home-manager.useGlobalPkgs = false; home-manager.useUserPackages = true; home-manager.users.nomarchy = { imports = [ ./features/default.nix ]; home.username = "nomarchy"; home.homeDirectory = "/home/nomarchy"; home.stateVersion = "25.11"; }; } ]; }; }; }; }