home-manager/programs/neovide: init

This commit is contained in:
Gabriel Arazas 2024-02-07 07:46:33 +08:00
parent c4af69e24d
commit e5ace891b0
No known key found for this signature in database
GPG Key ID: ADE0C41DAB221FCC
2 changed files with 52 additions and 0 deletions

View File

@ -1,6 +1,7 @@
{ {
imports = [ imports = [
./files/mutable-files.nix ./files/mutable-files.nix
./programs/neovide.nix
./programs/pipewire.nix ./programs/pipewire.nix
./programs/pop-launcher.nix ./programs/pop-launcher.nix
./services/archivebox.nix ./services/archivebox.nix

View File

@ -0,0 +1,51 @@
{ config, lib, pkgs, ... }:
let
cfg = config.programs.neovide;
settingsFormat = pkgs.formats.toml { };
in
{
options.programs.neovide = {
enable = lib.mkEnableOption "Neovide, a graphical interface for Neovim";
package = lib.mkPackageOption pkgs "neovide" { };
settings = lib.mkOption {
type = settingsFormat.type;
description = ''
The settings to be generated at
{file}`$XDG_CONFIG_HOME/neovide/config.toml`.
'';
default = { };
example = {
maximized = true;
font = {
normal = [ "MonoLisa Nerd Font" ];
size = 18;
features.MonoLisa = [
"+ss01"
"+ss07"
"+ss11"
"-calt"
"+ss09"
"+ss02"
"+ss14"
"+ss16"
"+ss17"
];
};
};
};
};
config = lib.mkIf cfg.enable {
home.packages = [ cfg.package ];
xdg.configFile."neovide/config.toml".source =
lib.mkIf
(cfg.settings != { })
(settingsFormat.generate "home-manager-neovide-settings" cfg.settings);
};
}