-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdefault.nix
More file actions
56 lines (48 loc) · 1.26 KB
/
default.nix
File metadata and controls
56 lines (48 loc) · 1.26 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
{ pkgs ? import <nixpkgs> {} }:
let
pythonWithPackages = pkgs.python3.withPackages (ps: with ps; [
pygame
loguru
pygobject3
psutil
setproctitle
pulsectl
pydantic
pyopengl
numpy
]);
extraDeps = [
pkgs.gtk4
pkgs.gtk3
pkgs.librsvg
pkgs.libdbusmenu-gtk2
pkgs.libdbusmenu-gtk3
pkgs.gdk-pixbuf
pkgs.cinnamon-desktop
pkgs.pulseaudio
pkgs.gtk-layer-shell
pkgs.gobject-introspection
pkgs.gnome-bluetooth
pkgs.playerctl
];
env = pkgs.symlinkJoin {
name = "python-env";
paths = [ pythonWithPackages ] ++ extraDeps;
preferLocalBuild = true;
allowSubstitutes = true;
};
in
pkgs.writeShellScriptBin "python-env-shell" ''
echo "Setting Timezone..."
echo "use export TZ={insert your timezone} to change it to your timezone"
export TZ=CEST-2
echo "Setting up linkers for python."
export PATH=${env}/bin:$PATH
export PYTHONPATH="${pkgs.python312Packages.pygobject3}/lib/python3.12/site-packages:$PYTHONPATH"
export GI_TYPELIB_PATH="${pkgs.gobject-introspection}/lib/girepository-1.0:$GI_TYPELIB_PATH"
export LD_LIBRARY_PATH="${env}/lib:$LD_LIBRARY_PATH"
if [ -f "${toString ./.}/venv/bin/activate" ]; then
. "${toString ./.}/venv/bin/activate"
fi
exec python "$@"
''