dropbox: fix bug caused by Python gi
import
When running the service start script with `DISPLAY` set, a `gi` import error is triggered. Blanking the variable will make the script use a different code path that does not attempt to import `gi`. Also moves activation script up into start of script instead. PR #1415
This commit is contained in:
parent
2e7935767f
commit
bb6eb9b13e
|
@ -36,7 +36,7 @@ in {
|
||||||
Install = { WantedBy = [ "default.target" ]; };
|
Install = { WantedBy = [ "default.target" ]; };
|
||||||
|
|
||||||
Service = {
|
Service = {
|
||||||
Environment = [ "HOME=${homeBaseDir}" ];
|
Environment = [ "HOME=${homeBaseDir}" "DISPLAY=" ];
|
||||||
|
|
||||||
Type = "forking";
|
Type = "forking";
|
||||||
PIDFile = "${homeBaseDir}/.dropbox/dropbox.pid";
|
PIDFile = "${homeBaseDir}/.dropbox/dropbox.pid";
|
||||||
|
@ -49,6 +49,22 @@ in {
|
||||||
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
|
||||||
ExecStop = "${dropboxCmd} stop";
|
ExecStop = "${dropboxCmd} stop";
|
||||||
ExecStart = toString (pkgs.writeShellScript "dropbox-start" ''
|
ExecStart = toString (pkgs.writeShellScript "dropbox-start" ''
|
||||||
|
# ensure we have the dirs we need
|
||||||
|
$DRY_RUN_CMD ${pkgs.coreutils}/bin/mkdir $VERBOSE_ARG -p \
|
||||||
|
${homeBaseDir}/{.dropbox,.dropbox-dist,Dropbox}
|
||||||
|
|
||||||
|
# symlink them as needed
|
||||||
|
if [[ ! -d ${config.home.homeDirectory}/.dropbox ]]; then
|
||||||
|
$DRY_RUN_CMD ${pkgs.coreutils}/bin/ln $VERBOSE_ARG -s \
|
||||||
|
${homeBaseDir}/.dropbox ${config.home.homeDirectory}/.dropbox
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ ! -d ${escapeShellArg cfg.path} ]]; then
|
||||||
|
$DRY_RUN_CMD ${pkgs.coreutils}/bin/ln $VERBOSE_ARG -s \
|
||||||
|
${homeBaseDir}/Dropbox ${escapeShellArg cfg.path}
|
||||||
|
fi
|
||||||
|
|
||||||
|
# get the dropbox bins if needed
|
||||||
if [[ ! -f $HOME/.dropbox-dist/VERSION ]]; then
|
if [[ ! -f $HOME/.dropbox-dist/VERSION ]]; then
|
||||||
${pkgs.coreutils}/bin/yes | ${dropboxCmd} update
|
${pkgs.coreutils}/bin/yes | ${dropboxCmd} update
|
||||||
fi
|
fi
|
||||||
|
@ -57,21 +73,5 @@ in {
|
||||||
'');
|
'');
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
home.activation.dropbox = hm.dag.entryAfter [ "writeBoundary" ] ''
|
|
||||||
# ensure we have the dirs we need
|
|
||||||
$DRY_RUN_CMD ${pkgs.coreutils}/bin/mkdir $VERBOSE_ARG -p \
|
|
||||||
${homeBaseDir}/{.dropbox,.dropbox-dist,Dropbox}
|
|
||||||
|
|
||||||
# symlink them as needed
|
|
||||||
if [[ ! -d ${config.home.homeDirectory}/.dropbox ]]; then
|
|
||||||
$DRY_RUN_CMD ${pkgs.coreutils}/bin/ln $VERBOSE_ARG -s \
|
|
||||||
${homeBaseDir}/.dropbox ${config.home.homeDirectory}/.dropbox
|
|
||||||
fi
|
|
||||||
if [[ ! -d ${escapeShellArg cfg.path} ]]; then
|
|
||||||
$DRY_RUN_CMD ${pkgs.coreutils}/bin/ln $VERBOSE_ARG -s \
|
|
||||||
${homeBaseDir}/Dropbox ${escapeShellArg cfg.path}
|
|
||||||
fi
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue