Add configuration options for languages
This commit is contained in:
parent
461763d132
commit
e159b135ff
10 changed files with 296 additions and 270 deletions
|
@ -1,35 +1,33 @@
|
|||
{ flake-parts-lib, lib, ... }:
|
||||
let
|
||||
inherit (lib) mkOption types;
|
||||
in
|
||||
{
|
||||
imports = [ ../base ];
|
||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
options.helix = {
|
||||
options.editors.helix = {
|
||||
enable = lib.mkEnableOption "Helix";
|
||||
# https://github.com/helix-editor/helix/blob/master/languages.toml
|
||||
# https://helix-editor.vercel.app/reference/formatters
|
||||
# https://docs.helix-editor.com/lang-support.html
|
||||
languages = mkOption {
|
||||
languages = lib.mkOption {
|
||||
description = ''
|
||||
Configuration for Helix `languages.toml`.
|
||||
'';
|
||||
# type = types.attrs;
|
||||
type = types.submodule {
|
||||
type = lib.types.submodule {
|
||||
options = {
|
||||
language = mkOption {
|
||||
language = lib.mkOption {
|
||||
description = ''
|
||||
`language` in `languages.toml`.
|
||||
'';
|
||||
type = types.listOf types.attrs;
|
||||
type = lib.types.listOf lib.types.attrs;
|
||||
default = [ ];
|
||||
};
|
||||
language-server = mkOption {
|
||||
language-server = lib.mkOption {
|
||||
description = ''
|
||||
`language-server` in `languages.toml`.
|
||||
'';
|
||||
type = types.attrs;
|
||||
type = lib.types.attrs;
|
||||
default = { };
|
||||
};
|
||||
};
|
||||
|
@ -37,13 +35,13 @@ in
|
|||
default = { };
|
||||
};
|
||||
};
|
||||
config.devshells.default =
|
||||
config.devshells.default = lib.mkIf config.editors.helix.enable (
|
||||
let
|
||||
tomlFormatter = pkgs.formats.toml { };
|
||||
helix = {
|
||||
languages = {
|
||||
name = "languages.toml";
|
||||
text = config.helix.languages;
|
||||
text = config.editors.helix.languages;
|
||||
path = tomlFormatter.generate "languages.toml" helix.languages.text;
|
||||
};
|
||||
directory = {
|
||||
|
@ -72,7 +70,8 @@ in
|
|||
${pkgs.uutils-coreutils-noprefix}/bin/rm -rf ./${helix.directory.name}
|
||||
${pkgs.uutils-coreutils-noprefix}/bin/ln -fsn ${helix.directory.path} ./${helix.directory.name}
|
||||
'';
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
{ ... }:
|
||||
let
|
||||
entries = builtins.attrNames (builtins.readDir ./.);
|
||||
configs = builtins.filter (dir: builtins.pathExists (./. + "/${dir}/default.nix")) entries;
|
||||
modules = builtins.filter (dir: builtins.pathExists (./. + "/${dir}/default.nix")) entries;
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../base
|
||||
../helix
|
||||
] ++ builtins.map (name: (./. + "/${name}")) configs;
|
||||
imports = builtins.map (name: (./. + "/${name}")) modules;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }:
|
||||
{ flake-parts-lib, lib, ... }:
|
||||
let
|
||||
dictionary = [
|
||||
"Asahi"
|
||||
|
@ -14,8 +14,13 @@ let
|
|||
];
|
||||
in
|
||||
{
|
||||
perSystem =
|
||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
options.languages.en-us = {
|
||||
enable = lib.mkEnableOption "en_US";
|
||||
};
|
||||
config =
|
||||
let
|
||||
tomlFormatter = pkgs.formats.toml { };
|
||||
vale = {
|
||||
|
@ -88,7 +93,7 @@ in
|
|||
};
|
||||
in
|
||||
{
|
||||
helix.languages.language-server = {
|
||||
editors.helix.languages.language-server = {
|
||||
# https://ltex-plus.github.io/ltex-plus/supported-languages.html
|
||||
ltex-ls-plus = {
|
||||
command = "${pkgs.ltex-ls-plus}/bin/ltex-ls-plus";
|
||||
|
@ -148,4 +153,6 @@ in
|
|||
# '';
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
{ ... }:
|
||||
{ flake-parts-lib, lib, ... }:
|
||||
{
|
||||
imports = [ ../en-us ];
|
||||
perSystem =
|
||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
helix.languages = {
|
||||
options.languages.markdown.enable = lib.mkEnableOption "Markdown";
|
||||
config = {
|
||||
editors.helix.languages = {
|
||||
language = [
|
||||
{
|
||||
name = "markdown";
|
||||
|
@ -40,4 +42,6 @@
|
|||
};
|
||||
pre-commit.settings.hooks.markdownlint.enable = true;
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
{ ... }:
|
||||
{ flake-parts-lib, lib, ... }:
|
||||
{
|
||||
imports = [ ../en-us ];
|
||||
perSystem =
|
||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
helix.languages = {
|
||||
options.languages.nix.enable = lib.mkEnableOption "Nix";
|
||||
config = lib.mkIf config.languages.nix.enable {
|
||||
editors.helix.languages = {
|
||||
language = [
|
||||
{
|
||||
name = "nix";
|
||||
|
@ -31,4 +33,6 @@
|
|||
strict = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
{ ... }:
|
||||
{ flake-parts-lib, lib, ... }:
|
||||
{
|
||||
imports = [ ../en-us ];
|
||||
perSystem =
|
||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
helix.languages = {
|
||||
options.languages.toml.enable = lib.mkEnableOption "TOML";
|
||||
config = {
|
||||
editors.helix.languages = {
|
||||
language = [
|
||||
{
|
||||
name = "toml";
|
||||
|
@ -29,4 +31,6 @@
|
|||
treefmt.programs.taplo.enable = true;
|
||||
pre-commit.settings.hooks.check-toml.enable = true;
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
{ ... }:
|
||||
{ flake-parts-lib, lib, ... }:
|
||||
{
|
||||
imports = [ ../en-us ];
|
||||
perSystem =
|
||||
options.perSystem = flake-parts-lib.mkPerSystemOption (
|
||||
{ config, pkgs, ... }:
|
||||
{
|
||||
helix.languages = {
|
||||
options.languages.yaml.enable = lib.mkEnableOption "YAML";
|
||||
config = {
|
||||
editors.helix.languages = {
|
||||
language = [
|
||||
{
|
||||
name = "yaml";
|
||||
|
@ -41,4 +43,6 @@
|
|||
sort-simple-yaml.enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
);
|
||||
}
|
||||
|
|
|
@ -47,6 +47,14 @@
|
|||
perSystem =
|
||||
{ pkgs, system, ... }:
|
||||
{
|
||||
editors.helix.enable = true;
|
||||
languages = {
|
||||
en-us.enable = true;
|
||||
markdown.enable = true;
|
||||
nix.enable = true;
|
||||
toml.enable = true;
|
||||
yaml.enable = true;
|
||||
};
|
||||
# https://flake.parts/options/devshell.html
|
||||
devshells.default = {
|
||||
packages = [ pkgs.forgejo-cli ];
|
||||
|
|
|
@ -567,7 +567,7 @@ in
|
|||
"en-US"
|
||||
"en"
|
||||
];
|
||||
vencord = ./vencord.nix; # TODO: Fix this
|
||||
vencord = ./vencord.nix; # TODO: Make this a home-manager module
|
||||
};
|
||||
};
|
||||
floorp = {
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
disableMinSize = false;
|
||||
eagerPatches = false;
|
||||
enableReactDevtools = false;
|
||||
enabledThemes = [ ];
|
||||
frameless = false;
|
||||
macosTranslucency = false;
|
||||
notifications = {
|
||||
|
|
Loading…
Add table
Reference in a new issue