diff --git a/nixcfgs/users/js0ny/programs/distrobox.nix b/nixcfgs/users/js0ny/programs/distrobox.nix deleted file mode 100644 index 659380f..0000000 --- a/nixcfgs/users/js0ny/programs/distrobox.nix +++ /dev/null @@ -1,38 +0,0 @@ -{ - config, - pkgs, - ... -}: { - programs.distrobox = { - enable = true; - containers = { - Xilinx = { - # Container to run Xilinx Vivado Toolchain 2022.2 - image = "ubuntu:22.04"; - additional_packages = "libncurses5-dev libtinfo5 ncurses-compat-libs lsb-release graphviz openssl xscreensaver gcc c++ xvfb xorg-dev libwebkit2gtk-4.0-37 libgtk-3-dev libgtk-4-dev libgvfsdbus gvfs libwayland-client0 libwayland-cursor0 x11-utils"; - home = "${config.home.homeDirectory}/.local/distrobox/Xilinx"; - init_hooks = [ - "sudo chown $USER:$USER /opt" - "sudo mkdir -p /opt/Xilinx" - ]; - }; - }; - }; - home.packages = with pkgs; [ - wmname - ]; - xdg.desktopEntries = { - "xilinx.vivado" = { - name = "Xilinx Vivado 2022.2"; - type = "Application"; - terminal = false; - exec = "distrobox enter Xilinx -- /opt/Xilinx/Vivado/2022.2/bin/vivado"; - }; - "xilinx.vitis" = { - name = "Xilinx Vitis 2022.2"; - type = "Application"; - terminal = false; - exec = "distrobox enter Xilinx -- bash ${config.home.homeDirectory}/.vitis-wr.sh"; - }; - }; -} diff --git a/nixcfgs/users/js0ny/programs/xilinx.nix b/nixcfgs/users/js0ny/programs/xilinx.nix new file mode 100644 index 0000000..cbdf28e --- /dev/null +++ b/nixcfgs/users/js0ny/programs/xilinx.nix @@ -0,0 +1,66 @@ +{ + config, + pkgs, + ... +}: let + xilinxBoxHome = "${config.home.homeDirectory}/.local/distrobox/Xilinx"; + vivadoLauncher = pkgs.writeShellScriptBin "vivado-launcher-2022.2" '' + #!${pkgs.stdenv.shell} + ${pkgs.wmname}/bin/wmname LG3D + + exec ${pkgs.distrobox}/bin/distrobox enter Xilinx -- /opt/Xilinx/Vivado/2022.2/bin/vivado + ''; +in { + programs.distrobox = { + enable = true; + containers = { + Xilinx = { + # Container to run Xilinx Vivado Toolchain 2022.2 + image = "ubuntu:22.04"; + additional_packages = "libncurses5-dev libtinfo5 ncurses-compat-libs lsb-release graphviz openssl xscreensaver gcc c++ xvfb xorg-dev libwebkit2gtk-4.0-37 libgtk-3-dev libgtk-4-dev libgvfsdbus gvfs libwayland-client0 libwayland-cursor0 x11-utils bear"; + home = xilinxBoxHome; + init_hooks = [ + "sudo chown $USER:$USER /opt" + "sudo mkdir -p /opt/Xilinx" + "echo 'source /opt/Xilinx/Vivado/2022.2/settings64.sh' >> ${xilinxBoxHome}/.bashrc" + "echo 'source /opt/Xilinx/Vitis/2022.2/settings64.sh' >> ${xilinxBoxHome}/.bashrc" + "echo 'alias vitis=\"${xilinxBoxHome}/.vitis-wr.sh\"' >> ${xilinxBoxHome}/.bashrc" + ]; + }; + }; + }; + home.packages = with pkgs; [ + wmname + ]; + home.file = { + "${xilinxBoxHome}/.vitis-wr.sh" = { + text = '' + #!/bin/bash + # ~/.vitis-wr.sh + + unset LD_LIBRARY_PATH + unset GIO_MODULE_DIR + unset XDG_DATA_DIRS + + exec /opt/Xilinx/Vitis/2022.2/bin/vitis "$@" + ''; + }; + }; + xdg.desktopEntries = { + "xilinx.vivado" = { + name = "Xilinx Vivado 2022.2"; + type = "Application"; + terminal = false; + icon = "vivado_logo"; + categories = ["Development"]; + exec = "${vivadoLauncher}/bin/vivado-launcher-2022.2"; + }; + "xilinx.vitis" = { + name = "Xilinx Vitis 2022.2"; + type = "Application"; + terminal = false; + categories = ["Development"]; + exec = "env GDK_BACKEND=x11 distrobox enter Xilinx -- bash ${xilinxBoxHome}/.vitis-wr.sh"; + }; + }; +} diff --git a/nixcfgs/users/js0ny/zephyrus.nix b/nixcfgs/users/js0ny/zephyrus.nix index e7ccca3..1e8fc37 100644 --- a/nixcfgs/users/js0ny/zephyrus.nix +++ b/nixcfgs/users/js0ny/zephyrus.nix @@ -20,7 +20,7 @@ ./programs/emacs.nix ./programs/vscode.nix ./programs/shell.nix - ./programs/distrobox.nix + ./programs/xilinx.nix ./programs/mime.nix ./programs/zed-editor.nix ./programs/rime.nix