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

168 lines
3.8 KiB
Nix

{ pkgs, lib, config, ... }:
with pkgs;
with lib;
{
config = mkMerge [
(mkIf config.gui.enable {
home.packages =
let
# to make copilot work
# jetbrains.pycharm-professional
#fhsPyCharm = pkgs.buildFHSUserEnv {
# name = "pycharm";
# targetPkgs = pkgs: (with pkgs; [
# black
# isort
# #unstable.jetbrains.pycharm-professional
# jetbrains.pycharm-professional
# python311
# pipenv
# zlib # needed for NumPy
# nodejs
# git
# ]);
# runScript = "pycharm-professional";
#};
# jetbrains.datagrip
#fhsDataGrip = pkgs.buildFHSUserEnv {
# name = "datagrip";
# targetPkgs = pkgs: (with pkgs; [
# unstable.jetbrains.datagrip
# ]);
# runScript = "datagrip";
#};
#fhsClion = pkgs.buildFHSUserEnv {
# name = "clion";
# targetPkgs = pkgs: (with pkgs; [
# unstable.jetbrains.clion
# ]);
# runScript = "clion";
#};
in
[
# general
unstable.jetbrains.idea-ultimate
#vscode
jetbrains.mps
unstable.jetbrains.datagrip
#fhsDataGrip
#(pkgs.makeDesktopItem {
# name = "datagrip";
# desktopName = "DataGrip";
# exec = "${fhsDataGrip}/bin/datagrip";
# terminal = false;
#})
# Rust
unstable.jetbrains.clion
#fhsClion
#(pkgs.makeDesktopItem {
# name = "clion";
# desktopName = "Clion";
# exec = "${fhsClion}/bin/clion";
# terminal = false;
#})
gcc
rustup
# python
unstable.jetbrains.pycharm-professional
#fhsPyCharm
#(pkgs.makeDesktopItem {
# name = "pycharm";
# desktopName = "PyCharm";
# exec = "${fhsPyCharm}/bin/pycharm";
# terminal = false;
#})
# 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=";
};
}))
];
})
{
home.packages =
let
pandocScript = { inputFormat, outputFormat }:
pkgs.writers.writeDashBin "pandoc-from-${inputFormat}-to-${outputFormat}" ''
${pkgs.pandoc}/bin/pandoc \
--from ${inputFormat} \
--to ${outputFormat} \
--standalone \
"$@"
'';
in
[
# smoke
tmux
nethogs
netsniff-ng
iftop
# terminal recorder
asciinema
asciinema-agg
asciinema-scenario
termtosvg
# shell
gum
yq-go
gojq
jq
ijq
# nomad
nomad
wander
# terraform
unstable.terragrunt
unstable.terraform
terraform-docs
awscli2
# python
python3Full
pipenv
unstable.mdbook
nodePackages.prettier
shfmt
black
pre-commit
nixpkgs-fmt
treefmt
] ++ (map pandocScript (lib.cartesianProductOfSets {
inputFormat = [ "man" "markdown" "mediawiki" "asciidoc" ];
outputFormat = [ "mediawiki" "docbook5" "html5" "man" "jira" "markdown" ];
}));
}
];
}