diff --git a/home/package-sets/communication.nix b/home/package-sets/communication.nix index cafbbf7..95d9616 100644 --- a/home/package-sets/communication.nix +++ b/home/package-sets/communication.nix @@ -9,6 +9,14 @@ let vesktop-ozone-cmd = let extraFlags = lib.optionalString config.nixfiles.workarounds.nvidiaPrimary " --disable-gpu"; in "env NIXOS_OZONE_WL=1 vesktop${extraFlags}"; + + waitNet = pkgs.writeShellScript "wait-network" '' + until ${pkgs.curl}/bin/curl -fs https://www.google.com &>/dev/null; do + sleep 5 + ((counter++)) && ((counter>=60)) && break + done + exec "$@" + ''; in { options.nixfiles.packageSets.communication = { @@ -30,7 +38,7 @@ in }; nixfiles.common.wm.autostart = lib.optionals config.nixfiles.meta.graphical [ - (vesktop-ozone-cmd + " --start-minimized") + (waitNet + " " + vesktop-ozone-cmd + " --start-minimized") ]; home.packages = with pkgs; lib.optionals config.nixfiles.meta.graphical [ diff --git a/home/programs/mopidy.nix b/home/programs/mopidy.nix index 4e02045..9a97b39 100644 --- a/home/programs/mopidy.nix +++ b/home/programs/mopidy.nix @@ -10,6 +10,13 @@ in systemd.user.services = lib.mkIf config.services.mopidy.enable { mopidy.Service = { TimeoutStopSec = lib.mkDefault 10; + ExecStartPre = pkgs.writeShellScript "mopidy-wait-net" '' + until ${pkgs.curl}/bin/curl -fs https://www.google.com &>/dev/null ; do + sleep 5 + ((counter++)) && ((counter==60)) && break + done || true + # don't know why i need a true here + ''; }; };