aboutsummaryrefslogtreecommitdiffstats
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--flake.nix258
1 files changed, 21 insertions, 237 deletions
diff --git a/flake.nix b/flake.nix
index 206a440f..a5ada983 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 {
@@ -304,6 +86,8 @@
outputs = import ./flake {
inherit
self
+ sources
+ nixpkgs
system
openPRsNixpkgs
packageSets