mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-03-18 15:34:13 +01:00
88 lines
2.1 KiB
Nix
88 lines
2.1 KiB
Nix
{
|
|
pkgs,
|
|
pkgs-unstable,
|
|
...
|
|
}: {
|
|
#############################################################
|
|
#
|
|
# Basic settings for development environment
|
|
#
|
|
# Please avoid to install language specific packages here(globally),
|
|
# instead, install them:
|
|
# 1. per IDE, such as `programs.neovim.extraPackages`
|
|
# 2. per-project, using https://github.com/the-nix-way/dev-templates
|
|
#
|
|
#############################################################
|
|
|
|
home.packages = with pkgs;
|
|
[
|
|
(python3.withPackages (
|
|
ps:
|
|
with ps; [
|
|
ipython
|
|
pandas
|
|
requests
|
|
pyquery
|
|
pyyaml
|
|
]
|
|
))
|
|
|
|
cargo # rust package manager
|
|
go
|
|
jdk17
|
|
racket-minimal # scheme language(racket cli only tools)
|
|
|
|
# db related
|
|
dbeaver
|
|
mycli
|
|
pgcli
|
|
mongosh
|
|
sqlite
|
|
|
|
# embedded development
|
|
minicom
|
|
|
|
# ai related
|
|
python311Packages.huggingface-hub # huggingface-cli
|
|
|
|
# misc
|
|
pkgs-unstable.devbox
|
|
glow # markdown previewer
|
|
fzf
|
|
gdu # disk usage analyzer, required by AstroNvim
|
|
ripgrep # fast search tool, required by AstroNvim's '<leader>fw'(<leader> is space key)
|
|
bfg-repo-cleaner # remove large files from git history
|
|
k6 # load testing tool
|
|
protobuf # protocol buffer compiler
|
|
]
|
|
++ (
|
|
if pkgs.stdenv.isLinux
|
|
then [
|
|
# Automatically trims your branches whose tracking remote refs are merged or gone
|
|
# It's really useful when you work on a project for a long time.
|
|
git-trim
|
|
|
|
# need to run `conda-install` before using it
|
|
# need to run `conda-shell` before using command `conda`
|
|
# conda is not available for MacOS
|
|
conda
|
|
|
|
mitmproxy # http/https proxy tool
|
|
insomnia # REST client
|
|
wireshark # network analyzer
|
|
]
|
|
else []
|
|
);
|
|
|
|
programs = {
|
|
direnv = {
|
|
enable = true;
|
|
nix-direnv.enable = true;
|
|
|
|
enableZshIntegration = true;
|
|
enableBashIntegration = true;
|
|
enableNushellIntegration = true;
|
|
};
|
|
};
|
|
}
|