Files
dotfiles/home/default.nix
2025-06-29 19:23:07 +05:30

108 lines
2.5 KiB
Nix

{ self, inputs, globalArgs, ... }:
let
common = [
{ programs.home-manager.enable = true; }
./common/zsh
./common/direnv
];
mkPkgs = system: import inputs.nixpkgs {
inherit system;
config = {
allowUnfree = true;
allowBroken = true;
allowInsecure = true;
};
overlays = [ self.overlays.default ];
};
extraSpecialArgs = globalArgs;
in
{
flake.homeConfigurations =
let
nattoModules = [
./natto
./common/fonts
./common/emacs
./common/laptop.nix
inputs.agenix.homeManagerModules.default
] ++ common;
in
{
natto-laptop = inputs.home-manager.lib.homeManagerConfiguration {
inherit extraSpecialArgs;
modules = nattoModules ++ [
{ isLaptop = true; }
];
pkgs = mkPkgs "x86_64-linux";
};
natto = inputs.home-manager.lib.homeManagerConfiguration {
inherit extraSpecialArgs;
modules = nattoModules;
pkgs = mkPkgs "x86_64-linux";
};
}
// {
spark = inputs.home-manager.lib.homeManagerConfiguration {
inherit extraSpecialArgs;
modules = [{
home = {
homeDirectory = "/home/spark";
username = "spark";
stateVersion = "23.05";
};
}] ++ common;
pkgs = mkPkgs "aarch64-linux";
};
bat = inputs.home-manager.lib.homeManagerConfiguration {
inherit extraSpecialArgs;
modules = [{
home = {
homeDirectory = "/home/bat";
username = "bat";
stateVersion = "23.05";
};
}] ++ common;
pkgs = mkPkgs "x86_64-linux";
};
spin = inputs.home-manager.lib.homeManagerConfiguration {
inherit extraSpecialArgs;
modules = [{
home = {
homeDirectory = "/home/spin";
username = "spin";
stateVersion = "23.05";
};
}] ++ common;
pkgs = mkPkgs "x86_64-linux";
};
kero = inputs.home-manager.lib.homeManagerConfiguration {
inherit extraSpecialArgs;
modules = [{
home = {
homeDirectory = "/home/kero";
username = "kero";
stateVersion = "24.05";
};
}] ++ common;
pkgs = mkPkgs "aarch64-linux";
};
amneesh = inputs.home-manager.lib.homeManagerConfiguration {
inherit extraSpecialArgs;
modules = [
./amneesh.nix
] ++ common;
pkgs = mkPkgs "x86_64-linux";
};
};
}