Compare commits
	
		
			6 Commits
		
	
	
		
			5e0209ba3a
			...
			5ff1b1343b
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5ff1b1343b | |||
| c5cc13fad8 | |||
| 2e09314a7e | |||
| 217d9c1fc0 | |||
| f47ab7757e | |||
| 4b265c071e | 
| @ -5,8 +5,8 @@ | ||||
|     vim wget git htop tmux pciutils tcpdump ripgrep nix-index nixos-option | ||||
|     nix-diff ipmitool freeipmi ethtool lm_sensors cmake gnumake file tree | ||||
|     ncdu config.boot.kernelPackages.perf ldns pv | ||||
|     # From bsckgs overlay | ||||
|     osumb | ||||
|     # From jungle overlay | ||||
|     osumb nixgen | ||||
|   ]; | ||||
| 
 | ||||
|   programs.direnv.enable = true; | ||||
|  | ||||
| @ -37,6 +37,7 @@ let | ||||
|     nanos6 = callPackage ./pkgs/nanos6/default.nix { }; | ||||
|     nanos6Debug = final.nanos6.override { enableDebug = true; }; | ||||
|     nixtools = callPackage ./pkgs/nixtools/default.nix { }; | ||||
|     nixgen = callPackage ./pkgs/nixgen/default.nix { }; | ||||
|     # Broken because of pkgsStatic.libcap | ||||
|     # See: https://github.com/NixOS/nixpkgs/pull/268791 | ||||
|     #nix-wrap = callPackage ./pkgs/nix-wrap/default.nix { }; | ||||
|  | ||||
| @ -16,19 +16,19 @@ | ||||
| , useGit ? false | ||||
| , gitUrl ? "ssh://git@bscpm04.bsc.es/llvm-ompss/llvm-mono.git" | ||||
| , gitBranch ? "master" | ||||
| , gitCommit ? "880e2341c56bad1dc14e8c369fb3356bec19018e" | ||||
| , gitCommit ? "872ba63f86edaefc9787984ef3fae9f2f94e0124" # github-release-2025.11 | ||||
| }: | ||||
| 
 | ||||
| let | ||||
|   stdenv = llvmPackages_latest.stdenv; | ||||
| 
 | ||||
