Files
2026-03-07 11:10:43 +08:00

58 lines
1.4 KiB
Nix

# This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{
inputs,
lib,
config,
pkgs,
...
}: {
# Import modular configurations
imports = [
# Base configuration shared across all platforms
./common.nix
# Platform-specific configurations
./platform/darwin.nix
./platform/linux.nix
./modules/inbox/packages.nix
./modules/shells.nix
./modules/fish.nix
./modules/git.nix
./modules/kitty.nix
./modules/neovim.nix
./modules/tmux.nix
# Doom Emacs via nix-doom-emacs-unstraightened
./modules/doom-emacs.nix
./modules/inbox/inbox.nix
# If you want to use modules your own flake exports (from modules/home-manager):
# inputs.self.homeManagerModules.example
];
# TODO: Set your username
home = {
username = lib.mkDefault "df";
homeDirectory = lib.mkDefault (
if pkgs.stdenv.isDarwin
then "/Users/${config.home.username}"
else "/home/${config.home.username}"
);
};
# Platform-aware session variables
home.sessionVariables = {
EDITOR = lib.mkDefault "nvim";
VISUAL = lib.mkDefault "nvim";
} // lib.optionalAttrs pkgs.stdenv.isDarwin {
# macOS-specific environment variables
} // lib.optionalAttrs pkgs.stdenv.isLinux {
# Linux-specific environment variables
};
}