mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 09:12:11 +01:00 
			
		
		
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			traduction
			...
			nix-shell
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					dde1baa25c | ||
| 
						 | 
					7a7ee47e0b | 
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -47,7 +47,6 @@ backups/
 | 
				
			|||||||
env/
 | 
					env/
 | 
				
			||||||
venv/
 | 
					venv/
 | 
				
			||||||
db.sqlite3
 | 
					db.sqlite3
 | 
				
			||||||
shell.nix
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
# ansibles customs host
 | 
					# ansibles customs host
 | 
				
			||||||
ansible/host_vars/*.yaml
 | 
					ansible/host_vars/*.yaml
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										34
									
								
								shell-static.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										34
									
								
								shell-static.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,34 @@
 | 
				
			|||||||
 | 
					# This is a workaround meant for use with the nix package manager. If you don't know what it is or don't use it, please ignore this file.
 | 
				
			||||||
 | 
					# 
 | 
				
			||||||
 | 
					# The nk20 javascript static location are hardcoded for imperative system.
 | 
				
			||||||
 | 
					# This make ./manage.py collectstatic hard to use with nixos.
 | 
				
			||||||
 | 
					# 
 | 
				
			||||||
 | 
					# A workaround is to enter a FHSUserEnv with the static placed under /share/javascript/<static>.
 | 
				
			||||||
 | 
					# This emulate a debian like system and enable collecting static normally with ./manage.py collectstatics.
 | 
				
			||||||
 | 
					# The regular shell.nix should be enough for other configurations.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Warning, you are still supposed to use pip package with a venv !
 | 
				
			||||||
 | 
					{ pkgs ? import <nixpkgs> {} }:
 | 
				
			||||||
 | 
					(pkgs.buildFHSUserEnv {
 | 
				
			||||||
 | 
					  name = "pipzone";
 | 
				
			||||||
 | 
					  targetPkgs = pkgs: (with pkgs;
 | 
				
			||||||
 | 
					  let
 | 
				
			||||||
 | 
					    fhs-static = stdenv.mkDerivation {
 | 
				
			||||||
 | 
					      name = "fhs-static";
 | 
				
			||||||
 | 
					      buildCommand = ''
 | 
				
			||||||
 | 
					      mkdir -p $out/share/javascript/bootstrap4
 | 
				
			||||||
 | 
					      mkdir -p $out/share/javascript/jquery
 | 
				
			||||||
 | 
					      ln -s ${python39Packages.xstatic-bootstrap}/lib/python3.9/site-packages/xstatic/pkg/bootstrap/data/* $out/share/javascript/bootstrap4
 | 
				
			||||||
 | 
					      ln -s ${python39Packages.xstatic-jquery}/lib/python3.9/site-packages/xstatic/pkg/jquery/data/* $out/share/javascript/jquery
 | 
				
			||||||
 | 
					    '';
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					  in [
 | 
				
			||||||
 | 
					    fhs-static
 | 
				
			||||||
 | 
					    python39
 | 
				
			||||||
 | 
					    gettext
 | 
				
			||||||
 | 
					    python39Packages.pip
 | 
				
			||||||
 | 
					    python39Packages.virtualenv
 | 
				
			||||||
 | 
					    python39Packages.setuptools
 | 
				
			||||||
 | 
					  ]);
 | 
				
			||||||
 | 
					  runScript = "bash";
 | 
				
			||||||
 | 
					}).env
 | 
				
			||||||
							
								
								
									
										23
									
								
								shell.nix
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										23
									
								
								shell.nix
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					# This is meant for use with the nix package manager. If you don't know what it is or don't use it, please ignore this file.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# This shell.nix contains all dependencies require to create a venv and pip install -r requirements.txt.
 | 
				
			||||||
 | 
					#
 | 
				
			||||||
 | 
					# Please check shell-static.nix for running ./manage.py collectstatics.
 | 
				
			||||||
 | 
					{ pkgs ? import <nixpkgs> {} }:
 | 
				
			||||||
 | 
					pkgs.mkShell {
 | 
				
			||||||
 | 
					  buildInputs = with pkgs; [
 | 
				
			||||||
 | 
					    python39
 | 
				
			||||||
 | 
					    python39Packages.pip
 | 
				
			||||||
 | 
					    python39Packages.setuptools
 | 
				
			||||||
 | 
					    gettext
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					  shellHook = ''
 | 
				
			||||||
 | 
					    # Tells pip to put packages into $PIP_PREFIX instead of the usual locations.
 | 
				
			||||||
 | 
					    # See https://pip.pypa.io/en/stable/user_guide/#environment-variables.
 | 
				
			||||||
 | 
					    export PIP_PREFIX=$(pwd)/_build/pip_packages
 | 
				
			||||||
 | 
					    export PYTHONPATH="$PIP_PREFIX/${pkgs.python39.sitePackages}:$PYTHONPATH"
 | 
				
			||||||
 | 
					    export PATH="$PIP_PREFIX/bin:$PATH"
 | 
				
			||||||
 | 
					    unset SOURCE_DATE_EPOCH
 | 
				
			||||||
 | 
					  '';
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user