{ inputs.nixpkgs.url = "github:nixos/nixpkgs"; outputs = { self, nixpkgs }: let pkgs = nixpkgs.legacyPackages.x86_64-linux; my-python = pkgs.python3; tkcalendar = pkgs.python3Packages.buildPythonPackage rec { pname = "tkcalendar"; version = "1.6.1"; src = pkgs.fetchFromGitHub { owner = "j4321"; repo = "tkcalendar"; rev = "v${version}"; sha256 = "Z5Sg1kT9VS0WNyJ3nXXhKbzL1VEXwkbF4bV8OwprYfE="; }; propagatedBuildInputs = [ pkgs.python310Packages.tkinter pkgs.python310Packages.babel ]; doCheck = false; pythonImportsCheck = [ "tkcalendar" ]; }; calcure = pkgs.python3Packages.buildPythonApplication rec { pname = "calcure"; version = "2.6"; src = pkgs.fetchFromGitHub { owner = "anufrievroman"; repo = "calcure"; rev = "${version}"; sha256 = "VvK8kLQd8JKaLQoxtMbweOKnR9nKMEnlj0103DeLXRI="; }; propagatedBuildInputs = [ pkgs.python310Packages.holidays pkgs.python310Packages.jdatetime ]; # doCheck = false; }; ttkbootstrap = pkgs.python3Packages.buildPythonPackage rec { pname = "ttkbootstrap"; version = "1.10.0"; src = pkgs.fetchFromGitHub { owner = "israel-dryer"; repo = "ttkbootstrap"; rev = "v${version}"; sha256 = "tWzpgNv54uuB9hntO/iek6zrH4RWk9MrREXdwpDRDPw="; }; propagatedBuildInputs = [ pkgs.python310Packages.pillow pkgs.python310Packages.tkinter ]; # doCheck = false; pythonImportsCheck = [ "ttkbootstrap" ]; }; python-with-my-packages = my-python.withPackages (p: with p; [ tkinter tkcalendar ttkbootstrap ical ]); in { packages.tkcalendar = pkgs.callPackage tkcalendar { }; packages.ttkbootsrap = pkgs.callPackage ttkbootstrap { }; packages.calcure = pkgs.callPackage calcure { }; devShell.x86_64-linux = pkgs.mkShell { buildInputs = with pkgs; [ yad python-with-my-packages calcure ]; }; }; }