nixos-config/nixos/homes/palo/packages/development.nix

123 lines
2.5 KiB
Nix

{ pkgs, lib, config, ... }:
with pkgs;
with lib;
{
config = mkMerge [
(mkIf config.gui.enable {
home.packages = [
# general
unstable.jetbrains.idea-ultimate
#vscode
jetbrains.mps
unstable.jetbrains.datagrip
# Rust
# ----
unstable.jetbrains.clion
gcc
rustup
# Python
# ------
unstable.jetbrains.pycharm-professional
# planing
((ganttproject-bin.override {
jre = pkgs.openjdk11;
}).overrideAttrs (old: {
version = "3.1.3100";
src = pkgs.fetchzip {
url = "https://dl.ganttproject.biz/ganttproject-3.1.3100/ganttproject-3.1.3100.zip";
sha256 = "sha256-hw2paak0P670/kemiuqYHIaN0uUtkVKy+AX2X7OdnJ4=";
};
}))
mermaid-cli
];
})
{
home.packages =
let
pandocScript = { inputFormat, outputFormat }:
pkgs.writers.writeDashBin "pandoc-from-${inputFormat}-to-${outputFormat}" ''
${pkgs.pandoc}/bin/pandoc \
--from ${inputFormat} \
--to ${outputFormat} \
--standalone \
"$@"
'';
in
[
lnav
tmux
nethogs
netsniff-ng
iftop
# terminal recorder
asciinema
asciinema-agg
asciinema-scenario
termtosvg
# shell
gum
yq-go
gojq
jq
ijq
# nomad
unstable.nomad
wander
# terraform
unstable.terragrunt
unstable.terraform
terraform-docs
awscli2
# python
python3Full
pipenv
unstable.mdbook
nodePackages.prettier
shfmt
black
pre-commit
nixpkgs-fmt
treefmt
(pkgs.writers.writeBashBin "ssl-check-cert-of-domain" ''
DOMAIN=$1
echo | \
${pkgs.openssl}/bin/openssl s_client -servername ''${DOMAIN} -connect ''${DOMAIN}:443 2>/dev/null | \
${pkgs.openssl}/bin/openssl x509 -text | \
${pkgs.less}/bin/less
'')
] ++ (map pandocScript (lib.cartesianProductOfSets {
inputFormat = [ "man" "markdown" "mediawiki" "asciidoc" ];
outputFormat = [ "mediawiki" "docbook5" "html5" "man" "jira" "markdown" ];
}));
}
];
}