65 lines
1.8 KiB
Nix
65 lines
1.8 KiB
Nix
{
|
|
description = "LarssonMartin1998's dotfiles configured with Home Manager";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
|
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
neovim = {
|
|
url = "path:/home/nixos/dev/git/neovim-flake";
|
|
};
|
|
};
|
|
|
|
outputs = { nixpkgs, home-manager, neovim, ... }:
|
|
let
|
|
lib = nixpkgs.lib;
|
|
|
|
makeHomeConfig = {
|
|
name,
|
|
system,
|
|
extraModules ? []
|
|
}:
|
|
home-manager.lib.homeManagerConfiguration {
|
|
pkgs = import nixpkgs { inherit system; };
|
|
modules = [
|
|
./nix/home.nix
|
|
./nix/local_machine.nix
|
|
]
|
|
++ extraModules
|
|
++ lib.optional (builtins.match ".*-darwin$" system != null) ./nix/darwin.nix
|
|
++ lib.optional (builtins.match ".*-linux$" system != null) ./nix/linux.nix;
|
|
|
|
# Pass neovim-flake to all modules
|
|
extraSpecialArgs = {
|
|
neovim-flake = neovim;
|
|
};
|
|
};
|
|
in {
|
|
homeConfigurations = {
|
|
"wsl" = makeHomeConfig {
|
|
name = "wsl";
|
|
system = "x86_64-linux";
|
|
extraModules = [ ./nix/wsl.nix ];
|
|
};
|
|
|
|
"linux-x86" = makeHomeConfig {
|
|
name = "linux-x86";
|
|
system = "x86_64-linux";
|
|
};
|
|
|
|
"linux-aarch64" = makeHomeConfig {
|
|
name = "linux-aarch64";
|
|
system = "aarch64-linux";
|
|
};
|
|
|
|
"darwin-aarch64" = makeHomeConfig {
|
|
name = "darwin-aarch64";
|
|
system = "aarch64-darwin";
|
|
};
|
|
};
|
|
};
|
|
}
|