Add Gowin FPGA toolchain for desktop development.
Vendor Gowin EDU IDE, add openFPGALoader/Yosys/nextpnr/Apicula, and USB udev rules for Tang boards.
This commit is contained in:
+4
-1
@@ -16,7 +16,7 @@ let
|
||||
version = "4.1.1";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://dldir1v6.qq.com/weixin/Universal/Linux/WeChatLinux_x86_64.AppImage";
|
||||
hash = "sha256-RX26ArkbAxzdRBLu4HT7v/udnQax5Q/Bgi00hw4RSZA=";
|
||||
hash = "sha256-T1StKQLs1vb9xWgLc1R/gNVCO/RwsBI3pXmi5bPK7us=";
|
||||
};
|
||||
meta = pkgs.wechat.meta;
|
||||
};
|
||||
@@ -140,5 +140,8 @@ in
|
||||
eza
|
||||
fzf
|
||||
btop
|
||||
|
||||
opencode
|
||||
cursor-cli
|
||||
];
|
||||
}
|
||||
|
||||
@@ -55,6 +55,11 @@
|
||||
"flakes"
|
||||
];
|
||||
auto-optimise-store = true;
|
||||
substituters = [
|
||||
"https://mirrors.tuna.tsinghua.edu.cn/nix-channels/store"
|
||||
"https://mirrors.ustc.edu.cn/nix-channels/store"
|
||||
"https://cache.nixos.org"
|
||||
];
|
||||
};
|
||||
|
||||
nix.gc = {
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
# 高云(Gowin)FPGA 开发:开源工具链 + 教育版 IDE + 下载器权限
|
||||
# IDE 包装源自 ryan4yin/nur-packages(本地 vendoring,因上游已注释掉该包)
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
gowin-eda-edu-ide = pkgs.callPackage ../pkgs/gowin-eda-edu-ide { };
|
||||
in
|
||||
{
|
||||
# openFPGALoader / 串口下载器
|
||||
users.groups.plugdev = { };
|
||||
users.users.whc.extraGroups = [
|
||||
"dialout"
|
||||
"plugdev"
|
||||
];
|
||||
|
||||
# FTDI / Sipeed Tang 等常见下载器(含 TAG+=uaccess,登录用户可直接访问)
|
||||
services.udev.extraRules = ''
|
||||
# openFPGALoader — FTDI 常见 VID/PID(Tang Nano / Primer 等)
|
||||
ACTION!="add|change", GOTO="gowin_fpga_end"
|
||||
SUBSYSTEM!="usb|tty|hidraw", GOTO="gowin_fpga_end"
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6010", MODE="0664", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6014", MODE="0664", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6015", MODE="0664", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001", MODE="0664", GROUP="plugdev", TAG+="uaccess"
|
||||
# Sipeed / CMSIS-DAP 类
|
||||
ATTRS{idVendor}=="1d50", MODE="0664", GROUP="plugdev", TAG+="uaccess"
|
||||
ATTRS{idVendor}=="0d28", ATTRS{idProduct}=="0204", MODE="0664", GROUP="plugdev", TAG+="uaccess"
|
||||
LABEL="gowin_fpga_end"
|
||||
'';
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# 烧录(官方 Programmer 在 NixOS 上不稳定,优先用这个)
|
||||
openfpgaloader
|
||||
|
||||
# 开源综合 / 布局布线(Apicula → nextpnr himbaechel/gowin)
|
||||
yosys
|
||||
nextpnr
|
||||
python3Packages.apycula
|
||||
|
||||
# 仿真与波形
|
||||
iverilog
|
||||
verilator
|
||||
gtkwave
|
||||
|
||||
# 高云教育版 IDE:gowin-env / gowin-ide → 启动 gw_ide
|
||||
# 强制 X11,避免 Wayland 下 Qt 插件崩溃
|
||||
(writeShellScriptBin "gowin-ide" ''
|
||||
export QT_QPA_PLATFORM=xcb
|
||||
exec ${gowin-eda-edu-ide}/bin/gowin-env "$@"
|
||||
'')
|
||||
gowin-eda-edu-ide
|
||||
];
|
||||
}
|
||||
+1
-1
@@ -15,7 +15,7 @@
|
||||
powerManagement.enable = false;
|
||||
powerManagement.finegrained = false;
|
||||
# Ada (40 系) 推荐开源内核模块;若黑屏可改 open = false
|
||||
open = true;
|
||||
open = false;
|
||||
nvidiaSettings = true;
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user