42 lines
1.0 KiB
Nix
42 lines
1.0 KiB
Nix
# flake.nix
|
|
{
|
|
description = "My own Neovim flake";
|
|
inputs = {
|
|
nixpkgs = {
|
|
url = "github:NixOS/nixpkgs";
|
|
};
|
|
neovim = {
|
|
url = "github:nix-community/neovim-nightly-overlay";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
plugin-dracula = {
|
|
url = "github:Mofiqul/dracula.nvim";
|
|
flake = false;
|
|
};
|
|
plugin-gruvbox = {
|
|
url = "github:ellisonleao/gruvbox.nvim";
|
|
flake = false;
|
|
};
|
|
};
|
|
|
|
outputs = { self, nixpkgs, neovim, ... }@inputs: {
|
|
nixosModules.neovim = { config, lib, pkgs,... }:
|
|
let
|
|
theme = "dracula"; # Change ici pour "gruvbox" ou autre
|
|
themePackage = {
|
|
"dracula" = inputs.plugin-dracula;
|
|
"gruvbox" = inputs.plugin-gruvbox;
|
|
"tokyonight" = null; # Pas de flake pour tokyonight
|
|
}.${theme} or null;
|
|
in
|
|
{
|
|
options.neovim.enable = lib.mkEnableOption "Enable Neovim";
|
|
|
|
environement.systemPackages = inputs.neovim.packages.${pkgs.system}.neovim;
|
|
programs.neovim = {
|
|
enable = true;
|
|
};
|
|
};
|
|
};
|
|
}
|