aboutsummaryrefslogtreecommitdiff
path: root/shell.nix
diff options
context:
space:
mode:
Diffstat (limited to 'shell.nix')
-rw-r--r--shell.nix72
1 files changed, 0 insertions, 72 deletions
diff --git a/shell.nix b/shell.nix
deleted file mode 100644
index 88822b0b17..0000000000
--- a/shell.nix
+++ /dev/null
@@ -1,72 +0,0 @@
-let
- # We specify sources via Niv: use "niv update nixpkgs" to update nixpkgs, for example.
- sources = import ./util/nix/sources.nix { };
-in
-# However, if you want to override Niv's inputs, this will let you do that.
-{ pkgs ? import sources.nixpkgs { }
-, poetry2nix ? pkgs.callPackage (import sources.poetry2nix) { }
-, avr ? true
-, arm ? true
-, teensy ? true }:
-with pkgs;
-let
- avrlibc = pkgsCross.avr.libcCross;
-
- 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"
- ];
-
- # Builds the python env based on nix/pyproject.toml and
- # nix/poetry.lock Use the "poetry update --lock", "poetry add
- # --lock" etc. in the nix folder to adjust the contents of those
- # files if the requirements*.txt files change
- pythonEnv = poetry2nix.mkPoetryEnv {
- projectDir = ./util/nix;
- overrides = poetry2nix.overrides.withDefaults (self: super: {
- qmk = super.qmk.overridePythonAttrs(old: {
- # Allow QMK CLI to run "qmk" as a subprocess (the wrapper changes
- # $PATH and breaks these invocations).
- dontWrapPythonPrograms = true;
-
- # Fix "qmk setup" to use the Python interpreter from the environment
- # when invoking "qmk doctor" (sys.executable gets its value from
- # $NIX_PYTHONEXECUTABLE, which is set by the "qmk" wrapper from the
- # Python environment, so "qmk doctor" then runs with the proper
- # $NIX_PYTHONPATH too, because sys.executable actually points to
- # another wrapper from the same Python environment).
- postPatch = ''
- substituteInPlace qmk_cli/subcommands/setup.py \
- --replace "[Path(sys.argv[0]).as_posix()" \
- "[Path(sys.executable).as_posix(), Path(sys.argv[0]).as_posix()"
- '';
- });
- });
- };
-in
-mkShell {
- name = "qmk-firmware";
-
- buildInputs = [ clang-tools_11 dfu-programmer dfu-util diffutils git pythonEnv niv ]
- ++ lib.optional avr [
- pkgsCross.avr.buildPackages.binutils
- pkgsCross.avr.buildPackages.gcc8
- avrlibc
- avrdude
- ]
- ++ lib.optional arm [ gcc-arm-embedded ]
- ++ lib.optional teensy [ teensy-loader-cli ];
-
- AVR_CFLAGS = lib.optional avr avr_incflags;
- AVR_ASFLAGS = lib.optional avr avr_incflags;
- shellHook = ''
- # Prevent the avr-gcc wrapper from picking up host GCC flags
- # like -iframework, which is problematic on Darwin
- unset NIX_CFLAGS_COMPILE_FOR_TARGET
- '';
-}