diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-11-09 16:06:45 +0100 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-11-09 16:08:13 +0100 |
commit | a379b2765cd97a03c9b3a9a80180bbdcee2f5dcf (patch) | |
tree | 42f0f2ad0be1bbab8249e6dd52184f1eeb752a07 /flake/packages/default.nix | |
parent | fix(modules/nvim/options): Use shell binary, not only directory (diff) | |
download | nixos-config-a379b2765cd97a03c9b3a9a80180bbdcee2f5dcf.tar.gz nixos-config-a379b2765cd97a03c9b3a9a80180bbdcee2f5dcf.zip |
fix(flake/packages): Re-add the `nvim` package
This implementation is by-far better than the previous one and avoids a whole set of problems that came, with trying to re-implement the NixOS module system.
Diffstat (limited to 'flake/packages/default.nix')
-rw-r--r-- | flake/packages/default.nix | 68 |
1 files changed, 23 insertions, 45 deletions
diff --git a/flake/packages/default.nix b/flake/packages/default.nix index 125bf888..5b07b6f3 100644 --- a/flake/packages/default.nix +++ b/flake/packages/default.nix @@ -11,53 +11,31 @@ ... }: let inherit (pkgs) lib; - inherit (import ./merge.nix {inherit lib;}) merge; output = import ../../bootstrap {inherit pkgs sysLib;}; - # FIXME: Do what the trace says. <2024-11-09> - nvim = builtins.trace "nvim build currently broken, using default" { - tiamat = pkgs.neovim; - apzu = - pkgs.neovim; - }; - # builtins.mapAttrs ( - # name: value: let - # nvim_config = - # import ../../modules/home.legacy/conf/nvim/default.nix - # build_args; - # build_args = let - # inherit (value._module.args) pkgs; - # inherit (pkgs) lib; - # in { - # inherit pkgs pkgsStable lib; - # nixosConfig = value.config; - # config = value.config.home-manager.users.soispha; - # }; - # - # resolve_imports = attrs: - # merge (builtins.map (v: import v build_args) - # attrs.imports); - # - # resolve_imports' = attrs: - # if builtins.any (n: n == "imports") (builtins.attrNames attrs) - # then - # resolve_imports' (merge [ - # (resolve_imports attrs) - # (builtins.removeAttrs - # attrs - # ["imports"]) - # ]) - # else attrs; - # - # complete_config = resolve_imports' nvim_config; - # in - # nixVim.legacyPackages."${system}".makeNixvim - # ( - # builtins.removeAttrs - # complete_config.programs.nixvim ["enable"] - # ) - # ) - # self.nixosConfigurations; + nvim = + builtins.mapAttrs ( + name: value: let + config = value.config.home-manager.users.soispha.programs.nixvim; + + # NOTE: This is copied from `nixvim`, and could be achieved by setting + # `config.wrapRc` to `true`. But I have yet to find a way to set this in this + # context, but not in the general context. <2024-11-09> + wrapped = config.build.package.override (prev: { + wrapperArgs = + ( + if lib.isString prev.wrapperArgs + then prev.wrapperArgs + else lib.escapeShellArgs prev.wrapperArgs + ) + + " " + + ''--add-flags -u --add-flags "${config.build.initFile}"''; + wrapRc = false; + }); + in + wrapped + ) + self.nixosConfigurations; output_neovim = lib.attrsets.mapAttrs' (name: value: lib.attrsets.nameValuePair "nvim_${name}" value) nvim; |