nix-git/modules/jetbrains-ide.nix

59 lines
1.4 KiB
Nix
Raw Normal View History

2024-02-04 14:51:54 +01:00
{ config, pkgs, lib, ... }:
let
2024-10-23 18:56:01 +02:00
# version = (
# if (config.nixpkgs.config.allowUnfree)
# then "idea-ultimate"
# else "idea-community"
# );
version = "idea-ultimate";
2024-02-04 14:51:54 +01:00
in
{
# Integrated Development Environment (IDE).
# Open issues about nix-shell support/integration:
# - .env run configuration: https://github.com/NixOS/nix-idea/issues/1#issuecomment-590851686
# - nix-shell IDE-wide: https://github.com/NixOS/nix-idea/issues/1#issuecomment-734997521
2024-11-11 14:06:54 +01:00
imports =
[
# Rust programming lang
./rust.nix
];
2024-10-23 18:56:01 +02:00
allowUnfree = [
version
];
environment.systemPackages = with pkgs; [
# System-wide installation makes python available as:
# /run/current-system/sw/bin/python3
# This makes it easier to configure it as interpreter in Jetbrain's IDE.
python3
2024-11-05 19:21:11 +01:00
# Gradle build tool
gradle
2024-11-17 22:33:06 +01:00
# LTS OpenJDK
2024-11-21 22:44:39 +01:00
#unstable.jdk
# Latest OpenJDK
unstable.jdk23
2024-11-05 19:21:11 +01:00
# Markdown preview
#pandoc
# TODO: Currently markdown previews are broken anyways because of issues with the sandboxed webbrowser on NixOS
];
users.users.yoda = {
packages = with pkgs; [
2024-02-04 14:51:54 +01:00
jetbrains."${version}"
];
};
2024-02-04 14:51:54 +01:00
programs.dconf.enable = true;
home-manager.users.yoda = { osConfig, config, pkgs, lib, ... }: {
dconf.settings = {
"org/gnome/shell" = {
favorite-apps = ["${version}.desktop"];
};
};
};
}