From cb167f3f09441fee22a1c3266734d3083c9bc2ed Mon Sep 17 00:00:00 2001 From: Benedikt Peetz Date: Fri, 14 Aug 2026 00:57:44 +0200 Subject: inputs.nix: Add dependency de-duplication rules --- inputs.nix | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ unflake.nix | 71 ++++++++++++++++++++------------------------------------- 2 files changed, 99 insertions(+), 47 deletions(-) diff --git a/inputs.nix b/inputs.nix index ccf2e2af..c899f356 100644 --- a/inputs.nix +++ b/inputs.nix @@ -1,7 +1,82 @@ let nixpkgsVersion = "26.05"; + nixos-stable = "nixos-${nixpkgsVersion}"; + lanzabooteVersion = "v1.1.0"; + + w_nixpkgs = ref: { + type = "github"; + owner = "nixos"; + repo = "nixpkgs"; + inherit ref; + }; in { + _unflake.dedupRules = [ + { + when = w_nixpkgs "nixpkgs-unstable"; + set = {ref = "nixos-unstable";}; + } + { + when = w_nixpkgs "nixos-unstable-small"; + set = {ref = "nixos-unstable";}; + } + { + when = w_nixpkgs "nixos-25.05"; + set = {ref = nixos-stable;}; + } + { + when = w_nixpkgs "nixos-25.11"; + set = {ref = nixos-stable;}; + } + { + when = w_nixpkgs "nixos-26.05"; + set = {ref = nixos-stable;}; + } + + { + when = { + type = "github"; + owner = "nix-community"; + repo = "home-manager"; + }; + + set = {ref = "master";}; + } + + { + when = { + type = "github"; + owner = "nix-systems"; + repo = "default"; + }; + + set = {ref = "main";}; + } + { + when = { + type = "github"; + owner = "nix-systems"; + repo = "x86_64-linux"; + }; + + set = { + repo = "default"; + ref = "main"; + }; + } + + { + when = { + type = "github"; + owner = "numtide"; + repo = "treefmt-nix"; + }; + + set = {ref = "main";}; + } + ]; + + # Actual inputs "agenix" = { url = "github:ryantm/agenix/main"; }; diff --git a/unflake.nix b/unflake.nix index e3311eb8..65e4583c 100644 --- a/unflake.nix +++ b/unflake.nix @@ -14,7 +14,7 @@ let injections = rec { unflake_github_cachix_pre-commit-hooks-nix = { flake-compat = "unflake_github_nixos_flake-compat_flake_false"; - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; }; unflake_github_hercules-ci_flake-parts = { nixpkgs-lib = "unflake_github_nix-community_nixpkgs-lib"; @@ -22,29 +22,29 @@ let unflake_github_ipetkov_crane = { }; unflake_github_lnl7_nix-darwin_ref_master = { - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; }; unflake_github_nix-community_nix-index-database_ref_main = { nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; }; unflake_github_nix-community_nixvim_ref_main = { flake-parts = "unflake_github_hercules-ci_flake-parts"; - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; - systems = "unflake_github_nix-systems_default_ref_future-26-11"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; + systems = "unflake_github_nix-systems_default_ref_main"; }; unflake_github_nix-community_disko_ref_master = { - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; }; unflake_github_nix-community_home-manager_ref_master = { - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; }; unflake_github_nix-community_impermanence_ref_master = { - home-manager = "unflake_github_nix-community_home-manager"; + home-manager = "unflake_github_nix-community_home-manager_ref_master"; nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; }; unflake_github_nix-community_nixos-generators_ref_master = { nixlib = "unflake_github_nix-community_nixpkgs-lib"; - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; }; unflake_github_nix-community_lanzaboote_ref_v1-1-0 = { crane = "unflake_github_ipetkov_crane"; @@ -52,61 +52,45 @@ let pre-commit = "unflake_github_cachix_pre-commit-hooks-nix"; rust-overlay = "unflake_github_oxalica_rust-overlay"; }; - unflake_github_nix-community_home-manager = { - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; - }; unflake_github_nix-community_nixpkgs-lib = { }; - unflake_github_nix-systems_default_ref_future-26-11 = { - }; - unflake_github_nix-systems_default = { - }; - unflake_github_nix-systems_x86_64-linux = { - }; - unflake_github_nixos_nixpkgs_ref_nixos-25-05 = { + unflake_github_nix-systems_default_ref_main = { }; unflake_github_nixos_nixpkgs_ref_nixos-26-05 = { }; unflake_github_nixos_nixpkgs_ref_nixos-unstable = { }; - unflake_github_nixos_nixpkgs_ref_nixos-unstable-small = { - }; - unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable = { - }; unflake_github_numtide_treefmt-nix_ref_main = { - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; }; unflake_github_numtide_flake-utils = { - systems = "unflake_github_nix-systems_default"; - }; - unflake_github_numtide_treefmt-nix = { - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; + systems = "unflake_github_nix-systems_default_ref_main"; }; unflake_github_oxalica_rust-overlay = { - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; }; unflake_github_ryantm_agenix_ref_main = { darwin = "unflake_github_lnl7_nix-darwin_ref_master"; - home-manager = "unflake_github_nix-community_home-manager"; - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-25-05"; - systems = "unflake_github_nix-systems_default"; + home-manager = "unflake_github_nix-community_home-manager_ref_master"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-26-05"; + systems = "unflake_github_nix-systems_default_ref_main"; }; unflake_git_https---git-foss-syndicate-org-bpeetz-forks-atuin_ref_main = { - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable-small"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; }; unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main = { }; unflake_git_https---codeberg-org-bpeetz-flake-templates_ref_prime = { flake-utils = "unflake_github_numtide_flake-utils"; - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; - systems = "unflake_github_nix-systems_x86_64-linux"; - treefmt-nix = "unflake_github_numtide_treefmt-nix"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; + systems = "unflake_github_nix-systems_default_ref_main"; + treefmt-nix = "unflake_github_numtide_treefmt-nix_ref_main"; }; unflake_git_https---git-foss-syndicate-org-bpeetz-qmk_layout_ref_prime = { flake-utils = "unflake_github_numtide_flake-utils"; - nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable"; - systems = "unflake_github_nix-systems_x86_64-linux"; - treefmt-nix = "unflake_github_numtide_treefmt-nix"; + nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable"; + systems = "unflake_github_nix-systems_default_ref_main"; + treefmt-nix = "unflake_github_numtide_treefmt-nix_ref_main"; }; unflake_git_https---git-foss-syndicate-org-vhack-eu-nix-library_ref_prime = { }; @@ -137,20 +121,13 @@ let unflake_github_nix-community_impermanence_ref_master = inject "unflake_github_nix-community_impermanence_ref_master" "flake.nix" ""; unflake_github_nix-community_nixos-generators_ref_master = inject "unflake_github_nix-community_nixos-generators_ref_master" "flake.nix" ""; unflake_github_nix-community_lanzaboote_ref_v1-1-0 = inject "unflake_github_nix-community_lanzaboote_ref_v1-1-0" "flake.nix" ""; - unflake_github_nix-community_home-manager = inject "unflake_github_nix-community_home-manager" "flake.nix" ""; unflake_github_nix-community_nixpkgs-lib = inject "unflake_github_nix-community_nixpkgs-lib" "flake.nix" ""; - unflake_github_nix-systems_default_ref_future-26-11 = inject "unflake_github_nix-systems_default_ref_future-26-11" "flake.nix" ""; - unflake_github_nix-systems_default = inject "unflake_github_nix-systems_default" "flake.nix" ""; - unflake_github_nix-systems_x86_64-linux = inject "unflake_github_nix-systems_x86_64-linux" "flake.nix" ""; - unflake_github_nixos_nixpkgs_ref_nixos-25-05 = inject "unflake_github_nixos_nixpkgs_ref_nixos-25-05" "flake.nix" ""; + unflake_github_nix-systems_default_ref_main = inject "unflake_github_nix-systems_default_ref_main" "flake.nix" ""; unflake_github_nixos_nixpkgs_ref_nixos-26-05 = inject "unflake_github_nixos_nixpkgs_ref_nixos-26-05" "flake.nix" ""; unflake_github_nixos_nixpkgs_ref_nixos-unstable = inject "unflake_github_nixos_nixpkgs_ref_nixos-unstable" "flake.nix" ""; - unflake_github_nixos_nixpkgs_ref_nixos-unstable-small = inject "unflake_github_nixos_nixpkgs_ref_nixos-unstable-small" "flake.nix" ""; - unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable = inject "unflake_github_nixos_nixpkgs_ref_nixpkgs-unstable" "flake.nix" ""; unflake_github_nixos_flake-compat_flake_false = deps.unflake_github_nixos_flake-compat_flake_false; unflake_github_numtide_treefmt-nix_ref_main = inject "unflake_github_numtide_treefmt-nix_ref_main" "flake.nix" ""; unflake_github_numtide_flake-utils = inject "unflake_github_numtide_flake-utils" "flake.nix" ""; - unflake_github_numtide_treefmt-nix = inject "unflake_github_numtide_treefmt-nix" "flake.nix" ""; unflake_github_oxalica_rust-overlay = inject "unflake_github_oxalica_rust-overlay" "flake.nix" ""; unflake_github_ryantm_agenix_ref_main = inject "unflake_github_ryantm_agenix_ref_main" "flake.nix" ""; unflake_git_https---git-foss-syndicate-org-bpeetz-forks-atuin_ref_main = inject "unflake_git_https---git-foss-syndicate-org-bpeetz-forks-atuin_ref_main" "flake.nix" ""; @@ -169,7 +146,7 @@ let library = universe.unflake_git_https---git-foss-syndicate-org-vhack-eu-nix-library_ref_prime; nix-index-database = universe.unflake_github_nix-community_nix-index-database_ref_main; nixos-generators = universe.unflake_github_nix-community_nixos-generators_ref_master; - nixpkgs = universe.unflake_github_nixos_nixpkgs_ref_nixos-unstable-small; + nixpkgs = universe.unflake_github_nixos_nixpkgs_ref_nixos-unstable; nixpkgs-stable = universe.unflake_github_nixos_nixpkgs_ref_nixos-26-05; nixvim = universe.unflake_github_nix-community_nixvim_ref_main; qmk_firmware = universe.unflake_git_https---git-foss-syndicate-org-bpeetz-qmk_layout_ref_prime; -- cgit v1.3.1