blob: 082873deb8306381047a9bca7cc0ee17c16565bc [file] [log] [blame]
Skyler Greya0da6b22024-02-11 22:53:41 +00001{
Samuel Shuert02ffd1e2024-02-13 21:37:15 -05002 description = "The Chimera nix configuration flake, a shared system configuration";
Skyler Greya0da6b22024-02-11 22:53:41 +00003
4 inputs = {
Skyler Greya0da6b22024-02-11 22:53:41 +00005 anyrun = {
6 url = "github:Kirottu/anyrun";
7 inputs.nixpkgs.follows = "nixpkgs";
8 };
9
10 ewwsalmoomedits--eww-widgets = {
11 url = "github:saimoomedits/eww-widgets";
12 flake = false;
13 };
Skyler Grey4e230892024-02-13 22:58:46 +000014
Samuel Shuert2e42e672024-02-21 21:49:28 +000015 home-manager = {
16 url = "github:nix-community/home-manager";
17 inputs.nixpkgs.follows = "nixpkgs";
18 };
19
20 hyprland.url = "github:hyprwm/Hyprland";
21
22 nix-index-database = {
23 url = "github:nix-community/nix-index-database";
24 inputs.nixpkgs.follows = "nixpkgs";
25 };
26
27 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
28
Skyler Grey4e230892024-02-13 22:58:46 +000029 nur.url = "github:nix-community/nur";
Samuel Shuert2e42e672024-02-21 21:49:28 +000030
31 snowfall-lib = {
32 url = "github:snowfallorg/lib";
33 inputs.nixpkgs.follows = "nixpkgs";
34 };
35
36 sops-nix.url = "github:Mic92/sops-nix";
Skyler Greya0da6b22024-02-11 22:53:41 +000037 };
38
Skyler Grey4e230892024-02-13 22:58:46 +000039 outputs =
40 { self, nixpkgs, ... }@inputs:
Samuel Shuertd7ad8db2024-02-20 20:53:34 +000041 let
42 extraHomeModules = [
43 inputs.anyrun.homeManagerModules.default
44 inputs.hyprland.homeManagerModules.default
45 inputs.nur.hmModules.nur
46 ];
47 in inputs.snowfall-lib.mkFlake {
Skyler Greya0da6b22024-02-11 22:53:41 +000048 inherit inputs;
49 src = ./.;
50
Samuel Shuertd7ad8db2024-02-20 20:53:34 +000051 # homes.modules = [
52 # TODO: inputs.nix-index-database.hmModules.nix-index
53 # ];
Skyler Greya0da6b22024-02-11 22:53:41 +000054
Samuel Shuertd7ad8db2024-02-20 20:53:34 +000055 homes.users."coded@shorthair".modules = extraHomeModules;
56
57 homes.users."minion@greylag".modules = extraHomeModules;
58
Samuel Shuert2e42e672024-02-21 21:49:28 +000059 systems.modules.nixos = [
Skyler Greya0da6b22024-02-11 22:53:41 +000060 inputs.hyprland.nixosModules.default
Samuel Shuert02ffd1e2024-02-13 21:37:15 -050061 inputs.nur.nixosModules.nur
Samuel Shuert2e42e672024-02-21 21:49:28 +000062 inputs.sops-nix.nixosModules.sops
Skyler Greya0da6b22024-02-11 22:53:41 +000063 ];
64
65 snowfall = {
Skyler Grey4e230892024-02-13 22:58:46 +000066 namespace = "chimera";
Skyler Greya0da6b22024-02-11 22:53:41 +000067
Skyler Grey4e230892024-02-13 22:58:46 +000068 meta.name = "chimera";
69 meta.title = "Coded and Minion's Nix Configurations";
Skyler Greya0da6b22024-02-11 22:53:41 +000070 };
71
72 outputs-builder = channels: {
Skyler Grey4e230892024-02-13 22:58:46 +000073 formatter = nixpkgs.legacyPackages.${channels.nixpkgs.system}.nixfmt-rfc-style;
Skyler Greya0da6b22024-02-11 22:53:41 +000074 };
75
76 channels-config = {
77 allowUnfree = true;
78 };
79 };
80}