diff --git a/hosts/local-packages.nix b/hosts/local-packages.nix index af8d89c..a0bc684 100644 --- a/hosts/local-packages.nix +++ b/hosts/local-packages.nix @@ -110,6 +110,8 @@ in { curl tree mesa + libglvnd + mesa.drivers socat gnused gawk diff --git a/modules/default.nix b/modules/default.nix index 830bb07..10f0225 100644 --- a/modules/default.nix +++ b/modules/default.nix @@ -18,6 +18,7 @@ ./npm.nix ./tailscale.nix ./udiskie.nix + ./ffmpeg.nix # ./ollama.nix ]; diff --git a/modules/env.nix b/modules/env.nix index de49f65..8025ac8 100644 --- a/modules/env.nix +++ b/modules/env.nix @@ -4,8 +4,11 @@ ... }: { environment.shellInit = '' - if [ -d $HOME/.cargo/bin ]; then - export PATH=$PATH:$HOME/.cargo/bin + if [ -d "$HOME/.cargo/bin" ]; then + export PATH="$PATH:$HOME/.cargo/bin" + fi + if [ -d "$HOME/.npm-global/bin" ]; then + export PATH="$PATH:$HOME/.npm-global/bin" fi ''; @@ -14,11 +17,38 @@ VISUAL = "nvim"; TERM = "ghostty"; CC = "${pkgs.gcc}/bin/gcc"; + LUA_PATH = "${pkgs.luajit}/share/lua/5.1/?.lua;${pkgs.luajit}/share/lua/5.1/?/init.lua;;"; + LUA_CPATH = "${pkgs.luajit}/lib/lua/5.1/?.so;;"; PKG_CONFIG_PATH = lib.makeSearchPath "lib/pkgconfig" [ + pkgs.mesa.drivers pkgs.openssl.dev pkgs.libxml2.dev pkgs.zlib.dev + pkgs.ffmpeg + pkgs.portaudio + pkgs.alsa-lib + pkgs.stdenv.cc.cc + pkgs.xorg.libX11.dev + pkgs.xorg.libXtst + pkgs.xorg.libXi.dev ]; + LD_LIBRARY_PATH = lib.makeLibraryPath [ + pkgs.libglvnd + pkgs.mesa.drivers + pkgs.gcc-unwrapped.lib + pkgs.linuxPackages.nvidia_x11 + pkgs.cudatoolkit + pkgs.mangohud + pkgs.portaudio + pkgs.alsa-lib + pkgs.ffmpeg + pkgs.stdenv.cc.cc.lib + pkgs.xorg.libX11 + pkgs.xorg.libXtst + pkgs.xorg.libXi + pkgs.glib + ]; + NPM_CONFIG_PREFIX = "$HOME/.npm-global"; }; environment.pathsToLink = [ diff --git a/modules/ffmpeg.nix b/modules/ffmpeg.nix new file mode 100644 index 0000000..9a32e95 --- /dev/null +++ b/modules/ffmpeg.nix @@ -0,0 +1,5 @@ +{pkgs, ...}: { + environment.systemPackages = with pkgs; [ + ffmpeg_7-full + ]; +} diff --git a/modules/net.nix b/modules/net.nix index a2f689b..90b9e80 100644 --- a/modules/net.nix +++ b/modules/net.nix @@ -19,6 +19,8 @@ # networking.firewall.allowedUDPPorts = [ ... ]; # Or disable the firewall altogether. networking.firewall.enable = false; - # Enable the OpenSSH daemon. services.openssh.enable = true; + + # Disable NetworkManager-wait-online to fix boot hang + systemd.services."NetworkManager-wait-online".enable = false; } diff --git a/modules/npm.nix b/modules/npm.nix index a35bc0c..ee70a4e 100644 --- a/modules/npm.nix +++ b/modules/npm.nix @@ -21,7 +21,6 @@ in { electron ]; environment.variables = { - NPM_CONFIG_PREFIX = npmGlobalDir; PATH = [ "${pkgs.nodejs_22}/bin" "${npmGlobalDir}/bin" diff --git a/modules/python.nix b/modules/python.nix index 5e30a35..ed35850 100644 --- a/modules/python.nix +++ b/modules/python.nix @@ -18,7 +18,8 @@ gccLibPath = "${pkgs.gcc-unwrapped.lib}/lib"; nvidiaLibPath = "${pkgs.linuxPackages.nvidia_x11}/lib"; cudaLibPath = "${pkgs.cudatoolkit}/lib"; - ldLibraryPath = "${gccLibPath}:${nvidiaLibPath}:${cudaLibPath}"; + glvndLibPath = "${pkgs.libglvnd}/lib"; + ldLibraryPath = "${gccLibPath}:${nvidiaLibPath}:${cudaLibPath}:${glvndLibPath}"; pythonEnv = pkgs.python311.buildEnv.override { extraLibs = with py; [ @@ -36,6 +37,7 @@ jedi libcst wheel + jupyterlab ]; extraOutputsToInstall = ["out"]; postBuild = '' @@ -69,7 +71,6 @@ in { ]; environment.variables = { PIP_CONFIG_FILE = "${pipConf}"; - LD_LIBRARY_PATH = lib.mkForce "${ldLibraryPath}"; }; }; } diff --git a/modules/steam.nix b/modules/steam.nix index 3f3fa22..3a38319 100644 --- a/modules/steam.nix +++ b/modules/steam.nix @@ -1,9 +1,4 @@ -{ - pkgs, - lib, - config, - ... -}: { +{pkgs, ...}: { programs.steam = { enable = true; remotePlay.openFirewall = true; @@ -35,14 +30,6 @@ alsa-lib ffmpeg stdenv.cc.cc.lib + libglvnd ]; - environment.sessionVariables = { - LD_LIBRARY_PATH = lib.makeLibraryPath [ - pkgs.mangohud - pkgs.portaudio - pkgs.alsa-lib - pkgs.ffmpeg - pkgs.stdenv.cc.cc.lib - ]; - }; } diff --git a/modules/user.nix b/modules/user.nix index a5f871d..f38161b 100644 --- a/modules/user.nix +++ b/modules/user.nix @@ -1,7 +1,4 @@ -{ - pkgs, - ... -}: let +{pkgs, ...}: let fish-rust = pkgs.callPackage ../pkgs/fish-rust {}; in { # Define a user account. Don't forget to set a password with 'passwd'. @@ -10,10 +7,6 @@ in { description = "Mon Aie"; extraGroups = ["networkmanager" "wheel" "docker" "video"]; shell = fish-rust; - packages = with pkgs; [ - # User-specific packages can be defined here - # or through home-manager - ]; }; security.sudo = {