Files
m3ta-home/profiles/base/default.nix
m3ta-chiron fbc31450de feat: initial m3ta-home structure
- flake.nix with nixpkgs, home-manager, nix-colors, m3ta-nixpkgs, agenix, NUR inputs
- lib/mkHome.nix: compose HM config from user + identity + context + sets
- profiles/base: shell, cli-tools, secrets (always loaded)
- profiles/contexts/desktop: WM, apps, theme, ghostty
- profiles/contexts/server: minimal headless
- profiles/sets/coding: core (git, direnv, jq, rg), editor, lsp, languages, agents
- profiles/sets/gaming: steam, gamescope, gpu
- profiles/sets/media: obs, ffmpeg, kdenlive, handbrake, yt-dlp
- users/m3tam3re/identities: private.nix, work.nix (git, jj, ssh per identity)
- users/m3tam3re/preferences: cliphist, difftastic, base packages
2026-05-02 09:08:40 +02:00

69 lines
1.6 KiB
Nix

# 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";
}