|   release = rec { | ||||
|     version = "2025.06"; | ||||
|     version = "2025.11"; | ||||
|     src = fetchFromGitHub { | ||||
|       owner = "bsc-pm"; | ||||
|       repo = "llvm"; | ||||
|       rev = "refs/tags/github-release-${version}"; | ||||
|       hash = "sha256-ww9PpRmtz/M9IyLiZ8rAehx2UW4VpQt+svf4XfKBzKo="; | ||||
|       hash = "sha256-UgwMTUkM9Z87dDH205swZFBeFhrcbLAxginViG40pBM="; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|  | ||||
							
								
								
									
										22
									
								
								pkgs/nixgen/default.nix
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								pkgs/nixgen/default.nix
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| { | ||||
|   stdenv | ||||
| , lib | ||||
| }: | ||||
| 
 | ||||
| stdenv.mkDerivation { | ||||
|   pname = "nixgen"; | ||||
|   version = "0.0.1"; | ||||
|   src = ./nixgen; | ||||
|   dontUnpack = true; | ||||
|   phases = [ "installPhase" ]; | ||||
|   installPhase = '' | ||||
|     mkdir -p $out/bin | ||||
|     cp -a $src $out/bin/nixgen | ||||
|   ''; | ||||
|   meta = { | ||||
|     description = "Quickly generate flake.nix from command line"; | ||||
|     maintainers = with lib.maintainers.bsc; [ rarias ]; | ||||
|     platforms = lib.platforms.linux; | ||||
|     license = lib.licenses.gpl3Plus; | ||||
|   }; | ||||
| } | ||||
							
								
								
									
										97
									
								
								pkgs/nixgen/nixgen
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										97
									
								
								pkgs/nixgen/nixgen
									
									
									
									
									
										Executable file
									
								
							| @ -0,0 +1,97 @@ | ||||
| #!/bin/sh | ||||
| # | ||||
| # Copyright (c) 2025, Barcelona Supercomputing Center (BSC) | ||||
| # SPDX-License-Identifier: GPL-3.0+ | ||||
| # Author: Rodrigo Arias Mallo <rodrigo.arias@bsc.es> | ||||
| 
 | ||||
| function usage() { | ||||
|   echo "USAGE: nixgen [-f] [package [...]] [-b package [...]]" >&2 | ||||
|   echo "  Generates a flake.nix file with the given packages." >&2 | ||||
|   echo "  After flake.nix is created, use 'nix develop' to enter the shell." >&2 | ||||
|   echo "OPTIONS" >&2 | ||||
|   echo "  -f               Overwrite existing flake.nix (default: no)." >&2 | ||||
|   echo "  packages...      Add these packages to the shell." >&2 | ||||
|   echo "  -b packages...   Add the dependencies needed to build these packages." >&2 | ||||
|   echo "EXAMPLE" >&2 | ||||
|   echo "  $ nixgen ovni bigotes -b nosv tampi" >&2 | ||||
|   echo "  Adds the packages ovni and bigotes as well as all required dependencies" >&2 | ||||
|   echo "  to build nosv and tampi." >&2 | ||||
|   echo "AUTHOR" >&2 | ||||
|   echo "  Rodrigo Arias Mallo <rodrigo.arias@bsc.es>" >&2 | ||||
|   exit 1 | ||||
| } | ||||
| 
 | ||||
| mode=package | ||||
| packages= | ||||
| inputsFrom= | ||||
| force= | ||||
| 
 | ||||
| if [[ $# -eq 0 ]]; then | ||||
|   usage | ||||
| fi | ||||
| 
 | ||||
| while [[ $# -gt 0 ]]; do | ||||
|     case $1 in -b) | ||||
|       mode=build | ||||
|       shift | ||||
|       ;; | ||||
|     -f) | ||||
|       force=1 | ||||
|       shift | ||||
|       ;; | ||||
|     -h) | ||||
|       usage | ||||
|       ;; | ||||
|     -*|--*) | ||||
|       echo "error: unknown option $1" >&2 | ||||
|       exit 1 | ||||
|       ;; | ||||
|     *) | ||||
|       if [ "$mode" == "package" ]; then | ||||
|         packages+="${packages:+ }$1" | ||||
|       else | ||||
|         inputsFrom+="${inputsFrom:+ }$1" | ||||
|       fi | ||||
|       shift | ||||
|       ;; | ||||
|   esac | ||||
| done | ||||
| 
 | ||||
| if [ ! "$force" -a -e flake.nix ]; then | ||||
|   echo "error: flake.nix exists, force overwrite with -f" >&2 | ||||
|   exit 1 | ||||
| fi | ||||
| 
 | ||||
| cat > flake.nix <<EOF | ||||
| { | ||||
|   inputs.jungle.url = "git+https://jungle.bsc.es/git/rarias/jungle"; | ||||
|   outputs = { self, jungle }: | ||||
|   let | ||||
|     nixpkgs = jungle.inputs.nixpkgs; | ||||
|     customOverlay = (final: prev: { | ||||
|       # Example overlay, for now empty | ||||
|     }); | ||||
|     pkgs = import nixpkgs { | ||||
|       system = "x86_64-linux"; | ||||
|       overlays = [ | ||||
|         # Apply jungle overlay to get our BSC custom packages | ||||
|         jungle.outputs.bscOverlay | ||||
|         # And on top apply our local changes to customize for cluster | ||||
|         customOverlay | ||||
|       ]; | ||||
|     }; | ||||
|   in { | ||||
|     devShells.x86_64-linux.default = pkgs.mkShell { | ||||
|       pname = "devshell"; | ||||
|       # Include these packages in the shell | ||||
|       packages = with pkgs; [ | ||||
|         $packages | ||||
|       ]; | ||||
|       # The dependencies needed to build these packages will be also included | ||||
|       inputsFrom = with pkgs; [ | ||||
|         $inputsFrom | ||||
|       ]; | ||||
|     }; | ||||
|   }; | ||||
| } | ||||
| EOF | ||||
| @ -14,19 +14,19 @@ | ||||
| , useGit ? false | ||||
| , gitUrl ? "ssh://git@gitlab-internal.bsc.es/nos-v/nodes.git" | ||||
| , gitBranch ? "master" | ||||
| , gitCommit ? "6002ec9ae6eb876d962cc34366952a3b26599ba6" | ||||
| , gitCommit ? "511489e71504a44381e0930562e7ac80ac69a848" # version-1.4 | ||||
| }: | ||||
| 
 | ||||
