-
Notifications
You must be signed in to change notification settings - Fork 0
/
flake.nix
66 lines (62 loc) · 2.39 KB
/
flake.nix
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
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
nix-doom-emacs.url = "github:nothendev/doomer";
nix-doom-emacs.inputs.nixpkgs.follows = "nixpkgs";
zig.url = "github:mitchellh/zig-overlay";
zig.inputs.nixpkgs.follows = "nixpkgs";
zls.url = "github:zigtools/zls";
zls.inputs.nixpkgs.follows = "nixpkgs";
zls.inputs.zig-overlay.follows = "zig";
hyprland.url = "github:hyprwm/Hyprland";
nixwaypkgs.url = "github:nix-community/nixpkgs-wayland";
nixwaypkgs.inputs.nixpkgs.follows = "nixpkgs";
nixvim.url = "github:nix-community/nixvim";
nixvim.inputs.nixpkgs.follows = "nixpkgs";
codeium-nvim.url = "github:Exafunction/codeium.nvim";
codeium-nvim.inputs.nixpkgs.follows = "nixpkgs";
nvim.url = "github:neovim/neovim?dir=contrib";
nvim.inputs.nixpkgs.follows = "nixpkgs";
fomt.url = "git+https://codeberg.org/noth/forgmartelo";
};
# nixConfig = {
# substituters = [ "https://hyprland.cachix.org" ];
# trusted-public-keys =
# [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
# };
outputs =
{ self, nixpkgs, home-manager, nixwaypkgs, codeium-nvim, ... }@attrs:
let
mkSystem = name:
nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
specialArgs = attrs // { waypkgs = nixwaypkgs.packages.${system}; inherit system; };
modules = [
./src/systems/${name}
./src/modules/upgrade-diff.nix
./src/common/base69
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = specialArgs;
home-manager.users.ilya = import ./src/home;
}
({ config, pkgs, ... }: {
nixpkgs.overlays = [
(thewhat: super: import ./src/pkgs { pkgs = super; })
codeium-nvim.overlays.${system}.default
];
})
];
};
in
{
packages.x86_64-linux =
import ./src/pkgs { pkgs = nixpkgs.legacyPackages."x86_64-linux"; };
nixosConfigurations.ilynix = mkSystem "iy";
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt;
};
}