about summary refs log tree commit diff stats
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--flake.nix256
1 files changed, 19 insertions, 237 deletions
diff --git a/flake.nix b/flake.nix
index 206a440f..49168bfd 100644
--- a/flake.nix
+++ b/flake.nix
@@ -11,249 +11,31 @@
 {
   description = "A NixOS System Configuration";
 
-  inputs = {
-    # base
-    nixpkgs-stable.url = "github:NixOS/nixpkgs/nixos-25.11";
-    nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable-small";
+  inputs = {};
 
-    # open nixpkgs prs
+  outputs = {self, ...}: let
+    sources = import ./npins/full.nix {};
 
-    library = {
-      url = "git+https://git.foss-syndicate.org/vhack.eu/nix-library?ref=prime";
-    };
-
-    # inputs for following
-    nix-darwin = {
-      url = "github:lnl7/nix-darwin";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-    systems = {
-      url = "github:nix-systems/x86_64-linux"; # only evaluate for this system
-    };
-    nuschtosSearch = {
-      url = "github:NuschtOS/search";
-      inputs = {
-        flake-utils.follows = "flake-utils";
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-    nix-github-actions = {
-      url = "github:nix-community/nix-github-actions";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-    git-hooks = {
-      url = "github:cachix/git-hooks.nix";
-      inputs = {
-        flake-compat.follows = "flake-compat";
-        gitignore.follows = "gitignore";
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-    poetry2nix = {
-      url = "github:nix-community/poetry2nix";
-      inputs = {
-        systems.follows = "systems";
-        nixpkgs.follows = "nixpkgs";
-        flake-utils.follows = "flake-utils";
-        treefmt-nix.follows = "treefmt-nix";
-        nix-github-actions.follows = "nix-github-actions";
-      };
-    };
-    flake-parts = {
-      url = "github:hercules-ci/flake-parts";
-      inputs = {
-        nixpkgs-lib.follows = "nixpkgs-lib";
-      };
-    };
-    nixpkgs-lib = {
-      url = "github:nix-community/nixpkgs.lib";
-    };
-    haumea = {
-      url = "github:nix-community/haumea";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-    gitignore = {
-      url = "github:hercules-ci/gitignore.nix";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-    beautysh = {
-      url = "github:lovesegfault/beautysh";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-        flake-parts.follows = "flake-parts";
-        git-hooks-nix.follows = "git-hooks";
-        treefmt-nix.follows = "treefmt-nix";
-        nix-github-actions.follows = "nix-github-actions";
-      };
-    };
-    devshell = {
-      url = "github:numtide/devshell";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-    pre-commit-hooks = {
-      url = "github:cachix/pre-commit-hooks.nix";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-        flake-compat.follows = "flake-compat";
-        gitignore.follows = "gitignore";
-      };
-    };
-    flake-compat = {
-      url = "github:edolstra/flake-compat";
-      flake = false;
-    };
-    crane = {
-      url = "github:ipetkov/crane";
-      inputs = {};
-    };
-    flake-utils = {
-      url = "github:numtide/flake-utils";
-      inputs = {
-        systems.follows = "systems";
-      };
-    };
-    rust-overlay = {
-      url = "github:oxalica/rust-overlay";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-
-    # nixos modules
-    home-manager = {
-      url = "github:nix-community/home-manager/master";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-    disko = {
-      url = "github:nix-community/disko";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-    nixvim = {
-      url = "github:nix-community/nixvim";
-      inputs = {
-        flake-parts.follows = "flake-parts";
-        nixpkgs.follows = "nixpkgs";
-        systems.follows = "systems";
-      };
-    };
-    agenix = {
-      url = "github:ryantm/agenix";
-      inputs = {
-        darwin.follows = "nix-darwin";
-        nixpkgs.follows = "nixpkgs";
-        home-manager.follows = "home-manager";
-        systems.follows = "systems";
-      };
-    };
-    impermanence = {
-      url = "github:nix-community/impermanence";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-        home-manager.follows = "home-manager";
-      };
-    };
-    nixos-generators = {
-      url = "github:nix-community/nixos-generators";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-        nixlib.follows = "nixpkgs-lib";
-      };
-    };
-    serverphone = {
-      url = "git+https://codeberg.org/vhack.eu/serverphone.git";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-        systems.follows = "systems";
-        flake-compat.follows = "flake-compat";
-        flake-utils.follows = "flake-utils";
-        rust-overlay.follows = "rust-overlay";
-        crane.follows = "crane";
-      };
-    };
-    lanzaboote = {
-      url = "github:nix-community/lanzaboote/v1.0.0";
-      inputs = {
-        nixpkgs.follows = "nixpkgs-stable";
-        crane.follows = "crane";
-        rust-overlay.follows = "rust-overlay";
-        pre-commit.follows = "pre-commit-hooks";
-      };
-    };
-    nix-index-database = {
-      url = "github:nix-community/nix-index-database";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-
-    # my configs
-    templates = {
-      url = "git+https://codeberg.org/bpeetz/flake-templates.git";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-        flake-utils.follows = "flake-utils";
-        systems.follows = "systems";
-        treefmt-nix.follows = "treefmt-nix";
-      };
-    };
-
-    # my bins
-    qmk_firmware = {
-      url = "git+https://git.foss-syndicate.org/bpeetz/qmk_layout.git?ref=prime";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-        treefmt-nix.follows = "treefmt-nix";
-        systems.follows = "systems";
-        flake-utils.follows = "flake-utils";
-      };
-    };
-
-    # external resources
-    treefmt-nix = {
-      url = "github:numtide/treefmt-nix";
-      inputs = {
-        nixpkgs.follows = "nixpkgs";
-      };
-    };
-  };
-
-  outputs = {
     # core
-    self,
-    nixpkgs,
-    nixpkgs-stable,
-    library,
+    nixpkgs = sources.loadFlake "nixpkgs";
+    nixpkgs-stable = sources.loadFlake "nixpkgs-stable";
+    library = sources.loadFlake "library";
     # modules
-    home-manager,
-    nixos-generators,
-    impermanence,
-    agenix,
-    serverphone,
-    disko,
-    lanzaboote,
-    nixvim,
-    nix-index-database,
+    home-manager = sources.loadFlake "home-manager";
+    nixos-generators = sources.loadFlake "nixos-generators";
+    impermanence = sources.loadFlake "impermanence";
+    agenix = sources.loadFlake "agenix";
+    serverphone = sources.loadFlake "serverphone";
+    disko = sources.loadFlake "disko";
+    lanzaboote = sources.loadFlake "lanzaboote";
+    nixvim = sources.loadFlake "nixvim";
+    nix-index-database = sources.loadFlake "nix-index-database";
     # external dependencies
-    treefmt-nix,
-    templates,
+    treefmt-nix = sources.loadFlake "treefmt-nix";
+    templates = sources.loadFlake "templates";
     # my binaries
-    qmk_firmware,
-    ...
-  }: let
+    qmk_firmware = sources.loadFlake "qmk_firmware";
+
     system = "x86_64-linux";
 
     packageSets = rec {