mirror of
https://github.com/nix-community/home-manager.git
synced 2025-11-21 09:49:39 +01:00
helix: don't ignore extraConfig when no other settings (#7302)
Fix so that you can still generate `programs.helix.extraConfig` without using `programs.helix.settings`. Useful particularly in the case of `extraConfig = lib.readFile ./config.toml;`.
This commit is contained in:
parent
8638426397
commit
39b7903eab
4 changed files with 46 additions and 18 deletions
|
|
@ -229,24 +229,31 @@ in
|
|||
|
||||
xdg.configFile =
|
||||
let
|
||||
settings = {
|
||||
"helix/config.toml" = mkIf (cfg.settings != { }) {
|
||||
source =
|
||||
let
|
||||
configFile = tomlFormat.generate "config.toml" cfg.settings;
|
||||
extraConfigFile = pkgs.writeText "extra-config.toml" ("\n" + cfg.extraConfig);
|
||||
in
|
||||
pkgs.runCommand "helix-config.toml" { } ''
|
||||
cat ${configFile} ${extraConfigFile} >> $out
|
||||
'';
|
||||
settings =
|
||||
let
|
||||
hasSettings = cfg.settings != { };
|
||||
hasExtraConfig = cfg.extraConfig != null;
|
||||
in
|
||||
{
|
||||
"helix/config.toml" = mkIf (hasSettings || hasExtraConfig) {
|
||||
source =
|
||||
let
|
||||
configFile = tomlFormat.generate "config.toml" cfg.settings;
|
||||
extraConfigFile = pkgs.writeText "extra-config.toml" (
|
||||
lib.optionalString hasSettings "\n" + cfg.extraConfig
|
||||
);
|
||||
in
|
||||
pkgs.runCommand "helix-config.toml" { } ''
|
||||
cat ${configFile} ${extraConfigFile} >> $out
|
||||
'';
|
||||
};
|
||||
"helix/languages.toml" = mkIf (cfg.languages != { }) {
|
||||
source = tomlFormat.generate "helix-languages-config" cfg.languages;
|
||||
};
|
||||
"helix/ignore" = mkIf (cfg.ignores != [ ]) {
|
||||
text = lib.concatStringsSep "\n" cfg.ignores + "\n";
|
||||
};
|
||||
};
|
||||
"helix/languages.toml" = mkIf (cfg.languages != { }) {
|
||||
source = tomlFormat.generate "helix-languages-config" cfg.languages;
|
||||
};
|
||||
"helix/ignore" = mkIf (cfg.ignores != [ ]) {
|
||||
text = lib.concatStringsSep "\n" cfg.ignores + "\n";
|
||||
};
|
||||
};
|
||||
|
||||
themes = lib.mapAttrs' (
|
||||
n: v:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue