Files
nixos/flake.nix
T
lsoriano-mcm 2dcdd0b29a upd
2025-08-07 15:10:14 -05:00

103 lines
2.4 KiB
Nix

{
description = "A rewrite of the original Sakamoto NixOS config.";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
flake-utils.url = "github:numtide/flake-utils";
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
jovian = {
url = "github:Jovian-Experiments/Jovian-NixOS";
inputs.nixpkgs.follows = "nixpkgs";
};
hyprland.url = "github:hyprwm/Hyprland";
hyprland.inputs.nixpkgs.follows = "nixpkgs";
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
darwin = {
url = "github:lnl7/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
nixovim = {
url = "git+https://git.sakamoto.dev/kenji/nixovim.git";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = {
self,
nixpkgs,
flake-utils,
home-manager,
darwin,
chaotic,
nixovim,
jovian,
...
} @ inputs: let
config = import ./config.nix;
mkArgs = system:
{
inherit inputs system;
}
// config;
systems = ["x86_64-linux" "aarch64-linux"];
in
flake-utils.lib.eachSystem systems (system: let
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
};
args = mkArgs system;
in {
})
// {
nixosConfigurations = {
hakase = nixpkgs.lib.nixosSystem {
system = "x86_64-linux";
specialArgs = mkArgs "x86_64-linux";
modules = [
chaotic.nixosModules.default
home-manager.nixosModules.home-manager
jovian.nixosModules.default
nixovim.nixosModules.default
./hosts/hakase/configuration.nix
];
};
};
homeConfigurations = {
hakase = home-manager.lib.homeManagerConfiguration {
pkgs = import nixpkgs {
system = "x86_64-linux";
config.allowUnfree = true;
extraSpecialArgs = mkArgs "x86_64-linux";
};
modules = [
home-manager.nixosModules.home-manager
./home/hakase.nix
];
};
};
darwinConfigurations = {
macos = darwin.lib.darwinSystem {
system = "aarch64-darwin";
specialArgs = mkArgs "aarch64-darwin";
modules = [
home-manager.darwinModules.home-manager
./hosts/macos/darwin.nix
];
};
};
};
}