nix-config/home-manager/sajenim/features/editors/default.nix
jasmine 591346600f
refactor: centralize unfree package allowlists
Move all allowUnfreePredicate declarations to global configs to prevent
the "last definition wins" merging issue. Unfree packages are now managed
in two central locations:
- NixOS system packages: nixos/common/global/default.nix
- Home Manager packages: home-manager/sajenim/global/default.nix
2025-10-01 10:23:20 +08:00

45 lines
1,012 B
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;
".claude/settings.json".source = ./claude-settings.json;
};
}