blob: a40d05214868c442869c7d19fd01ad267b80a930 [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
Skyler Grey57f6b782024-03-13 14:43:09 +000010 collabora-gtimelog = {
11 url = "git+https://gitlab.collabora.com/collabora/gtimelog.git";
12 flake = false;
13 };
14 collabora-icon = {
15 url = "https://www.collabora.com/favicon.ico";
16 flake = false;
17 };
18
Skyler Greya0da6b22024-02-11 22:53:41 +000019 ewwsalmoomedits--eww-widgets = {
20 url = "github:saimoomedits/eww-widgets";
21 flake = false;
22 };
Skyler Grey4e230892024-02-13 22:58:46 +000023
Samuel Shuert2e42e672024-02-21 21:49:28 +000024 home-manager = {
25 url = "github:nix-community/home-manager";
26 inputs.nixpkgs.follows = "nixpkgs";
27 };
28
29 hyprland.url = "github:hyprwm/Hyprland";
30
31 nix-index-database = {
32 url = "github:nix-community/nix-index-database";
33 inputs.nixpkgs.follows = "nixpkgs";
34 };
35
Skyler Grey5db90f92024-02-25 11:24:31 +000036 nixos-hardware.url = "github:nixos/nixos-hardware/master";
37
Samuel Shuert2e42e672024-02-21 21:49:28 +000038 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
39
Skyler Grey4e230892024-02-13 22:58:46 +000040 nur.url = "github:nix-community/nur";
Samuel Shuert2e42e672024-02-21 21:49:28 +000041
42 snowfall-lib = {
Skyler Grey694958e2024-02-29 23:54:28 +000043 url = "github:snowfallorg/lib/dev";
Samuel Shuert2e42e672024-02-21 21:49:28 +000044 inputs.nixpkgs.follows = "nixpkgs";
45 };
46
47 sops-nix.url = "github:Mic92/sops-nix";
Samuel Shuert804f81b2024-02-21 22:20:01 +000048
49 templates.url = "git+https://git.clicks.codes/Templates";
Skyler Greya0da6b22024-02-11 22:53:41 +000050 };
51
Skyler Grey4e230892024-02-13 22:58:46 +000052 outputs =
53 { self, nixpkgs, ... }@inputs:
Skyler Grey694958e2024-02-29 23:54:28 +000054 inputs.snowfall-lib.mkFlake {
55 inherit inputs;
56 src = ./.;
57
58 homes.modules = [
Samuel Shuert659b5642024-02-23 20:47:43 +000059 inputs.anyrun.homeManagerModules.default
60 inputs.hyprland.homeManagerModules.default
61 inputs.nur.hmModules.nur
Samuel Shuert73a9d282024-02-23 18:43:32 +000062 inputs.nix-index-database.hmModules.nix-index
Skyler Grey57f6b782024-03-13 14:43:09 +000063 inputs.sops-nix.homeManagerModules.sops
Samuel Shuertd7ad8db2024-02-20 20:53:34 +000064 ];
Samuel Shuertd7ad8db2024-02-20 20:53:34 +000065
Samuel Shuert2e42e672024-02-21 21:49:28 +000066 systems.modules.nixos = [
Skyler Greya0da6b22024-02-11 22:53:41 +000067 inputs.hyprland.nixosModules.default
Samuel Shuert02ffd1e2024-02-13 21:37:15 -050068 inputs.nur.nixosModules.nur
Samuel Shuert2e42e672024-02-21 21:49:28 +000069 inputs.sops-nix.nixosModules.sops
Skyler Greya0da6b22024-02-11 22:53:41 +000070 ];
71
Skyler Grey5db90f92024-02-25 11:24:31 +000072 systems.hosts.greylag.modules = [
73 inputs.nixos-hardware.nixosModules.framework-13th-gen-intel
74 ];
75
Skyler Greya0da6b22024-02-11 22:53:41 +000076 snowfall = {
Skyler Grey4e230892024-02-13 22:58:46 +000077 namespace = "chimera";
Skyler Greya0da6b22024-02-11 22:53:41 +000078
Skyler Grey4e230892024-02-13 22:58:46 +000079 meta.name = "chimera";
80 meta.title = "Coded and Minion's Nix Configurations";
Skyler Greya0da6b22024-02-11 22:53:41 +000081 };
82
83 outputs-builder = channels: {
Skyler Grey4e230892024-02-13 22:58:46 +000084 formatter = nixpkgs.legacyPackages.${channels.nixpkgs.system}.nixfmt-rfc-style;
Skyler Greya0da6b22024-02-11 22:53:41 +000085 };
86
87 channels-config = {
88 allowUnfree = true;
89 };
90 };
91}