{ description = "jopejoe1 NixOS configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; nixos-facter-modules.url = "github:nix-community/nixos-facter-modules"; # Outputs nixos-generators = { url = "github:nix-community/nixos-generators"; inputs.nixpkgs.follows = "nixpkgs"; }; # Modules disko = { url = "github:nix-community/disko"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; nixos-hardware.url = "github:NixOS/nixos-hardware"; nether = { url = "github:Lassulus/nether"; inputs.nixpkgs.follows = "nixpkgs"; }; srvos = { url = "github:nix-community/srvos"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { url = "github:Mic92/sops-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; impermanence.url = "github:nix-community/impermanence"; snm = { url = "gitlab:yu-re-ka/nixos-mailserver/dovecot2-modules"; inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; nuschtos = { url = "github:NuschtOS/search"; inputs.nixpkgs.follows = "nixpkgs"; }; # Packages firefox-addons = { url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; inputs.nixpkgs.follows = "nixpkgs"; }; # Utility nixos-anywhere = { url = "github:nix-community/nixos-anywhere"; inputs.nixpkgs.follows = "nixpkgs"; inputs.disko.follows = "disko"; }; }; outputs = inputs@{ self, nixpkgs, ... }: let forSystems = f: nixpkgs.lib.attrsets.genAttrs nixpkgs.lib.systems.flakeExposed (system: f system); pkgs' = system: nixpkgs.legacyPackages.${system}; in { modules.default = import ./modules; nixosModules.default = import ./nixos-modules; homeManagerModules.default = import ./home-modules; nixosConfigurations = import ./systems { inherit self inputs nixpkgs; }; packages = forSystems ( system: import ./packages { inherit system inputs; pkgs = pkgs' system; } ); formatter = forSystems ( system: let pkgs = pkgs' system; in pkgs.treefmt.withConfig { runtimeInputs = with pkgs; [ nixfmt-rfc-style ]; settings = { tree-root-file = ".git/index"; formatter = { nixfmt = { command = "nixfmt"; includes = [ "*.nix" ]; }; }; }; } ); }; }