From 6c7cbf26418e228697a419e69c973e9c67cc699e Mon Sep 17 00:00:00 2001 From: Devin Finlinson Date: Tue, 4 Feb 2025 02:39:06 -0700 Subject: mega cleanup of flake.nix using Misterio77 config as reference --- flake.nix | 382 ++++++++++++++++++++++++-------------------------------------- 1 file changed, 150 insertions(+), 232 deletions(-) (limited to 'flake.nix') diff --git a/flake.nix b/flake.nix index fb4b543..faaaf1d 100644 --- a/flake.nix +++ b/flake.nix @@ -138,7 +138,7 @@ }; - outputs = inputs@{ self, ...}: with inputs; { + outputs = inputs@{ ... }: with inputs; # packages.aarch64-linux = { # # packages.x86_64-linux = { # aarch64-installer = nixos-generators.nixosGenerate { @@ -151,238 +151,156 @@ # format = "sd-aarch64-installer"; # }; # }; - # let - # inherit (self) outputs; - # lib = nixpkgs.lib //home-manager.lib; - # systems = [ "x86_64-linux" ]; - # forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system}); - # pkgsFor = lib.genAttrs systems (system: import nixpkgs { - # inherit system; - # config.allowUnfreee = true; - # }); - # in { - # inherit lib; - # nixosModules = import ./modules/nixos; - # homeManagerModules = import ./modules/home-manager; - # # templates = import ./templates; - - # # overlays = import ./overlays { inherit inputs outputs; }; - # # hydraJobs = import ./hydra.nix { inherit inputs outputs; }; - - # packages = forEachSystem (pkgs: import ./pkgs { inherit pkgs; }); - # # devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; }); - # # formatter = forEachSystem (pkgs: pkgs.nixpkgs-fmt); - - # # wallpapers = inherit wallpapers; #NOTE broken - - # nixosConfigurations = { - # # Main desktop - # khad = lib.nixosSystem { - # modules = [ ./machines/khad ]; - # specialArgs = { inherit inputs outputs; }; - # }; - # # Personal laptop - # nixos-zenbook = lib.nixosSystem { - # modules = [ ./machines/khad ]; - # specialArgs = { inherit inputs outputs; }; - # }; - # }; - - # homeConfigurations = { - # # Desktop - # "defin@khad" = lib.homeManagerConfiguration { - # modules = [ ./home-manager/home.nix ]; - # pkgs = pkgsFor.x86_64-linux; - # extraSpecialArgs = { inherit inputs outputs; }; - # }; - # # Laptop - # "defin@nixos-zenbook" = lib.homeManagerConfiguration { - # modules = [ ./home-manager/home.nix ]; - # pkgs = pkgsFor.x86_64-linux; - # extraSpecialArgs = { inherit inputs outputs; }; - # }; - # }; - # }; - - nixosConfigurations = { - live = nixpkgs.lib.nixosSystem { - modules = [ - (nixpkgs + "/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix") - ./machines/iso/configuration.nix - ./modules/users/defin.nix - ./modules/nixos/system-packages.nix - - home-manager.nixosModules.home-manager { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.defin = import ./home-manager/default.nix; - home-manager.extraSpecialArgs = { inherit inputs; }; - } - { nixpkgs.hostPlatform = "aarch64-linux"; } - ]; - }; - livetest = nixpkgs.lib.nixosSystem { - modules = [ - (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix") - { nixpkgs.hostPlatform = "aarch64-linux"; } - ]; - }; - - zenbook = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs; }; - modules = [ - ./machines/zenbook/configuration.nix - lix-module.nixosModules.default - - # Default users - ./modules/users/defin.nix - ./modules/users/root.nix - - # hyprland.homeManagerModules.default {wayland.windowManager.hyprland.enable = true;} - ./modules/nixos/hyprland.nix - - home-manager.nixosModules.home-manager { - - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.defin = import ./home-manager/home.nix; - - home-manager.extraSpecialArgs = { inherit inputs; }; - } - - ./modules/nixos/asus-numpad-touchpad.nix - ./modules/nixos/bluetooth.nix - ./modules/nixos/environment.nix - ./modules/nixos/kde-connect.nix - ./modules/nixos/nix-common.nix - ./modules/nixos/services.nix - ./modules/nixos/tailscale.nix - ./modules/nixos/steam.nix - # ./modules/nixos/sway.nix - ./modules/nixos/system-packages.nix - - # # Let 'nixos-version --json' know the Git revision of this flake. - # system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev; - # nix.registry.nixpkgs.flake = nixpkgs; - ]; - }; - - betsy = nixpkgs.lib.nixosSystem { # this is my work laptop - modules = [ - ./machines/betsy/configuration.nix - # lix-module.nixosModules.default - - ./modules/nixos/bluetooth.nix - ./modules/nixos/nix-common.nix - ./modules/nixos/environment.nix - ./modules/nixos/tailscale.nix - ./modules/nixos/system-packages.nix - ./modules/nixos/services.nix - - ./modules/users/defin.nix - ./modules/users/root.nix - ./modules/users/jerry.nix - - home-manager.nixosModules.home-manager { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.defin = import ./home-manager/home.nix; - home-manager.extraSpecialArgs = { inherit inputs; }; - } - ]; - }; - doretta = nixpkgs.lib.nixosSystem { # this is my build server - modules = [ - ./machines/doretta/configuration.nix - lix-module.nixosModules.default - - ./modules/nixos/nix-common.nix - ./modules/nixos/environment.nix - ./modules/nixos/tailscale.nix - ./modules/nixos/system-packages.nix - - ./modules/users/defin.nix - ./modules/users/git.nix - ./modules/users/root.nix - - home-manager.nixosModules.home-manager { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.defin = import ./home-manager/doretta.nix; - home-manager.extraSpecialArgs = { inherit inputs; }; - } - ]; - }; - bosco = nixpkgs.lib.nixosSystem { # this is my networking server - modules = [ - ./machines/bosco/configuration.nix - # lix-module.nixosModules.default - - ./modules/nixos/nix-common.nix - ./modules/nixos/environment.nix - ./modules/nixos/tailscale.nix - ./modules/nixos/cgit.nix - ./modules/nixos/system-packages.nix - ./modules/users/defin.nix - ./modules/users/root.nix - - home-manager.nixosModules.home-manager { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.defin = import ./home-manager/default.nix; - home-manager.extraSpecialArgs = { inherit inputs; }; - } - - ./modules/nixos/headscale.nix - ]; + let + # inherit (self) outputs; + lib = nixpkgs.lib //home-manager.lib; + systems = [ "x86_64-linux" "aarch64-linux" ]; + # forEachSystem = f: lib.genAttrs systems (system: f pkgsFor.${system}); + pkgsFor = lib.genAttrs systems (system: import nixpkgs { + inherit system; + config.allowUnfreee = true; + }); + in { + inherit lib; + nixosModules = import ./modules/nixos; + # homeManagerModules = import ./modules/home-manager; + # templates = import ./templates; + + # overlays = import ./overlays { inherit inputs outputs; }; + # hydraJobs = import ./hydra.nix { inherit inputs outputs; }; + + # packages = forEachSystem (pkgs: import ./pkgs { inherit pkgs; }); + # devShells = forEachSystem (pkgs: import ./shell.nix { inherit pkgs; }); + # formatter = forEachSystem (pkgs: pkgs.nixpkgs-fmt); + + # wallpapers = inherit wallpapers; #NOTE broken + + nixosConfigurations = { + # Main desktop + khad = lib.nixosSystem { + modules = [ + ./machines/khad + lix-module.nixosModules.default + + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.defin = import ./home-manager/home.nix; + home-manager.extraSpecialArgs = { inherit inputs; }; + } + ]; + }; + # Personal laptop + zenbook = lib.nixosSystem { + # specialArgs = { inherit inputs; }; + modules = [ + ./machines/zenbook + lix-module.nixosModules.default + + # hyprland.homeManagerModules.default {wayland.windowManager.hyprland.enable = true;} + + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.defin = import ./home-manager/home.nix; + home-manager.extraSpecialArgs = { inherit inputs; }; + } + # # Let 'nixos-version --json' know the Git revision of this flake. + # system.configurationRevision = nixpkgs.lib.mkIf (self ? rev) self.rev; + # nix.registry.nixpkgs.flake = nixpkgs; + ]; + }; + + betsy = lib.nixosSystem { # work laptop + modules = [ + ./machines/betsy + # lix-module.nixosModules.default + + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.defin = import ./home-manager/home.nix; + home-manager.extraSpecialArgs = { inherit inputs; }; + } + ]; + }; + doretta = lib.nixosSystem { # build server + modules = [ + ./machines/doretta + lix-module.nixosModules.default + + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.defin = import ./home-manager/doretta.nix; + home-manager.extraSpecialArgs = { inherit inputs; }; + } + ]; + }; + bosco = lib.nixosSystem { # networking server + modules = [ + ./machines/bosco + # lix-module.nixosModules.default + + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.defin = import ./home-manager/default.nix; + home-manager.extraSpecialArgs = { inherit inputs; }; + } + + ./modules/nixos/headscale.nix + ]; + }; + picast = lib.nixosSystem { # anger at chromecast + modules = [ + ./machines/picast + + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.defin = import ./home-manager/default.nix; + home-manager.extraSpecialArgs = { inherit inputs; }; + } + ]; + }; + live = lib.nixosSystem { + modules = [ + (nixpkgs + "/nixos/modules/installer/sd-card/sd-image-aarch64-installer.nix") + ./machines/iso/configuration.nix + ./modules/users/defin.nix + ./modules/nixos/system-packages.nix + + home-manager.nixosModules.home-manager { + home-manager.useGlobalPkgs = true; + home-manager.useUserPackages = true; + home-manager.users.defin = import ./home-manager/default.nix; + home-manager.extraSpecialArgs = { inherit inputs; }; + } + { nixpkgs.hostPlatform = "aarch64-linux"; } + ]; + }; + livetest = lib.nixosSystem { + modules = [ + (nixpkgs + "/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix") + { nixpkgs.hostPlatform = "aarch64-linux"; } + ]; + }; }; - picast = nixpkgs.lib.nixosSystem { - modules = [ - ./machines/picast/configuration.nix - - ./modules/nixos/nix-common.nix - ./modules/nixos/environment.nix - ./modules/nixos/tailscale.nix - ./modules/nixos/system-packages.nix - ./modules/users/defin.nix - ./modules/users/root.nix - - home-manager.nixosModules.home-manager { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.defin = import ./home-manager/default.nix; - home-manager.extraSpecialArgs = { inherit inputs; }; - } - ]; + homeConfigurations = { #NOTE: no worky yet + # Standalone HM only + # Desktop + "defin@khad" = lib.homeManagerConfiguration { + modules = [ ./home-manager/home.nix ]; + pkgs = pkgsFor.x86_64-linux; + extraSpecialArgs = { inherit inputs outputs; }; + }; + # Laptop + "defin@nixos-zenbook" = lib.homeManagerConfiguration { + modules = [ ./home-manager/home.nix ]; + pkgs = pkgsFor.x86_64-linux; + extraSpecialArgs = { inherit inputs outputs; }; + }; }; - khad = nixpkgs.lib.nixosSystem { - specialArgs = { inherit inputs; }; - modules = [ - ./machines/khad/configuration.nix - lix-module.nixosModules.default - - ./modules/users/defin.nix - ./modules/users/root.nix - - home-manager.nixosModules.home-manager { - home-manager.useGlobalPkgs = true; - home-manager.useUserPackages = true; - home-manager.users.defin = import ./home-manager/home.nix; - home-manager.extraSpecialArgs = { inherit inputs; }; - } - ./modules/nixos/hyprland.nix - - ./modules/nixos/bluetooth.nix - ./modules/nixos/environment.nix - ./modules/nixos/kde-connect.nix - ./modules/nixos/nix-common.nix - ./modules/nixos/services.nix - ./modules/nixos/tailscale.nix - ./modules/nixos/steam.nix - # ./modules/nixos/sway.nix - ./modules/nixos/system-packages.nix - ]; - }; - }; }; } -- cgit v1.2.3