blob: ccc2bcc55eb042c94e7624d79ece6d5e42bd1bd8 [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
Skyler Grey33e86632024-05-24 23:57:45 +000024 firefox-sidebery-gnome = {
25 url = "github:rafaelmardojai/firefox-gnome-theme";
26 flake = false;
27 };
28
Samuel Shuert2e42e672024-02-21 21:49:28 +000029 home-manager = {
30 url = "github:nix-community/home-manager";
31 inputs.nixpkgs.follows = "nixpkgs";
32 };
33
Skyler Grey55d3edc2024-05-25 12:22:30 +000034 lix = {
35 url = "git+https://git@git.lix.systems/lix-project/lix?ref=refs/tags/2.90-beta.1";
36 flake = false;
37 };
38 lix-module = {
39 url = "git+https://git.lix.systems/lix-project/nixos-module";
40 inputs.lix.follows = "lix";
41 inputs.nixpkgs.follows = "nixpkgs";
42 };
Samuel Shuert2e42e672024-02-21 21:49:28 +000043
Skyler Grey97831642024-05-23 00:09:10 +000044 niri-flake = {
45 url = "github:sodiboo/niri-flake";
46 inputs = {
47 niri-unstable.follows = "niri-flake/niri-stable";
48 nixpkgs.follows = "nixpkgs";
49 nixpkgs-stable.follows = "nixpkgs";
50 };
51 };
52
Samuel Shuert2e42e672024-02-21 21:49:28 +000053 nix-index-database = {
54 url = "github:nix-community/nix-index-database";
55 inputs.nixpkgs.follows = "nixpkgs";
56 };
57
Skyler Grey5db90f92024-02-25 11:24:31 +000058 nixos-hardware.url = "github:nixos/nixos-hardware/master";
59
Samuel Shuert2e42e672024-02-21 21:49:28 +000060 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
Skyler Grey889835e2024-05-26 21:23:33 +000061 nixpkgs-xwayland-23.url = "github:nixos/nixpkgs?rev=46397778ef1f73414b03ed553a3368f0e7e33c2f";
Samuel Shuert2e42e672024-02-21 21:49:28 +000062
Skyler Grey4e230892024-02-13 22:58:46 +000063 nur.url = "github:nix-community/nur";
Samuel Shuert2e42e672024-02-21 21:49:28 +000064
65 snowfall-lib = {
Skyler Grey694958e2024-02-29 23:54:28 +000066 url = "github:snowfallorg/lib/dev";
Samuel Shuert2e42e672024-02-21 21:49:28 +000067 inputs.nixpkgs.follows = "nixpkgs";
68 };
69
70 sops-nix.url = "github:Mic92/sops-nix";
Samuel Shuert804f81b2024-02-21 22:20:01 +000071
72 templates.url = "git+https://git.clicks.codes/Templates";
Skyler Grey2c55d422024-05-25 13:30:43 +000073
74 emacs-overlay.url = "github:nix-community/emacs-overlay";
Skyler Grey889835e2024-05-26 21:23:33 +000075
76 xwayland-satellite = {
77 url = "github:Supreeeme/xwayland-satellite";
78 flake = false;
79 };
Skyler Greya0da6b22024-02-11 22:53:41 +000080 };
81
Skyler Grey4e230892024-02-13 22:58:46 +000082 outputs =
83 { self, nixpkgs, ... }@inputs:
Skyler Grey694958e2024-02-29 23:54:28 +000084 inputs.snowfall-lib.mkFlake {
85 inherit inputs;
86 src = ./.;
87
Skyler Grey97831642024-05-23 00:09:10 +000088 overlays = [
Skyler Grey2c55d422024-05-25 13:30:43 +000089 inputs.emacs-overlay.overlays.default
Skyler Grey97831642024-05-23 00:09:10 +000090 inputs.niri-flake.overlays.niri
91 ];
92
Skyler Grey694958e2024-02-29 23:54:28 +000093 homes.modules = [
Samuel Shuert659b5642024-02-23 20:47:43 +000094 inputs.anyrun.homeManagerModules.default
Samuel Shuert659b5642024-02-23 20:47:43 +000095 inputs.nur.hmModules.nur
Samuel Shuert73a9d282024-02-23 18:43:32 +000096 inputs.nix-index-database.hmModules.nix-index
Skyler Grey57f6b782024-03-13 14:43:09 +000097 inputs.sops-nix.homeManagerModules.sops
Skyler Grey97831642024-05-23 00:09:10 +000098 inputs.niri-flake.homeModules.niri
Samuel Shuertd7ad8db2024-02-20 20:53:34 +000099 ];
Samuel Shuertd7ad8db2024-02-20 20:53:34 +0000100
Samuel Shuert2e42e672024-02-21 21:49:28 +0000101 systems.modules.nixos = [
Samuel Shuert02ffd1e2024-02-13 21:37:15 -0500102 inputs.nur.nixosModules.nur
Samuel Shuert2e42e672024-02-21 21:49:28 +0000103 inputs.sops-nix.nixosModules.sops
Skyler Grey55d3edc2024-05-25 12:22:30 +0000104 inputs.lix-module.nixosModules.default
Skyler Greya0da6b22024-02-11 22:53:41 +0000105 ];
106
Skyler Grey5db90f92024-02-25 11:24:31 +0000107 systems.hosts.greylag.modules = [
108 inputs.nixos-hardware.nixosModules.framework-13th-gen-intel
109 ];
110
Skyler Greya0da6b22024-02-11 22:53:41 +0000111 snowfall = {
Skyler Grey4e230892024-02-13 22:58:46 +0000112 namespace = "chimera";
Skyler Greya0da6b22024-02-11 22:53:41 +0000113
Skyler Grey4e230892024-02-13 22:58:46 +0000114 meta.name = "chimera";
115 meta.title = "Coded and Minion's Nix Configurations";
Skyler Greya0da6b22024-02-11 22:53:41 +0000116 };
117
118 outputs-builder = channels: {
Skyler Grey4e230892024-02-13 22:58:46 +0000119 formatter = nixpkgs.legacyPackages.${channels.nixpkgs.system}.nixfmt-rfc-style;
Skyler Greya0da6b22024-02-11 22:53:41 +0000120 };
121
122 channels-config = {
123 allowUnfree = true;
124 };
125 };
126}