this repo has no description
1{
2 description = "A very basic flake for a basic cow";
3
4 inputs = {
5 nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
6 flakelight.url = "github:nix-community/flakelight";
7 flakelight.inputs.nixpkgs.follows = "nixpkgs";
8 flakelight-treefmt.url = "github:m15a/flakelight-treefmt";
9 flakelight-treefmt.inputs.flakelight.follows = "flakelight";
10 nix-index-db.url = "github:nix-community/nix-index-database";
11 nix-index-db.inputs.nixpkgs.follows = "nixpkgs";
12 hm.url = "github:nix-community/home-manager";
13 hm.inputs.nixpkgs.follows = "nixpkgs";
14 nixos-hardware.url = "github:NixOS/nixos-hardware";
15 lanzaboote.url = "github:nix-community/lanzaboote";
16 lanzaboote.inputs.nixpkgs.follows = "nixpkgs";
17 wayland-mpris-idle-inhibit.url = "git+https://tangled.org/bwc9876.dev/wayland-mpris-idle-inhibit";
18 wayland-mpris-idle-inhibit.inputs.nixpkgs.follows = "nixpkgs";
19 fenix.url = "github:nix-community/fenix/monthly";
20 fenix.inputs.nixpkgs.follows = "nixpkgs";
21 catppuccin.url = "github:catppuccin/nix";
22 catppuccin.inputs.nixpkgs.follows = "nixpkgs";
23 # cat-stylus = {
24 # url = "https://github.com/catppuccin/userstyles/releases/download/all-userstyles-export/import.json";
25 # flake = false;
26 # };
27 nixvim.url = "github:nix-community/nixvim";
28 nixvim.inputs.nixpkgs.follows = "nixpkgs";
29 imperm.url = "github:nix-community/impermanence";
30 imperm.inputs.nixpkgs.follows = "nixpkgs";
31 imperm.inputs.home-manager.follows = "hm";
32 nu_plugin_dbus.url = "git+https://tangled.org/bwc9876.dev/nu_plugin_dbus";
33 nu_plugin_dbus.inputs.nixpkgs.follows = "nixpkgs";
34 bingus.url = "git+https://tangled.org/bwc9876.dev/bingus-bot";
35 bingus.inputs.nixpkgs.follows = "nixpkgs";
36 niri.url = "github:sodiboo/niri-flake";
37 niri.inputs.nixpkgs.follows = "nixpkgs";
38 musnix.url = "github:musnix/musnix";
39 musnix.inputs.nixpkgs.follows = "nixpkgs";
40 tangled.url = "git+https://tangled.org/tangled.org/core";
41 tangled.inputs.nixpkgs.follows = "nixpkgs";
42 tranquil.url = "git+https://tangled.org/tranquil.farm/tranquil-pds";
43 tranquil.inputs.nixpkgs.follows = "nixpkgs";
44
45 spoon.url = "git+https://codeberg.org/spoonbaker/mono";
46 };
47
48 outputs = inputs @ {
49 self,
50 nixpkgs,
51 flakelight,
52 flakelight-treefmt,
53 nix-index-db,
54 hm,
55 nixos-hardware,
56 lanzaboote,
57 wayland-mpris-idle-inhibit,
58 fenix,
59 catppuccin,
60 # cat-stylus,
61 nixvim,
62 imperm,
63 nu_plugin_dbus,
64 bingus,
65 spoon,
66 niri,
67 musnix,
68 tangled,
69 tranquil,
70 }:
71 flakelight ./. {
72 inherit inputs;
73 imports = [
74 flakelight-treefmt.flakelightModules.default
75 spoon.flakelightModules.repl
76 spoon.flakelightModules.ubercheck
77 ];
78
79 treefmtConfig = {pkgs, ...}: {
80 programs = {
81 alejandra.enable = true;
82 just.enable = true;
83 shfmt.enable = true;
84 };
85 };
86
87 homeModule = {lib, ...}: {
88 _module.args = {inherit inputs;};
89 imports = let
90 deps = [
91 inputs.nixvim.homeModules.nixvim
92 inputs.nix-index-db.homeModules.nix-index
93 inputs.catppuccin.homeModules.catppuccin
94 inputs.niri.homeModules.niri
95 ];
96 myMods = lib.mapAttrsToList (k: v: ./homeModules/${k}) (builtins.readDir ./homeModules);
97 in
98 deps ++ myMods;
99 };
100
101 nixosModule = {lib, ...}: {
102 _module.args = {inherit inputs;};
103 imports = let
104 deps = [
105 inputs.hm.nixosModules.default
106 inputs.catppuccin.nixosModules.catppuccin
107 inputs.lanzaboote.nixosModules.lanzaboote
108 inputs.musnix.nixosModules.musnix
109 inputs.imperm.nixosModules.default
110 inputs.tranquil.nixosModules.default
111 inputs.tangled.nixosModules.knot
112 inputs.tangled.nixosModules.spindle
113 ];
114 myMods = lib.mapAttrsToList (k: v: ./nixosModules/${k}) (builtins.readDir ./nixosModules);
115 in
116 deps ++ myMods;
117 };
118
119 nixDir = ./.;
120 legacyPackages = pkgs: pkgs;
121 nixpkgs.config = {
122 allowUnfree = true;
123 };
124 };
125}