added home manager configurations to output

This commit is contained in:
Leyla Becker 2024-11-24 21:51:42 -06:00
parent 90f0c114b3
commit 3fdee879c7
9 changed files with 45 additions and 32 deletions

View file

@ -63,11 +63,15 @@
};
};
outputs = {...} @ inputs: let
outputs = {
self,
nixpkgs,
...
} @ inputs: let
util = import ./util {inherit inputs;};
forEachPkgs = util.forEachPkgs;
mkSystem = util.mkSystem;
# mkHome = util.mkHome;
mkHome = util.mkHome;
# callPackage = nixpkgs.lib.callPackageWith (nixpkgs // {lib = lib;});
# lib = callPackage ./lib {} // nixpkgs.lib;
in {
@ -93,6 +97,17 @@
};
});
homeConfigurations = nixpkgs.lib.attrsets.mergeAttrsList (
nixpkgs.lib.attrsets.mapAttrsToList (hostname: system: (
nixpkgs.lib.attrsets.mapAttrs' (user: _: {
name = "${user}@${hostname}";
value = mkHome user hostname system.pkgs.hostPlatform.system system.config;
})
system.config.home-manager.users
))
self.nixosConfigurations
);
# homeConfigurations = {
# "leyla@horizon" = mkHome "leyla" "horizon"; # "x86_64-linux" ./homes/leyla;
# };

View file

@ -4,7 +4,7 @@
osConfig,
...
}: let
cfg = osConfig.host.users.ester;
userConfig = osConfig.host.users.ester;
in {
imports = [
../../home-modules
@ -12,7 +12,7 @@ in {
config = {
home = {
username = "ester";
username = userConfig.name;
homeDirectory = osConfig.users.users.ester.home;
# This value determines the Home Manager release that your configuration is
@ -58,7 +58,7 @@ in {
# EDITOR = "emacs";
};
packages = lib.lists.optionals cfg.isDesktopUser (
packages = lib.lists.optionals userConfig.isDesktopUser (
with pkgs; [
# helvetica font
aileron

View file

@ -4,7 +4,7 @@
osConfig,
...
}: let
cfg = osConfig.host.users.eve;
userConfig = osConfig.host.users.eve;
in {
imports = [
../../home-modules
@ -12,7 +12,7 @@ in {
config = {
home = {
username = "eve";
username = userConfig.name;
homeDirectory = osConfig.users.users.eve.home;
# This value determines the Home Manager release that your configuration is
@ -58,7 +58,7 @@ in {
# EDITOR = "emacs";
};
packages = lib.lists.optionals cfg.isDesktopUser (
packages = lib.lists.optionals userConfig.isDesktopUser (
with pkgs; [
firefox
bitwarden

View file

@ -1,4 +1,8 @@
{pkgs, ...}: {
{
pkgs,
osConfig,
...
}: {
imports = [
./packages.nix
../../home-modules
@ -8,8 +12,8 @@
# Home Manager needs a bit of information about you and the paths it should
# manage.
home = {
username = "leyla";
# homeDirectory = osConfig.users.users.leyla.home;
username = osConfig.host.users.leyla.name;
homeDirectory = osConfig.users.users.leyla.home;
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release

View file

@ -1,7 +1,5 @@
{
lib,
osConfig,
# buildFirefoxXpiAddon,
pkgs,
inputs,
...

View file

@ -4,7 +4,7 @@
pkgs,
...
}: let
cfg = osConfig.host.users.leyla;
userConifg = osConfig.host.users.leyla;
hardware = osConfig.host.hardware;
in {
imports = [
@ -14,7 +14,7 @@ in {
home = {
packages =
lib.lists.optionals cfg.isTerminalUser (
lib.lists.optionals userConifg.isTerminalUser (
with pkgs; [
# comand line tools
yt-dlp
@ -23,7 +23,7 @@ in {
]
)
++ (
lib.lists.optionals cfg.isDesktopUser (
lib.lists.optionals userConifg.isDesktopUser (
with pkgs; [
# helvetica font
aileron

View file

@ -1,6 +1,4 @@
{
lib,
osConfig,
pkgs,
inputs,
...
@ -77,8 +75,6 @@
# misc extensions
bungcip.better-toml
# lib.mkIf open-vsx."10nates".ollama-autocoder
]
++ (
with vscode-marketplace; [

View file

@ -88,7 +88,7 @@ in {
type = lib.types.bool;
default = config.isDesktopUser || config.isTerminalUser;
description = ''
User should install their applications
User should install their applications and can log in
'';
defaultText = lib.literalExpression "config.host.users.\${name}.isNormalUser";
};

View file

@ -47,15 +47,15 @@ in {
];
};
# mkHome = user: host:
# home-manager.lib.homeManagerConfiguration {
# # pkgs = pkgsFor system;
# extraSpecialArgs = {
# inherit inputs util outputs;
# };
# modules = [
# # config
mkHome = user: host: system: osConfig:
home-manager.lib.homeManagerConfiguration {
pkgs = pkgsFor system;
extraSpecialArgs = {
inherit inputs util outputs osConfig;
};
modules = [
# outputs.homeManagerModules.default
# ];
# };
../homes/${user}
];
};
}