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
|
2023-11-08 11:17:52 +01:00
|
|
|
{
|
|
|
|
# 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
|
|
|
|
];
|
|
|
|
|
2023-11-08 11:17:52 +01:00
|
|
|
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-28 21:10:53 +01:00
|
|
|
|
|
|
|
# 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
|
2024-11-21 22:44:39 +01:00
|
|
|
#unstable.jdk
|
2024-11-28 21:10:53 +01:00
|
|
|
#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
|
2023-11-08 11:17:52 +01:00
|
|
|
];
|
|
|
|
|
|
|
|
users.users.yoda = {
|
|
|
|
packages = with pkgs; [
|
2024-02-04 14:51:54 +01:00
|
|
|
jetbrains."${version}"
|
2023-11-08 11:17:52 +01:00
|
|
|
];
|
|
|
|
};
|
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"];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
2023-11-08 11:17:52 +01:00
|
|
|
}
|