65 lines
2.2 KiB
Nix
65 lines
2.2 KiB
Nix
{
|
|
description = "FredOS NixOS configuration";
|
|
|
|
inputs = {
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-26.05";
|
|
home-manager = {
|
|
url = "github:nix-community/home-manager/release-26.05";
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
};
|
|
|
|
zen-browser = {
|
|
url = "github:0xc000022070/zen-browser-flake";
|
|
# no nixpkgs.follows: zen needs ffmpeg_9, only in unstable
|
|
inputs.home-manager.follows = "home-manager";
|
|
};
|
|
|
|
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
|
|
|
|
proton-cachyos-nix.url = "github:powerofthe69/proton-cachyos-nix";
|
|
|
|
stylix.url = "github:nix-community/stylix/release-26.05";
|
|
};
|
|
outputs =
|
|
{ self
|
|
, nixpkgs
|
|
, home-manager
|
|
, zen-browser
|
|
, nix-cachyos-kernel
|
|
, stylix
|
|
, proton-cachyos-nix
|
|
, ...
|
|
} @ inputs:
|
|
let
|
|
system = "x86_64-linux";
|
|
mkHost = hostname: extraModules: nixpkgs.lib.nixosSystem {
|
|
inherit system;
|
|
specialArgs = { inherit inputs; };
|
|
modules = [
|
|
./hosts/${hostname}.nix
|
|
./common.nix
|
|
home-manager.nixosModules.home-manager
|
|
stylix.nixosModules.stylix
|
|
./settings/stylix.nix
|
|
] ++ extraModules;
|
|
};
|
|
in
|
|
{
|
|
nixosConfigurations = {
|
|
FredOS-Gaming = mkHost "FredOS-Gaming" [ ./hosts/hardware/FredOS-Gaming.nix ];
|
|
FredOS-Mediaserver = mkHost "FredOS-Mediaserver" [ ./hosts/hardware/FredOS-Mediaserver.nix ];
|
|
FredOS-Macbook = mkHost "FredOS-Macbook" [ ./hosts/hardware/FredOS-Macbook.nix ];
|
|
FredOS-Kayla = mkHost "FredOS-Kayla" [ ./hosts/hardware/FredOS-Kayla.nix ];
|
|
|
|
# Mediaserver's services on fake hardware, for testing from-scratch
|
|
# bring-up (arr-interconnect especially) in a throwaway VM:
|
|
# nixos-rebuild build-vm --flake .#mediaserver-vm
|
|
mediaserver-vm = mkHost "FredOS-Mediaserver" [ ./hosts/hardware/vm.nix ];
|
|
|
|
# Kayla's desktop in a window, for trying the Plasma session out before
|
|
# her machine exists.
|
|
# nixos-rebuild build-vm --flake .#kayla-vm
|
|
kayla-vm = mkHost "FredOS-Kayla" [ ./hosts/hardware/kayla-vm.nix ];
|
|
};
|
|
};
|
|
}
|