{ description = "Hi!"; # The `flake.lock` generation is not computable[1]. So far it's impossible to # add helper functions to manage inputs. # # [1]: https://github.com/NixOS/nix/issues/5373 inputs = { nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable"; nixpkgs-master.url = "github:NixOS/nixpkgs/master"; nixpkgs-stable.url = "github:NixOS/nixpkgs/release-23.11"; nixos-hardware.url = "github:NixOS/nixos-hardware"; darwin = { url = "github:LnL7/nix-darwin"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; impermanence.url = "github:nix-community/impermanence"; agenix = { url = "github:ryantm/agenix"; inputs = { darwin.follows = "darwin"; home-manager.follows = "home-manager"; nixpkgs.follows = "nixpkgs"; systems.follows = "systems"; }; }; dns = { url = "github:kirelagin/dns.nix"; inputs = { flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs"; }; }; mailserver = { url = "gitlab:simple-nixos-mailserver/nixos-mailserver"; inputs = { flake-compat.follows = "flake-compat"; nixpkgs-22_11.follows = "nixpkgs-stable"; nixpkgs-23_05.follows = "nixpkgs-stable"; nixpkgs.follows = "nixpkgs"; utils.follows = "flake-utils"; }; }; alertmanager-ntfy = { url = "github:pinpox/alertmanager-ntfy"; inputs = { flake-compat.follows = "flake-compat"; flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs"; }; }; vscode-extensions = { url = "github:nix-community/nix-vscode-extensions"; inputs = { flake-compat.follows = "flake-compat"; flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs"; }; }; arkenfox = { url = "github:dwarfmaster/arkenfox-nixos"; inputs = { flake-compat.follows = "flake-compat"; flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs"; pre-commit.follows = "pre-commit"; }; }; minecraft = { url = "github:Infinidoge/nix-minecraft"; inputs = { flake-compat.follows = "flake-compat"; flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs"; }; }; xmonad-ng = { url = "git+https://git.azahi.cc/xmonad-ng?ref=master"; inputs = { flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs"; }; }; azahi-cc = { url = "git+https://git.azahi.cc/azahi-cc?ref=master"; flake = false; }; nmap-vulners = { url = "github:vulnersCom/nmap-vulners/master"; flake = false; }; nmap-vulscan = { url = "github:scipag/vulscan/master"; flake = false; }; pre-commit = { url = "github:cachix/pre-commit-hooks.nix/master"; inputs = { flake-compat.follows = "flake-compat"; flake-utils.follows = "flake-utils"; nixpkgs.follows = "nixpkgs"; }; }; systems.url = "github:nix-systems/default"; flake-utils = { url = "github:numtide/flake-utils"; inputs.systems.follows = "systems"; }; flake-registry = { url = "github:NixOS/flake-registry"; flake = false; }; flake-compat.url = "github:edolstra/flake-compat/master"; }; outputs = inputs: with inputs; flake-utils.lib.eachDefaultSystem (system: { apps.default = { type = "app"; program = "${self.packages.${system}.default}/bin/nixfiles"; }; packages = let buildIsoImage = name: self.nixosConfigurations.${name}.config.system.build.isoImage; in { default = self.legacyPackages.${system}.nixfiles; iso-arm = buildIsoImage "iso-arm"; iso-x86 = buildIsoImage "iso-x86"; }; legacyPackages = import nixpkgs { inherit system; overlays = [self.overlays.default]; }; devShells.default = with self.legacyPackages.${system}; mkShell { inherit (self.checks.${system}.preCommit) shellHook; packages = [go-task]; }; formatter = self.legacyPackages.${system}.alejandra; checks = import ./checks.nix {inherit inputs system;}; }) // { lib = nixpkgs.lib.extend (import ./lib); modules.nixfiles = import ./modules/common; nixosModules.nixfiles = import ./modules/nixos; nixosConfigurations = import ./nixosConfigurations inputs; darwinModules.nixfiles = import ./modules/darwin; darwinConfigurations = import ./darwinConfigurations inputs; overlays.default = final: prev: import ./overlay.nix final prev; }; }