Theme System: - Move all theme app configs to apps/ subdirectory (20 themes) - Add theme-loader.nix for dynamic theme config deployment - Simplify stylix.nix to focus on base theming only Override System: - Add overrides.nix for file-based config overrides - Add behavior-configs.nix for non-visual configuration - Split hypr/nomarchy.conf into behavior vs visual sections Module Improvements: - Add lib.mkDefault to all customizable settings - Add modules/lib/ with shared utilities and state schema - Update all home and system modules for downstream overridability Installer: - New minimal TTY installer (installer/install.sh) - Golden path: BTRFS + LUKS2 (disko-golden.nix) - New installer-iso.nix for TTY-only installation - Keep graphical installer as installerIsoGraphical option Cleanup: - Remove obsolete install.sh, disko-ext4.nix, install-nomarchy.sh - Update live-iso.nix references - Add .claude/ to .gitignore for local IDE settings Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
54 lines
1.5 KiB
Nix
54 lines
1.5 KiB
Nix
{ config, pkgs, lib, ... }:
|
|
|
|
let
|
|
themeConfig = builtins.fromJSON (builtins.readFile (../../assets/themes + "/${config.nomarchy.theme}/vscode.json"));
|
|
|
|
# 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;
|
|
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);
|
|
};
|
|
};
|
|
}
|