-
-
Notifications
You must be signed in to change notification settings - Fork 14.7k
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
ags: 1.8.2 -> 2.2.1 #373562
base: master
Are you sure you want to change the base?
ags: 1.8.2 -> 2.2.1 #373562
Conversation
ldflags = [ | ||
"-s" | ||
"-w" | ||
"-X main.astalGjs=${astal.gjs}/share/astal/gjs" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BTW, because of this single line I wasted an entire day
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please also add a release-notes, prompting users to switch to ags_1
if they want to retain compatibility with previous config.
As this is a backwards incompatible change, we should not backport it.
421966a
to
83bd23a
Compare
@@ -212,6 +212,8 @@ | |||
[v1.7.0](https://github.com/jtroo/kanata/releases/tag/v1.7.0) | |||
for more information. | |||
|
|||
- `ags` was updated to v2, which is brand new project with different goals. If you still need v1, use `ags_1`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"Different" goals? Is it not used to create widgets on a WM?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
v1 is a library built for GJS to allow defining GTK widgets in a declarative way and v2 is just a CLI wrapper around esbuild (search for AGS v2 bundler
)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps v2 could be exposed as ags-cli
and leave ags
to v1
EDIT: I like this idea more than a breaking change
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps v2 could be exposed as
ags-cli
and leaveags
to v1
No. Package name should be in line with upstream unless it causes ambiguity.
Most people (incoming and existing users) will expect that ags points to new v2, while those who need the older version should be allowed to use ags_1.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My understanding is that most, if not all, ags_1 features have been moved to agstal.
ags_2 is just now an interpreter for Widget configs written in typescript/javascript. @Aylur that is correct I think?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, ags_1 was rewritten from scratch in Vala and C so it can be used outside of JS/TS. It was split into multiple libraries under the Astal name. ags_2 is a CLI that provides the same workflow as ags_1 so that users can jump right into it and "write a config" instead of setting up an typescript with Astal project themselves. Its basically a wrapper around esbuild. It still has the same goal as v1 though, which is to make writing widgets on WMs accessible.
I would prefer v2 to be ags
and v1 to be ags_1
if I have a say in it.
I'll get to reviewing Friday of next week. (Will be busy for work for the next week till the weekend) If anyone wants to review this and merge, they can go ahead. |
|
||
meta = { | ||
description = "Scaffolding CLI for Astal+TypeScript"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As per https://github.com/NixOS/nixpkgs/pull/373562/files#r1914975896
Something like "Typescript frontend of Widget system powered by Astal"
You can put more details/explain in longDescription
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I find your description a bit difficult to follow without any background context. In comparison, the description from upstream seems a bit clearer in this regard.
https://github.com/Aylur/ags: Scaffolding CLI for Astal+TypeScript
This is basically a complete rewrite (as upstream was rewritten in Go). It is required for #350324, I also built a completely functioning version of hyprpanel using this, so it totally works!
Also, it is almost 1 to 1 copy of the upstream Nix implementation, but this is much more versatile.
Closes #306446
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)CC @FliegendeWurst @foo-dogsquared @JohnRTitor
Add a 👍 reaction to pull requests you find important.