blob: 162d4deeede494b9c59416426ec520c589b143a7 [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
Skyler Grey0b6f0012025-01-01 10:51:33 +000029 ghostty.url = "github:ghostty-org/ghostty";
30
Samuel Shuert2e42e672024-02-21 21:49:28 +000031 home-manager = {
32 url = "github:nix-community/home-manager";
33 inputs.nixpkgs.follows = "nixpkgs";
34 };
35
Skyler Greyb3d7b042024-07-01 00:48:13 +000036 jujutsu = {
Skyler Greya5585a02024-05-26 21:23:33 +000037 url = "github:martinvonz/jj?rev=a43b0cde97e14b92dace47ead9f0e968310cab4e";
Samuel Shuert291d96b2024-10-14 14:45:24 -040038 # inputs.nixpkgs.follows = "nixpkgs";
Skyler Greyb3d7b042024-07-01 00:48:13 +000039 };
40
Skyler Grey55d3edc2024-05-25 12:22:30 +000041 lix-module = {
Skyler Grey035c8d12024-05-26 21:23:33 +000042 url = "git+https://git.lix.systems/lix-project/nixos-module?ref=refs/tags/2.91.0";
Skyler Grey55d3edc2024-05-25 12:22:30 +000043 inputs.nixpkgs.follows = "nixpkgs";
44 };
Samuel Shuert2e42e672024-02-21 21:49:28 +000045
Skyler Grey69a999e2024-05-23 00:09:10 +000046 niri-flake = {
47 url = "github:sodiboo/niri-flake";
48 inputs = {
49 niri-unstable.follows = "niri-flake/niri-stable";
50 nixpkgs.follows = "nixpkgs";
51 nixpkgs-stable.follows = "nixpkgs";
52 };
53 };
54
Samuel Shuert2e42e672024-02-21 21:49:28 +000055 nix-index-database = {
56 url = "github:nix-community/nix-index-database";
57 inputs.nixpkgs.follows = "nixpkgs";
58 };
59
Skyler Grey5db90f92024-02-25 11:24:31 +000060 nixos-hardware.url = "github:nixos/nixos-hardware/master";
61
Samuel Shuert2e42e672024-02-21 21:49:28 +000062 nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
63
Samuel Shuert291d96b2024-10-14 14:45:24 -040064 nixpkgs-stable.url = "github:nixos/nixpkgs/nixos-24.05";
65
Skyler Grey4e230892024-02-13 22:58:46 +000066 nur.url = "github:nix-community/nur";
Samuel Shuert2e42e672024-02-21 21:49:28 +000067
Skyler Greycf0b8562024-10-02 22:14:37 +000068 radicle.url = "git+https://seed.radicle.xyz/z3gqcJUoA1n9HaHKufZs5FCSGazv5.git";
69
Samuel Shuert2e42e672024-02-21 21:49:28 +000070 snowfall-lib = {
Skyler Grey694958e2024-02-29 23:54:28 +000071 url = "github:snowfallorg/lib/dev";
Samuel Shuert2e42e672024-02-21 21:49:28 +000072 inputs.nixpkgs.follows = "nixpkgs";
73 };
74
75 sops-nix.url = "github:Mic92/sops-nix";
Samuel Shuert804f81b2024-02-21 22:20:01 +000076
77 templates.url = "git+https://git.clicks.codes/Templates";
Skyler Grey903051b2024-05-25 13:30:43 +000078
79 emacs-overlay.url = "github:nix-community/emacs-overlay";
Samuel Shuert5dc7eb12024-08-19 16:31:54 -040080
81 zen-browser.url = "github:MarceColl/zen-browser-flake";
Skyler Greya0da6b22024-02-11 22:53:41 +000082 };
83
Skyler Grey4e230892024-02-13 22:58:46 +000084 outputs =
85 { self, nixpkgs, ... }@inputs:
Skyler Grey694958e2024-02-29 23:54:28 +000086 inputs.snowfall-lib.mkFlake {
87 inherit inputs;
88 src = ./.;
89
Skyler Grey69a999e2024-05-23 00:09:10 +000090 overlays = [
Skyler Grey903051b2024-05-25 13:30:43 +000091 inputs.emacs-overlay.overlays.default
Skyler Grey69a999e2024-05-23 00:09:10 +000092 inputs.niri-flake.overlays.niri
Skyler Grey70baf0e2024-12-07 13:29:41 +000093 inputs.nur.overlays.default
Skyler Grey69a999e2024-05-23 00:09:10 +000094 ];
95
Skyler Grey694958e2024-02-29 23:54:28 +000096 homes.modules = [
Samuel Shuert659b5642024-02-23 20:47:43 +000097 inputs.anyrun.homeManagerModules.default
Samuel Shuert73a9d282024-02-23 18:43:32 +000098 inputs.nix-index-database.hmModules.nix-index
Skyler Grey57f6b782024-03-13 14:43:09 +000099 inputs.sops-nix.homeManagerModules.sops
Skyler Grey69a999e2024-05-23 00:09:10 +0000100 inputs.niri-flake.homeModules.niri
Samuel Shuertd7ad8db2024-02-20 20:53:34 +0000101 ];
Samuel Shuertd7ad8db2024-02-20 20:53:34 +0000102
Samuel Shuert2e42e672024-02-21 21:49:28 +0000103 systems.modules.nixos = [
Samuel Shuert2e42e672024-02-21 21:49:28 +0000104 inputs.sops-nix.nixosModules.sops
Skyler Grey55d3edc2024-05-25 12:22:30 +0000105 inputs.lix-module.nixosModules.default
Skyler Greya0da6b22024-02-11 22:53:41 +0000106 ];
107
Skyler Grey5db90f92024-02-25 11:24:31 +0000108 systems.hosts.greylag.modules = [
109 inputs.nixos-hardware.nixosModules.framework-13th-gen-intel
110 ];
111
Skyler Greya0da6b22024-02-11 22:53:41 +0000112 snowfall = {
Skyler Grey4e230892024-02-13 22:58:46 +0000113 namespace = "chimera";
Skyler Greya0da6b22024-02-11 22:53:41 +0000114
Skyler Grey4e230892024-02-13 22:58:46 +0000115 meta.name = "chimera";
Samuel Shuert844484b2024-06-20 21:18:34 -0400116 meta.title = "A Well Opinionated Nix Configurations";
Skyler Greya0da6b22024-02-11 22:53:41 +0000117 };
118
119 outputs-builder = channels: {
Skyler Grey4e230892024-02-13 22:58:46 +0000120 formatter = nixpkgs.legacyPackages.${channels.nixpkgs.system}.nixfmt-rfc-style;
Skyler Greya0da6b22024-02-11 22:53:41 +0000121 };
122
123 channels-config = {
124 allowUnfree = true;
125 };
126 };
127}