1

use (not working) lib

This commit is contained in:
2022-08-08 17:42:22 +02:00
parent b0e740eb4a
commit c9135fa3d9

108
flake.nix
View File

@ -42,9 +42,14 @@
]; ];
}; };
# Add my additions to the nixpkgs lib
# mylib = nixpkgs.lib.extend (self: super: { my = import ./lib { inherit pkgs inputs; lib = self; }; });
mylib = import ./lib { inherit inputs pkgs; lib = nixpkgs.lib; };
# The rec expression turns a basic set into a set where self-referencing is possible. # The rec expression turns a basic set into a set where self-referencing is possible.
# It is a shorthand for recursive and allows to use the values defined in this set from its own scope. # It is a shorthand for recursive and allows to use the values defined in this set from its own scope.
in rec { in rec {
# inherit lib;
# Local shell for NixFlake directory # Local shell for NixFlake directory
devShells."${system}".default = import ./shell.nix { inherit pkgs; }; devShells."${system}".default = import ./shell.nix { inherit pkgs; };
@ -54,57 +59,66 @@
# TODO: Add some sort of lib function to deduplicate the configs (they are mostly the same except for the modules) # TODO: Add some sort of lib function to deduplicate the configs (they are mostly the same except for the modules)
nixosConfigurations = { nixosConfigurations = {
# WIP using lib.my
nixinator = mylib.nixos.mkNixosConfig {
inherit system;
hostname = "nixinator";
extraModules = [ inputs.musnix.nixosModules.musnix ];
homeConfigs = [ mylib.nixos.mkHomeConfig { username = "christoph"; } ];
};
# We give our configuration a name (the hostname) to choose a configuration when rebuilding. # We give our configuration a name (the hostname) to choose a configuration when rebuilding.
# This makes it easy to add different configurations later (e.g. for a laptop). # This makes it easy to add different configurations later (e.g. for a laptop).
# Usage: sudo nixos-rebuild switch --flake .#nixinator # Usage: sudo nixos-rebuild switch --flake .#nixinator
nixinator = nixpkgs.lib.nixosSystem { # nixinator = nixpkgs.lib.nixosSystem {
inherit system; # inherit system;
#
# # Make our inputs available to the configuration.nix (for importing modules)
# specialArgs = { inherit inputs; };
#
# # >> Main NixOS configuration file <<
# modules = [
# { nixpkgs.pkgs = pkgs; }
#
# # TODO: Access this over inputs in configuration-nixtop.nix
# inputs.musnix.nixosModules.musnix
#
# ./nixos/configuration.nix
# ./nixos/configuration-nixinator.nix
#
# # HomeManager
# home-manager.nixosModules.home-manager
# {
# home-manager.useGlobalPkgs = true; # Use systems pkgs, disables nixpkgs.* options in home.nix
# home-manager.useUserPackages = true; # Enable installing packages through users.christoph.packages to /etc/profiles instead of ~/.nix-profile
# home-manager.users.christoph = import ./home/home-christoph.nix;
# }
# ];
# };
# Make our inputs available to the configuration.nix (for importing modules) # nixtop = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; }; # inherit system;
#
# >> Main NixOS configuration file << # # Make our inputs available to the configuration.nix (for importing modules)
modules = [ # specialArgs = { inherit inputs; };
{ nixpkgs.pkgs = pkgs; } #
# # >> Main NixOS configuration file <<
# TODO: Access this over inputs in configuration-nixtop.nix # modules = [
inputs.musnix.nixosModules.musnix # { nixpkgs.pkgs = pkgs; }
#
./nixos/configuration.nix # ./nixos/configuration.nix
./nixos/configuration-nixinator.nix # ./nixos/configuration-nixtop.nix
#
# HomeManager # # HomeManager
home-manager.nixosModules.home-manager # home-manager.nixosModules.home-manager
{ # {
home-manager.useGlobalPkgs = true; # Use systems pkgs, disables nixpkgs.* options in home.nix # home-manager.useGlobalPkgs = true; # Use systems pkgs, disables nixpkgs.* options in home.nix
home-manager.useUserPackages = true; # Enable installing packages through users.christoph.packages to /etc/profiles instead of ~/.nix-profile # home-manager.useUserPackages = true; # Enable installing packages through users.christoph.packages
home-manager.users.christoph = import ./home/home.nix; # home-manager.users.christoph = import ./home/home-christoph.nix;
} # }
]; # ];
}; # };
nixtop = nixpkgs.lib.nixosSystem {
inherit system;
# Make our inputs available to the configuration.nix (for importing modules)
specialArgs = { inherit inputs; };
# >> Main NixOS configuration file <<
modules = [
{ nixpkgs.pkgs = pkgs; }
./nixos/configuration.nix
./nixos/configuration-nixtop.nix
# HomeManager
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true; # Use systems pkgs, disables nixpkgs.* options in home.nix
home-manager.useUserPackages = true; # Enable installing packages through users.christoph.packages
home-manager.users.christoph = import ./home/home.nix;
}
];
};
}; };
}; };
} }