diff --git a/python/uv/flake.lock b/python/uv/flake.lock index f2301ba..d78294a 100644 --- a/python/uv/flake.lock +++ b/python/uv/flake.lock @@ -18,29 +18,54 @@ "type": "github" } }, - "nixpkgs": { + "flake-utils_2": { + "inputs": { + "systems": [ + "nix-jetbrains-plugins", + "systems" + ] + }, "locked": { - "lastModified": 1762498405, - "narHash": "sha256-Zg/SCgCaAioc0/SVZQJxuECGPJy+OAeBcGeA5okdYDc=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "6faeb062ee4cf4f105989d490831713cc5a43ee1", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { - "owner": "NixOS", - "ref": "nixos-25.05", - "repo": "nixpkgs", + "owner": "numtide", + "repo": "flake-utils", "type": "github" } }, - "nixpkgs-unstable": { + "nix-jetbrains-plugins": { + "inputs": { + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs", + "systems": "systems_2" + }, "locked": { - "lastModified": 1762596750, - "narHash": "sha256-rXXuz51Bq7DHBlfIjN7jO8Bu3du5TV+3DSADBX7/9YQ=", + "lastModified": 1764424095, + "narHash": "sha256-pzXz0jGncgIBpEAKAFoXB8902NIBsrVVyGaM4uOjiN4=", + "owner": "theCapypara", + "repo": "nix-jetbrains-plugins", + "rev": "5f29fcde809a796493f9f23f90b8fe2ee0b8a498", + "type": "github" + }, + "original": { + "owner": "theCapypara", + "repo": "nix-jetbrains-plugins", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1757745802, + "narHash": "sha256-hLEO2TPj55KcUFUU1vgtHE9UEIOjRcH/4QbmfHNF820=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "b6a8526db03f735b89dd5ff348f53f752e7ddc8e", + "rev": "c23193b943c6c689d70ee98ce3128239ed9e32d1", "type": "github" }, "original": { @@ -50,10 +75,43 @@ "type": "github" } }, + "nixpkgs-unstable": { + "locked": { + "lastModified": 1764242076, + "narHash": "sha256-sKoIWfnijJ0+9e4wRvIgm/HgE27bzwQxcEmo2J/gNpI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "2fad6eac6077f03fe109c4d4eb171cf96791faa4", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1764316264, + "narHash": "sha256-82L+EJU+40+FIdeG4gmUlOF1jeSwlf2AwMarrpdHF6o=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "9a7b80b6f82a71ea04270d7ba11b48855681c4b0", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-25.05", + "repo": "nixpkgs", + "type": "github" + } + }, "root": { "inputs": { "flake-utils": "flake-utils", - "nixpkgs": "nixpkgs", + "nix-jetbrains-plugins": "nix-jetbrains-plugins", + "nixpkgs": "nixpkgs_2", "nixpkgs-unstable": "nixpkgs-unstable" } }, @@ -71,6 +129,21 @@ "repo": "default", "type": "github" } + }, + "systems_2": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } } }, "root": "root", diff --git a/python/uv/flake.nix b/python/uv/flake.nix index 838a081..3d53c0a 100644 --- a/python/uv/flake.nix +++ b/python/uv/flake.nix @@ -3,9 +3,10 @@ nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; flake-utils.url = "github:numtide/flake-utils"; + nix-jetbrains-plugins.url = "github:theCapypara/nix-jetbrains-plugins"; }; - outputs = { self, nixpkgs, nixpkgs-unstable, flake-utils }: + outputs = { self, nixpkgs, nixpkgs-unstable, flake-utils, nix-jetbrains-plugins }: flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; @@ -16,19 +17,29 @@ config.allowUnfree = true; }; + pluginList = [ + "be.ugent.piedcler.dodona" + "com.github.copilot" + "com.google.tools.ij.aiplugin" + "IdeaVIM" + ]; + mkShell = pkgs.mkShell.override { stdenv = pkgs.stdenvAdapters.useMoldLinker pkgs.stdenv; }; in { devShells.default = pkgs.mkShell { packages = (with pkgs; [ - # python312Full + python311Full ]) ++ (with pkgs-unstable; [ uv + ]) ++ (with nix-jetbrains-plugins.lib."${system}"; [ + # Editor of your choice + (buildIdeWithPlugins pkgs-unstable.jetbrains "pycharm-professional" pluginList) ]); # Stop uv from downloading Python binaries automatically if needed. - # UV_PYTHON_DOWNLOADS = "never"; + UV_PYTHON_DOWNLOADS = "never"; # ImportError: libstdc++.so.6: cannot open shared object file: No such file or directory LD_LIBRARY_PATH = "${pkgs.stdenv.cc.cc.lib}/lib";