76 lines
1.4 KiB
Nix

{
pkgs,
lib,
...
}: {
home.packages = with pkgs;
[
# devenv
unstable.devenv
# Javascript
nodejs_22
(nodePackages.pnpm.override {
withNode = false;
})
unstable.deno
unstable.bun
# PHP
php
# Python
python3
# Nix
unstable.nixd
alejandra
# Rust
(rust-bin.stable.latest.default.override {
extensions = ["rust-src" "llvm-tools-preview"];
})
pkg-config
openssl
# Markdown
pandoc
]
++ lib.optional pkgs.stdenv.isDarwin pkgs.libiconv
++ lib.optionals pkgs.stdenv.isDarwin (with pkgs.darwin.apple_sdk.frameworks; [
CoreFoundation
CoreServices
SystemConfiguration
]);
# Required for the `openssl-sys` crate to build properly
home.sessionVariables.PKG_CONFIG_PATH = "${pkgs.openssl.dev}/lib/pkgconfig";
programs.zsh.initExtra = ''
export PATH=~/.npm-packages/bin:$PATH
export NODE_PATH=~/.npm-packages/lib/node_modules
'';
programs.direnv = {
enable = true;
package = pkgs.unstable.direnv;
config = {
global.hide_env_diff = true;
};
};
programs.java = {
enable = true;
package = pkgs.jdk21;
};
# Bun Git config
programs.git = {
attributes = [
"*.lockb binary diff=lockb"
];
extraConfig = {
diff.lockb.textconv = "bun";
diff.lockb.binary = "true";
};
};
programs.lazygit = {
enable = true;
};
}