aboutsummaryrefslogtreecommitdiffstats
path: root/flake
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-05-16 16:42:51 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2025-05-16 16:42:51 +0200
commit8bed94a028a88ed03354cba62a0cccaab6dcb61e (patch)
tree0360a64ea1bfc9c285d5ace0bf27f6f0579e905a /flake
parentflake: Rename `nixVim` input to `nixvim` (diff)
downloadnixos-config-8bed94a028a88ed03354cba62a0cccaab6dcb61e.zip
flake: Pack arguments in attribute sets
This avoids having to change 3+ files, if you need to add a new argument.
Diffstat (limited to 'flake')
-rw-r--r--flake/default.nix105
-rw-r--r--flake/nixosConfigurations/default.nix95
-rw-r--r--flake/packages/default.nix9
3 files changed, 35 insertions, 174 deletions
diff --git a/flake/default.nix b/flake/default.nix
index 0c4c0cd7..1170efa3 100644
--- a/flake/default.nix
+++ b/flake/default.nix
@@ -8,81 +8,51 @@
# You should have received a copy of the License along with this program.
# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
{
- # core
self,
- pkgs,
- pkgsStable,
- nixLib,
- baseLib,
- myPkgs,
system,
- sysLib,
- nixpkgs_as_input,
- nixpkgs_open_prs,
- # modules
- home-manager,
- nixVim,
- nixos-generators,
- impermanence,
- agenix,
- serverphone,
- disko,
- lanzaboote,
- nix-index-database,
- arkenfox-nixos,
- # external dependencies
- treefmt-nix,
- templates,
- # my binaries
- shell_library,
- qmk_firmware,
+ openPRsNixpkgs,
+ packageSets,
+ libraries,
+ modules,
+ externalDependencies,
+ externalBinaries,
}: let
- treefmtEval = import ./treefmt.nix {inherit treefmt-nix pkgs;};
+ # Unpack common stuff.
+ nixLib = libraries.extra;
+ pkgs = packageSets.unstable;
- nixosConfigurations = import ./nixosConfigurations {
+ treefmtEval = import ./treefmt.nix {
+ inherit (externalDependencies) treefmt-nix;
+ inherit pkgs;
+ };
+
+ nixosConfigurations = import ../hosts {
inherit
self
- pkgsStable
- myPkgs
system
- nixpkgs_as_input
- nixpkgs_open_prs
- # my things
- shell_library
- sysLib
- nixLib
- baseLib
- templates
- # modules
- home-manager
- nixVim
- nixos-generators
- impermanence
- agenix
- ragenix
- serverphone
- disko
- lanzaboote
- nix-index-database
- arkenfox-nixos
- # bins
- qmk_firmware
+ openPRsNixpkgs
+ packageSets
+ libraries
+ modules
+ externalDependencies
+ externalBinaries
;
};
tests = import ../tests {
- inherit pkgs nixpkgs_as_input myPkgs sysLib nixLib nixpkgs_open_prs system;
+ inherit pkgs nixLib openPRsNixpkgs system;
+ myPkgs = packageSets.soispha;
inherit (pkgs) lib;
extraModules = {
nixvim = {
- homeManagerModule = nixVim.homeManagerModules.nixvim;
+ homeManagerModule = modules.nixVim.homeManagerModules.nixvim;
};
- agenix = agenix.nixosModules.default;
- disko = disko.nixosModules.default;
- serverphone = serverphone.nixosModules.default;
- inherit (home-manager.nixosModules) home-manager;
- inherit (impermanence.nixosModules) impermanence;
- inherit (lanzaboote.nixosModules) lanzaboote;
+ agenix = modules.agenix.nixosModules.default;
+ disko = modules.disko.nixosModules.default;
+ serverphone = modules.serverphone.nixosModules.default;
+ inherit (modules.home-manager.nixosModules) home-manager;
+ inherit (modules.impermanence.nixosModules) impermanence;
+ inherit (modules.lanzaboote.nixosModules) lanzaboote;
};
};
in {
@@ -101,22 +71,15 @@ in {
packages."${system}" = import ./packages {
inherit
- nixos-generators
pkgs
- pkgsStable
- myPkgs
- sysLib
- system
- nixVim
self
- shell_library
;
- inherit (pkgs) lib;
+ myPkgs = packageSets.soispha;
};
formatter."${system}" = treefmtEval.config.build.wrapper;
- baseLib."${system}" = baseLib;
+ baseLib."${system}" = libraries.base;
devShells."${system}" = {
default = pkgs.mkShell {
@@ -145,8 +108,8 @@ in {
pkgs.deadnix
# update
- myPkgs.generate_moz_extension # needed for the firefox extension update script
- myPkgs.lf-make-map # needed to generate the lf cd mappings
+ packageSets.soispha.generate_moz_extension # needed for the firefox extension update script
+ packageSets.soispha.lf-make-map # needed to generate the lf cd mappings
];
};
};
diff --git a/flake/nixosConfigurations/default.nix b/flake/nixosConfigurations/default.nix
deleted file mode 100644
index c4fa2f40..00000000
--- a/flake/nixosConfigurations/default.nix
+++ /dev/null
@@ -1,95 +0,0 @@
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
-{
- self,
- system,
- pkgsStable,
- myPkgs,
- nixpkgs_as_input,
- nixpkgs_open_prs,
- # my things
- shell_library,
- sysLib,
- nixLib,
- baseLib,
- templates,
- # modules
- home-manager,
- nixVim,
- nixos-generators,
- impermanence,
- agenix,
- ragenix,
- serverphone,
- disko,
- lanzaboote,
- nix-index-database,
- arkenfox-nixos,
- # bins
- qmk_firmware,
-}: let
- modules = [
- agenix.nixosModules.default
- disko.nixosModules.default
- home-manager.nixosModules.home-manager
- impermanence.nixosModules.impermanence
- lanzaboote.nixosModules.lanzaboote
- serverphone.nixosModules.default
-
- ../../modules
- ../../modules/common
- ];
-
- specialArgs = {
- inherit
- # extra package sources
- nixpkgs_open_prs
- pkgsStable
- myPkgs
- shell_library
- sysLib
- nixLib
- baseLib
- # extra information
- system
- # modules
- impermanence
- nix-index-database
- nixVim
- arkenfox-nixos
- # nix registry
- nixpkgs_as_input
- self
- templates
- # bins
- # TODO: Integrate these into `pkgs/by-name` <2024-05-22>
- qmk_firmware
- serverphone
- ;
- };
-
- generateHost = name: {
- name = "${name}";
- value = nixpkgs_as_input.lib.nixosSystem {
- inherit specialArgs;
- modules =
- [
- ../../hosts/${name}
- ]
- ++ modules;
- };
- };
-
- # FIXME: These need to stay in this position for the install script
- hosts = ["tiamat" "apzu"];
-
- generatedHosts = builtins.listToAttrs (builtins.map generateHost hosts);
-in
- generatedHosts
diff --git a/flake/packages/default.nix b/flake/packages/default.nix
index 89c7c4f6..9c67eda3 100644
--- a/flake/packages/default.nix
+++ b/flake/packages/default.nix
@@ -8,14 +8,9 @@
# You should have received a copy of the License along with this program.
# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
{
- self,
- nixos-generators,
pkgs,
+ self,
myPkgs,
- pkgsStable,
- sysLib,
- system,
- shell_library,
...
}: let
inherit (pkgs) lib;
@@ -85,8 +80,6 @@ in
# format = "install-iso";
# };
- update_shell_lib = shell_library.packages."${system}".update_shell_library;
-
# gpg-iso = nixos-generators.nixosGenerate {
# system = "x86_64-linux";
# specialArgs = defaultSpecialArgs;