diff --git a/.config/nix/flake.lock b/.config/nix/flake.lock index d13e380..ae20388 100644 --- a/.config/nix/flake.lock +++ b/.config/nix/flake.lock @@ -36,6 +36,26 @@ "type": "github" } }, + "firefox-darwin": { + "inputs": { + "nixpkgs": [ + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729386071, + "narHash": "sha256-IoXOCFcEmlQVFnRRDq0mhTa8GYnNfgtT2cWYf8mA0XE=", + "owner": "bandithedoge", + "repo": "nixpkgs-firefox-darwin", + "rev": "360274d0df59a85738001bbbb52e626f779baea5", + "type": "github" + }, + "original": { + "owner": "bandithedoge", + "repo": "nixpkgs-firefox-darwin", + "type": "github" + } + }, "flake-compat": { "flake": false, "locked": { @@ -213,6 +233,7 @@ }, "root": { "inputs": { + "firefox-darwin": "firefox-darwin", "home-manager": "home-manager", "nix-darwin": "nix-darwin", "nixpkgs": "nixpkgs", diff --git a/.config/nix/flake.nix b/.config/nix/flake.nix index b7b0a0a..74bd23d 100644 --- a/.config/nix/flake.nix +++ b/.config/nix/flake.nix @@ -1,7 +1,7 @@ { description = "null2264's Nix Setup"; - outputs = inputs@{ self, nix-darwin, nixpkgs, home-manager, system-manager }: + outputs = inputs@{ self, nix-darwin, nixpkgs, home-manager, system-manager, ... }: let vars = { rev = self.rev or self.dirtyRev or null; @@ -47,5 +47,10 @@ url = "github:numtide/system-manager/c93e62f2e962b54fd961798731d25eaa5778dbe2"; inputs.nixpkgs.follows = "nixpkgs"; }; + + firefox-darwin = { + url = "github:bandithedoge/nixpkgs-firefox-darwin"; + inputs.nixpkgs.follows = "nixpkgs"; + }; }; } diff --git a/.config/nix/lib/mkSystem.nix b/.config/nix/lib/mkSystem.nix index 9849ada..c06bc62 100644 --- a/.config/nix/lib/mkSystem.nix +++ b/.config/nix/lib/mkSystem.nix @@ -1,27 +1,13 @@ system: nixpkgs: # e.g. x86_64-linux -let - disablePyChecks = pkg: pkg.overridePythonAttrs (old: { - doCheck = false; - doInstallCheck = false; - dontCheck = true; - }); -in { +{ system = system; pkgs = import nixpkgs { inherit system; - overlays = [(final: prev: { - pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [(pyfinal: pyprev: { - dnspython = (disablePyChecks pyprev.dnspython).overridePythonAttrs (old: { - disabledTests = [ - # This test is unreliable when my internet is throttled by Indonesian ISP, timeout everywhere... lovely... - "test_resolver" - ] ++ old.disabledTests; - }); - pillow = disablePyChecks pyprev.pillow; - cherrypy = disablePyChecks pyprev.cherrypy; - })]; - })]; + overlays = + [ + (import ../overlays/python.nix) + ]; config.allowUnfree = true; }; } diff --git a/.config/nix/overlays/python.nix b/.config/nix/overlays/python.nix new file mode 100644 index 0000000..d52390a --- /dev/null +++ b/.config/nix/overlays/python.nix @@ -0,0 +1,20 @@ +final: prev: + +let + disablePyChecks = pkg: pkg.overridePythonAttrs (old: { + doCheck = false; + doInstallCheck = false; + dontCheck = true; + }); +in { + pythonPackagesExtensions = prev.pythonPackagesExtensions ++ [(pyfinal: pyprev: { + dnspython = (disablePyChecks pyprev.dnspython).overridePythonAttrs (old: { + disabledTests = [ + # This test is unreliable when my internet is throttled by Indonesian ISP, timeout everywhere... lovely... + "test_resolver" + ] ++ old.disabledTests; + }); + pillow = disablePyChecks pyprev.pillow; + cherrypy = disablePyChecks pyprev.cherrypy; + })]; +} diff --git a/.config/nix/systems/darwin/default.nix b/.config/nix/systems/darwin/default.nix index a8c56ab..6f174cb 100644 --- a/.config/nix/systems/darwin/default.nix +++ b/.config/nix/systems/darwin/default.nix @@ -3,6 +3,7 @@ let mkCommon = import ../../lib/mkCommon.nix; mkSystem = import ../../lib/mkSystem.nix; + pkgs.overlays = pkgs.overlays ++ [ inputs.firefox-darwin.overlay ]; in { # Host list