This should be "exec ${pkgs.redshift}/bin/redshift ...", otherwise you leave an unnecessary bash process running. Or better, use serviceConfig.ExecStart.