Skip to content

Add flake.nix again#343

Merged
Kief5555 merged 19 commits intoOpenCloudGaming:devfrom
DINEXXL:main
Apr 23, 2026
Merged

Add flake.nix again#343
Kief5555 merged 19 commits intoOpenCloudGaming:devfrom
DINEXXL:main

Conversation

@DINEXXL
Copy link
Copy Markdown

@DINEXXL DINEXXL commented Apr 20, 2026

Description

I found the time to create a new flake.nix file for the new version, and I included Nix instructions in README.md

Just go along with it so there won't be any conflicts later, please

Comment thread flake.nix
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Reintroduces Nix flake support for building/running the Electron-based opennow-stable app from Nix, and documents how to consume it from a user flake.

Changes:

  • Adds flake.nix/flake.lock to provide a default Nix package for opennow-stable.
  • Documents Nix usage in README.md.
  • Updates opennow-stable/package-lock.json metadata and adjusts .gitignore for Nix build outputs.

Reviewed changes

Copilot reviewed 2 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
opennow-stable/package-lock.json Updates lockfile metadata (including package version) and dependency entries.
flake.nix Introduces a Nix flake that builds opennow-stable via buildNpmPackage and wraps it with Electron.
flake.lock Pins nixpkgs and flake-utils inputs for reproducible flake evaluation.
README.md Adds Nix installation/consumption instructions.
.gitignore Ignores the Nix result build symlink.
Files not reviewed (1)
  • opennow-stable/package-lock.json: Language not supported

{
"name": "opennow-stable",
"version": "0.3.2",
"version": "0.3.6",
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

opennow-stable/package-lock.json is currently being updated in this PR, but it’s also listed in .gitignore. Even though tracked files aren’t ignored, this is confusing for contributors and can lead to accidental local-only changes. Consider either removing this ignore entry or explicitly untracking/stop committing the lockfile (pick one consistent approach).

Copilot uses AI. Check for mistakes.
Comment thread flake.nix Outdated
Comment on lines +19 to +23
in
{
packages.default = pkgs.buildNpmPackage {
pname = "opennow";
version = "1.0.0";
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The flake package version is hardcoded to 1.0.0, which doesn’t match the app version (0.3.6 in opennow-stable/package.json). This will make Nix users/reporting/debugging inconsistent; consider aligning the flake version with the actual app version (or deriving it from the package sources).

Suggested change
in
{
packages.default = pkgs.buildNpmPackage {
pname = "opennow";
version = "1.0.0";
appPackage = builtins.fromJSON (builtins.readFile ./opennow-stable/package.json);
in
{
packages.default = pkgs.buildNpmPackage {
pname = "opennow";
version = appPackage.version;

Copilot uses AI. Check for mistakes.
Comment thread flake.nix Outdated
Comment on lines +63 to +65
mkdir -p $out/lib/opennow
cp -r . $out/lib/opennow

Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The custom installPhase copies the entire build directory (cp -r .) into the output. With buildNpmPackage this typically includes the full node_modules tree (often with devDependencies) and build caches, which can massively increase closure size and make the result less reproducible. Prefer installing only the runtime artifacts needed to launch (and pruning devDependencies if possible).

Suggested change
mkdir -p $out/lib/opennow
cp -r . $out/lib/opennow
appdir="$TMPDIR/opennow-install"
mkdir -p "$appdir" "$out/lib/opennow"
if [ -f package.json ]; then
cp package.json "$appdir/"
fi
if [ -f package-lock.json ]; then
cp package-lock.json "$appdir/"
fi
for path in out dist dist-electron; do
if [ -e "$path" ]; then
cp -r "$path" "$appdir/"
fi
done
if [ -d node_modules ]; then
cp -r node_modules "$appdir/"
if [ -f "$appdir/package.json" ]; then
npm --prefix "$appdir" prune --omit=dev --no-audit --legacy-peer-deps
fi
fi
cp -r "$appdir"/. $out/lib/opennow

Copilot uses AI. Check for mistakes.
Comment thread README.md Outdated
```

```nix
# Nixos configuraion
Copy link

Copilot AI Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo: configuraion should be configuration.

Suggested change
# Nixos configuraion
# NixOS configuration

Copilot uses AI. Check for mistakes.
@DINEXXL DINEXXL requested a review from Kief5555 April 20, 2026 17:32
Copy link
Copy Markdown
Collaborator

@Kief5555 Kief5555 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, waiting for AI Review

@Kief5555 Kief5555 changed the base branch from main to dev April 21, 2026 03:30
@Kief5555 Kief5555 requested a review from Copilot April 21, 2026 03:34
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 3 out of 6 changed files in this pull request and generated 6 comments.

Files not reviewed (1)
  • opennow-stable/package-lock.json: Language not supported

Comment thread README.md
Comment thread README.md Outdated
Comment thread README.md Outdated
Comment thread opennow-stable/package.json
Comment thread flake.nix Outdated
Comment thread flake.nix Outdated
Comment on lines +109 to +120
desktopName = "OpenNOW";
genericName = "Custom GeForce Now Client Named OpenNOW";
comment = "An open-source desktop client for GeForce NOW";
exec = "opennow %U";
icon = "opennow";
keywords = [ "GFN" "GeForceNOW" "cloud" "gaming" ];
startupWMClass = "opennow";
startupNotify = true;
categories = [ "Game" "Network" ];
mimeTypes = [
"x-scheme-handler/opennow"
"x-scheme-handler/geforcenow"
Copy link

Copilot AI Apr 21, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There’s trailing whitespace after values in the desktop item fields here (e.g. after desktopName / startupWMClass). It’s harmless but tends to create noisy diffs and can trip whitespace-sensitive tooling—please trim it.

Suggested change
desktopName = "OpenNOW";
genericName = "Custom GeForce Now Client Named OpenNOW";
comment = "An open-source desktop client for GeForce NOW";
exec = "opennow %U";
icon = "opennow";
keywords = [ "GFN" "GeForceNOW" "cloud" "gaming" ];
startupWMClass = "opennow";
startupNotify = true;
categories = [ "Game" "Network" ];
mimeTypes = [
"x-scheme-handler/opennow"
"x-scheme-handler/geforcenow"
desktopName = "OpenNOW";
genericName = "Custom GeForce Now Client Named OpenNOW";
comment = "An open-source desktop client for GeForce NOW";
exec = "opennow %U";
icon = "opennow";
keywords = [ "GFN" "GeForceNOW" "cloud" "gaming" ];
startupWMClass = "opennow";
startupNotify = true;
categories = [ "Game" "Network" ];
mimeTypes = [
"x-scheme-handler/opennow"
"x-scheme-handler/geforcenow"

Copilot uses AI. Check for mistakes.
Kief5555 and others added 3 commits April 20, 2026 20:40
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@Kief5555
Copy link
Copy Markdown
Collaborator

Pending approval @zortos293 version number change?

@Kief5555 Kief5555 requested a review from zortos293 April 22, 2026 05:11
@zortos293
Copy link
Copy Markdown
Collaborator

@Kief5555 yes

@Kief5555 Kief5555 merged commit 20f7766 into OpenCloudGaming:dev Apr 23, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants