home-manager-conf/flake.nix

134 lines
3.7 KiB
Nix

{
description = "Home-manager configuration";
inputs = {
nixpkgs = { url = "github:NixOS/nixpkgs/nixpkgs-unstable"; };
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
myEmacs = {
url = "github:MasseR/nix-conf-emacs";
inputs.nixpkgs.follows = "nixpkgs";
};
myVim = {
url = "github:MasseR/nix-conf-nvim";
inputs.nixpkgs.follows = "nixpkgs";
};
myZsh = {
url = "git+https://git.rauhala.info/MasseR/nix-conf-zsh";
inputs.nixpkgs.follows = "nixpkgs";
};
myUrxvt = {
url = "git+https://git.rauhala.info/MasseR/nix-conf-urxvt";
inputs.nixpkgs.follows = "nixpkgs";
};
xmonad-module = {
url = "git+https://git.rauhala.info/MasseR/nix-conf-xmonad";
inputs.nixpkgs.follows = "nixpkgs";
};
xmonad-masser = {
url = "github:MasseR/xmonad-masser";
inputs.nixpkgs.follows = "nixpkgs";
};
kobodl = {
url = "github:MasseR/nix-kobodl";
};
};
outputs = { self, nixpkgs, home-manager, ... } @ inputs: {
nixosModules =
let
dirs = builtins.attrNames (builtins.readDir ./modules);
selfModules = map (module: import (./modules + "/${module}")) dirs;
in
selfModules ++ [
inputs.myZsh.nixosModule
inputs.myUrxvt.nixosModule
inputs.xmonad-module.nixosModule
];
overlays = [
inputs.myEmacs.overlay
inputs.myVim.overlay
inputs.xmonad-masser.overlay
];
homeConfigurations =
let system = "x86_64-linux";
in
{
"masse@omena" = home-manager.lib.homeManagerConfiguration {
system = system;
homeDirectory = "/home/masse";
username = "masse";
stateVersion = "21.05";
pkgs = import nixpkgs {
system = system;
overlays = self.overlays ++ [
(final: prev: {
kobodl = inputs.kobodl.packages.${system}.kobodl;
})
];
};
configuration = {pkgs,...}:
{
programs.home-manager.enable = true;
imports = self.nixosModules ++ [
./omena/masse.nix
];
};
};
"masse@freya" = home-manager.lib.homeManagerConfiguration {
system = system;
homeDirectory = "/home/masse";
username = "masse";
stateVersion = "21.05";
pkgs = import nixpkgs {
system = system;
overlays = self.overlays ++ [
(final: prev: {
kobodl = inputs.kobodl.packages.${system}.kobodl;
})
];
};
configuration = {pkgs,...}:
{
programs.home-manager.enable = true;
imports = self.nixosModules ++ [
./freya/masse.nix
];
};
};
"enishen@freya" = home-manager.lib.homeManagerConfiguration {
system = system;
homeDirectory = "/home/enishen";
username = "enishen";
stateVersion = "21.05";
pkgs = import nixpkgs {
system = system;
overlays = self.overlays ++ [
(final: prev: {
kobodl = inputs.kobodl.packages.${system}.kobodl;
})
];
};
configuration = {pkgs,...}:
{
programs.home-manager.enable = true;
imports = self.nixosModules ++ [
./freya/enishen.nix
];
};
};
};
};
}