Skip to content

Commit ea18ddb

Browse files
committed
fix(nixos): add fhs launcher for fpga tools
1 parent 9325896 commit ea18ddb

2 files changed

Lines changed: 65 additions & 0 deletions

File tree

hosts/nixos/default.nix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@ in
9797
../../modules/shared/home.nix
9898

9999
# NixOS-specific home-manager configuration
100+
../../modules/nixos/fpga-tools.nix
100101
../../modules/nixos/gpg.nix
101102
../../modules/nixos/shell.nix
102103

modules/nixos/fpga-tools.nix

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{ pkgs, lib, ... }:
2+
3+
let
4+
version = "2025.2";
5+
root = "/mnt/nvme/Xilinx/${version}/Vivado";
6+
launcher = pkgs.buildFHSEnv {
7+
name = "fpga-tools";
8+
targetPkgs =
9+
pkgs: with pkgs; [
10+
bash
11+
coreutils
12+
fontconfig
13+
freetype
14+
gcc
15+
glib
16+
graphviz
17+
gtk2
18+
gtk3
19+
libuuid
20+
ncurses5
21+
nettools
22+
stdenv.cc.cc
23+
unzip
24+
libx11
25+
libxext
26+
libxft
27+
libxi
28+
libxrender
29+
libxtst
30+
libxcb
31+
zlib
32+
];
33+
runScript = ''
34+
env LIBRARY_PATH=/usr/lib \
35+
C_INCLUDE_PATH=/usr/include \
36+
CPLUS_INCLUDE_PATH=/usr/include \
37+
CMAKE_LIBRARY_PATH=/usr/lib \
38+
CMAKE_INCLUDE_PATH=/usr/include \
39+
${root}/bin/vivado "$@"
40+
'';
41+
};
42+
desktopEntry = ''
43+
[Desktop Entry]
44+
Type=Application
45+
Name=Vivado ${version}
46+
Comment=Vivado ${version}
47+
Icon=${root}/doc/images/vivado_logo.png
48+
Exec=${lib.getExe launcher}
49+
Terminal=false
50+
Categories=Development;Engineering;
51+
StartupNotify=true
52+
'';
53+
in
54+
{
55+
home.packages = [
56+
launcher
57+
];
58+
59+
home.file.".local/share/applications/Vivado ${version}.desktop".text = desktopEntry;
60+
home.file."Desktop/Vivado ${version}.desktop" = {
61+
text = desktopEntry;
62+
executable = true;
63+
};
64+
}

0 commit comments

Comments
 (0)