nix-git/modules/jetbrains-ide.nix

60 lines
1.5 KiB
Nix

{ config, pkgs, lib, ... }:
let
# version = (
# if (config.nixpkgs.config.allowUnfree)
# then "idea-ultimate"
# else "idea-community"
# );
version = "idea-ultimate";
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
imports =
[
# Rust programming lang
./rust.nix
];
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
# To use Gradle within InelliJ (or to use a specific OpenJDK version with Gradle), see
# shell-intellij-grade-openjd.nix
# If a more recent OpenJDK version than the bundled JDK is needed
#unstable.jdk
#unstable.jdk23
# 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; [
jetbrains."${version}"
];
};
programs.dconf.enable = true;
home-manager.users.yoda = { osConfig, config, pkgs, lib, ... }: {
dconf.settings = {
"org/gnome/shell" = {
favorite-apps = ["${version}.desktop"];
};
};
};
}