nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 setuptools,
6 tkinter,
7 darkdetect,
8 packaging,
9 typing-extensions,
10}:
11let
12 pname = "customtkinter";
13 version = "5.2.2";
14in
15buildPythonPackage {
16 inherit pname version;
17 pyproject = true;
18
19 src = fetchFromGitHub {
20 owner = "TomSchimansky";
21 repo = "CustomTkinter";
22 tag = "v${version}";
23 hash = "sha256-1g2wdXbUv5xNnpflFLXvU39s16kmwvuegKWd91E3qm4=";
24 };
25
26 build-system = [
27 setuptools
28 tkinter
29 ];
30
31 dependencies = [
32 darkdetect
33 packaging
34 typing-extensions
35 ];
36
37 patches = [ ./0001-Add-Missing-Cfg-Packages.patch ];
38
39 pythonImportsCheck = [ "customtkinter" ];
40
41 meta = {
42 description = "Modern and customizable python UI-library based on Tkinter";
43 homepage = "https://github.com/TomSchimansky/CustomTkinter";
44 license = lib.licenses.mit;
45 longDescription = ''
46 CustomTkinter is a python UI-library based on Tkinter, which provides
47 new, modern and fully customizable widgets. They are created and
48 used like normal Tkinter widgets and can also be used in combination
49 with normal Tkinter elements. The widgets and the window colors
50 either adapt to the system appearance or the manually set mode
51 ('light', 'dark'), and all CustomTkinter widgets and windows support
52 HighDPI scaling (Windows, macOS). With CustomTkinter you'll get
53 a consistent and modern look across all desktop platforms
54 (Windows, macOS, Linux).
55 '';
56 maintainers = with lib.maintainers; [ FlameFlag ];
57 };
58}