# profiles/base/default.nix — Always loaded on every host. # # Provides: # - nixpkgs overlays and config (unfree, nix-colors, m3ta-nixpkgs) # - Shell (nushell, fish, starship) with enable options # - CLI tools (bat, carapace, direnv, eza, fzf, lf, nitch, television, zellij, zoxide) # - Secrets management (pass-wayland) # - Base packages (libgtop) { inputs, lib, outputs, pkgs, system, ... }: { imports = [ inputs.nix-colors.homeManagerModules.default inputs.m3ta-nixpkgs.homeManagerModules.default ./shell ./cli-tools ./secrets ]; # ── nixpkgs configuration ── nixpkgs = { overlays = [ outputs.overlays.temp-packages outputs.overlays.stable-packages outputs.overlays.locked-packages outputs.overlays.pinned-packages outputs.overlays.master-packages inputs.nur.overlays.default inputs.m3ta-nixpkgs.overlays.default inputs.m3ta-nixpkgs.overlays.modifications (outputs.lib.mkLlmAgentsOverlay system) ]; config = { allowUnfree = true; allowUnfreePredicate = _: true; }; }; # ── Nix settings ── nix = { package = lib.mkDefault pkgs.nix; settings = { experimental-features = ["nix-command" "flakes"]; warn-dirty = false; }; }; # ── Color scheme ── colorScheme = inputs.nix-colors.colorSchemes.dracula; # ── Base packages ── home.packages = with pkgs; [ libgtop ]; # ── Home Manager self-management ── programs.home-manager.enable = true; # ── Default home state version ── home.stateVersion = lib.mkDefault "26.05"; }