Flake for my NixOS devices
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
43 spoon.url = "git+https://codeberg.org/spoonbaker/mono";
44 spoon.inputs = {
45 nixpkgs.follows = "nixpkgs";
46 flakelight.follows = "flakelight";
47 home-manager.follows = "hm";
48 impermanence.follows = "imperm";
49 };
50 };
51
52 outputs = inputs @ {
53 self,
54 nixpkgs,
55 flakelight,
56 flakelight-treefmt,
57 nix-index-db,
58 hm,
59 nixos-hardware,
60 lanzaboote,
61 wayland-mpris-idle-inhibit,
62 fenix,
63 catppuccin,
64 # cat-stylus,
65 nixvim,
66 imperm,
67 nu_plugin_dbus,
68 bingus,
69 spoon,
70 niri,
71 musnix,
72 tangled,
73 }:
74 flakelight ./. {
75 inherit inputs;
76 imports = [
77 flakelight-treefmt.flakelightModules.default
78 spoon.flakelightModules.repl
79 spoon.flakelightModules.ubercheck
80 ];
81
82 treefmtConfig = {pkgs, ...}: {
83 programs = {
84 alejandra.enable = true;
85 just.enable = true;
86 shfmt.enable = true;
87 };
88 };
89
90 nixDir = ./.;
91 legacyPackages = pkgs: pkgs;
92 nixpkgs.config = {
93 allowUnfree = true;
94 };
95 };
96}