Files
nixos/home/home.nix
T
2026-10-01 14:16:17 +03:00

72 lines
1.7 KiB
Nix

{ inputs, ... }@flakeContext:
let
nixosModule =
{
config,
lib,
pkgs,
xlib,
...
}:
let
mkUser =
username:
{
imports ? [ ],
headless ? false,
}:
{
inherit imports;
home = {
username = username;
stateVersion = lib.mkDefault "26.05";
homeDirectory =
if username == "root" then lib.mkDefault "/${username}" else lib.mkDefault "/home/${username}";
enableNixpkgsReleaseCheck = false;
};
# Headless hosts: no GUI user dirs
xdg = lib.mkIf headless {
enable = true;
autostart.enable = true;
userDirs = {
enable = true;
createDirectories = false;
desktop = null;
documents = null;
download = null;
music = null;
pictures = null;
publicShare = null;
templates = null;
videos = null;
};
};
};
in
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users = {
root = mkUser "root" { };
"${xlib.device.username}" = mkUser xlib.device.username {
imports = [
(./. + "/${xlib.device.type}.nix")
];
headless = xlib.isHeadless;
};
};
sharedModules = [
inputs.plasma-manager.homeModules.plasma-manager
];
extraSpecialArgs = {
inherit inputs;
inherit xlib;
};
};
};
in
{
inherit nixosModule;
}