aboutsummaryrefslogtreecommitdiffstats
path: root/flake/packages/default.nix
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-09 16:06:45 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-11-09 16:08:13 +0100
commita379b2765cd97a03c9b3a9a80180bbdcee2f5dcf (patch)
tree42f0f2ad0be1bbab8249e6dd52184f1eeb752a07 /flake/packages/default.nix
parentfix(modules/nvim/options): Use shell binary, not only directory (diff)
downloadnixos-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 '')
-rw-r--r--flake/packages/default.nix68
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;