Compare commits
2 commits
80ad498f94
...
d87462981e
| Author | SHA1 | Date | |
|---|---|---|---|
| d87462981e | |||
| 75dcac8d17 |
4 changed files with 51 additions and 1 deletions
|
|
@ -87,7 +87,6 @@
|
||||||
# TODO: move this into a fonts module
|
# TODO: move this into a fonts module
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
aileron
|
aileron
|
||||||
nerd-fonts.open-dyslexic
|
|
||||||
];
|
];
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,7 @@ in {
|
||||||
"javascript.updateImportsOnFileMove.enabled" = "always";
|
"javascript.updateImportsOnFileMove.enabled" = "always";
|
||||||
"editor.tabSize" = 2;
|
"editor.tabSize" = 2;
|
||||||
"editor.insertSpaces" = false;
|
"editor.insertSpaces" = false;
|
||||||
|
"terminal.integrated.fontFamily" = "'Droid Sans Mono', 'monospace', monospace";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
@ -40,6 +41,7 @@ in {
|
||||||
oneDark.enable = true;
|
oneDark.enable = true;
|
||||||
atomKeybindings.enable = true;
|
atomKeybindings.enable = true;
|
||||||
openRemoteSsh.enable = true;
|
openRemoteSsh.enable = true;
|
||||||
|
openDyslexicFont.enable = true;
|
||||||
|
|
||||||
# html development
|
# html development
|
||||||
autoRenameTag.enable = true;
|
autoRenameTag.enable = true;
|
||||||
|
|
|
||||||
|
|
@ -23,5 +23,6 @@
|
||||||
./vitest.nix
|
./vitest.nix
|
||||||
./direnv.nix
|
./direnv.nix
|
||||||
./conventionalCommits.nix
|
./conventionalCommits.nix
|
||||||
|
./openDyslexicFont.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,48 @@
|
||||||
|
{
|
||||||
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}: {
|
||||||
|
options.programs.vscode.profiles = lib.mkOption {
|
||||||
|
type = lib.types.attrsOf (lib.types.submodule ({config, ...}: {
|
||||||
|
options = {
|
||||||
|
extraExtensions.openDyslexicFont = {
|
||||||
|
enable = lib.mkEnableOption "should OpenDyslexic font be set as the default font for VSCode";
|
||||||
|
package = lib.mkPackageOption pkgs "nerd-fonts.open-dyslexic" {
|
||||||
|
default = ["nerd-fonts" "open-dyslexic"];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
config = lib.mkIf config.extraExtensions.openDyslexicFont.enable {
|
||||||
|
userSettings = {
|
||||||
|
"editor.fontFamily" = "'OpenDyslexicM Nerd Font Mono', Droid Sans Mono, monospace";
|
||||||
|
"editor.fontSize" = 14;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}));
|
||||||
|
};
|
||||||
|
|
||||||
|
config = let
|
||||||
|
enabledProfiles =
|
||||||
|
lib.filter (profile: profile.extraExtensions.openDyslexicFont.enable or false)
|
||||||
|
(lib.attrValues config.programs.vscode.profiles);
|
||||||
|
|
||||||
|
anyProfileUsesOpenDyslexicFont = enabledProfiles != [];
|
||||||
|
|
||||||
|
fontPackages = lib.unique (map (profile: profile.extraExtensions.openDyslexicFont.package) enabledProfiles);
|
||||||
|
in {
|
||||||
|
# Ensure OpenDyslexic font packages are installed when any VSCode profile uses them
|
||||||
|
home.packages = fontPackages;
|
||||||
|
|
||||||
|
fonts.fontconfig.enable = lib.mkIf anyProfileUsesOpenDyslexicFont true;
|
||||||
|
|
||||||
|
# Add assertion to ensure the fonts are available
|
||||||
|
assertions =
|
||||||
|
map (fontPkg: {
|
||||||
|
assertion = lib.elem fontPkg config.home.packages;
|
||||||
|
message = "OpenDyslexic font package '${fontPkg.name or "unknown"}' must be installed when using openDyslexicFont extension for VSCode.";
|
||||||
|
})
|
||||||
|
fontPackages;
|
||||||
|
};
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue