fix: share pkgs & overlays with home-manager

This commit is contained in:
Felix Schröter 2025-05-18 19:30:30 +02:00
parent a04fca65d8
commit f25ca7a488
Signed by: felschr
GPG key ID: 671E39E6744C807D
11 changed files with 74 additions and 63 deletions

View file

@ -38,11 +38,5 @@
programs.git.defaultProfile = "private";
xdg.configFile."nixpkgs/config.nix".text = ''
{
allowUnfree = true;
}
'';
home.stateVersion = "25.05";
}

View file

@ -40,12 +40,6 @@ with pkgs;
defaultProfile = "work";
};
xdg.configFile."nixpkgs/config.nix".text = ''
{
allowUnfree = true;
}
'';
home.packages = with pkgs; [
fh

View file

@ -38,12 +38,6 @@
programs.git.defaultProfile = "private";
xdg.configFile."nixpkgs/config.nix".text = ''
{
allowUnfree = true;
}
'';
home.packages = with pkgs; [
# system
gparted

View file

@ -1,26 +1,38 @@
{
self,
inputs,
pkgs,
lib,
...
}:
let
createHomeConfig =
name: args:
inputs.home-manager.lib.homeManagerConfiguration (
{
inherit pkgs;
extraSpecialArgs = { inherit inputs; };
}
// args
);
mkHomeConfiguration =
{
user,
system,
modules,
}:
inputs.home-manager.lib.homeManagerConfiguration {
pkgs = self.pkgsFor system;
extraSpecialArgs = { inherit inputs; };
modules =
(with self.homeModules; [ nixpkgs ])
++ [
{
home.username = user;
home.homeDirectory = "/home/${user}";
}
]
++ modules;
};
in
{
imports = [ inputs.home-manager.flakeModules.home-manager ];
flake = {
homeModules = {
nixpkgs = import ./modules/nixpkgs.nix;
git = import ./modules/git.nix;
firefox = import ./modules/firefox/firefox.nix;
tor-browser = import ./modules/firefox/tor-browser.nix;
@ -32,26 +44,31 @@ in
felschr-work = import ./felschr-work.nix;
};
homeConfigurations = {
felschr = createHomeConfig {
felschr = mkHomeConfiguration {
user = "felschr";
system = "x86_64-linux";
modules = [
self.homeModules.git
self.homeModules.felschr
];
};
felschr-server = createHomeConfig {
felschr-server = mkHomeConfiguration {
user = "felschr";
system = "x86_64-linux";
modules = [
self.homeModules.git
self.homeModules.felschr-server
];
};
felschr-work = createHomeConfig {
felschr-work = mkHomeConfiguration {
user = "felschr";
system = "x86_64-linux";
modules = [
self.homeModules.git
self.homeModules.felschr-work
];
};
};
# HINT alias for deprecated output
homeManagerModules = self.homeModules;
homeManagerModules = lib.warn "`homeManagerModules` is deprecated. Use `homeModules` instead." self.homeModules;
};
}

11
home/modules/nixpkgs.nix Normal file
View file

@ -0,0 +1,11 @@
_:
{
nixpkgs.config.allowUnfree = true;
xdg.configFile."nixpkgs/config.nix".text = ''
{
allowUnfree = true;
}
'';
}