diff --git a/flake.nix b/flake.nix index ca0dc571..d6dd3844 100644 --- a/flake.nix +++ b/flake.nix @@ -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. # It is a shorthand for recursive and allows to use the values defined in this set from its own scope. in rec { +# inherit lib; # Local shell for NixFlake directory 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) 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. # This makes it easy to add different configurations later (e.g. for a laptop). # Usage: sudo nixos-rebuild switch --flake .#nixinator - nixinator = nixpkgs.lib.nixosSystem { - inherit system; +# nixinator = 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; } +# +# # 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) - 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.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; - } - ]; - }; +# 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-christoph.nix; +# } +# ]; +# }; }; }; }