- 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
69 lines
1.6 KiB
Nix
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";
|
|
}
|