- Shell 75.2%
- Nix 24.8%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .gitignore | ||
| flake.lock | ||
| flake.nix | ||
| fusion-cli.sh | ||
| fusion360-installer-headless.sh | ||
| fusion360-run.sh | ||
| LICENSE | ||
| package.nix | ||
| README.md | ||
| workspace.code-workspace | ||
Fusion 360 for NixOS
A NixOS flake for running Autodesk Fusion 360 on Linux using Wine, with a streamlined command-line interface and headless installation support.
Overview
This project provides a Nix-based wrapper around the excellent Autodesk Fusion 360 for Linux installer by cryinkfly. It packages the installation and runtime components into a NixOS flake for easier integration into NixOS systems and declarative workflows.
Key Features
- Headless Installation: Automatic, non-interactive installation process, just run
fusion install - Unified CLI: Single
fusioncommand for all operations - Development Shell: Pre-configured environment with all dependencies
Installation
Using Nix Flakes
If Fusion360 is already installed in the expected location, it will be launched, otherwise it will be installed first.
Note: You may still need to auth manually if the mime launch doesn't work. See Authentication
nix run github:nullstring1/fusion-360-flake
Development Shell
Enter a development environment with all dependencies:
nix develop
This provides:
- Wine and Winetricks
- All required system utilities
- The
fusionCLI command
Usage
The fusion command provides a unified interface for all Fusion 360 operations:
fusion # Check if installed and run Fusion 360
fusion install # Install Fusion 360 (headless, automatic)
fusion run # Run Fusion 360
fusion update # Update/reinstall Fusion 360
fusion uninstall # Remove installation
fusion login <url> # Authenticate with Autodesk using signin URL
fusion --help # Show all commands
Installation Options
fusion install --force # Force reinstall
fusion install --use-backup # Restore from backup
fusion install --create-backup # Create backup before install
Authentication
After installing Fusion 360, you'll need to authenticate with your Autodesk account. Due to limitations with the mime setup, the authentication flow may require a workaround:
Login Steps
-
Launch Fusion 360:
fusion -
Click Login in the Fusion 360 window
-
Sign in using your browser when the Autodesk login page opens
-
Inspect the Launch Button:
- After signing in, you'll see a "Launch" or "Open" button
- Right-click on the button and select "Inspect Element" (or "Inspect")
-
Copy the Authentication URL:
- Look at the HTML element in the developer tools
- Find the URL inside the element (it will start with
adskidmgr://) - Copy the entire URL
-
Authenticate via CLI:
fusion login "adskidmgr://..."Replace
adskidmgr://...with the URL you copied
After running the login command, Fusion 360 should authenticate and launch successfully.
Project Structure
.
├── flake.nix # Nix flake definition
├── package.nix # Package derivation
├── fusion-cli.sh # Unified CLI interface
├── fusion360-installer-headless.sh # Headless installer wrapper
├── fusion360-run.sh # Runtime launcher
└── locale/ # Translation files (13 languages)
How It Works
- Flake Configuration: Downloads the original installer from cryinkfly's repository
- Headless Wrapper: Automates the installation process without GUI interaction
- Runtime Environment: Configures Wine prefix and launches Fusion 360
- CLI Interface: Provides a unified command for all operations
Installation Location
By default, Fusion 360 is installed to:
$HOME/.autodesk_fusion/
├── wineprefixes/
│ └── default/ # Wine prefix for Fusion 360
├── logs/ # Installation and runtime logs
├── downloads/ # Downloaded installers and extensions
└── .install-state # Installation state tracking
Requirements
- NixOS or Nix with flakes enabled
- x86_64 Linux system
- Active internet connection for installation
- Autodesk account for authentication
Configuration
Set the FUSION360_INSTALL_DIR environment variable to change the installation directory:
export FUSION360_INSTALL_DIR=/custom/path
fusion install
Troubleshooting
View Installation Logs
cat ~/.autodesk_fusion/logs/install-*.log
View Runtime Logs
cat ~/.autodesk_fusion/logs/run-*.log
Clean Reinstall
fusion uninstall
fusion install --force
Modifications to Original Installer
This wrapper applies several patches to the original cryinkfly installer to enable headless operation and fix compatibility issues:
Headless Installation Patches
-
Automated Prompts: All interactive
read -pprompts are automatically answered:- Installation confirmation: auto-yes
- GPU choice: defaults to option 1
- Wine repository: defaults to option 1
- Firefox snap: skipped
-
Qt6WebEngineCore.dll Path Fix: The installer downloads
Qt6WebEngineCore.dll.7zto the host downloads directory but expects it in Wine'sC:\users\$USER\Downloads. Added a copy step before extraction. -
Qt6WebEngineCore.dll Patch Fix: After extraction, the DLL is in Wine's Downloads folder, not the host downloads folder. Updated the copy path in the patching function.
-
Disabled Auto-Launch: Commented out the
run_wine_autodesk_fusionfunction call that automatically launches Fusion 360 after installation, allowing for headless completion. -
Disabled Browser Opening: Commented out
xdg-opencalls for sponsorship links to prevent browser windows during headless installation. -
MIME Handler Management: Disabled the installer's MIME handler setup since the flake creates its own
adskidmgr-opener.desktopfile in the Nix store (the installer can't write to read-only locations).
Graphics Optimization
Added automatic graphics settings configuration for optimal Linux performance:
- Graphics Driver: Set to
VirtualDeviceGLCore. You may have better performance with DX9 or DX11, try these out too. - Chromium Backend: Set to
Vulkanfor embedded browser frames - Qt Rendering API: Set to
OpenGLfor UI rendering
These settings are written to NMachineSpecificOptions.xml automatically after installation.
Development Features
-
Wine Prefix Backup: Optional backup/restore of Wine prefix to speed up development iterations
- Use
--create-backupto backup after Wine setup - Use
--use-backupto restore from backup and skip Wine setup
- Use
-
State Tracking: Creates
.install-statefile with installation metadata (version, timestamp, installer hash) -
Comprehensive Logging: All installation output is logged to timestamped files in
~/.autodesk_fusion/logs/
Credits
This project is a NixOS wrapper around the original Autodesk Fusion 360 for Linux installer created by cryinkfly.
All credit for the core installation logic and Wine configuration goes to cryinkfly. This flake simply packages it for NixOS users and adds a streamlined CLI interface.
Please consider supporting cryinkfly for their excellent work making Fusion 360 available on Linux.
License
This wrapper is licensed under the MIT License.
The original Autodesk Fusion 360 for Linux installer by cryinkfly has its own license terms.
Autodesk Fusion 360 itself is proprietary software owned by Autodesk, Inc. You must have a valid license to use it.