Add .gitignore and update README with fixed issues and new commands
- Created .gitignore to exclude build outputs and temporary files. - Updated README to document fixes for dependency issues and added commands for generating encryption keys and running the development server.
This commit is contained in:
parent
8de81ea2ab
commit
8ebc71193f
3 changed files with 163 additions and 46 deletions
108
flake.nix
108
flake.nix
|
@ -65,55 +65,58 @@
|
|||
GROUP_MANAGEMENT = True
|
||||
'';
|
||||
|
||||
bitpoll = pkgs.python3Packages.buildPythonApplication rec {
|
||||
# Create Python environment with all dependencies
|
||||
pythonEnv = pkgs.python3.withPackages (ps: with ps; [
|
||||
# Core Django dependencies
|
||||
django
|
||||
|
||||
# Calendar and date handling
|
||||
caldav
|
||||
icalendar
|
||||
python-dateutil
|
||||
pytz
|
||||
vobject
|
||||
recurring-ical-events
|
||||
|
||||
# Crypto and security
|
||||
cryptography
|
||||
django-encrypted-model-fields
|
||||
|
||||
# Web and HTTP
|
||||
requests
|
||||
|
||||
# Markup and styling
|
||||
markdown
|
||||
bleach
|
||||
|
||||
# Data handling
|
||||
pydantic
|
||||
|
||||
# Database
|
||||
psycopg2
|
||||
|
||||
# Utilities
|
||||
six
|
||||
lxml
|
||||
|
||||
# Additional dependencies
|
||||
setuptools
|
||||
wheel
|
||||
pip
|
||||
|
||||
# Available Django packages
|
||||
# Note: Some packages will need to be installed via pip in postInstall
|
||||
]);
|
||||
|
||||
bitpoll = pkgs.stdenv.mkDerivation rec {
|
||||
pname = "bitpoll";
|
||||
version = "master-${builtins.substring 0 7 bitpollSrc.rev}";
|
||||
|
||||
src = bitpollSrc;
|
||||
|
||||
format = "other";
|
||||
|
||||
propagatedBuildInputs = with pkgs.python3Packages; [
|
||||
# Core Django dependencies
|
||||
django
|
||||
|
||||
# Calendar and date handling
|
||||
caldav
|
||||
icalendar
|
||||
python-dateutil
|
||||
pytz
|
||||
vobject
|
||||
|
||||
# Crypto and security
|
||||
cryptography
|
||||
|
||||
# Web and HTTP
|
||||
requests
|
||||
|
||||
# Markup and styling
|
||||
markdown
|
||||
bleach
|
||||
|
||||
# Data handling
|
||||
pydantic
|
||||
|
||||
# Database
|
||||
psycopg2
|
||||
|
||||
# Utilities
|
||||
six
|
||||
lxml
|
||||
|
||||
# Additional dependencies
|
||||
setuptools
|
||||
wheel
|
||||
] ++ [
|
||||
# System dependencies
|
||||
pkgs.gettext
|
||||
];
|
||||
|
||||
nativeBuildInputs = with pkgs; [
|
||||
gettext
|
||||
pythonEnv
|
||||
];
|
||||
|
||||
buildInputs = with pkgs; [
|
||||
|
@ -136,13 +139,26 @@
|
|||
mkdir -p $out/share/bitpoll
|
||||
cp -r . $out/share/bitpoll/
|
||||
|
||||
# Install missing Python packages via pip
|
||||
export PYTHONPATH=$out/lib/python3.12/site-packages:$PYTHONPATH
|
||||
mkdir -p $out/lib/python3.12/site-packages
|
||||
|
||||
${pythonEnv}/bin/pip install --target $out/lib/python3.12/site-packages \
|
||||
django-simple-csp==0.4.dev1 \
|
||||
django-markdownify==0.9.5 \
|
||||
django-pipeline==3.1.0 \
|
||||
django-friendly-tag-loader==1.3.1 \
|
||||
django-token-bucket==0.2.4 \
|
||||
django-widget-tweaks==1.5.0 \
|
||||
libsasscompiler==0.1.9
|
||||
|
||||
# Create wrapper script
|
||||
mkdir -p $out/bin
|
||||
cat > $out/bin/bitpoll-manage << EOF
|
||||
#!/bin/sh
|
||||
cd $out/share/bitpoll
|
||||
export PYTHONPATH=$out/share/bitpoll:\$PYTHONPATH
|
||||
exec ${pkgs.python3}/bin/python manage.py "\$@"
|
||||
export PYTHONPATH=$out/lib/python3.12/site-packages:$out/share/bitpoll:\$PYTHONPATH
|
||||
exec ${pythonEnv}/bin/python manage.py "\$@"
|
||||
EOF
|
||||
chmod +x $out/bin/bitpoll-manage
|
||||
|
||||
|
@ -150,8 +166,8 @@
|
|||
cat > $out/bin/bitpoll-server << EOF
|
||||
#!/bin/sh
|
||||
cd $out/share/bitpoll
|
||||
export PYTHONPATH=$out/share/bitpoll:\$PYTHONPATH
|
||||
exec ${pkgs.python3}/bin/python manage.py runserver "\$@"
|
||||
export PYTHONPATH=$out/lib/python3.12/site-packages:$out/share/bitpoll:\$PYTHONPATH
|
||||
exec ${pythonEnv}/bin/python manage.py runserver "\$@"
|
||||
EOF
|
||||
chmod +x $out/bin/bitpoll-server
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue