fixes npm

This commit is contained in:
alsaiduq-lab 2025-06-14 12:10:10 -06:00
parent 59d5072b1b
commit 298fcf8f32
2 changed files with 19 additions and 43 deletions

View file

@ -3,15 +3,6 @@
lib, lib,
... ...
}: { }: {
environment.shellInit = ''
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
'';
environment.variables = { environment.variables = {
EDITOR = "nvim"; EDITOR = "nvim";
VISUAL = "nvim"; VISUAL = "nvim";
@ -24,7 +15,6 @@
pkgs.openssl.dev pkgs.openssl.dev
pkgs.libxml2.dev pkgs.libxml2.dev
pkgs.zlib.dev pkgs.zlib.dev
pkgs.ffmpeg
pkgs.portaudio pkgs.portaudio
pkgs.alsa-lib pkgs.alsa-lib
pkgs.stdenv.cc.cc pkgs.stdenv.cc.cc
@ -41,14 +31,12 @@
pkgs.mangohud pkgs.mangohud
pkgs.portaudio pkgs.portaudio
pkgs.alsa-lib pkgs.alsa-lib
pkgs.ffmpeg
pkgs.stdenv.cc.cc.lib pkgs.stdenv.cc.cc.lib
pkgs.xorg.libX11 pkgs.xorg.libX11
pkgs.xorg.libXtst pkgs.xorg.libXtst
pkgs.xorg.libXi pkgs.xorg.libXi
pkgs.glib pkgs.glib
]; ];
NPM_CONFIG_PREFIX = "$HOME/.npm-global";
}; };
environment.pathsToLink = [ environment.pathsToLink = [

View file

@ -3,57 +3,45 @@
pkgs, pkgs,
lib, lib,
... ...
}: }: let
# TODO:bandaid fix for now
let
npmGlobalDir = "/home/cobray/.npm-global";
npmConf = pkgs.writeText "npmrc" '' npmConf = pkgs.writeText "npmrc" ''
prefix=${npmGlobalDir} prefix=${"$"}{HOME}/.npm-global
cache=/home/cobray/.npm cache=${"$"}{HOME}/.npm
init-module=/home/cobray/.npm-init.js init-module=${"$"}{HOME}/.npm-init.js
''; '';
in { in {
options.npm = { options.npm.enable = lib.mkEnableOption "system-wide npm environment";
enable = lib.mkEnableOption "System NPM Environment";
};
config = lib.mkIf config.npm.enable { config = lib.mkIf config.npm.enable {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
nodejs_22 nodejs_22
nodePackages.npm nodePackages.npm
electron
yarn yarn
bun bun
deno pnpm
nodePackages.eslint electron
nodePackages.typescript
nodePackages.prettier nodePackages.prettier
nodePackages.eslint
nodePackages.sql-formatter nodePackages.sql-formatter
nodePackages.markdownlint-cli nodePackages.markdownlint-cli
nodePackages.stylelint nodePackages.stylelint
nodePackages.htmlhint nodePackages.htmlhint
nodePackages.jsonlint nodePackages.jsonlint
nodePackages.pnpm
nodePackages.typescript
]; ];
environment.variables = {
PATH = [ environment.sessionVariables.PATH =
"${pkgs.nodejs_22}/bin" lib.mkAfter ":${"$"}{HOME}/.npm-global/bin";
"${npmGlobalDir}/bin"
];
};
environment.etc."npmrc".source = npmConf; environment.etc."npmrc".source = npmConf;
systemd.user.services.npm-setup = {
description = "Set up NPM user configuration"; systemd.user.services."npm-setup" = {
description = "Install .npmrc";
wantedBy = ["default.target"]; wantedBy = ["default.target"];
script = '' script = ''
if [ ! -f ~/.npmrc ]; then install -m600 -D ${npmConf} "$HOME/.npmrc"
cp ${npmConf} ~/.npmrc
chmod u+rw ~/.npmrc
fi
''; '';
serviceConfig = { serviceConfig.Type = "oneshot";
Type = "oneshot";
RemainAfterExit = true;
};
}; };
}; };
} }