factorio: use real instead of sample in download help; warn about credentials in store (#351555)

This commit is contained in:
Luke Granger-Brown
2025-01-03 19:07:51 +00:00
committed by GitHub
+36 -33
View File
@@ -40,46 +40,46 @@ let
mods = args.mods or [ ];
helpMsg = ''
helpMsg =
{ dlName, storeName }:
''
===FETCH FAILED===
Please ensure you have set the username and token with config.nix, or
/etc/nix/nixpkgs-config.nix if on NixOS.
===FETCH FAILED===
Please ensure you have set the username and token with config.nix, or
/etc/nix/nixpkgs-config.nix if on NixOS.
Your token can be seen at https://factorio.com/profile (after logging in). It is
not as sensitive as your password, but should still be safeguarded. There is a
link on that page to revoke/invalidate the token, if you believe it has been
leaked or wish to take precautions.
Your token can be seen at https://factorio.com/profile (after logging in).
Beware this will add the credentials to the Nix store, which is
world-readable on the local machine. It is not as sensitive as your
password, but should still be safeguarded. There is a link on that page to
revoke/invalidate the token, if you believe it has been leaked or wish to
take precautions.
Example:
{
packageOverrides = pkgs: {
factorio = pkgs.factorio.override {
username = "FactorioPlayer1654";
token = "d5ad5a8971267c895c0da598688761";
Example:
{
packageOverrides = pkgs: {
factorio = pkgs.factorio.override {
username = "FactorioPlayer1654";
token = "d5ad5a8971267c895c0da598688761";
};
};
};
}
}
Alternatively, instead of providing the username+token, you may manually
download the release through https://factorio.com/download , then add it to
the store using e.g.:
Alternatively, instead of providing the username+token, you may manually
download the release through https://factorio.com/download , then add it to
the store using e.g.:
releaseType=alpha
version=0.17.74
nix-prefetch-url file://\''$HOME/Downloads/factorio_\''${releaseType}_x64_\''${version}.tar.xz --name factorio_\''${releaseType}_x64-\''${version}.tar.xz
nix-prefetch-url file://\''$HOME/Downloads/${dlName} --name ${storeName}
Note the ultimate "_" is replaced with "-" in the --name arg!
If you go this route you might want to tell Nix to explicitly hold on to the
source tarball. Otherwise it could get GC'd from the Nix store and you'd
have to redownload it next time the package wants to rebuild to use a newer
dependency. E.g. if you're using NixOS:
If you go this route you might want to tell Nix to explicitly hold on to the
source tarball. Otherwise it could get GC'd from the Nix store and you'd
have to redownload it next time the package wants to rebuild to use a newer
dependency. E.g. if you're using NixOS:
system.extraDependencies = [
factorio.src
];
'';
system.extraDependencies = [
factorio.src
];
'';
desktopItem = makeDesktopItem {
name = "factorio";
@@ -155,7 +155,10 @@ let
'';
failureHook = ''
cat <<EOF
${helpMsg}
${helpMsg {
dlName = if candidateHashFilenames != [ ] then builtins.head candidateHashFilenames else name;
storeName = name;
}}
EOF
'';
})