feat(ags): install node_modules in nix

This commit is contained in:
matt1432 2024-08-06 20:35:11 -04:00
parent 9ea4b26421
commit 0fa79307c1
9 changed files with 123 additions and 239 deletions
nixosModules

View file

@ -1,2 +1 @@
use flake "$FLAKE#node"
npm ci

File diff suppressed because it is too large Load diff

View file

@ -1,17 +1,17 @@
{
"name": "ags-node-modules",
"version": "0.0.0",
"main": "config.js",
"type": "module",
"dependencies": {
"fzf": "0.5.2"
},
"devDependencies": {
"fzf": "0.5.2",
"@eslint/js": "9.8.0",
"@stylistic/eslint-plugin": "2.6.1",
"@types/eslint__js": "8.42.3",
"@types/node": "22.0.2",
"@types/node": "22.1.0",
"eslint": "9.8.0",
"eslint-plugin-jsdoc": "48.10.2",
"eslint-plugin-jsdoc": "48.11.0",
"typescript": "5.5.4",
"typescript-eslint": "8.0.0"
"typescript-eslint": "8.0.1"
}
}

View file

@ -10,7 +10,7 @@ in {
inherit (lib) boolToString mkIf toLower;
# Configs
inherit (config.vars) mainUser hostName;
inherit (config.vars) hostName;
cfgDesktop = config.roles.desktop;
flakeDir = config.environment.variables.FLAKE;
@ -24,7 +24,7 @@ in {
services.upower.enable = true;
home-manager.users.${mainUser}.imports = [
home-manager.users.${cfgDesktop.user}.imports = [
ags.homeManagerModules.default
({
@ -46,11 +46,11 @@ in {
'';
agsPkg = config.programs.ags.finalPackage;
agsConfigDir = "${removePrefix "/home/${mainUser}/" flakeDir}/nixosModules/ags";
agsConfigDir = "${removePrefix "/home/${cfgDesktop.user}/" flakeDir}/nixosModules/ags";
in {
assertions = [
{
assertion = hasPrefix "/home/${mainUser}/" flakeDir;
assertion = hasPrefix "/home/${cfgDesktop.user}/" flakeDir;
message = ''
Your $FLAKE environment variable needs to point to a directory in
the main users' home to use the AGS module.
@ -68,6 +68,8 @@ in {
home = {
file = let
inherit (import "${self}/lib.nix" {inherit pkgs;}) buildNodeModules;
mkType = package: girName: {
"${agsConfigDir}/config/types/@girs/${toLower girName}".source =
pkgs.callPackage
@ -100,6 +102,9 @@ in {
hasFprintd: ${boolToString (hostName == "wim")},
};
'';
"${agsConfigDir}/config/node_modules".source =
buildNodeModules ./config "sha256-Jt7HRrQ8xrpkku51zFbJ44IgPaKKXerZBJUyjo5VudQ=";
}
// (import ./icons.nix {inherit pkgs agsConfigDir;})
);

View file

@ -25,6 +25,15 @@ in {
createHome = true;
};
# Setup node modules for dev env
home-manager.users.${cfg.user}.home.file = let
flakeDir = config.environment.variables.FLAKE;
modulesDir = "${lib.removePrefix "/home/${cfg.user}/" flakeDir}/nixosModules";
nodeModules = config.home-manager.users.${cfg.user}.home.file."${modulesDir}/ags/config/node_modules".source;
in {
"${modulesDir}/desktop/manager/ags/node_modules".source = nodeModules;
};
home-manager.users.greeter = {
imports = [ags.homeManagerModules.default];