Compare commits
	
		
			No commits in common. "e2abde8b28153c9b8a67906618d06c0fac16b563" and "74ddbc24bb5f1d20c72461829976c6027ce5cba2" have entirely different histories.
		
	
	
		
			e2abde8b28
			...
			74ddbc24bb
		
	
		
							
								
								
									
										40
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										40
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @ -210,24 +210,6 @@ | ||||
|       } | ||||
|     }, | ||||
|     "flake-utils_2": { | ||||
|       "inputs": { | ||||
|         "systems": "systems_2" | ||||
|       }, | ||||
|       "locked": { | ||||
|         "lastModified": 1731533236, | ||||
|         "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "numtide", | ||||
|         "repo": "flake-utils", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "flake-utils_3": { | ||||
|       "inputs": { | ||||
|         "systems": [ | ||||
|           "stylix", | ||||
| @ -607,7 +589,7 @@ | ||||
|     }, | ||||
|     "nuschtosSearch": { | ||||
|       "inputs": { | ||||
|         "flake-utils": "flake-utils_2", | ||||
|         "flake-utils": "flake-utils", | ||||
|         "ixx": "ixx", | ||||
|         "nixpkgs": [ | ||||
|           "nixvim", | ||||
| @ -630,7 +612,6 @@ | ||||
|     }, | ||||
|     "root": { | ||||
|       "inputs": { | ||||
|         "flake-utils": "flake-utils", | ||||
|         "home-manager": "home-manager", | ||||
|         "nix-matlab": "nix-matlab", | ||||
|         "nixpkgs": "nixpkgs", | ||||
| @ -647,12 +628,12 @@ | ||||
|         "base16-vim": "base16-vim", | ||||
|         "firefox-gnome-theme": "firefox-gnome-theme", | ||||
|         "flake-compat": "flake-compat_3", | ||||
|         "flake-utils": "flake-utils_3", | ||||
|         "flake-utils": "flake-utils_2", | ||||
|         "git-hooks": "git-hooks_2", | ||||
|         "gnome-shell": "gnome-shell", | ||||
|         "home-manager": "home-manager_3", | ||||
|         "nixpkgs": "nixpkgs_3", | ||||
|         "systems": "systems_3", | ||||
|         "systems": "systems_2", | ||||
|         "tinted-foot": "tinted-foot", | ||||
|         "tinted-kitty": "tinted-kitty", | ||||
|         "tinted-tmux": "tinted-tmux", | ||||
| @ -702,21 +683,6 @@ | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "systems_3": { | ||||
|       "locked": { | ||||
|         "lastModified": 1681028828, | ||||
|         "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "nix-systems", | ||||
|         "repo": "default", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "tinted-foot": { | ||||
|       "flake": false, | ||||
|       "locked": { | ||||
|  | ||||
| @ -17,12 +17,10 @@ | ||||
|       url = "gitlab:doronbehar/nix-matlab"; | ||||
|       inputs.nixpkgs.follows = "nixpkgs"; | ||||
|     }; | ||||
|     flake-utils.url = "github:numtide/flake-utils"; | ||||
|   }; | ||||
| 
 | ||||
|   outputs = | ||||
|     { | ||||
|       self, | ||||
|       nixpkgs, | ||||
|       home-manager, | ||||
|       stylix, | ||||
| @ -69,6 +67,6 @@ | ||||
|           }; | ||||
|         }; | ||||
|       }; | ||||
|       lib = import ./shell-modules/default.nix self.inputs; | ||||
|       devenv = ./shell-modules/default.nix; | ||||
|     }; | ||||
| } | ||||
|  | ||||
| @ -1,42 +1,35 @@ | ||||
| { | ||||
|   nixpkgs, | ||||
|   flake-utils, | ||||
|   ... | ||||
| }: | ||||
| { pkgs, ... }: | ||||
| 
 | ||||
| let | ||||
|   imports = [ | ||||
|     ./shell.nix | ||||
|     ./languages/python.nix | ||||
|     ./utilities/cuda.nix | ||||
| pkgs.mkShell { | ||||
|   packages = with pkgs; [ | ||||
|     (python312.withPackages (p: [ | ||||
|       p.numpy | ||||
|       p.scikit-learn | ||||
|       p.scipy | ||||
|       p.pandas | ||||
|       p.matplotlib | ||||
|       p.torch-bin | ||||
|       # p.torchvision | ||||
|     ])) | ||||
|     libffi | ||||
|     openssl | ||||
|     stdenv.cc.cc | ||||
|     linuxPackages.nvidia_x11 | ||||
|     binutils | ||||
|     cudatoolkit | ||||
|     libGLU | ||||
|     libGL | ||||
|   ]; | ||||
| in | ||||
| { | ||||
| 
 | ||||
|   mkShell = | ||||
|     attrs: | ||||
|     (flake-utils.lib.eachDefaultSystem ( | ||||
|       system: | ||||
|       let | ||||
|         pkgs = import nixpkgs { | ||||
|           inherit system; | ||||
|           config.allowUnfree = true; | ||||
|         }; | ||||
|         evaluated = | ||||
|           (nixpkgs.lib.evalModules { | ||||
|             modules = [ attrs ] ++ imports; | ||||
|             specialArgs = { | ||||
|               pkgs = pkgs; | ||||
|             }; | ||||
|           }).config; | ||||
|         recUpdate = nixpkgs.lib.recursiveUpdate; | ||||
|         shell = recUpdate { | ||||
|           env = evaluated.env; | ||||
|           packages = evaluated.packages ++ (evaluated.extraPackages pkgs); | ||||
|         } evaluated.override; | ||||
|       in | ||||
|       { | ||||
|         devShells.default = pkgs.mkShell shell; | ||||
|       } | ||||
|     )); | ||||
|   LD_LIBRARY_PATH = pkgs.lib.makeLibraryPath ( | ||||
|     with pkgs; | ||||
|     [ | ||||
|       stdenv.cc.cc | ||||
|       linuxPackages.nvidia_x11 | ||||
|       binutils | ||||
|       cudatoolkit | ||||
|       libGLU | ||||
|       libGL | ||||
|     ] | ||||
|   ); | ||||
|   CUDA_PATH = pkgs.cudatoolkit; | ||||
| } | ||||
|  | ||||
| @ -1,35 +0,0 @@ | ||||
| { | ||||
|   pkgs, | ||||
|   lib, | ||||
|   config, | ||||
|   ... | ||||
| }: | ||||
| 
 | ||||
| with lib; | ||||
| { | ||||
|   options.python = { | ||||
|     enable = mkEnableOption "Python"; | ||||
|     packages = mkOption { | ||||
|       type = types.functionTo (types.listOf types.package) // { | ||||
|         merge = | ||||
|           loc: defs: p: | ||||
|           lib.concatMap (def: (def.value p)) defs; | ||||
|       }; | ||||
|       default = p: [ ]; | ||||
|       description = "Python packages to install"; | ||||
|     }; | ||||
|     # TODO: Add option to directly read from requirements.txt, maybe with mach-nix | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf config.python.enable { | ||||
|     packages = | ||||
|       with pkgs; | ||||
|       let | ||||
|         packages = config.python.packages; | ||||
|         pythonPackage = python3.withPackages packages; | ||||
|       in | ||||
|       [ | ||||
|         pythonPackage | ||||
|       ]; | ||||
|   }; | ||||
| } | ||||
| @ -1,33 +0,0 @@ | ||||
| { lib, ... }: | ||||
| 
 | ||||
| with lib; | ||||
| { | ||||
|   options = { | ||||
|     env = mkOption { | ||||
|       type = types.attrsOf types.str; | ||||
|       default = { }; | ||||
|     }; | ||||
| 
 | ||||
|     packages = mkOption { | ||||
|       type = types.listOf types.package; | ||||
|       default = [ ]; | ||||
|       description = "Packages to install"; | ||||
|     }; | ||||
| 
 | ||||
|     extraPackages = mkOption { | ||||
|       type = types.functionTo (types.listOf types.package) // { | ||||
|         merge = | ||||
|           loc: defs: p: | ||||
|           lib.concatMap (def: (def.value p)) defs; | ||||
|       }; | ||||
|       default = p: [ ]; | ||||
|       description = "Extra packages to install"; | ||||
|     }; | ||||
| 
 | ||||
|     override = mkOption { | ||||
|       type = types.attrs; | ||||
|       default = { }; | ||||
|       description = "Settings in the mkShell call to override"; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| @ -1,17 +0,0 @@ | ||||
| { | ||||
|   pkgs, | ||||
|   lib, | ||||
|   config, | ||||
|   ... | ||||
| }: | ||||
| 
 | ||||
| with lib; | ||||
| { | ||||
|   options.cuda = { | ||||
|     enable = mkEnableOption "CUDA"; | ||||
|   }; | ||||
| 
 | ||||
|   config = mkIf config.cuda.enable { | ||||
| 
 | ||||
|   }; | ||||
| } | ||||
| @ -4,8 +4,6 @@ | ||||
|   imports = [ | ||||
|     ./ide/mathematica.nix | ||||
|     ./ide/matlab.nix | ||||
|     # TODO: Move languages to make clear it is just IDE configuration | ||||
|     # Languages should be installed with devShells, however the IDE must be configured globally | ||||
|     ./language/cpp.nix | ||||
|     ./language/haskell.nix | ||||
|     ./language/js.nix | ||||
|  | ||||
| @ -8,6 +8,7 @@ | ||||
| with lib; | ||||
| let | ||||
|   cfg = config.modules.python; | ||||
|   package = pkgs.python3.withPackages cfg.extraPythonPackages; | ||||
| in | ||||
| { | ||||
|   options.modules.python = { | ||||
| @ -25,7 +26,9 @@ in | ||||
| 
 | ||||
|   config = mkIf cfg.enable { | ||||
|     # Development packages | ||||
|     home.packages = [ ]; | ||||
|     home.packages = [ | ||||
|       package | ||||
|     ]; | ||||
| 
 | ||||
|     # Allow unfree | ||||
|     modules.unfree.allowedPackages = [ | ||||
|  | ||||
| @ -109,6 +109,16 @@ | ||||
|       tex.enable = true; | ||||
|       jupyter.enable = true; | ||||
| 
 | ||||
|       # python.extraPythonPackages = p: [ | ||||
|       #   p.numpy | ||||
|       #   p.scikit-learn | ||||
|       #   p.scipy | ||||
|       #   p.pandas | ||||
|       #   p.matplotlib | ||||
|       #   p.torch | ||||
|       #   p.torchvision | ||||
|       # ]; | ||||
| 
 | ||||
|       # Enable unfree | ||||
|       unfree.enable = true; | ||||
|     }; | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user