darwin/setSystemProxy: ./home -> ./darwin
- Also turns out nix-darwin hardcodes list of activation scripts. :( see: https://github.com/LnL7/nix-darwin/blob/master/modules/system/activation-scripts.nix
This commit is contained in:
parent
c98e5a5c53
commit
61b9bc5e37
2 changed files with 15 additions and 18 deletions
|
@ -119,5 +119,20 @@ in {
|
||||||
# Install the proxy environment variables
|
# Install the proxy environment variables
|
||||||
environment.variables = cfg.proxy.envVars;
|
environment.variables = cfg.proxy.envVars;
|
||||||
launchd.daemons."nix-daemon".environment = cfg.proxy.envVars;
|
launchd.daemons."nix-daemon".environment = cfg.proxy.envVars;
|
||||||
|
|
||||||
|
# Set macOS's system level proxy setting
|
||||||
|
system.activationScripts."extraActivation".text = let
|
||||||
|
inherit (cfg) knownNetworkServices;
|
||||||
|
networksetup = /usr/sbin/networksetup;
|
||||||
|
|
||||||
|
# naive but works(tm)
|
||||||
|
# "http://127.0.0.1:1234/" -> "127.0.0.1 1234"
|
||||||
|
proxy = builtins.replaceStrings ["http://" ":" "/"] ["" " " ""] cfg.proxy.httpProxy;
|
||||||
|
in
|
||||||
|
lib.concatMapStrings (x: ''
|
||||||
|
${networksetup} -setwebproxystate "${x}" on
|
||||||
|
${networksetup} -setwebproxy "${x}" ${proxy}
|
||||||
|
'')
|
||||||
|
knownNetworkServices;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
osConfig,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
|
@ -53,23 +52,6 @@
|
||||||
done
|
done
|
||||||
)
|
)
|
||||||
'';
|
'';
|
||||||
|
|
||||||
# I should've putted it in /darwin/modules/networking/proxy.nix,
|
|
||||||
# but I am too stupid to figure out how nix-darwin works...
|
|
||||||
setSystemProxy = let
|
|
||||||
inherit (osConfig.networking) knownNetworkServices;
|
|
||||||
networksetup = /usr/sbin/networksetup;
|
|
||||||
|
|
||||||
# naive but works(tm)
|
|
||||||
# "http://127.0.0.1:1234/" -> "127.0.0.1 1234"
|
|
||||||
proxy = builtins.replaceStrings ["http://" ":" "/"] ["" " " ""] osConfig.networking.proxy.httpProxy;
|
|
||||||
in
|
|
||||||
lib.hm.dag.entryAfter ["writeBoundary"]
|
|
||||||
(lib.concatMapStrings (x: ''
|
|
||||||
${networksetup} -setwebproxystate "${x}" on
|
|
||||||
${networksetup} -setwebproxy "${x}" ${proxy}
|
|
||||||
'')
|
|
||||||
knownNetworkServices);
|
|
||||||
};
|
};
|
||||||
|
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [
|
||||||
|
|
Loading…
Reference in a new issue