mirror of
https://github.com/ryan4yin/nix-config.git
synced 2026-01-15 22:33:26 +01:00
35 lines
882 B
Python
35 lines
882 B
Python
"""
|
|
set proxy for nix-daemon to speed up downloads
|
|
https://github.com/NixOS/nix/issues/1472#issuecomment-1532955973
|
|
"""
|
|
import os
|
|
import plistlib
|
|
import shlex
|
|
import subprocess
|
|
from pathlib import Path
|
|
|
|
|
|
NIX_DAEMON_PLIST = Path("/Library/LaunchDaemons/org.nixos.nix-daemon.plist")
|
|
NIX_DAEMON_NAME = "org.nixos.nix-daemon"
|
|
# http proxy provided by clash
|
|
HTTP_PROXY = "http://127.0.0.1:7890"
|
|
|
|
pl = plistlib.loads(NIX_DAEMON_PLIST.read_bytes())
|
|
|
|
# set http proxy
|
|
pl["EnvironmentVariables"]["HTTP_PROXY"] = HTTP_PROXY
|
|
pl["EnvironmentVariables"]["HTTPS_PROXY"] = HTTP_PROXY
|
|
|
|
os.chmod(NIX_DAEMON_PLIST, 0o644)
|
|
NIX_DAEMON_PLIST.write_bytes(plistlib.dumps(pl))
|
|
os.chmod(NIX_DAEMON_PLIST, 0o444)
|
|
|
|
# reload the plist
|
|
for cmd in (
|
|
f"launchctl unload {NIX_DAEMON_PLIST}",
|
|
f"launchctl load {NIX_DAEMON_PLIST}",
|
|
):
|
|
print(cmd)
|
|
subprocess.run(shlex.split(cmd), capture_output=False)
|
|
|