51 lines
1.9 KiB
Nix
51 lines
1.9 KiB
Nix
{
|
|
outputs = {
|
|
self,
|
|
nixpkgs,
|
|
}: let
|
|
sys = "x86_64-linux";
|
|
pkgs = nixpkgs.legacyPackages.${sys};
|
|
in {
|
|
packages.${sys} = rec {
|
|
python3 = pkgs.python3.override {
|
|
packageOverrides = final: prev: {
|
|
milc = prev.milc.overrideAttrs {
|
|
patches = [
|
|
# Logs pre-initialization give long exceptions without this - they try to write directly to str('/dev/null')
|
|
# This effects every `qmk` command post-userspaces, as they have an import-time 'find the userspace' operation
|
|
# that logs in several different substeps
|
|
# I have *no* idea how noone else has run into this at all, but I can't find any mention of it as an issue anywhere
|
|
(pkgs.writeText "patch" ''
|
|
diff --git a/milc/__init__.py b/milc/__init__.py
|
|
index b3e7158..4f2843e 100644
|
|
--- a/milc/__init__.py
|
|
+++ b/milc/__init__.py
|
|
@@ -39,7 +39,7 @@ if 'MILC_IGNORE_DEPRECATED' not in os.environ:
|
|
if name in os.environ:
|
|
warnings.warn(f'Using {name} is deprecated and will not be supported in the future, please use set_metadata() instead.', stacklevel=2)
|
|
|
|
-logging.basicConfig(stream=os.devnull) # Disable logging until we can configure it how the user wants
|
|
+logging.basicConfig(filename=os.devnull) # Disable logging until we can configure it how the user wants
|
|
|
|
cli = MILC(APP_NAME, APP_VERSION, APP_AUTHOR)
|
|
'')
|
|
];
|
|
};
|
|
};
|
|
};
|
|
|
|
qmk = pkgs.qmk.override {inherit python3;};
|
|
};
|
|
devShells.${sys}.default = pkgs.mkShell {
|
|
packages = with pkgs; [
|
|
self.packages.${sys}.qmk
|
|
clang
|
|
clang-tools
|
|
];
|
|
shellHook = ''
|
|
export QMK_HOME=$PWD/qmk_firmware
|
|
'';
|
|
};
|
|
};
|
|
}
|