Skip to content

Commit

Permalink
factorio: use real instead of sample in download help; warn about cre…
Browse files Browse the repository at this point in the history
…dentials in store (#351555)
  • Loading branch information
lukegb authored Jan 3, 2025
2 parents a5af1da + 5c358db commit 9855f26
Showing 1 changed file with 39 additions and 36 deletions.
75 changes: 39 additions & 36 deletions pkgs/by-name/fa/factorio/package.nix
Original file line number Diff line number Diff line change
Expand Up @@ -40,46 +40,46 @@ let

mods = args.mods or [ ];

helpMsg = ''
===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.
Example:
{
packageOverrides = pkgs: {
factorio = pkgs.factorio.override {
username = "FactorioPlayer1654";
token = "d5ad5a8971267c895c0da598688761";
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.
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";
};
};
};
}
}
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";
Expand Down Expand Up @@ -155,7 +155,10 @@ let
'';
failureHook = ''
cat <<EOF
${helpMsg}
${helpMsg {
dlName = if candidateHashFilenames != [ ] then builtins.head candidateHashFilenames else name;
storeName = name;
}}
EOF
'';
})
Expand Down

0 comments on commit 9855f26

Please sign in to comment.