60 lines
1.4 KiB
Nix
60 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/packages.nix
|
|
|
|
./modules/shells.nix
|
|
./modules/fish.nix
|
|
|
|
./modules/git.nix
|
|
./modules/kitty.nix
|
|
./modules/neovim.nix
|
|
./modules/tmux.nix
|
|
./modules/skhd.nix
|
|
./modules/yabai.nix
|
|
|
|
# Doom Emacs via nix-doom-emacs-unstraightened
|
|
./modules/doom-emacs.nix
|
|
|
|
./modules/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 = "nvim";
|
|
VISUAL = "nvim";
|
|
} // lib.optionalAttrs pkgs.stdenv.isDarwin {
|
|
# macOS-specific environment variables
|
|
} // lib.optionalAttrs pkgs.stdenv.isLinux {
|
|
# Linux-specific environment variables
|
|
};
|
|
}
|