nix-config/home-manager/sajenim/features/editors/default.nix
jasmine 76701dce3b
feat(claude): create personal global memory configuration
Replace repository-level CLAUDE.md with personal global memory file that
establishes coding standards and working relationship preferences:

- Functional programming principles over OOP
- 100 character line width
- Explicit, simple, logical code with no assumptions or hacks
- FOSS principles and aesthetic appeal
- Industry standards (MISRA-C) and idiomatic code
- Senior/junior working relationship with confirmation before suggestions
- Visual clarity through whitespace and comments

The configuration is now properly integrated into home-manager to be
symlinked to ~/.claude/CLAUDE.md for persistent context across sessions.
2025-10-14 21:23:21 +08:00

48 lines
1.1 KiB
Nix

{
inputs,
pkgs,
lib,
...
}: {
# Add claude-code overlay to make the package available
nixpkgs.overlays = [
inputs.claude-code.overlays.default
];
# Development tools and editors
home.packages = with pkgs;
[
# Toolchains
gcc
jdk17
python313
# Typesetting
pandoc
texliveFull
# AI-powered coding assistant and CLI tool
claude-code
unstable.mcp-nixos
]
++ [
# Our personal neovim configuration.
inputs.nixvim.packages.${pkgs.system}.default
]
# Install jetbrains IDEs with plugins
++ (with inputs.nix-jetbrains-plugins.lib."${system}"; [
(buildIdeWithPlugins pkgs.jetbrains "idea-ultimate" [
"IdeaVIM"
"gruvbox-material-dark"
])
]); # https://github.com/theCapypara/nix-jetbrains-plugins
# Copy our configuration files to home directory
home.file = {
".ideavimrc".source = ./ideavimrc;
# Global claude configuration
".claude/settings.json".source = ./claude-settings.json;
".claude/CLAUDE.md".source = ./CLAUDE.md;
};
}