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 rust-overlay.url = "github:oxalica/rust-overlay";
18 rust-overlay.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 nu_plugin_dbus.url = "github:Bwc9876/nu_plugin_dbus";
25 nu_plugin_dbus.inputs.nixpkgs.follows = "nixpkgs";
26 bingus.url = "github:Bwc9876/bingus-bot";
27 bingus.inputs.nixpkgs.follows = "nixpkgs";
28
29 catppuccin-stylus = {
30 url = "https://github.com/catppuccin/userstyles/releases/download/all-userstyles-export/import.json";
31 flake = false;
32 };
33
34 spoon.url = "git+https://codeberg.org/spoonbaker/mono?dir=nixos-config";
35 spoon.inputs = {
36 nixpkgs.follows = "nixpkgs";
37 flakelight.follows = "flakelight";
38 home-manager.follows = "hm";
39 impermanence.follows = "imperm";
40 nix-index-database.follows = "nix-index-db";
41 };
42 };
43
44 outputs =
45 inputs@{
46 self,
47 nixpkgs,
48 flakelight,
49 nix-index-db,
50 hm,
51 nixos-hardware,
52 lanzaboote,
53 wayland-mpris-idle-inhibit,
54 rust-overlay,
55 catppuccin,
56 catppuccin-stylus,
57 nixvim,
58 imperm,
59 nu_plugin_dbus,
60 bingus,
61 spoon,
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 packages = nixpkgs.lib.genAttrs [ "wayland-mpris-idle-inhibit" "nu_plugin_dbus" ] (
75 i: { pkgs }: inputs.${i}.packages.${pkgs.system}.default
76 );
77 nixDir = ./.;
78 nixDirAliases = {
79 nixosConfigurations = [ "systemConfigs" ];
80 };
81 legacyPackages = pkgs: pkgs;
82 nixpkgs.config = {
83 allowUnfree = true;
84 };
85 };
86}