mirror of
https://github.com/nix-community/home-manager.git
synced 2025-11-23 02:39:40 +01:00
editorconfig: add module (#3204)
Add a module to generate `~/.editorconfig` configuration file. Co-authored-by: Robert Helgesson <robert@rycee.net> Co-authored-by: Sumner Evans <me@sumnerevans.com>
This commit is contained in:
parent
583a99f016
commit
de94878b6b
8 changed files with 109 additions and 0 deletions
53
modules/misc/editorconfig.nix
Normal file
53
modules/misc/editorconfig.nix
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
|
||||
cfg = config.editorconfig;
|
||||
|
||||
iniFormat = pkgs.formats.ini { };
|
||||
|
||||
in {
|
||||
meta.maintainers = with maintainers; [ loicreynier ];
|
||||
|
||||
options.editorconfig = {
|
||||
enable = mkEnableOption "EditorConfig home configuration file";
|
||||
|
||||
settings = mkOption {
|
||||
type = iniFormat.type;
|
||||
default = { };
|
||||
description = ''
|
||||
Configuration written to <filename>$HOME/.editorconfig</filename>.
|
||||
<code>root = true</code> is automatically added to the file,
|
||||
it must not be added here.
|
||||
See <link xlink:href="https://editorconfig.org"/> for documentation.
|
||||
'';
|
||||
example = literalExpression ''
|
||||
{
|
||||
"*" = {
|
||||
charset = "utf-8";
|
||||
end_of_line = "lf";
|
||||
trim_trailing_whitespace = true;
|
||||
insert_final_newline = true;
|
||||
max_line_width = 78;
|
||||
indent_style = "space";
|
||||
indent_size = 4;
|
||||
};
|
||||
};
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
config = mkIf (cfg.enable && cfg.settings != { }) {
|
||||
home.file.".editorconfig".text = let
|
||||
renderedSettings = generators.toINIWithGlobalSection { } {
|
||||
globalSection = { root = true; };
|
||||
sections = cfg.settings;
|
||||
};
|
||||
in ''
|
||||
# Generated by Home Manager
|
||||
${renderedSettings}
|
||||
'';
|
||||
};
|
||||
}
|
||||
|
|
@ -668,6 +668,13 @@ in
|
|||
A new module is available: 'programs.btop'.
|
||||
'';
|
||||
}
|
||||
|
||||
{
|
||||
time = "2022-09-05T11:05:25+00:00";
|
||||
message = ''
|
||||
A new module is available: 'editorconfig'.
|
||||
'';
|
||||
}
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -24,6 +24,7 @@ let
|
|||
./manual.nix
|
||||
./misc/dconf.nix
|
||||
./misc/debug.nix
|
||||
./misc/editorconfig.nix
|
||||
./misc/fontconfig.nix
|
||||
./misc/gtk.nix
|
||||
./misc/lib.nix
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue