forked from mirrors/qmk_userspace
		
	Add shell.nix for NixOS users
This commit is contained in:
		
					parent
					
						
							
								809c9258c1
							
						
					
				
			
			
				commit
				
					
						1ad941e984
					
				
			
		
					 2 changed files with 35 additions and 1 deletions
				
			
		| 
						 | 
					@ -36,7 +36,15 @@ Debian/Ubuntu example:
 | 
				
			||||||
    sudo apt-get update
 | 
					    sudo apt-get update
 | 
				
			||||||
    sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
 | 
					    sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Mac
 | 
					## Nix
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you're on [NixOS](https://nixos.org/), or have Nix installed on Linux or macOS, run `nix-shell` from the repository root to get a build environment.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					By default, this will download compilers for both AVR and ARM. If you don't need both, disable the `avr` or `arm` arguments, e.g.:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    nix-shell --arg arm false
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Mac
 | 
				
			||||||
If you're using [homebrew,](http://brew.sh/) you can use the following commands:
 | 
					If you're using [homebrew,](http://brew.sh/) you can use the following commands:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    brew tap osx-cross/avr
 | 
					    brew tap osx-cross/avr
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										26
									
								
								shell.nix
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								shell.nix
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,26 @@
 | 
				
			||||||
 | 
					{ pkgs ? import <nixpkgs> {}
 | 
				
			||||||
 | 
					, avr ? true, arm ? true }:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					with pkgs;
 | 
				
			||||||
 | 
					let
 | 
				
			||||||
 | 
					  avr_incflags = [
 | 
				
			||||||
 | 
					    "-isystem ${avrlibc}/avr/include"
 | 
				
			||||||
 | 
					    "-B${avrlibc}/avr/lib/avr5"
 | 
				
			||||||
 | 
					    "-L${avrlibc}/avr/lib/avr5"
 | 
				
			||||||
 | 
					    "-B${avrlibc}/avr/lib/avr35"
 | 
				
			||||||
 | 
					    "-L${avrlibc}/avr/lib/avr35"
 | 
				
			||||||
 | 
					    "-B${avrlibc}/avr/lib/avr51"
 | 
				
			||||||
 | 
					    "-L${avrlibc}/avr/lib/avr51"
 | 
				
			||||||
 | 
					  ];
 | 
				
			||||||
 | 
					in
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					stdenv.mkDerivation {
 | 
				
			||||||
 | 
					  name = "qmk-firmware";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  buildInputs = [ dfu-programmer dfu-util diffutils git ]
 | 
				
			||||||
 | 
					    ++ lib.optional avr [ avrbinutils avrgcc avrlibc ]
 | 
				
			||||||
 | 
					    ++ lib.optional arm [ gcc-arm-embedded ];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  CFLAGS = lib.optional avr avr_incflags;
 | 
				
			||||||
 | 
					  ASFLAGS = lib.optional avr avr_incflags;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue