- Move 32+ app-specific scripts from features/apps/scripts/ to features/scripts/utils/ for centralized packaging. - Create individual Nix modules for orphaned app configurations (btop, kitty, tmux, etc.) in features/apps/ using xdg.configFile. - Fix broken paths in core/system/makima.nix and features/apps/vscode.nix. - Update VSCode configuration to use the modern 'profiles.default.userSettings' API, resolving deprecation warnings. - Merge duplicate 'nomarchy-launch-walker' scripts into a single robust utility. - Remove stale root 'config/' directory. - Update README.md and docs/creating-themes.md to reflect the new architecture and keybindings. - Ensure all modules are correctly imported and verified via nix flake check.
58 lines
1.6 KiB
Nix
58 lines
1.6 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
let
|
|
themePath = ../../themes/palettes + "/${config.nomarchy.theme}/apps/vscode.json";
|
|
themeConfig = if builtins.pathExists themePath then
|
|
builtins.fromJSON (builtins.readFile themePath)
|
|
else
|
|
{ name = "Default Dark Modern"; };
|
|
|
|
# Development extensions that match the system theme
|
|
devExtensions = with pkgs.vscode-extensions; [
|
|
# Language support
|
|
ms-python.python
|
|
rust-lang.rust-analyzer
|
|
golang.go
|
|
jnoortheen.nix-ide
|
|
|
|
# Git integration
|
|
eamodio.gitlens
|
|
|
|
# Editor enhancements
|
|
esbenp.prettier-vscode
|
|
dbaeumer.vscode-eslint
|
|
bradlc.vscode-tailwindcss
|
|
|
|
# Theme extensions (provide color themes matching nomarchy palettes)
|
|
catppuccin.catppuccin-vsc
|
|
enkia.tokyo-night
|
|
arcticicestudio.nord-visual-studio-code
|
|
sainnhe.everforest
|
|
mvllow.rose-pine
|
|
];
|
|
in
|
|
{
|
|
options.nomarchy.vscode = {
|
|
devExtensions = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Whether to install development extensions for VSCode.";
|
|
};
|
|
};
|
|
|
|
config = {
|
|
programs.vscode = {
|
|
enable = lib.mkDefault true;
|
|
package = lib.mkDefault pkgs.vscode;
|
|
profiles.default.userSettings = lib.mkDefault {
|
|
"update.mode" = "none";
|
|
"workbench.colorTheme" = themeConfig.name;
|
|
"window.titleBarStyle" = "custom";
|
|
"editor.fontFamily" = "'${config.nomarchy.fonts.monospace}', 'Droid Sans Mono', monospace";
|
|
"terminal.integrated.fontFamily" = config.nomarchy.fonts.monospace;
|
|
};
|
|
extensions = lib.mkIf config.nomarchy.vscode.devExtensions (lib.mkDefault devExtensions);
|
|
};
|
|
};
|
|
}
|