nix-config/home-manager/sajenim/features/editors/default.nix
jasmine b4261d8a11
docs: clarify editor configuration comments
Add descriptive comments explaining overlay usage and package section purpose
2025-09-30 16:10:37 +08:00

53 lines
1.2 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
# Allow unfree packages for proprietary software
nixpkgs.config.allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) [
"claude-code"
"idea-ultimate"
"idea-ultimate-with-plugins"
];
# Copy our configuration files to home directory
home.file = {
".ideavimrc".source = ./ideavimrc;
".claude/settings.json".source = ./claude-settings.json;
};
}