first, failed, attempt to install a windows app
This commit is contained in:
parent
c000573635
commit
8eb6ad2fef
6 changed files with 114 additions and 6 deletions
|
@ -79,6 +79,8 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
packages."${system}" = lib.my.mapModules ./packages (p: pkgs.callPackage p { inherit inputs; });
|
||||||
|
|
||||||
nixosModules = mapModulesRec ./modules import;
|
nixosModules = mapModulesRec ./modules import;
|
||||||
nixosConfigurations = mapHosts ./hosts {};
|
nixosConfigurations = mapHosts ./hosts {};
|
||||||
};
|
};
|
||||||
|
|
|
@ -30,6 +30,7 @@
|
||||||
office.enable = true;
|
office.enable = true;
|
||||||
steam.enable = true;
|
steam.enable = true;
|
||||||
recording.enable = true;
|
recording.enable = true;
|
||||||
|
studio.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
terminal = {
|
terminal = {
|
||||||
|
|
|
@ -1,14 +1,17 @@
|
||||||
{ config, lib, user, ... }:
|
{ pkgs, config, lib, user, ... }:
|
||||||
let
|
let
|
||||||
inherit (lib) mkIf;
|
inherit (lib) mkIf mkEnableOption;
|
||||||
# inherit (lib.my) mkWinApp;
|
|
||||||
|
|
||||||
cfg = config.modules.${user}.desktop.applications.studio;
|
cfg = config.modules.${user}.desktop.applications.studio;
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.${user}.desktop.applications.studio = {};
|
options.modules.${user}.desktop.applications.studio = {
|
||||||
|
enable = mkEnableOption "Enable Bricklink Studio";
|
||||||
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
my.studio
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,7 +127,7 @@ in
|
||||||
authorization_policy = "one_factor";
|
authorization_policy = "one_factor";
|
||||||
userinfo_signed_response_alg = "none";
|
userinfo_signed_response_alg = "none";
|
||||||
consent_mode = "implicit";
|
consent_mode = "implicit";
|
||||||
scopes = [ "openid" "email" "picture" "profile" "groups" ];
|
scopes = [ "offline_access" "openid" "email" "picture" "profile" "groups" ];
|
||||||
redirect_uris = [ "http://localhost:3000/api/auth/oauth2/callback/authelia" ];
|
redirect_uris = [ "http://localhost:3000/api/auth/oauth2/callback/authelia" ];
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
102
packages/studio.nix
Normal file
102
packages/studio.nix
Normal file
|
@ -0,0 +1,102 @@
|
||||||
|
{ pkgs, lib, inputs }: let
|
||||||
|
inherit (builtins) fetchurl;
|
||||||
|
inherit (pkgs) makeDesktopItem wineWowPackages;
|
||||||
|
inherit (inputs.erosanix.lib.x86_64-linux) mkWindowsApp makeDesktopIcon;
|
||||||
|
|
||||||
|
wine = wineWowPackages.base;
|
||||||
|
in mkWindowsApp rec {
|
||||||
|
inherit wine;
|
||||||
|
|
||||||
|
pname = "studio";
|
||||||
|
version = "2.25.4_1";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "https://studio.download.bricklink.info/Studio2.0+EarlyAccess/Archive/2.25.4_1/Studio+2.0+EarlyAccess.exe";
|
||||||
|
sha256 = "sha256:1gw6pyvfr7zr42g21hqgiwkjs88nvhq2c2v40y21frvwv17hja92";
|
||||||
|
};
|
||||||
|
|
||||||
|
enableMonoBootPrompt = false;
|
||||||
|
dontUnpack = true;
|
||||||
|
|
||||||
|
wineArch = "win64";
|
||||||
|
enableInstallNotification = true;
|
||||||
|
|
||||||
|
fileMap = {
|
||||||
|
"$HOME/.cache/${pname}" = "drive_c/${pname}/${pname}-cache";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileMapDuringAppInstall = false;
|
||||||
|
|
||||||
|
persistRegistry = false;
|
||||||
|
persistRuntimeLayer = false;
|
||||||
|
inputHashMethod = "store-path";
|
||||||
|
|
||||||
|
# Can be used to precisely select the Direct3D implementation.
|
||||||
|
#
|
||||||
|
# | enableVulkan | rendererOverride | Direct3D implementation |
|
||||||
|
# |--------------|------------------|-------------------------|
|
||||||
|
# | false | null | OpenGL |
|
||||||
|
# | true | null | Vulkan (DXVK) |
|
||||||
|
# | * | dxvk-vulkan | Vulkan (DXVK) |
|
||||||
|
# | * | wine-opengl | OpenGL |
|
||||||
|
# | * | wine-vulkan | Vulkan (VKD3D) |
|
||||||
|
enableVulkan = false;
|
||||||
|
rendererOverride = null;
|
||||||
|
|
||||||
|
enableHUD = false;
|
||||||
|
|
||||||
|
enabledWineSymlinks = { };
|
||||||
|
graphicsDriver = "auto";
|
||||||
|
inhibitIdle = false;
|
||||||
|
|
||||||
|
winAppInstall = ''
|
||||||
|
d="$WINEPREFIX/drive_c/${pname}"
|
||||||
|
config_dir="$HOME/.config/studio"
|
||||||
|
|
||||||
|
mkdir -p "$d"
|
||||||
|
wine ${src}
|
||||||
|
|
||||||
|
mkdir -p "$config_dir"
|
||||||
|
'';
|
||||||
|
|
||||||
|
winAppPreRun = '''';
|
||||||
|
|
||||||
|
winAppRun = ''
|
||||||
|
wine "$WINEPREFIX/drive_c/${pname}/studio-${version}-64.exe" "$ARGS"
|
||||||
|
'';
|
||||||
|
|
||||||
|
winAppPostRun = "";
|
||||||
|
installPhase = ''
|
||||||
|
runHook preInstall
|
||||||
|
|
||||||
|
ln -s $out/bin/.launcher $out/bin/${pname}
|
||||||
|
|
||||||
|
runHook postInstall
|
||||||
|
'';
|
||||||
|
|
||||||
|
desktopItems = [
|
||||||
|
(makeDesktopItem {
|
||||||
|
mimeTypes = [];
|
||||||
|
|
||||||
|
name = pname;
|
||||||
|
exec = pname;
|
||||||
|
icon = pname;
|
||||||
|
desktopName = "Bricklink studio";
|
||||||
|
genericName = "Lego creation app";
|
||||||
|
categories = [];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
desktopIcon = makeDesktopIcon {
|
||||||
|
name = pname;
|
||||||
|
src = ./studio.png;
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "App for creating lego builds";
|
||||||
|
homepage = "https://www.bricklink.com/v3/studio/main.page";
|
||||||
|
license = "";
|
||||||
|
maintainers = [];
|
||||||
|
platforms = [ "x86_64-linux" ];
|
||||||
|
};
|
||||||
|
}
|
BIN
packages/studio.png
Normal file
BIN
packages/studio.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 50 KiB |
Loading…
Add table
Add a link
Reference in a new issue