nixos/flake.nix
System administrator e513913099
WSL + more modularity
2024-01-30 01:51:12 -05:00

69 lines
1.7 KiB
Nix

{
description = "Fully Declarative YOLO";
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-23.11";
home-manager= {
url = "github:nix-community/home-manager/release-23.11";
inputs.nixpkgs.follows = "nixpkgs";
};
nixos-wsl = {
url = "github:nix-community/NixOS-WSL/2311.5.3";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs = { self, nixpkgs, home-manager, nixos-wsl }:
let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
config = {
allowUnfree = true;
};
};
in
{
nixosConfigurations.desktop = nixpkgs.lib.nixosSystem {
inherit system pkgs;
modules = [
./src/systems/desktop
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.bryan = import ./src/systems/desktop/home.nix;
}
];
};
nixosConfigurations.windows = nixpkgs.lib.nixosSystem {
inherit system pkgs;
modules = [
./src/systems/wsl
nixos-wsl.nixosModules.wsl
{
wsl = {
enable = true;
defaultUser = nixpkgs.lib.mkDefault "bryan";
nativeSystemd = true;
wslConf = {
boot.command = "cd";
network = {
hostname = "plato";
generateHosts = true;
};
};
};
}
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.bryan = import ./src/systems/wsl/home.nix;
}
];
};
};
}