grimm-nixos-laptop/flake.nix

62 lines
1.7 KiB
Nix
Raw Normal View History

2023-11-28 23:36:44 +01:00
{
description = "grimmauld-nixos";
inputs = {
nixpkgs = {
2024-03-02 23:15:51 +01:00
url = "github:NixOS/nixpkgs/nixos-unstable";
2024-04-20 19:50:23 +02:00
# url = "git+file:///home/grimmauld/coding/nixpkgs";
2023-11-28 23:36:44 +01:00
};
2024-03-09 18:24:55 +01:00
chaotic = {
url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
inputs.nixpkgs.follows = "nixpkgs";
};
agenix = {
url = "github:ryantm/agenix";
inputs.nixpkgs.follows = "nixpkgs";
};
2023-11-28 23:36:44 +01:00
};
2024-05-06 23:22:32 +02:00
outputs = inputs @ { self, agenix, nixpkgs, chaotic, ... }:
2024-04-10 16:51:28 +02:00
let
2024-04-26 11:44:59 +02:00
patches = [
{
2024-05-02 21:08:38 +02:00
# tlpui
2024-04-26 11:44:59 +02:00
url = "https://patch-diff.githubusercontent.com/raw/NixOS/nixpkgs/pull/305278.patch";
2024-05-06 23:22:32 +02:00
hash = "sha256-vmzj7gF8jwHdqxN+dQiJ4MRxKpHvBTzbrUvFgt1DK8I=";
2024-04-26 11:44:59 +02:00
}
];
customNixosSystem = system: definitions:
let
unpatched = nixpkgs.legacyPackages.${system};
patched = unpatched.applyPatches {
name = "nixpkgs-patched";
src = inputs.nixpkgs;
patches = map unpatched.fetchpatch patches;
};
2024-04-26 11:44:59 +02:00
nixosSystem = import (patched + "/nixos/lib/eval-config.nix");
in
nixosSystem ({
inherit system;
2024-05-06 23:22:32 +02:00
specialArgs = { inherit inputs system; };
} // definitions);
2024-04-10 16:51:28 +02:00
in
{
nixosConfigurations = {
2024-04-26 12:55:44 +02:00
grimmauld-nixos = customNixosSystem "x86_64-linux" {
2024-04-10 16:51:28 +02:00
modules = [
agenix.nixosModules.default
chaotic.nixosModules.default
./overlays
2024-04-30 12:32:03 +02:00
./common
2024-04-10 16:51:28 +02:00
./specific/grimm-nixos-laptop/configuration.nix
./configuration.nix
./modules/users.nix
./modules/system-packages.nix
./modules/kvm.nix
];
2024-04-26 12:55:44 +02:00
};
2023-11-28 23:36:44 +01:00
};
};
}