Files
nix-config/flake.nix
T
imbytecat be247ff3b9 refactor: KISS cleanup — deduplicate shared config, merge thin files
- Extract fonts, fish.enable, openssh.enable to modules/shared/
- Centralize sshKeys in lib/ via specialArgs
- Merge nixos/base.nix + locale.nix into nixos/default.nix
- Merge home/theme.nix into home/default.nix
- Simplify homeManagerConfig, flake packages output
- Remove redundant vim/wget from NixOS system packages
- Update AGENTS.md to reflect new structure
2026-04-13 22:25:55 +08:00

88 lines
2.4 KiB
Nix

{
description = "Multi-platform Nix configuration nix-darwin / NixOS-WSL";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
nixos-wsl = {
url = "github:nix-community/NixOS-WSL";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = {
url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-darwin = {
url = "github:nix-darwin/nix-darwin";
inputs.nixpkgs.follows = "nixpkgs";
};
catppuccin = {
url = "github:catppuccin/nix";
inputs.nixpkgs.follows = "nixpkgs";
};
lazyvim.url = "github:pfassina/lazyvim-nix";
};
outputs =
{
self,
nixpkgs,
...
}@inputs:
let
mylib = import ./lib { inherit inputs; };
in
{
# ── macOS hosts ─────────────────────────────────────
darwinConfigurations = {
mac-mini = mylib.mkDarwin {
hostname = "awesome-mac-mini";
system = "aarch64-darwin";
username = "imbytecat";
extraModules = [ ./hosts/mac-mini ];
};
macbook-air = mylib.mkDarwin {
hostname = "awesome-macbook-air";
system = "aarch64-darwin";
username = "imbytecat";
extraModules = [ ./hosts/macbook-air ];
};
};
# ── NixOS hosts (WSL on Windows PC) ─────────────────
nixosConfigurations = {
wsl = mylib.mkNixos {
hostname = "awesome-wsl";
system = "x86_64-linux";
username = "imbytecat";
extraModules = [
inputs.nixos-wsl.nixosModules.default
./hosts/wsl
];
};
};
# ── Packages ────────────────────────────────────────
packages = nixpkgs.lib.genAttrs [ "aarch64-darwin" "x86_64-linux" ] (
system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlays.default ];
};
in
{
inherit (pkgs) comment-checker;
}
);
# ── Overlays ───────────────────────────────────────
overlays.default = import ./overlays;
};
}