Files
nix-config-ryan4yin/home/base/desktop/development.nix
Ryan Yin 45a7973553 feat: add distributed-builds & many hosts
feat: remove nur & devenv
feat: adjust the structure to make it suitable for servers
feat: add iso/proxmox generators and add docs about it
feat: update ryan's openssh keys & add hashedPassword
feat: add proxmox's nodes into ssh_config, with alias
2023-06-17 09:51:29 +08:00

102 lines
1.9 KiB
Nix

{ pkgs, nil, ... }:
{
#############################################################
#
# Basic settings for development environment
#
# Please avoid to install language specific packages here(globally),
# instead, install them independently using dev-templates:
# https://github.com/the-nix-way/dev-templates
#
#############################################################
home.packages = with pkgs; [
nil.packages."${pkgs.system}".default # nix language server
# IDE
jetbrains.pycharm-community
jetbrains.idea-community
# cloud native
skopeo
docker-compose
dive # explore docker layers
kubectl
kubernetes-helm
terraform
# terraformer # generate terraform configs from existing cloud resources
pulumi
pulumictl
k9s
# istioctl
# cloud provider
awscli
aws-iam-authenticator
eksctl
# DO NOT install build tools for C/C++, set it per project by devShell instead
gnumake # used by this repo, to simplify the deployment
clang-tools
clang-analyzer
# Golang
go
delve
gopls
# Rust
rustup
# python
(python310.withPackages (ps: with ps; [
ipython
pandas
requests
pyquery
pyyaml
]))
# db related
dbeaver
mycli
pgcli
mongosh
sqlite
# embedded development
minicom
# other tools
k6 # load testing tool
mitmproxy # http/https proxy tool
protobuf # protocol buffer compiler
];
programs = {
# modern vim
neovim = {
enable = true;
defaultEditor = true;
viAlias = false;
vimAlias = true;
# enable line number, disable mouse visual mode
extraConfig = ''
set number relativenumber mouse-=a
'';
};
direnv = {
enable = true;
nix-direnv.enable = true;
enableZshIntegration = true;
enableBashIntegration = true;
enableNushellIntegration = true;
};
};
}