Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 2 commits into from
Jan 3, 2025
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading