32 Commits

Author SHA1 Message Date
Michel Memeteau
c4a41b8c07 Merge branch 'main' into legacy-installer 2025-07-10 10:39:59 +02:00
Oskar Manhart
2068ab71ab Merge pull request #596 from winapps-org/chore/nix_update_actions
Packages: update
2025-07-06 17:12:15 +02:00
github-actions[bot]
edca9d5b9a winapps: 0-unstable-2025-06-22 -> 0-unstable-2025-07-02
Diff: 2b806de133...ce9a84dc52
2025-07-06 10:04:02 +00:00
Oskar Manhart
ce9a84dc52 Merge pull request #544 from winapps-org/feat-remove-submodule
Remove Launcher submodule
2025-07-02 10:41:16 +02:00
Rohan Barar
7188ed4072 docs: add reference to WinApps Launcher as optional system tray tool 2025-07-02 13:47:04 +10:00
Oskar Manhart
fd5e7f0a90 Merge pull request #586 from joeshachaf/add-emclient-and-paint_net
Add eM Client and Paint.NET definitions to winApps
2025-06-30 08:57:01 +02:00
pre-commit-ci[bot]
60b6c1215c [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-06-29 21:17:06 +00:00
Joe Shachaf
7548950a5e Add eM Client and Paint.NET definitions to winApps 2025-06-29 16:59:33 -04:00
Oskar Manhart
051e2e5852 Merge pull request #585 from winapps-org/chore/nix_update_actions
Packages: update
2025-06-29 12:16:38 +02:00
github-actions[bot]
0c057b722d winapps: 0-unstable-2025-06-20 -> 0-unstable-2025-06-22
Diff: aa5b3e9455...2b806de133
2025-06-29 10:04:18 +00:00
Michel Memeteau
4d189b7164 Initial Winapps.conf 2025-06-23 16:37:47 +02:00
Michel Memeteau
708a521340 increase VM perf defaults 2025-06-23 13:29:08 +02:00
Oskar Manhart
2b806de133 Merge pull request #572 from winapps-org/chore/nix_update_actions
Packages: update
2025-06-22 12:36:21 +02:00
github-actions[bot]
113abb3322 winapps: 0-unstable-2025-06-10 -> 0-unstable-2025-06-20
Diff: e2e9fd9b7b...aa5b3e9455
2025-06-22 10:03:55 +00:00
Oskar Manhart
aa5b3e9455 Merge pull request #564 from Aldo-f/add-adobe-digital-editions-4.5
Add Adobe Digital Editions 4.5
2025-06-20 12:58:35 +02:00
Aldo
109b2b1d9c Merge branch 'winapps-org:main' into add-adobe-digital-editions-4.5 2025-06-20 12:56:37 +02:00
aldo
f075eab78d Merge branch 'add-adobe-digital-editions-4.5' of https://github.com/Aldo-f/winapps into add-adobe-digital-editions-4.5 2025-06-20 12:55:38 +02:00
aldo
9e6b659f48 rm license header 2025-06-20 12:54:58 +02:00
Oskar Manhart
7d8f1e440d Merge pull request #526 from winapps-org/feat-optimize-flags
Remove more default RDP flags to simplify debugging
2025-06-20 12:06:31 +02:00
Oskar Manhart
4d3821d9aa fix: remove license header 2025-06-20 12:05:35 +02:00
Oskar Manhart
cd5b823ff7 Merge pull request #528 from winapps-org/doc-arch-packages
doc: use openbsd-netcat on arch
2025-06-20 12:04:57 +02:00
Oskar Manhart
c604f49422 Merge pull request #546 from winapps-org/feat-remove-font
Remove fonts
2025-06-20 12:02:36 +02:00
pre-commit-ci[bot]
c4d48e2087 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-06-19 19:25:59 +00:00
aldo
3298376f92 Add Adobe Digital Editions 4.5 2025-06-19 21:23:32 +02:00
Oskar Manhart
c9fb729a50 feat: remove fonts 2025-06-10 18:50:26 +02:00
Oskar Manhart
dcd662dc06 fix: use +dynamic-resolution in full sessions 2025-06-10 18:45:33 +02:00
Oskar Manhart
9a0e9ee58e feat(launcher): remove submodules 2025-06-10 16:17:23 +02:00
Oskar Manhart
a317ba41f4 Merge branch 'main' into feat-optimize-flags 2025-06-10 16:11:41 +02:00
pre-commit-ci[bot]
27da810f34 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-06-05 07:23:52 +00:00
Oskar Manhart
8ecb806b97 doc: use openbsd-netcat on arch
Closes #508
2025-06-05 09:21:55 +02:00
pre-commit-ci[bot]
fc3e5e0839 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2025-06-05 07:17:43 +00:00
Oskar Manhart
b42449459e feat: remove more default RDP flags to simplify debugging 2025-06-05 09:15:20 +02:00
36 changed files with 240 additions and 212 deletions

View File

@@ -1,37 +0,0 @@
name: Update submodules
on:
repository_dispatch:
types: update
jobs:
update:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Update module
run: |
pushd WinApps-Launcher
branch=$(git rev-parse --abbrev-ref origin/HEAD | sed "s|origin/||")
git config remote.origin.fetch "+refs/heads/$branch:refs/remotes/origin/$branch"
git fetch --depth=1 origin "refs/heads/$branch"
popd
git submodule update --init --remote WinApps-Launcher
- name: Commit and push
uses: EndBug/add-and-commit@v9
with:
add: WinApps-Launcher
default_author: github_actions
message: "Update submodules"
push: false
- name: Create PR
uses: peter-evans/create-pull-request@v7
with:
branch: chore/update_submodules
delete-branch: true
title: "Update submodules"

3
.gitmodules vendored
View File

@@ -1,3 +0,0 @@
[submodule "WinApps-Launcher"]
path = WinApps-Launcher
url = https://github.com/winapps-org/WinApps-Launcher.git

View File

@@ -312,7 +312,7 @@ Install the required dependencies.
```
- Arch Linux:
```bash
sudo pacman -Syu --needed -y curl dialog freerdp git iproute2 libnotify gnu-netcat
sudo pacman -Syu --needed -y curl dialog freerdp git iproute2 libnotify openbsd-netcat
```
- OpenSUSE:
```bash
@@ -404,18 +404,9 @@ REMOVABLE_MEDIA="/run/media"
# [ADDITIONAL FREERDP FLAGS & ARGUMENTS]
# NOTES:
# - You can try adding /network:lan to these flags in order to increase performance, however, some users have faced issues with this.
# DEFAULT VALUE: '/cert:tofu /sound /microphone'
# DEFAULT VALUE: '/cert:tofu /sound /microphone +home-drive'
# VALID VALUES: See https://github.com/awakecoding/FreeRDP-Manuals/blob/master/User/FreeRDP-User-Manual.markdown
RDP_FLAGS="/cert:tofu /sound /microphone"
# [MULTIPLE MONITORS]
# NOTES:
# - If enabled, a FreeRDP bug *might* produce a black screen.
# DEFAULT VALUE: 'false'
# VALID VALUES:
# - 'true'
# - 'false'
MULTIMON="false"
RDP_FLAGS="/cert:tofu /sound /microphone +home-drive"
# [DEBUG WINAPPS]
# NOTES:
@@ -492,7 +483,7 @@ APP_SCAN_TIMEOUT="60"
- For domain users, you can uncomment and change `RDP_DOMAIN`.
- On high-resolution (UHD) displays, you can set `RDP_SCALE` to the scale you would like to use (100, 140 or 180).
- To add additional flags to the FreeRDP call (e.g. `/prevent-session-lock 120`), uncomment and use the `RDP_FLAGS` configuration option.
- For multi-monitor setups, you can try enabling `MULTIMON`. A FreeRDP bug may result in a black screen however, in which case you should revert this change.
- For multi-monitor setups, you can try adding `/multimon` to `RDP_FLAGS`. A FreeRDP bug may result in a black screen however, in which case you should revert this change.
- If you enable `DEBUG`, a log will be created on each application start in `~/.local/share/winapps/winapps.log`.
- If using a system on which the FreeRDP command is not `xfreerdp` or `xfreerdp3`, the correct command can be specified using `FREERDP_COMMAND`.
@@ -579,6 +570,11 @@ The installer can be run multiple times. To update your installation of WinApps:
2. Pull the latest changes from the WinApps GitHub repository.
3. Re-install WinApps using the WinApps installer by running `winapps-setup`.
## WinApps Launcher (Optional)
The [WinApps Launcher](https://github.com/winapps-org/winapps-launcher) provides a simple system tray menu that makes it easy to launch your installed Windows applications, open a full desktop RDP session, and control your Windows VM or container. You can start, stop, pause, reboot or hibernate Windows, as well as access your installed applications from a convenient list. This lightweight, optional tool helps streamline your overall WinApps experience.
<img src="./demo/launcher.gif" width=1000 alt="WinApps Launcher Animation.">
## Installation using Nix
First, follow Step 1 of the normal installation guide to create your VM.

Submodule WinApps-Launcher deleted from 9b3f6c5817

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 20.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="ai_x5F_cc_x5F_app_x5F_RGB.svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 240 234" width="320" height="312" enable-background="new 0 0 240 234" xml:space="preserve">
<path fill="#260C00" d="M41.9,7.5C13.8,7.5,7.3,24.2,7.3,52.4L7.4,189c0,28.2,8.8,37.6,36.9,37.6H195c28.1,0,37.6-9.4,37.6-37.5
V47.2c0-28.2-10.5-39.7-38.6-39.7C194,7.5,41.9,7.5,41.9,7.5z"/>
<g>
<g>
<path fill="#FF6000" d="M0,43.1v148.2C0,214.9,18.2,234,41.9,234h155.3c23.7,0,42.9-19.1,42.9-42.8V42.8C240,19.2,220.8,0,197.1,0
H41.9C18.2,0,0,19.2,0,42.8V43.1z M194,10.1c19.1,0,35.9,15.7,35.9,34.8v142.3c0,19.1-15.5,36.7-34.6,36.7H44.7
c-19.1,0-34.6-16.2-34.6-35.3l0-141.7c0-19,15.5-36.8,34.5-36.8L194,10.1L194,10.1z"/>
</g>
</g>
<g>
<g>
<path fill="#FEDCCA" d="M182.3,171.3H57.7c-7.4,0-9.7-2.4-9.7-9.8V71.1c0-7.4,2.4-9.8,9.7-9.8h124.5c7.4,0,9.7,2.4,9.7,9.8v90.5
C192,168.9,189.6,171.3,182.3,171.3z M57.7,65.3c-5.1,0-5.7,0.6-5.7,5.8v90.5c0,5.2,0.6,5.8,5.7,5.8h124.5c5.1,0,5.7-0.6,5.7-5.8
V71.1c0-5.2-0.6-5.8-5.7-5.8H57.7z"/>
</g>
<g>
<path fill="#FF6000" d="M57,162.3h61v-92H57V162.3z M67,93h44v2H67V93z M67,102.1h44v2H67V102.1z M67,111h44v2H67V111z M67,120h44
v2H67V120z M67,129.1h44v2H67V129.1z M67,138h44v2H67V138z"/>
<path fill="#FF6000" d="M158.7,70.3H122v92h61V94.2L158.7,70.3z M129.3,92.5h24.5v2h-24.5V92.5z M129.3,101.6l43.6,0.2l0,2
l-43.6-0.2L129.3,101.6z M173.3,139.5h-44.1v-2h44.1V139.5z M173.3,130.6h-44.1v-2h44.1V130.6z M173.3,121.5h-44.1v-2h44.1V121.5z
M173.3,112.5h-44.1v-2h44.1V112.5z M158.3,94.6V72.4L181,94.6H158.3z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

@@ -0,0 +1,17 @@
# GNOME shortcut name
NAME="Adobe Digital Editions"
# Used for descriptions and window class
FULL_NAME="Adobe Digital Editions"
# The executable inside windows
WIN_EXECUTABLE="C:\Program Files (x86)\Adobe\Adobe Digital Editions 4.5\DigitalEditions.exe"
# GNOME categories
CATEGORIES="WinApps;Adobe"
# GNOME mimetypes
MIME_TYPES="application/epub+zip;application/vnd.adobe.adept+xml;"
# System Icon
ICON="AdobeDigitalEditions"

9
apps/emclient/icon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 20 KiB

17
apps/emclient/info Normal file
View File

@@ -0,0 +1,17 @@
# GNOME shortcut name
NAME="eM Client"
# Used for descriptions and window class
FULL_NAME="eM Client"
# The executable inside windows
WIN_EXECUTABLE="C:\Program Files (x86)\eM Client\mailclient.exe"
# GNOME categories
CATEGORIES="WinApps;Network;Office;"
# GNOME mimetypes
MIME_TYPES=""
# System Icon
ICON="eM Client"

View File

@@ -1,8 +1,3 @@
# Copyright (c) 2024 Fmstrat | App tested by whitewolf101 02/22/2025
# All rights reserved.
#
# SPDX-License-Identifier: Proprietary
# GNOME shortcut name
NAME="mIRC"

1
apps/paint.net/icon.svg Normal file

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 46 KiB

17
apps/paint.net/info Normal file
View File

@@ -0,0 +1,17 @@
# GNOME shortcut name
NAME="Paint.NET"
# Used for descriptions and window class
FULL_NAME="Paint.NET"
# The executable inside windows
WIN_EXECUTABLE="C:\Program Files\Paint.NET\paintdotnet.exe"
# GNOME categories
CATEGORIES="WinApps;Graphic;"
# GNOME mimetypes
MIME_TYPES=""
# System Icon
ICON="Paint.Net"

View File

@@ -49,9 +49,7 @@ REMOVABLE_MEDIA=""
RDP_SCALE=100
AUTOPAUSE="off"
AUTOPAUSE_TIME="300"
MULTIMON="false"
DEBUG="true"
MULTI_FLAG=""
# OTHER
FREERDP_PID=-1
@@ -212,9 +210,6 @@ function waLoadConfig() {
waThrowExit $EC_MISSING_CONFIG
fi
# Update 'MULTI_FLAG' based on 'MULTIMON'.
MULTI_FLAG=$([[ $MULTIMON == "true" ]] && echo "/multimon" || echo "+span")
# Update $RDP_SCALE.
waFixScale
# Update when $REMOVABLE_MEDIA is null
@@ -521,11 +516,8 @@ function waRunCommand() {
/u:"$RDP_USER" \
/p:"$RDP_PASS" \
/scale:"$RDP_SCALE" \
+dynamic-resolution \
+auto-reconnect \
+home-drive \
+clipboard \
-wallpaper \
+dynamic-resolution \
/wm-class:"Microsoft Windows" \
/t:"Windows RDP Session [$RDP_IP]" \
/v:"$RDP_IP" &>/dev/null &
@@ -540,12 +532,7 @@ function waRunCommand() {
/u:"$RDP_USER" \
/p:"$RDP_PASS" \
/scale:"$RDP_SCALE" \
+dynamic-resolution \
+auto-reconnect \
+home-drive \
+clipboard \
-wallpaper \
"$MULTI_FLAG" \
/app:program:"$2" \
/v:"$RDP_IP" &>/dev/null &
@@ -577,12 +564,7 @@ function waRunCommand() {
/u:"$RDP_USER" \
/p:"$RDP_PASS" \
/scale:"$RDP_SCALE" \
+dynamic-resolution \
+auto-reconnect \
+home-drive \
+clipboard \
-wallpaper \
"$MULTI_FLAG" \
/wm-class:"$FULL_NAME" \
/app:program:"$WIN_EXECUTABLE",icon:"$ICON",name:"$FULL_NAME" \
/v:"$RDP_IP" &>/dev/null &
@@ -603,13 +585,8 @@ function waRunCommand() {
/u:"$RDP_USER" \
/p:"$RDP_PASS" \
/scale:"$RDP_SCALE" \
+dynamic-resolution \
+auto-reconnect \
+home-drive \
+clipboard \
/drive:media,"$REMOVABLE_MEDIA" \
-wallpaper \
"$MULTI_FLAG" \
/wm-class:"$FULL_NAME" \
/app:program:"$WIN_EXECUTABLE",icon:"$ICON",name:$"FULL_NAME",cmd:\""$FILE_PATH"\" \
/v:"$RDP_IP" &>/dev/null &

View File

@@ -14,8 +14,8 @@ services:
# Version of Windows to configure. For valid options, visit:
# https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-select-the-windows-version
# https://github.com/dockur/windows?tab=readme-ov-file#how-do-i-install-a-custom-image
VERSION: "11"
RAM_SIZE: "4G" # RAM allocated to the Windows VM.
VERSION: "10"
RAM_SIZE: "8G" # RAM allocated to the Windows VM.
CPU_CORES: "4" # CPU cores allocated to the Windows VM.
DISK_SIZE: "64G" # Size of the primary hard disk.
# DISK2_SIZE: "32G" # Uncomment to add an additional hard disk to the Windows VM. Ensure it is mounted as a volume below.

BIN
demo/launcher.gif Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 MiB

View File

@@ -1,93 +0,0 @@
Copyright 2023 The Unageo Project Authors (https://github.com/RichardSepsi/Unageo)
This Font Software is licensed under the SIL Open Font License, Version 1.1.
This license is copied below, and is also available with a FAQ at:
https://scripts.sil.org/OFL
-----------------------------------------------------------
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
-----------------------------------------------------------
PREAMBLE
The goals of the Open Font License (OFL) are to stimulate worldwide
development of collaborative font projects, to support the font creation
efforts of academic and linguistic communities, and to provide a free and
open framework in which fonts may be shared and improved in partnership
with others.
The OFL allows the licensed fonts to be used, studied, modified and
redistributed freely as long as they are not sold by themselves. The
fonts, including any derivative works, can be bundled, embedded,
redistributed and/or sold with any software provided that any reserved
names are not used by derivative works. The fonts and derivatives,
however, cannot be released under any other type of license. The
requirement for fonts to remain under this license does not apply
to any document created using the fonts or their derivatives.
DEFINITIONS
"Font Software" refers to the set of files released by the Copyright
Holder(s) under this license and clearly marked as such. This may
include source files, build scripts and documentation.
"Reserved Font Name" refers to any names specified as such after the
copyright statement(s).
"Original Version" refers to the collection of Font Software components as
distributed by the Copyright Holder(s).
"Modified Version" refers to any derivative made by adding to, deleting,
or substituting -- in part or in whole -- any of the components of the
Original Version, by changing formats or by porting the Font Software to a
new environment.
"Author" refers to any designer, engineer, programmer, technical
writer or other person who contributed to the Font Software.
PERMISSION & CONDITIONS
Permission is hereby granted, free of charge, to any person obtaining
a copy of the Font Software, to use, study, copy, merge, embed, modify,
redistribute, and sell modified and unmodified copies of the Font
Software, subject to the following conditions:
1) Neither the Font Software nor any of its individual components,
in Original or Modified Versions, may be sold by itself.
2) Original or Modified Versions of the Font Software may be bundled,
redistributed and/or sold with any software, provided that each copy
contains the above copyright notice and this license. These can be
included either as stand-alone text files, human-readable headers or
in the appropriate machine-readable metadata fields within text or
binary files as long as those fields can be easily viewed by the user.
3) No Modified Version of the Font Software may use the Reserved Font
Name(s) unless explicit written permission is granted by the corresponding
Copyright Holder. This restriction only applies to the primary font name as
presented to the users.
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
Software shall not be used to promote, endorse or advertise any
Modified Version, except to acknowledge the contribution(s) of the
Copyright Holder(s) and the Author(s) or with their explicit written
permission.
5) The Font Software, modified or unmodified, in part or in whole,
must be distributed entirely under this license, and must not be
distributed under any other license. The requirement for fonts to
remain under this license does not apply to any document created
using the Font Software.
TERMINATION
This license becomes null and void if any of the above conditions are
not met.
DISCLAIMER
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
OTHER DEALINGS IN THE FONT SOFTWARE.

View File

@@ -1,16 +0,0 @@
## Unageo typeface
Unageo is a simple, geometric typeface with variable weight and italic angle support, that was made with digital use in mind, however it works in print just as well .
It's designed to use perfect geometric shapes where possible while still maintaining great readability and it uses almost uniform stroke width all across each glyph on all weights.
Other than latin, Unageo also supports cyrillic and greek scripts.
Unageo cyrillic was made in bulgarian style, that uses more rounded shapes and differentiated letter heights which makes it easier to tell letters apart and further improves readability.
Greek uses the same rounded shapes and adds smooth lines to give it a more unique style.
### How was it made?
Unageo is my first attempt at making a font, and since I had almost no prior experience with font creation and limited software avalability, I worked on Unageo with an unusual workflow. I designed the characters in inkscape and imported the outlines into fontforge. Since I'm familiar with inkscape, designing the glyphs wasn't too hard and inkscape has great tools for working with perfect geometry. It wasn't as great with fontforge, but I got accustomed to it quite fine and I was able to finish my font. After it was done, I used fontmake to generate my variable fonts and then fonttools mutator to generate the static fonts. Static fonts can also be exported directly from fontforge as the sources are interpolable.
##
![alt text](https://github.com/RichardSepsi/Unageo/blob/main/documentation/Unageo.png?raw=true)

134
install/winapps.conf Normal file
View File

@@ -0,0 +1,134 @@
##################################
# WINAPPS CONFIGURATION FILE #
##################################
# INSTRUCTIONS
# - Leading and trailing whitespace are ignored.
# - Empty lines are ignored.
# - Lines starting with '#' are ignored.
# - All characters following a '#' are ignored.
# [WINDOWS USERNAME]
RDP_USER="docker"
# [WINDOWS PASSWORD]
# NOTES:
# - If using FreeRDP v3.9.0 or greater, you *have* to set a password
RDP_PASS="docker"
# [WINDOWS DOMAIN]
# DEFAULT VALUE: '' (BLANK)
RDP_DOMAIN=""
# [WINDOWS IPV4 ADDRESS]
# NOTES:
# - If using 'libvirt', 'RDP_IP' will be determined by WinApps at runtime if left unspecified.
# DEFAULT VALUE:
# - 'docker': '127.0.0.1'
# - 'podman': '127.0.0.1'
# - 'libvirt': '' (BLANK)
#RDP_IP="127.0.0.1"
# [VM NAME]
# NOTES:
# - Only applicable when using 'libvirt'
# - The libvirt VM name must match so that WinApps can determine VM IP, start the VM, etc.
# DEFAULT VALUE: 'RDPWindows'
#VM_NAME="RDPWindows"
# [WINAPPS BACKEND]
# DEFAULT VALUE: 'docker'
# VALID VALUES:
# - 'docker'
# - 'podman'
# - 'libvirt'
# - 'manual'
WAFLAVOR="docker"
# [DISPLAY SCALING FACTOR]
# NOTES:
# - If an unsupported value is specified, a warning will be displayed.
# - If an unsupported value is specified, WinApps will use the closest supported value.
# DEFAULT VALUE: '100'
# VALID VALUES:
# - '100'
# - '140'
# - '180'
RDP_SCALE="100"
# [MOUNTING REMOVABLE PATHS FOR FILES]
# NOTES:
# - By default, `udisks` (which you most likely have installed) uses /run/media for mounting removable devices.
# This improves compatibility with most desktop environments (DEs).
# ATTENTION: The Filesystem Hierarchy Standard (FHS) recommends /media instead. Verify your system's configuration.
# - To manually mount devices, you may optionally use /mnt.
# REFERRENCE: https://wiki.archlinux.org/title/Udisks#Mount_to_/media
REMOVABLE_MEDIA="/run/media"
# [ADDITIONAL FREERDP FLAGS & ARGUMENTS]
# NOTES:
# - You can try adding /network:lan to these flags in order to increase performance, however, some users have faced issues with this.
# DEFAULT VALUE: '/cert:tofu /sound /microphone +home-drive'
# VALID VALUES: See https://github.com/awakecoding/FreeRDP-Manuals/blob/master/User/FreeRDP-User-Manual.markdown
RDP_FLAGS="/cert:tofu /sound /microphone +home-drive"
# [DEBUG WINAPPS]
# NOTES:
# - Creates and appends to ~/.local/share/winapps/winapps.log when running WinApps.
# DEFAULT VALUE: 'true'
# VALID VALUES:
# - 'true'
# - 'false'
DEBUG="true"
# [AUTOMATICALLY PAUSE WINDOWS]
# NOTES:
# - This is currently INCOMPATIBLE with 'docker' and 'manual'.
# - See https://github.com/dockur/windows/issues/674
# DEFAULT VALUE: 'off'
# VALID VALUES:
# - 'on'
# - 'off'
AUTOPAUSE="off"
# [AUTOMATICALLY PAUSE WINDOWS TIMEOUT]
# NOTES:
# - This setting determines the duration of inactivity to tolerate before Windows is automatically paused.
# - This setting is ignored if 'AUTOPAUSE' is set to 'off'.
# - The value must be specified in seconds (to the nearest 10 seconds e.g., '30', '40', '50', etc.).
# - For RemoteApp RDP sessions, there is a mandatory 20-second delay, so the minimum value that can be specified here is '20'.
# - Source: https://techcommunity.microsoft.com/t5/security-compliance-and-identity/terminal-services-remoteapp-8482-session-termination-logic/ba-p/246566
# DEFAULT VALUE: '300'
# VALID VALUES: >=20
AUTOPAUSE_TIME="300"
# [FREERDP COMMAND]
# NOTES:
# - WinApps will attempt to automatically detect the correct command to use for your system.
# DEFAULT VALUE: '' (BLANK)
# VALID VALUES: The command required to run FreeRDPv3 on your system (e.g., 'xfreerdp', 'xfreerdp3', etc.).
FREERDP_COMMAND=""
# [TIMEOUTS]
# NOTES:
# - These settings control various timeout durations within the WinApps setup.
# - Increasing the timeouts is only necessary if the corresponding errors occur.
# - Ensure you have followed all the Troubleshooting Tips in the error message first.
# PORT CHECK
# - The maximum time (in seconds) to wait when checking if the RDP port on Windows is open.
# - Corresponding error: "NETWORK CONFIGURATION ERROR" (exit status 13).
# DEFAULT VALUE: '5'
PORT_TIMEOUT="5"
# RDP CONNECTION TEST
# - The maximum time (in seconds) to wait when testing the initial RDP connection to Windows.
# - Corresponding error: "REMOTE DESKTOP PROTOCOL FAILURE" (exit status 14).
# DEFAULT VALUE: '30'
RDP_TIMEOUT="30"
# APPLICATION SCAN
# - The maximum time (in seconds) to wait for the script that scans for installed applications on Windows to complete.
# - Corresponding error: "APPLICATION QUERY FAILURE" (exit status 15).
# DEFAULT VALUE: '60'
APP_SCAN_TIMEOUT="60"

View File

@@ -11,12 +11,12 @@
...
}:
let
rev = "e2e9fd9b7b66bd1432c2a7186017da5c281d5b9e";
hash = "sha256-N6ArgdiJyhWNALqpRxLR6RDDMsiqEf2RxWLQ2z7T23Y=";
rev = "ce9a84dc5294c45a4b69847f5164628f7d6a4ae1";
hash = "sha256-SsyJy9mCwBjKex8mfCnKrzKUM/+xws0EltI2aSkKTuM=";
in
stdenv.mkDerivation rec {
pname = "winapps";
version = "0-unstable-2025-06-10";
version = "0-unstable-2025-07-02";
src = fetchFromGitHub {
owner = "winapps-org";

View File

@@ -92,10 +92,9 @@ VM_NAME="RDPWindows" # Name of the Windows VM (FOR 'libvirt' ONLY).
WAFLAVOR="docker" # Imported variable.
RDP_SCALE=100 # Imported variable.
RDP_FLAGS="" # Imported variable.
MULTIMON="false" # Imported variable.
DEBUG="true" # Imported variable.
FREERDP_COMMAND="" # Imported variable.
MULTI_FLAG="" # Set based on value of $MULTIMON.
PORT_TIMEOUT=5 # Default port check timeout.
RDP_TIMEOUT=30 # Default RDP connection test timeout.
APP_SCAN_TIMEOUT=60 # Default application scan timeout.
@@ -1047,9 +1046,6 @@ function waCheckRDPAccess() {
/p:"$RDP_PASS" \
/scale:"$RDP_SCALE" \
+auto-reconnect \
+home-drive \
-wallpaper \
+dynamic-resolution \
/app:program:"C:\Windows\System32\cmd.exe",cmd:"/C type NUL > $TEST_PATH_WIN && tsdiscon" \
/v:"$RDP_IP" &>"$FREERDP_LOG" &
@@ -1181,9 +1177,6 @@ function waFindInstalled() {
/p:"$RDP_PASS" \
/scale:"$RDP_SCALE" \
+auto-reconnect \
+home-drive \
-wallpaper \
+dynamic-resolution \
/app:program:"C:\Windows\System32\cmd.exe",cmd:"/C "$BATCH_SCRIPT_PATH_WIN"" \
/v:"$RDP_IP" &>"$FREERDP_LOG" &
@@ -1581,13 +1574,6 @@ function waInstall() {
# Check for missing dependencies.
waCheckInstallDependencies
# Update $MULTI_FLAG.
if [[ $MULTIMON == "true" ]]; then
MULTI_FLAG="/multimon"
else
MULTI_FLAG="+span"
fi
# Update $RDP_SCALE.
waFixScale