From b73e2eecc5abf441cc90e94a051ab6c7d13854f1 Mon Sep 17 00:00:00 2001 From: punkfairie Date: Sat, 31 May 2025 16:26:42 -0700 Subject: [PATCH] feat: let home-manager manage its own overlays --- modules/base/home.nix | 1 - modules/base/nix.nix | 13 +------------ modules/base/nixpkgs.nix | 12 ++++++++++++ modules/base/programs/neovim.nix | 6 ------ modules/home/default.nix | 1 + modules/home/nix.nix | 3 +++ modules/home/programs/neovim.nix | 5 +++++ 7 files changed, 22 insertions(+), 19 deletions(-) create mode 100644 modules/base/nixpkgs.nix create mode 100644 modules/home/nix.nix diff --git a/modules/base/home.nix b/modules/base/home.nix index f495066..bb382e7 100644 --- a/modules/base/home.nix +++ b/modules/base/home.nix @@ -16,7 +16,6 @@ in { home-manager = { useUserPackages = true; - useGlobalPkgs = true; backupFileExtension = "bak"; users."${my.name}" = { diff --git a/modules/base/nix.nix b/modules/base/nix.nix index 03a5443..491be09 100644 --- a/modules/base/nix.nix +++ b/modules/base/nix.nix @@ -50,18 +50,7 @@ }; }; - nixpkgs = { - config = { - allowUnfree = true; - }; - - overlays = [ - inputs.nur.overlays.default - - # Custom packages - (import ../../overlays/marleyos.nix) - ]; - }; + nixpkgs = import ./nixpkgs.nix {inherit inputs;}; # More useful repl. environment.systemPackages = let diff --git a/modules/base/nixpkgs.nix b/modules/base/nixpkgs.nix new file mode 100644 index 0000000..f6c6220 --- /dev/null +++ b/modules/base/nixpkgs.nix @@ -0,0 +1,12 @@ +{inputs, ...}: { + config = { + allowUnfree = true; + }; + + overlays = [ + inputs.nur.overlays.default + + # Custom packages. + (import ../../overlays/marleyos.nix) + ]; +} diff --git a/modules/base/programs/neovim.nix b/modules/base/programs/neovim.nix index bad7726..2423f89 100644 --- a/modules/base/programs/neovim.nix +++ b/modules/base/programs/neovim.nix @@ -1,7 +1,6 @@ { lib, config, - inputs, pkgs, ... }: let @@ -10,11 +9,6 @@ in { options.marleyos.programs.neovim.enable = lib.mkEnableOption "neovim"; config = lib.mkIf cfg.enable { - # Has to be applied on the OS level to use in HM. - nixpkgs.overlays = [ - (import ../../../overlays/marleyvim.nix {inherit inputs;}) - ]; - environment.systemPackages = with pkgs; [ neovim ]; diff --git a/modules/home/default.nix b/modules/home/default.nix index f48b18a..b7701a0 100644 --- a/modules/home/default.nix +++ b/modules/home/default.nix @@ -5,6 +5,7 @@ ./options ./home-manager.nix + ./nix.nix ./system ./shell diff --git a/modules/home/nix.nix b/modules/home/nix.nix new file mode 100644 index 0000000..387b0d2 --- /dev/null +++ b/modules/home/nix.nix @@ -0,0 +1,3 @@ +{inputs, ...}: { + config.nixpkgs = import ../base/nixpkgs.nix {inherit inputs;}; +} diff --git a/modules/home/programs/neovim.nix b/modules/home/programs/neovim.nix index c13d345..799a0b8 100644 --- a/modules/home/programs/neovim.nix +++ b/modules/home/programs/neovim.nix @@ -3,6 +3,7 @@ config, osConfig, lib, + inputs, pkgs, ... }: let @@ -15,6 +16,10 @@ in { mkEnableOption' "neovim" osCfg.enable; config = lib.mkIf cfg.enable { + nixpkgs.overlays = [ + (import ../../../overlays/marleyvim.nix {inherit inputs;}) + ]; + home.packages = with pkgs; [ nvim ];