| with lib; | ||||
| 
 | ||||
| let | ||||
|   release = rec { | ||||
|     version = "1.3"; | ||||
|     version = "1.4"; | ||||
|     src = fetchFromGitHub { | ||||
|       owner = "bsc-pm"; | ||||
|       repo = "nodes"; | ||||
|       rev = "version-${version}"; | ||||
|       hash = "sha256-cFb9pxcjtkMmH0CsGgUO9LTdXDNh7MCqicgGWawLrsU="; | ||||
|       hash = "sha256-+lR/R0l3fGZO3XG7whMorFW2y2YZ0ZFnLeOHyQYrAsQ="; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|  | ||||
| @ -13,19 +13,19 @@ | ||||
| , useGit ? false | ||||
| , gitUrl ? "git@gitlab-internal.bsc.es:nos-v/nos-v.git" | ||||
| , gitBranch ? "master" | ||||
| , gitCommit ? "9f47063873c3aa9d6a47482a82c5000a8c813dd8" | ||||
| , gitCommit ? "1108e4786b58e0feb9a16fa093010b763eb2f8e8" # version 4.0.0 | ||||
| }: | ||||
| 
 | ||||
| with lib; | ||||
| 
 | ||||
| let | ||||
|   release = rec { | ||||
|     version = "3.2.0"; | ||||
|     version = "4.0.0"; | ||||
|     src = fetchFromGitHub { | ||||
|       owner = "bsc-pm"; | ||||
|       repo = "nos-v"; | ||||
|       rev = "${version}"; | ||||
|       hash = "sha256-yaz92426EM8trdkBJlISmAoG9KJCDTvoAW/HKrasvOw="; | ||||
|       hash = "sha256-llaq73bd/YxLVKNlMebnUHKa4z3sdcsuDUoVwUxNuw8="; | ||||
|     }; | ||||
|   }; | ||||
| 
 | ||||
|  | ||||
| @ -7,7 +7,7 @@ | ||||
| , useGit ? false | ||||
| , gitBranch ? "master" | ||||
| , gitUrl ? "ssh://git@bscpm04.bsc.es/rarias/ovni.git" | ||||
| , gitCommit ? "e4f62382076f0cf0b1d08175cf57cc0bc51abc61" | ||||
| , gitCommit ? "06432668f346c8bdc1006fabc23e94ccb81b0d8b" # version 1.13.0 | ||||
| , enableDebug ? false | ||||
| # Only enable MPI if the build is native (fails on cross-compilation) | ||||
| , useMpi ? (stdenv.buildPlatform.canExecute stdenv.hostPlatform) | ||||
| @ -15,13 +15,13 @@ | ||||
| 
 | ||||
| let | ||||
|   release = rec { | ||||
|     version = "1.12.0"; | ||||
|     version = "1.13.0"; | ||||
|     src = fetchFromGitHub { | ||||
|       owner = "bsc-pm"; | ||||
|       repo = "ovni"; | ||||
|       rev = "${version}"; | ||||
|       hash = "sha256-H04JvsVKrdqr3ON7JhU0g17jjlg/jzQ7eTfx9vUNd3E="; | ||||
|     } // { shortRev = "a73afcf"; }; | ||||
|       hash = "sha256-0l2ryIyWNiZqeYdVlnj/WnQGS3xFCY4ICG8JedX424w="; | ||||
|     } // { shortRev = "0643266"; }; | ||||
|   }; | ||||
| 
 | ||||
|   git = rec { | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user