-
Notifications
You must be signed in to change notification settings - Fork 45
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
Package WinApps (and the Launcher) with Nix #234
base: main
Are you sure you want to change the base?
Conversation
Great fan of this, since I use nixos myself. |
Once I do test #232, I can give this a try, thanks a lot for the work @oskardotglobal |
When #15 gets merged, I'll also try to get this into nixpkgs. |
5475085
to
073ca6b
Compare
doc: document installation using Nix fix: explicitely specify path to inquirer fix: libvirt group is called libvirtd on nix fix: set libvirturl for winapps-launcher fix: refine group change sed expr feat: add desktop file fix: do not use source derivation fix: use install instead of cp fix: ensure exists
073ca6b
to
da35923
Compare
0f3d8a4
to
a037e0d
Compare
…equires GHC & hackage
a037e0d
to
b044cb4
Compare
@oskardotglobal can you PR the package upstream on Nixpkgs as a draft PR maybe ? Or if you did test already, PR it for reviews |
Yeah, I will |
It's just currently not building |
Alright, this builds properly again; it would be good if someone were to try this too |
@oskardotglobal Will let you know once I tried, can you tell me a way to try it ? Should I drop it into a nixpkgs folder and build it then use it ? I need to setup a Windows VM with |
@AkechiShiro No, you will need either a VM using |
Couldn't try the flake as it is not in the repo yet, not sure if I can specify the branch inside the flake syntax here :
|
You have to add |
Step 3 needs to be done, I think we need more documentation on how to use it, I believe |
My RDP connection seems to fail, not sure why exactly, I setup W11 using Docker and used the USERNAME and PASSWORD set.
I've tried using xfreerdp3 manually as well can't seem to figure out why I'm hitting this error |
Here is the detailed logs using [21:36:46:998] [290759:00046fc8] [DEBUG][com.freerdp.core] - [freerdp_connect_begin]: resetting error state [21:36:46:05] [290759:00046fc8] [DEBUG][com.freerdp.client.common.cmdline] - [freerdp_client_load_static_channel_addin]: loading channelEx rdpdr [21:36:46:05] [290759:00046fc8] [DEBUG][com.freerdp.client.common.cmdline] - [freerdp_client_load_static_channel_addin]: loading channelEx rdpsnd [21:36:46:05] [290759:00046fc8] [DEBUG][com.freerdp.channels.channels.cliprdr.client] - [cliprdr_VirtualChannelEntryEx]: VirtualChannelEntryEx [21:36:46:05] [290759:00046fc8] [DEBUG][com.freerdp.client.common.cmdline] - [freerdp_client_load_static_channel_addin]: loading channelEx cliprdr [21:36:46:05] [290759:00046fc8] [DEBUG][com.freerdp.channels.drdynvc.client] - [drdynvc_VirtualChannelEntryEx]: VirtualChannelEntryEx [21:36:46:05] [290759:00046fc8] [DEBUG][com.freerdp.client.common.cmdline] - [freerdp_client_load_static_channel_addin]: loading channelEx drdynvc [21:36:46:05] [290759:00046fc8] [DEBUG][com.freerdp.primitives] - [primitives_autodetect_best]: primitives benchmark: only one backend, skipping... [21:36:46:05] [290759:00046fc8] [DEBUG][com.freerdp.primitives] - [primitives_autodetect_best]: primitives autodetect, using generic [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core.nego] - [nego_set_negotiation_enabled]: Enabling security layer negotiation: TRUE [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core.nego] - [nego_set_restricted_admin_mode_required]: Enabling restricted admin mode: FALSE [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core.nego] - [nego_enable_rdp]: Enabling RDP security: TRUE [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core.nego] - [nego_enable_tls]: Enabling TLS security: TRUE [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core.nego] - [nego_enable_nla]: Enabling NLA security: TRUE [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core.nego] - [nego_enable_ext]: Enabling NLA extended security: FALSE [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core.nego] - [nego_enable_rdstls]: Enabling RDSTLS security: FALSE [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core.nego] - [nego_enable_aad]: Enabling RDS AAD security: FALSE [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core.rdp] - [rdp_client_transition_to_state][0xfa03c60]: CONNECTION_STATE_INITIAL --> CONNECTION_STATE_NEGO [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core] - [freerdp_tcp_is_hostname_resolvable]: resetting error state [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core] - [freerdp_tcp_default_connect]: resetting error state [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core] - [freerdp_tcp_default_connect]: connecting to peer 127.0.0.1 [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core.nego] - [nego_connect]: state: NEGO_STATE_NLA [21:36:46:29] [290759:00046fc8] [DEBUG][com.freerdp.core.nego] - [nego_attempt_nla]: Attempting NLA security [21:36:46:30] [290759:00046fc8] [DEBUG][com.freerdp.core.nego] - [nego_send_negotiation_request]: RequestedProtocols: 3 [21:36:46:223] [290759:00046fc8] [ERROR][com.freerdp.core.transport] - [transport_read_layer]: BIO_read returned a system error 104: Connection reset by peer [21:36:46:223] [290759:00046fc8] [ERROR][com.freerdp.core] - [transport_read_layer]: ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D] [21:36:46:224] [290759:00046fc8] [DEBUG][com.freerdp.core.rdp] - [rdp_finalize_reset_flags][0xfa03c60]: [CONNECTION_STATE_NEGO] reset finalize_sc_pdus [21:36:46:224] [290759:00046fc8] [DEBUG][com.freerdp.core.rdp] - [rdp_client_transition_to_state][0xfa03c60]: CONNECTION_STATE_NEGO --> CONNECTION_STATE_INITIAL EDIT: I tried using Note: I'm also using I can't seem to make any progress for testing |
Seems to maybe be an issue specific to Podman, will try Using a pentest tool
|
@AkechiShiro It is very odd that winapps does not output or print anything, might be an actual issue and not just with the Nix version. There is no usage printed for |
So what do we do ? Do you want to merge this and work on the issues later ? Should I open an issue to note down that |
Btw @oskardotglobal it would be cool if we could find a way to integrate the use of this https://git.m-labs.hk/M-Labs/wfvm but I'm not sure that the project is actually maintained but it would allow us to declare a Windows VM Maybe we don't need to integrate with it, but we could write documentation if it works well with Nix and Winapps. |
I like this idea, but I don't think that repo would be something to use. For instance, I don't understand the decision to use anything other than WinGet or even Scoop. |
I've tested wfvm and didn't find it to be very useful. |
I would say we prioritize merging #240 and then I close this PR and look into getting this into Nixpkgs unstable. |
The only problem would be how to version / update it on Nixpkgs, I know there is some sort of update process but I currently don't know how |
We could also keep this as a flake and then have the flake somehow get it's current commit, passing that onto the packages. Then winapps could be updated by the user by simply updating the lock |
@oskardotglobal we may need to tag versions, there is an update mechanism but we can pin commit hash in revision We can also use unstable in the version, you need to check the convention in contributing on the Nixpkgs repo |
you might want to look at https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#versioning nixpkgs should support packages with no releases yet btw thanks for packaging to nix. i will try to setup in a few days in my pc |
Also I prefer that we also offer non flakes option as flakes are still not officially stable @oskardotglobal people could pin using npins or other non flakes pinning tools, such as niv |
nixpkgs doesn't accept flakes as they accept package function that uses same version of dependencies of nixpkgs. but if you want to distribute to nix users outside of nixpkgs and having control over your nixpkgs rev you can make your flake usable to non flake users with https://github.com/edolstra/flake-compat for mostly simple packages and https://github.com/ursi/get-flake for exposing whole flake in non flake nviroments |
use netcat instead of netcat-gnu
My biggest problem currently is how do we keep the flake's commit hash (the |
İ think it might be possible to create derivation that outputs rev of main from source but nix might not copy .git folder to derivation |
This depends on #232, but this PR makes WinApps and the launcher available to install conveniently using the Nix package manager.
I'll look into getting this into Nixpkgs, the Nix package registry, but this might not be possible since WinApps is technically licensed under ARR.