Repository navigation
Expand file tree
/
Copy pathflake.nix
More file actions
89 lines (82 loc) · 2.53 KB
/
Copy pathflake.nix
File metadata and controls
89 lines (82 loc) · 2.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
# my-nixos | Copyright (C) 2025 eth-p
# Repository: https://github.com/eth-p/my-nixos
{
description = ''
Flake containing NixOS modules used to configure my machines.
'';
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
lanzaboote = {
url = "github:nix-community/lanzaboote/v1.1.0";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-cachyos-kernel = {
url = "github:xddxdd/nix-cachyos-kernel";
inputs.nixpkgs.follows = "nixpkgs";
};
gamedownsights = {
url = "github:eth-p/gamedownsights";
inputs.nixpkgs.follows = "nixpkgs";
};
kwin-effects-better-blur-dx = {
url = "github:xarblu/kwin-effects-better-blur-dx";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{ self, nixpkgs, ... }@inputs:
rec {
# lib provides reusable library functions.
lib = (import ./lib/nix) (
{
lib = nixpkgs.lib;
my-nixos = self;
}
// inputs
);
# packages evaluates ./packages/overlay.nix, returning a package
# derivation for each of the overlayed packages.
packages =
let
forEachSystem = nixpkgs.lib.genAttrs systems;
systems = [
"x86_64-linux"
"aarch64-linux"
];
in
forEachSystem (
system:
let
pkgs = import nixpkgs {
inherit system;
overlays = [ self.overlays.packages ];
};
in
nixpkgs.lib.attrsets.mapAttrs (name: value: pkgs."${name}") (self.overlays.packages pkgs pkgs)
);
# overlays provides nixpkgs overlays.
overlays = {
default = prev: final: (overlays.externals prev final) // (overlays.packages prev final);
packages = (import ./packages/overlay.nix);
externals = (
prev: final:
let
system = prev.stdenv.hostPlatform.system;
in
rec {
kde-kwin-effects-better-blur-dx-wayland =
inputs.kwin-effects-better-blur-dx.packages.${system}.default;
kde-kwin-effects-better-blur-dx-x11 = inputs.kwin-effects-better-blur-dx.packages.${system}.x11;
kde-kwin-effects-forceblur-wayland = kde-kwin-effects-better-blur-dx-wayland;
kde-kwin-effects-forceblur-x11 = kde-kwin-effects-better-blur-dx-x11;
}
);
};
# nixosModules provides NixOS modules.
nixosModules = {
my-nixos = {
imports = (import ./modules);
};
};
};
}