This commit is contained in:
Matthew Bessette
2026-03-11 12:08:03 -04:00
parent 618595addb
commit a3d6b1bb1c
4 changed files with 75 additions and 13 deletions

View File

@@ -14,6 +14,9 @@
# Add Homebrew to PATH # Add Homebrew to PATH
environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" ]; environment.systemPath = [ "/opt/homebrew/bin" "/opt/homebrew/sbin" ];
# Biome config
environment.etc."biome.json".source = ../../config/biome.json;
system.primaryUser = "matthew.bessette"; system.primaryUser = "matthew.bessette";
users.users."matthew.bessette" = { users.users."matthew.bessette" = {
name = "matthew.bessette"; name = "matthew.bessette";

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }: { { config, pkgs, ... }: {
home.stateVersion = "23.11"; home.stateVersion = "23.11";
home.username = "matthew.bessette"; home.username = "matthew.bessette";
@@ -23,8 +23,6 @@
buf buf
]; ];
xdg.configFile."biome.json".source = ../../config/biome.json;
# Enable direnv for automatic environment switching # Enable direnv for automatic environment switching
programs.direnv = { programs.direnv = {
enable = true; enable = true;
@@ -51,6 +49,7 @@
ms-python.python ms-python.python
ms-python.vscode-pylance ms-python.vscode-pylance
redhat.vscode-xml redhat.vscode-xml
# typescriptteam.native-preview
]; ];
}; };
}; };
@@ -98,5 +97,35 @@
# Points to the Homebrew location mentioned in your caveat # Points to the Homebrew location mentioned in your caveat
ANDROID_HOME = "/opt/homebrew/share/android-commandlinetools"; ANDROID_HOME = "/opt/homebrew/share/android-commandlinetools";
JAVA_HOME = "${pkgs.jdk17}"; JAVA_HOME = "${pkgs.jdk17}";
NPM_CONFIG_PREFIX = "${config.home.homeDirectory}/.npm-global";
};
home.sessionPath = [
"${config.home.homeDirectory}/.npm-global/bin"
];
home.file.".npmrc".text = ''
prefix=${config.home.homeDirectory}/.npm-global
'' ;
programs.git = {
enable = true;
settings.user = {
name = "Matthew Bessette";
email = "matthew.bessette@hicleo.com";
};
settings.init.defaultBranch = "main";
# This creates ~/.config/git/ignore and sets core.excludesFile
ignores = [
"biome.json"
"flake.lock"
"flake.nix"
".DS_Store"
".direnv"
".envrc"
];
}; };
} }

View File

@@ -1,22 +1,45 @@
{ {
"$schema": "https://biomejs.dev/schemas/2.4.5/schema.json", "$schema": "https://biomejs.dev/schemas/2.4.6/schema.json",
"organizeImports": { "linter": {
"enabled": true "enabled": false
},
"assist": {
"enabled": false
}, },
"formatter": { "formatter": {
"enabled": true, "enabled": true,
"formatWithErrors": false, "formatWithErrors": false,
"attributePosition": "auto",
"indentStyle": "space", "indentStyle": "space",
"indentWidth": 2, "indentWidth": 2,
"lineWidth": 140, "lineWidth": 140,
"attributePosition": "auto" "lineEnding": "lf",
"bracketSpacing": true,
"trailingNewline": true
},
"graphql": {
"formatter": {
"quoteStyle": "double"
}
}, },
"javascript": { "javascript": {
"parser": {
"unsafeParameterDecoratorsEnabled": true
},
"formatter": { "formatter": {
"quoteStyle": "single", "arrowParentheses": "always",
"bracketSameLine": false,
"bracketSpacing": true,
"jsxQuoteStyle": "double", "jsxQuoteStyle": "double",
"trailingCommas": "all", "quoteProperties": "asNeeded",
"arrowParentheses": "asNeeded" "quoteStyle": "single",
"semicolons": "always",
"trailingCommas": "all"
}
},
"json": {
"formatter": {
"trailingCommas": "none"
} }
} }
} }

View File

@@ -1,11 +1,11 @@
{ {
"$schema": "vscode://schemas/settings/user", "$schema": "vscode://schemas/settings/user",
"debug.javascript.autoAttachFilter": "disabled",
"editor.tabSize": 2, "editor.tabSize": 2,
"editor.unicodeHighlight.ambiguousCharacters": false, "editor.unicodeHighlight.ambiguousCharacters": false,
"editor.unicodeHighlight.invisibleCharacters": false, "editor.unicodeHighlight.invisibleCharacters": false,
"editor.formatOnSave": true, "editor.formatOnSave": true,
"editor.defaultFormatter": "biomejs.biome", "editor.defaultFormatter": "biomejs.biome",
"debug.javascript.autoAttachFilter": "disabled",
"[json]": { "[json]": {
"editor.defaultFormatter": "biomejs.biome", "editor.defaultFormatter": "biomejs.biome",
"editor.formatOnSave": true "editor.formatOnSave": true
@@ -30,7 +30,10 @@
"js/ts.preferences.importModuleSpecifier": "relative", "js/ts.preferences.importModuleSpecifier": "relative",
"git.openRepositoryInParentFolders": "never", "git.openRepositoryInParentFolders": "never",
"github.copilot.nextEditSuggestions.enabled": true, "github.copilot.nextEditSuggestions.enabled": true,
"chat.tools.terminal.autoApprove": { "yarn test": true, "npm test": true }, "chat.tools.terminal.autoApprove": {
"yarn test": true,
"npm test": true
},
"gitlens.ai.model": "vscode", "gitlens.ai.model": "vscode",
"gitlens.ai.vscode.model": "copilot:gpt-4.1", "gitlens.ai.vscode.model": "copilot:gpt-4.1",
"chat.viewSessions.orientation": "stacked", "chat.viewSessions.orientation": "stacked",
@@ -43,5 +46,9 @@
"https://json-schema.org/": true, "https://json-schema.org/": true,
"https://developer.microsoft.com/json-schemas/": true, "https://developer.microsoft.com/json-schemas/": true,
"https://biomejs.dev": true "https://biomejs.dev": true
} },
"oxc.enable": null,
"oxc.enable.oxlint": true,
"js/ts.updateImportsOnFileMove.enabled": "always",
"js/ts.experimental.useTsgo": true
} }