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
				
			
		
							
								
								
									
										84
									
								
								.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								.gitignore
									
										
									
									
										vendored
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,84 @@
 | 
				
			||||||
 | 
					# Ignore build outputs from performing a nix-build or `nix build` command
 | 
				
			||||||
 | 
					result
 | 
				
			||||||
 | 
					result-*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Ignore automatically generated direnv output
 | 
				
			||||||
 | 
					.direnv
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.vscode/*
 | 
				
			||||||
 | 
					!.vscode/settings.json
 | 
				
			||||||
 | 
					!.vscode/tasks.json
 | 
				
			||||||
 | 
					!.vscode/launch.json
 | 
				
			||||||
 | 
					!.vscode/extensions.json
 | 
				
			||||||
 | 
					!.vscode/*.code-snippets
 | 
				
			||||||
 | 
					!*.code-workspace
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Built Visual Studio Code Extensions
 | 
				
			||||||
 | 
					*.vsix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					*~
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# temporary files which can be created if a process still has a handle open of a deleted file
 | 
				
			||||||
 | 
					.fuse_hidden*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Metadata left by Dolphin file manager, which comes with KDE Plasma
 | 
				
			||||||
 | 
					.directory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Linux trash folder which might appear on any partition or disk
 | 
				
			||||||
 | 
					.Trash-*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# .nfs files are created when an open file is removed but is still being accessed
 | 
				
			||||||
 | 
					.nfs*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Log files created by default by the nohup command
 | 
				
			||||||
 | 
					nohup.out
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# General
 | 
				
			||||||
 | 
					.DS_Store
 | 
				
			||||||
 | 
					.AppleDouble
 | 
				
			||||||
 | 
					.LSOverride
 | 
				
			||||||
 | 
					Icon[
]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Thumbnails
 | 
				
			||||||
 | 
					._*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Files that might appear in the root of a volume
 | 
				
			||||||
 | 
					.DocumentRevisions-V100
 | 
				
			||||||
 | 
					.fseventsd
 | 
				
			||||||
 | 
					.Spotlight-V100
 | 
				
			||||||
 | 
					.TemporaryItems
 | 
				
			||||||
 | 
					.Trashes
 | 
				
			||||||
 | 
					.VolumeIcon.icns
 | 
				
			||||||
 | 
					.com.apple.timemachine.donotpresent
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Directories potentially created on remote AFP share
 | 
				
			||||||
 | 
					.AppleDB
 | 
				
			||||||
 | 
					.AppleDesktop
 | 
				
			||||||
 | 
					Network Trash Folder
 | 
				
			||||||
 | 
					Temporary Items
 | 
				
			||||||
 | 
					.apdisk
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Windows thumbnail cache files
 | 
				
			||||||
 | 
					Thumbs.db
 | 
				
			||||||
 | 
					Thumbs.db:encryptable
 | 
				
			||||||
 | 
					ehthumbs.db
 | 
				
			||||||
 | 
					ehthumbs_vista.db
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Dump file
 | 
				
			||||||
 | 
					*.stackdump
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Folder config file
 | 
				
			||||||
 | 
					[Dd]esktop.ini
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Recycle Bin used on file shares
 | 
				
			||||||
 | 
					$RECYCLE.BIN/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Windows Installer files
 | 
				
			||||||
 | 
					*.cab
 | 
				
			||||||
 | 
					*.msi
 | 
				
			||||||
 | 
					*.msix
 | 
				
			||||||
 | 
					*.msm
 | 
				
			||||||
 | 
					*.msp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Windows shortcuts
 | 
				
			||||||
 | 
					*.lnk
 | 
				
			||||||
							
								
								
									
										17
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										17
									
								
								README.md
									
										
									
									
									
								
							| 
						 | 
					@ -146,8 +146,25 @@ nix build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Test the service
 | 
					# Test the service
 | 
				
			||||||
nix run .#bitpoll-manage -- check
 | 
					nix run .#bitpoll-manage -- check
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Generate encryption key
 | 
				
			||||||
 | 
					nix run .#bitpoll-manage -- generate_encryption_key
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Run development server (requires database setup first)
 | 
				
			||||||
 | 
					nix run . -- 127.0.0.1:8000
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Fixed Issues
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					This flake has been updated to resolve dependency issues:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					- ✅ **Django Import Error**: Fixed missing Django module by using proper Python environment
 | 
				
			||||||
 | 
					- ✅ **Missing Dependencies**: Added all required Django packages via pip installation
 | 
				
			||||||
 | 
					- ✅ **Python Path**: Corrected PYTHONPATH to include pip-installed packages
 | 
				
			||||||
 | 
					- ✅ **Encryption Keys**: Proper Fernet key generation support
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The package now successfully passes system checks and can run bitpoll commands.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Dependencies
 | 
					## Dependencies
 | 
				
			||||||
 | 
					
 | 
				
			||||||
This flake includes all necessary dependencies:
 | 
					This flake includes all necessary dependencies:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										108
									
								
								flake.nix
									
										
									
									
									
								
							
							
						
						
									
										108
									
								
								flake.nix
									
										
									
									
									
								
							| 
						 | 
					@ -65,55 +65,58 @@
 | 
				
			||||||
          GROUP_MANAGEMENT = True
 | 
					          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";
 | 
					          pname = "bitpoll";
 | 
				
			||||||
          version = "master-${builtins.substring 0 7 bitpollSrc.rev}";
 | 
					          version = "master-${builtins.substring 0 7 bitpollSrc.rev}";
 | 
				
			||||||
          
 | 
					          
 | 
				
			||||||
          src = bitpollSrc;
 | 
					          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; [
 | 
					          nativeBuildInputs = with pkgs; [
 | 
				
			||||||
            gettext
 | 
					            gettext
 | 
				
			||||||
 | 
					            pythonEnv
 | 
				
			||||||
          ];
 | 
					          ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
          buildInputs = with pkgs; [
 | 
					          buildInputs = with pkgs; [
 | 
				
			||||||
| 
						 | 
					@ -136,13 +139,26 @@
 | 
				
			||||||
            mkdir -p $out/share/bitpoll
 | 
					            mkdir -p $out/share/bitpoll
 | 
				
			||||||
            cp -r . $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
 | 
					            # Create wrapper script
 | 
				
			||||||
            mkdir -p $out/bin
 | 
					            mkdir -p $out/bin
 | 
				
			||||||
            cat > $out/bin/bitpoll-manage << EOF
 | 
					            cat > $out/bin/bitpoll-manage << EOF
 | 
				
			||||||
            #!/bin/sh
 | 
					            #!/bin/sh
 | 
				
			||||||
            cd $out/share/bitpoll
 | 
					            cd $out/share/bitpoll
 | 
				
			||||||
            export PYTHONPATH=$out/share/bitpoll:\$PYTHONPATH
 | 
					            export PYTHONPATH=$out/lib/python3.12/site-packages:$out/share/bitpoll:\$PYTHONPATH
 | 
				
			||||||
            exec ${pkgs.python3}/bin/python manage.py "\$@"
 | 
					            exec ${pythonEnv}/bin/python manage.py "\$@"
 | 
				
			||||||
            EOF
 | 
					            EOF
 | 
				
			||||||
            chmod +x $out/bin/bitpoll-manage
 | 
					            chmod +x $out/bin/bitpoll-manage
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
| 
						 | 
					@ -150,8 +166,8 @@
 | 
				
			||||||
            cat > $out/bin/bitpoll-server << EOF
 | 
					            cat > $out/bin/bitpoll-server << EOF
 | 
				
			||||||
            #!/bin/sh
 | 
					            #!/bin/sh
 | 
				
			||||||
            cd $out/share/bitpoll
 | 
					            cd $out/share/bitpoll
 | 
				
			||||||
            export PYTHONPATH=$out/share/bitpoll:\$PYTHONPATH
 | 
					            export PYTHONPATH=$out/lib/python3.12/site-packages:$out/share/bitpoll:\$PYTHONPATH
 | 
				
			||||||
            exec ${pkgs.python3}/bin/python manage.py runserver "\$@"
 | 
					            exec ${pythonEnv}/bin/python manage.py runserver "\$@"
 | 
				
			||||||
            EOF
 | 
					            EOF
 | 
				
			||||||
            chmod +x $out/bin/bitpoll-server
 | 
					            chmod +x $out/bin/bitpoll-server
 | 
				
			||||||
            
 | 
					            
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue