2022-09-04 03:29:35 -04:00
|
|
|
{ config, lib, pkgs, inputs, ... }:
|
|
|
|
let
|
|
|
|
devel = config.nathan.programs.devel;
|
|
|
|
unstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}";
|
2022-10-13 22:13:43 -04:00
|
|
|
inherit (import ../../../modules/lib.nix {
|
|
|
|
inherit lib;
|
|
|
|
inherit pkgs;
|
|
|
|
})
|
|
|
|
nLib;
|
2022-09-04 03:29:35 -04:00
|
|
|
|
2022-10-13 22:13:43 -04:00
|
|
|
in with lib;
|
|
|
|
with nLib; {
|
2022-09-04 03:29:35 -04:00
|
|
|
config = mkMerge [
|
2022-09-04 03:33:35 -04:00
|
|
|
# Core development utilites
|
|
|
|
(mkIf devel.core {
|
|
|
|
home.packages = with pkgs;
|
2022-10-13 22:13:43 -04:00
|
|
|
# Linux specific packages
|
2022-09-04 03:33:35 -04:00
|
|
|
[
|
|
|
|
clang
|
|
|
|
unstable.mold
|
|
|
|
];
|
|
|
|
})
|
2022-09-04 03:36:15 -04:00
|
|
|
# Rust development
|
|
|
|
(mkIf devel.rust {
|
2022-10-13 22:13:43 -04:00
|
|
|
home.packages = with pkgs;
|
|
|
|
[
|
|
|
|
unstable.cargo-tarpaulin # Code coverage
|
|
|
|
];
|
2022-09-04 03:36:15 -04:00
|
|
|
})
|
2022-09-04 03:29:35 -04:00
|
|
|
# JVM Development
|
|
|
|
(mkIf devel.jvm {
|
|
|
|
home.packages = with unstable; [
|
2023-02-08 23:44:28 -05:00
|
|
|
jdk17
|
2022-09-04 03:29:35 -04:00
|
|
|
gradle
|
|
|
|
kotlin
|
|
|
|
kotlin-native
|
|
|
|
kotlin-language-server
|
2022-11-29 04:59:52 -05:00
|
|
|
jdt-language-server
|
2022-09-04 03:29:35 -04:00
|
|
|
ktlint
|
|
|
|
];
|
|
|
|
})
|
2023-08-25 11:50:29 -04:00
|
|
|
# RPi Pico Development
|
|
|
|
(mkIf devel.pico { home.packages = with unstable; [ pico-sdk ]; })
|
2022-09-04 03:29:35 -04:00
|
|
|
];
|
|
|
|
}
|