Flake for my NixOS devices
1{
2 description = "A very basic flake";
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 nix-index-db.url = "github:nix-community/nix-index-database";
9 nix-index-db.inputs.nixpkgs.follows = "nixpkgs";
10 hm.url = "github:nix-community/home-manager";
11 hm.inputs.nixpkgs.follows = "nixpkgs";
12 nixos-hardware.url = "github:NixOS/nixos-hardware";
13 lanzaboote.url = "github:nix-community/lanzaboote";
14 lanzaboote.inputs.nixpkgs.follows = "nixpkgs";
15 wayland-mpris-idle-inhibit.url = "github:Bwc9876/wayland-mpris-idle-inhibit";
16 wayland-mpris-idle-inhibit.inputs.nixpkgs.follows = "nixpkgs";
17 fenix.url = "github:nix-community/fenix/monthly";
18 fenix.inputs.nixpkgs.follows = "nixpkgs";
19 catppuccin.url = "github:catppuccin/nix";
20 catppuccin.inputs.nixpkgs.follows = "nixpkgs";
21 nixvim.url = "github:nix-community/nixvim";
22 nixvim.inputs.nixpkgs.follows = "nixpkgs";
23 imperm.url = "github:nix-community/impermanence";
24 imperm.inputs.nixpkgs.follows = "nixpkgs";
25 imperm.inputs.home-manager.follows = "hm";
26 nu_plugin_dbus.url = "github:Bwc9876/nu_plugin_dbus";
27 nu_plugin_dbus.inputs.nixpkgs.follows = "nixpkgs";
28 gh-grader-preview.url = "github:Bwc9876/gh-grader-preview";
29 gh-grader-preview.inputs.nixpkgs.follows = "nixpkgs";
30 bingus.url = "github:Bwc9876/bingus-bot";
31 bingus.inputs.nixpkgs.follows = "nixpkgs";
32 niri.url = "github:sodiboo/niri-flake";
33 niri.inputs.nixpkgs.follows = "nixpkgs";
34
35 spoon.url = "git+https://codeberg.org/spoonbaker/mono";
36 spoon.inputs = {
37 nixpkgs.follows = "nixpkgs";
38 flakelight.follows = "flakelight";
39 home-manager.follows = "hm";
40 impermanence.follows = "imperm";
41 };
42 };
43
44 outputs = inputs @ {
45 self,
46 nixpkgs,
47 flakelight,
48 nix-index-db,
49 hm,
50 nixos-hardware,
51 lanzaboote,
52 wayland-mpris-idle-inhibit,
53 fenix,
54 catppuccin,
55 nixvim,
56 imperm,
57 nu_plugin_dbus,
58 bingus,
59 spoon,
60 gh-grader-preview,
61 niri,
62 }:
63 flakelight ./. {
64 imports = [
65 spoon.flakelightModules.repl
66 spoon.flakelightModules.ubercheck
67 ];
68 inherit inputs;
69 formatters = pkgs: {
70 "*.nix" = "alejandra .";
71 "*.sh" = "shfmt -w .";
72 };
73
74 nixDir = ./.;
75 legacyPackages = pkgs: pkgs;
76 nixpkgs.config = {
77 allowUnfree = true;
78 };
79 };
80}