76 lines
1.4 KiB
Nix
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;
|
|
};
|
|
}
|