42 lines
1.3 KiB
Nix
42 lines
1.3 KiB
Nix
{
|
|
inputs = {
|
|
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
utils.url = "github:numtide/flake-utils";
|
|
|
|
home-manager.url = "github:nix-community/home-manager";
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
mach-nix.url = "mach-nix/3.5.0";
|
|
mach-nix.inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
outputs = {self, nixpkgs, flake-utils, home-manager, mach-nix, ...}: let
|
|
pkgsForSystem = (system: import nixpkgs {
|
|
inherit system;
|
|
overlays = [
|
|
self.overlays."${system}".xonsh_with_plugins
|
|
];
|
|
config.allowUnfree = true;
|
|
});
|
|
|
|
mkHomeConfig = ({system, username ? "ttm" }: home-manager.lib.homeManagerConfiguration {
|
|
pkgs = pkgsForSystem system;
|
|
modules = [
|
|
./home.nix
|
|
{
|
|
home = {
|
|
inherit username;
|
|
};
|
|
# Pin nixpkgs flake to local nix registry so it gets used by commands like nix-shell
|
|
# https://discourse.nixos.org/t/local-flake-based-nix-search-nix-run-and-nix-shell/13433/12
|
|
nix.registry.nixpkgs.flake = nixpkgs;
|
|
}
|
|
];
|
|
});
|
|
in
|
|
flake-utils.lib.eachDefaultSystem (system: {
|
|
overlays.xonsh_with_plugins = import ./overlays/xonsh.nix { mach-nix = mach-nix.lib."${system}"; };
|
|
legacyPackages.homeConfigurations.std = mkHomeConfig { inherit system; };
|
|
});
|
|
}
|