From cb6e5d21d1583571f98f95c38915369bde4c8bcb Mon Sep 17 00:00:00 2001 From: punkfairie Date: Tue, 27 May 2025 18:02:49 -0700 Subject: [PATCH] feat: neovim --- flake/config.nix | 1 - modules/base/default.nix | 1 + modules/base/profiles.nix | 28 ++++++++++++++++ modules/base/programs/default.nix | 1 + .../base/programs/neovim.nix | 10 ++---- modules/home/profiles.nix | 1 + modules/home/programs/default.nix | 1 + modules/home/programs/neovim.nix | 33 +++++++++++++++++++ 8 files changed, 67 insertions(+), 9 deletions(-) create mode 100644 modules/base/profiles.nix rename snowflake/modules/home/programs/tui/neovim/default.nix => modules/base/programs/neovim.nix (54%) create mode 100644 modules/home/programs/neovim.nix diff --git a/flake/config.nix b/flake/config.nix index 771e3a4..fc3d862 100644 --- a/flake/config.nix +++ b/flake/config.nix @@ -20,7 +20,6 @@ inherit inputs; }) (import ./overlays/jetbrains.nix {inherit inputs;}) - (import ./overlays/marleyvim.nix {inherit inputs;}) (import ./overlays/wezterm.nix {inherit inputs;}) ]; }; diff --git a/modules/base/default.nix b/modules/base/default.nix index 91c58be..a029b92 100644 --- a/modules/base/default.nix +++ b/modules/base/default.nix @@ -7,6 +7,7 @@ ./programs + ./profiles.nix ./home.nix ]; } diff --git a/modules/base/profiles.nix b/modules/base/profiles.nix new file mode 100644 index 0000000..33de935 --- /dev/null +++ b/modules/base/profiles.nix @@ -0,0 +1,28 @@ +{ + config, + marleylib, + lib, + ... +}: let + cfg = config.marleycfg.profiles; + + inherit (marleylib.module) enabled; +in { + marleyos = lib.mkMerge [ + # Universal - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + { + programs = { + fish = enabled; + neovim = enabled; + }; + } + # + # + # Graphical Desktop - - - - - - - - - - - - - - - - - - - - - - - - - - - - + (lib.optionalAttrs cfg.desktop {}) + # + # + # Server - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + (lib.optionalAttrs cfg.server {}) + ]; +} diff --git a/modules/base/programs/default.nix b/modules/base/programs/default.nix index 56cb916..fd98f72 100644 --- a/modules/base/programs/default.nix +++ b/modules/base/programs/default.nix @@ -1,5 +1,6 @@ { imports = [ ./fish.nix + ./neovim.nix ]; } diff --git a/snowflake/modules/home/programs/tui/neovim/default.nix b/modules/base/programs/neovim.nix similarity index 54% rename from snowflake/modules/home/programs/tui/neovim/default.nix rename to modules/base/programs/neovim.nix index a1db69d..2423f89 100644 --- a/snowflake/modules/home/programs/tui/neovim/default.nix +++ b/modules/base/programs/neovim.nix @@ -9,14 +9,8 @@ in { options.marleyos.programs.neovim.enable = lib.mkEnableOption "neovim"; config = lib.mkIf cfg.enable { - home.packages = with pkgs; [ - nvim + environment.systemPackages = with pkgs; [ + neovim ]; - - home.sessionVariables = rec { - EDITOR = "nvim"; - VISUAL = "${EDITOR}"; - SUDO_EDITOR = "${EDITOR}"; - }; }; } diff --git a/modules/home/profiles.nix b/modules/home/profiles.nix index e00ffb0..3a493ae 100644 --- a/modules/home/profiles.nix +++ b/modules/home/profiles.nix @@ -42,6 +42,7 @@ in { glow = enabled; nemo = enabled; neo = enabled; + neovim = enabled; }; services = { diff --git a/modules/home/programs/default.nix b/modules/home/programs/default.nix index 26eac2d..4c7d9cd 100644 --- a/modules/home/programs/default.nix +++ b/modules/home/programs/default.nix @@ -22,6 +22,7 @@ ./man.nix ./nemo.nix ./neo.nix + ./neovim.nix ./nh.nix ./waybar.nix diff --git a/modules/home/programs/neovim.nix b/modules/home/programs/neovim.nix new file mode 100644 index 0000000..799a0b8 --- /dev/null +++ b/modules/home/programs/neovim.nix @@ -0,0 +1,33 @@ +{ + marleylib, + config, + osConfig, + lib, + inputs, + pkgs, + ... +}: let + inherit (marleylib.module) mkEnableOption'; + + cfg = config.marleyos.programs.neovim; + osCfg = osConfig.marleyos.programs.neovim; +in { + options.marleyos.programs.neovim.enable = + mkEnableOption' "neovim" osCfg.enable; + + config = lib.mkIf cfg.enable { + nixpkgs.overlays = [ + (import ../../../overlays/marleyvim.nix {inherit inputs;}) + ]; + + home.packages = with pkgs; [ + nvim + ]; + + home.sessionVariables = rec { + EDITOR = "nvim"; + VISUAL = "${EDITOR}"; + SUDO_EDITOR = "${EDITOR}"; + }; + }; +}