2026-03-28 11:52:19 +00:00
|
|
|
{
|
|
|
|
|
description = "FredOS NixOS configuration";
|
2026-05-12 14:00:46 +01:00
|
|
|
|
2026-03-28 11:52:19 +00:00
|
|
|
inputs = {
|
2026-04-29 13:26:07 +01:00
|
|
|
nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11";
|
2026-05-16 11:17:25 +01:00
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
2026-04-29 13:26:07 +01:00
|
|
|
home-manager-stable = {
|
|
|
|
|
url = "github:nix-community/home-manager/release-25.11";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs-stable";
|
|
|
|
|
};
|
|
|
|
|
|
2026-05-17 20:38:30 +01:00
|
|
|
# Unstable HM for Hyprland Lua config support (configType = "lua",
|
|
|
|
|
# available since HM master / future 26.05).
|
|
|
|
|
home-manager = {
|
|
|
|
|
url = "github:nix-community/home-manager";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
};
|
|
|
|
|
|
2026-03-28 15:57:10 +00:00
|
|
|
zen-browser = {
|
|
|
|
|
url = "github:0xc000022070/zen-browser-flake";
|
|
|
|
|
inputs = {
|
2026-05-01 11:27:32 +01:00
|
|
|
nixpkgs.follows = "nixpkgs-stable";
|
|
|
|
|
home-manager.follows = "home-manager-stable";
|
2026-03-28 15:57:10 +00:00
|
|
|
};
|
2026-03-28 11:52:19 +00:00
|
|
|
};
|
2026-04-29 13:26:07 +01:00
|
|
|
|
2026-04-04 20:32:58 +01:00
|
|
|
nix-cachyos-kernel.url = "github:xddxdd/nix-cachyos-kernel/release";
|
2026-05-11 11:48:36 +01:00
|
|
|
|
2026-05-15 19:46:44 +01:00
|
|
|
proton-cachyos-nix.url = "github:powerofthe69/proton-cachyos-nix";
|
|
|
|
|
|
2026-05-11 11:48:36 +01:00
|
|
|
# Pin Hyprland to upstream so we get the 0.52.2+ fixes ahead of
|
|
|
|
|
# nixos-25.11's slower bump cadence. Doesn't follow our nixpkgs —
|
|
|
|
|
# upstream needs newer stdenv than 25.11 ships.
|
|
|
|
|
hyprland.url = "github:hyprwm/Hyprland";
|
2026-05-11 13:32:18 +01:00
|
|
|
|
2026-05-18 12:48:00 +01:00
|
|
|
anyrun = {
|
|
|
|
|
url = "github:anyrun-org/anyrun";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
};
|
|
|
|
|
|
2026-05-18 10:44:16 +01:00
|
|
|
stylix.url = "github:nix-community/stylix";
|
2026-05-18 13:53:19 +01:00
|
|
|
stylix-stable = {
|
|
|
|
|
url = "github:nix-community/stylix/release-25.11";
|
|
|
|
|
inputs.nixpkgs.follows = "nixpkgs-stable";
|
|
|
|
|
};
|
2026-03-28 11:52:19 +00:00
|
|
|
};
|
2026-04-29 13:26:07 +01:00
|
|
|
outputs =
|
|
|
|
|
{ self
|
|
|
|
|
, nixpkgs-stable
|
2026-05-16 11:17:25 +01:00
|
|
|
, nixpkgs
|
2026-04-29 13:26:07 +01:00
|
|
|
, home-manager-stable
|
2026-05-17 20:38:30 +01:00
|
|
|
, home-manager
|
2026-04-29 13:26:07 +01:00
|
|
|
, zen-browser
|
|
|
|
|
, nix-cachyos-kernel
|
2026-05-11 11:48:36 +01:00
|
|
|
, hyprland
|
2026-05-18 12:48:00 +01:00
|
|
|
, anyrun
|
2026-05-11 13:32:18 +01:00
|
|
|
, stylix
|
2026-05-18 13:53:19 +01:00
|
|
|
, stylix-stable
|
2026-05-15 19:46:44 +01:00
|
|
|
, proton-cachyos-nix
|
2026-04-29 13:26:07 +01:00
|
|
|
, ...
|
|
|
|
|
} @ inputs:
|
|
|
|
|
let
|
|
|
|
|
system = "x86_64-linux";
|
2026-05-18 10:44:16 +01:00
|
|
|
mkHost = hostname: pkgsInput: hmInput: extraModules: pkgsInput.lib.nixosSystem {
|
2026-04-29 13:26:07 +01:00
|
|
|
inherit system;
|
2026-05-16 11:17:25 +01:00
|
|
|
specialArgs = { inherit inputs; pkgs-unstable = nixpkgs.legacyPackages.${system}; };
|
2026-04-29 13:26:07 +01:00
|
|
|
modules = [
|
|
|
|
|
./hosts/${hostname}.nix
|
|
|
|
|
./hosts/hardware/${hostname}.nix
|
|
|
|
|
./common.nix
|
|
|
|
|
hmInput.nixosModules.home-manager
|
2026-05-18 10:44:16 +01:00
|
|
|
] ++ extraModules;
|
2026-04-29 13:26:07 +01:00
|
|
|
};
|
|
|
|
|
in
|
|
|
|
|
{
|
|
|
|
|
nixosConfigurations = {
|
2026-05-17 20:46:23 +01:00
|
|
|
# Gaming and Macbook use nixpkgs unstable — required by home-manager
|
|
|
|
|
# unstable which needs lib/services/lib.nix added in nixpkgs after 25.11.
|
2026-05-18 10:44:16 +01:00
|
|
|
FredOS-Gaming = mkHost "FredOS-Gaming" nixpkgs home-manager [ stylix.nixosModules.stylix ./settings/stylix.nix ];
|
2026-05-18 13:53:19 +01:00
|
|
|
FredOS-Mediaserver = mkHost "FredOS-Mediaserver" nixpkgs-stable home-manager-stable [ stylix-stable.nixosModules.stylix ./settings/stylix.nix ];
|
2026-05-18 10:44:16 +01:00
|
|
|
FredOS-Macbook = mkHost "FredOS-Macbook" nixpkgs home-manager [ stylix.nixosModules.stylix ./settings/stylix.nix ];
|
2026-04-29 13:26:07 +01:00
|
|
|
};
|
2026-03-28 11:52:19 +00:00
|
|
|
};
|
2026-04-05 11:20:36 +01:00
|
|
|
}
|