From 69366c019da258ff53e57f4d40c6231c949f6dd9 Mon Sep 17 00:00:00 2001 From: "Gustavo \"Guz\" L de Mello" Date: Wed, 5 Mar 2025 17:31:53 -0300 Subject: [PATCH] feat: nixos module --- flake.nix | 5 +++++ nixos.nix | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) create mode 100644 nixos.nix diff --git a/flake.nix b/flake.nix index 5ae24ba..602a0ec 100644 --- a/flake.nix +++ b/flake.nix @@ -45,6 +45,11 @@ }; default = self.packages."${pkgs.system}".neovim; }); + + nixosModules = { + neovim = import ./nixos.nix {inherit self;}; + default = self.nixosModules.neovim; + }; homeManagerModules = { neovim = import ./nixos.nix {inherit self;}; default = self.homeManagerModules.neovim; diff --git a/nixos.nix b/nixos.nix new file mode 100644 index 0000000..9408e86 --- /dev/null +++ b/nixos.nix @@ -0,0 +1,33 @@ +{self}: { + config, + lib, + pkgs, + ... +}: let + neovim = self.packages.${pkgs.system}.default; + cfg = config.neovim; +in + with lib; { + options = { + enable = mkOption { + type = with types; bool; + default = true; + }; + package = mkOption { + type = with types; package; + default = neovim; + }; + defaultEditor = mkOption { + type = with types; bool; + default = true; + }; + }; + config = mkIf cfg.enable { + environment.variables = {EDITOR = "nvim";}; + + environment.systemPackages = [cfg.package]; + + # Disable NixOS's Neovim + programs.neovim.enable = mkForce false; + }; + }