jinzh notes
jinzh notes

NixOS上进行fyne的开发

NixOS上进行fyne的开发
内容纲要

前言

最近把主用系统从arch linux更换到了nixos上面,nixos的函数是配置系统真的很方便,很适合像我这种经常有系统洁癖的人使用(函数式配置文件,易于备份和回复)

fyne

fyne是go中比较流行的包,支持跨平台并且是三端均可打包发布

问题

在更换nixos后,默认情况下nixos是推荐使用nix-shell来作为开发环境进行应用的开发,会单独构建一个shell环境供我们使用

如果我们直接在主环境进行fyne的开发,因为fyne本身需要调用图形库的接口,涉及到了c的调用,会提示缺少相应的工具(如pkg-config没有等等),并且即便在主环境安装完成开发所需要的包,部分环境变量也不会自动设置(nixos官方倾向于使用nix shell进行开发。。。)

解决方案

使用nix-shell构建开发所需要的环境,需要构建nix.shell,内容如下:

{ pkgs ? import <nixpkgs> {} }:

pkgs.mkShell {
  buildInputs = with pkgs;[
    gcc
    go
    pkg-config
    libGL
    xorg.libXext
    xorg.libpciaccess
    xorg.libXcursor
    xorg.libXrandr
    xorg.libXinerama
    xorg.libXi
    xorg.libXxf86vm
  ];
}

在需要便宜的环境下放置该文件并执行nix-shell会自动构建对应的shell环境并进入,随后就可以正常进行编译

影翼

文章作者

发表回复

textsms
account_circle
email

jinzh notes

NixOS上进行fyne的开发
在nixos下正确地构建go fyne开发所需要的环境
扫描二维码继续阅读
2022-09-20