{ description = "A very basic flake for a basic cow"; inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable"; flakelight.url = "github:nix-community/flakelight"; flakelight.inputs.nixpkgs.follows = "nixpkgs"; flakelight-treefmt.url = "github:m15a/flakelight-treefmt"; flakelight-treefmt.inputs.flakelight.follows = "flakelight"; nix-index-db.url = "github:nix-community/nix-index-database"; nix-index-db.inputs.nixpkgs.follows = "nixpkgs"; hm.url = "github:nix-community/home-manager"; hm.inputs.nixpkgs.follows = "nixpkgs"; nixos-hardware.url = "github:NixOS/nixos-hardware"; lanzaboote.url = "github:nix-community/lanzaboote"; lanzaboote.inputs.nixpkgs.follows = "nixpkgs"; wayland-mpris-idle-inhibit.url = "git+https://tangled.org/bwc9876.dev/wayland-mpris-idle-inhibit"; wayland-mpris-idle-inhibit.inputs.nixpkgs.follows = "nixpkgs"; fenix.url = "github:nix-community/fenix/monthly"; fenix.inputs.nixpkgs.follows = "nixpkgs"; catppuccin.url = "github:catppuccin/nix"; catppuccin.inputs.nixpkgs.follows = "nixpkgs"; # cat-stylus = { # url = "https://github.com/catppuccin/userstyles/releases/download/all-userstyles-export/import.json"; # flake = false; # }; nixvim.url = "github:nix-community/nixvim"; nixvim.inputs.nixpkgs.follows = "nixpkgs"; imperm.url = "github:nix-community/impermanence"; imperm.inputs.nixpkgs.follows = "nixpkgs"; imperm.inputs.home-manager.follows = "hm"; nu_plugin_dbus.url = "git+https://tangled.org/bwc9876.dev/nu_plugin_dbus"; nu_plugin_dbus.inputs.nixpkgs.follows = "nixpkgs"; bingus.url = "git+https://tangled.org/bwc9876.dev/bingus-bot"; bingus.inputs.nixpkgs.follows = "nixpkgs"; niri.url = "github:sodiboo/niri-flake"; niri.inputs.nixpkgs.follows = "nixpkgs"; musnix.url = "github:musnix/musnix"; musnix.inputs.nixpkgs.follows = "nixpkgs"; tangled.url = "git+https://tangled.org/tangled.org/core"; tangled.inputs.nixpkgs.follows = "nixpkgs"; tranquil.url = "git+https://tangled.org/tranquil.farm/tranquil-pds"; tranquil.inputs.nixpkgs.follows = "nixpkgs"; spoon.url = "git+https://codeberg.org/spoonbaker/mono"; }; outputs = inputs @ { self, nixpkgs, flakelight, flakelight-treefmt, nix-index-db, hm, nixos-hardware, lanzaboote, wayland-mpris-idle-inhibit, fenix, catppuccin, # cat-stylus, nixvim, imperm, nu_plugin_dbus, bingus, spoon, niri, musnix, tangled, tranquil, }: flakelight ./. { inherit inputs; imports = [ flakelight-treefmt.flakelightModules.default spoon.flakelightModules.repl spoon.flakelightModules.ubercheck ]; treefmtConfig = {pkgs, ...}: { programs = { alejandra.enable = true; just.enable = true; shfmt.enable = true; }; }; homeModule = {lib, ...}: { _module.args = {inherit inputs;}; imports = let deps = [ inputs.nixvim.homeModules.nixvim inputs.nix-index-db.homeModules.nix-index inputs.catppuccin.homeModules.catppuccin inputs.niri.homeModules.niri ]; myMods = lib.mapAttrsToList (k: v: ./homeModules/${k}) (builtins.readDir ./homeModules); in deps ++ myMods; }; nixosModule = {lib, ...}: { _module.args = {inherit inputs;}; imports = let deps = [ inputs.hm.nixosModules.default inputs.catppuccin.nixosModules.catppuccin inputs.lanzaboote.nixosModules.lanzaboote inputs.musnix.nixosModules.musnix inputs.imperm.nixosModules.default inputs.tranquil.nixosModules.default inputs.tangled.nixosModules.knot inputs.tangled.nixosModules.spindle ]; myMods = lib.mapAttrsToList (k: v: ./nixosModules/${k}) (builtins.readDir ./nixosModules); in deps ++ myMods; }; nixDir = ./.; legacyPackages = pkgs: pkgs; nixpkgs.config = { allowUnfree = true; }; }; }