From 42b80afd9c0d6443f634f016cc90d4a668cc09fd Mon Sep 17 00:00:00 2001 From: Gerg-L Date: Wed, 1 Nov 2023 21:04:20 -0400 Subject: [PATCH] funni inputs' --- hosts/gerg-desktop/main.nix | 2 +- hosts/gerg-desktop/services/minecraft.nix | 4 +- hosts/gerg-desktop/spicetify.nix | 3 +- hosts/iso/main.nix | 2 +- lib/default.nix | 57 +++++++++++++++++------ modules/DE/dwm.nix | 6 +-- modules/DM/lightDM.nix | 9 +--- modules/boot.nix | 2 +- modules/misc.nix | 2 - modules/nix.nix | 9 +--- modules/shell.nix | 4 +- 11 files changed, 57 insertions(+), 43 deletions(-) diff --git a/hosts/gerg-desktop/main.nix b/hosts/gerg-desktop/main.nix index 5a609fe..77bdfbc 100644 --- a/hosts/gerg-desktop/main.nix +++ b/hosts/gerg-desktop/main.nix @@ -74,7 +74,7 @@ element-desktop webcord ; - inherit (nvim-flake.packages.${pkgs.system}) neovim; + inherit (nvim-flake.packages) neovim; inherit fmt; lint = pkgs.writeShellApplication { name = "lint"; diff --git a/hosts/gerg-desktop/services/minecraft.nix b/hosts/gerg-desktop/services/minecraft.nix index cd86ab3..25cb894 100644 --- a/hosts/gerg-desktop/services/minecraft.nix +++ b/hosts/gerg-desktop/services/minecraft.nix @@ -1,5 +1,5 @@ { self, ... }: -{ pkgs, lib, ... }: +{ lib, ... }: { # I manually switch this sometimes config = lib.mkIf false { @@ -35,7 +35,7 @@ "network.target" "minecraft-server.socket" ]; - path = [ self.packages.${pkgs.system}.papermc ]; + path = [ self.packages.papermc ]; script = '' minecraft-server \ -Xms8G \ diff --git a/hosts/gerg-desktop/spicetify.nix b/hosts/gerg-desktop/spicetify.nix index f5e6390..ce1ef0d 100644 --- a/hosts/gerg-desktop/spicetify.nix +++ b/hosts/gerg-desktop/spicetify.nix @@ -1,7 +1,6 @@ { spicetify-nix, ... }: -{ pkgs, ... }: let - spicePkgs = spicetify-nix.legacyPackages.${pkgs.system}; + spicePkgs = spicetify-nix.legacyPackages; in { imports = [ spicetify-nix.nixosModules.default ]; diff --git a/hosts/iso/main.nix b/hosts/iso/main.nix index 8d45a21..6d925eb 100644 --- a/hosts/iso/main.nix +++ b/hosts/iso/main.nix @@ -26,7 +26,7 @@ noXlibs = lib.mkOverride 500 false; systemPackages = [ pkgs.neovim - disko.packages.${pkgs.system}.default + disko.packages.default ]; }; documentation = { diff --git a/lib/default.nix b/lib/default.nix index 9523d38..e3cc3af 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -10,6 +10,31 @@ in # Only good use case for rec rec { + constructInputs' = + system: inputs: + lib.pipe inputs [ + (lib.filterAttrs (_: lib.isType "flake")) + (lib.mapAttrs ( + _: + lib.mapAttrs ( + name: value: + if + builtins.elem name [ + "defaultPackage" + "devShell" + "devShells" + "formatter" + "legacyPackages" + "packages" + ] + then + value.${system} + else + value + ) + )) + ]; + listNixFilesRecursive = path: builtins.filter (lib.hasSuffix "nix") (lib.filesystem.listFilesRecursive path); @@ -27,7 +52,7 @@ rec { (lib.removeSuffix ".nix") (lib.removePrefix "${toString path}/") ]; - value = import name inputs; + value = name; }) (listNixFilesRecursive path) ); @@ -59,19 +84,23 @@ rec { lib.evalModules { specialArgs.modulesPath = "${unstable}/nixos/modules"; - modules = builtins.concatLists [ - (builtins.attrValues self.nixosModules) - (importAll "${self}/hosts/${name}") - (import "${unstable}/nixos/modules/module-list.nix") - (lib.singleton { - networking.hostName = name; - nixpkgs.hostPlatform = system; - }) - (lib.optionals (self.diskoConfigurations ? "disko-${name}") [ - self.diskoConfigurations."disko-${name}" - disko.nixosModules.default - ]) - ]; + modules = + let + inputs' = constructInputs' system inputs; + in + builtins.concatLists [ + (map (x: import x inputs') (builtins.attrValues self.nixosModules)) + (map (x: import x inputs') (listNixFilesRecursive "${self}/hosts/${name}")) + (import "${unstable}/nixos/modules/module-list.nix") + (lib.singleton { + networking.hostName = name; + nixpkgs.hostPlatform = system; + }) + (lib.optionals (self.diskoConfigurations ? "disko-${name}") [ + self.diskoConfigurations."disko-${name}" + disko.nixosModules.default + ]) + ]; } ); mkDisko = diff --git a/modules/DE/dwm.nix b/modules/DE/dwm.nix index c52a9a8..16f6285 100644 --- a/modules/DE/dwm.nix +++ b/modules/DE/dwm.nix @@ -14,9 +14,7 @@ enable = true; displayManager = { sessionCommands = '' - ${lib.getExe pkgs.feh} --bg-center "${ - self.packages.${pkgs.system}.images - }/recursion.png" + ${lib.getExe pkgs.feh} --bg-center "${self.packages.images}/recursion.png" ${lib.getExe pkgs.numlockx} ${lib.getExe pkgs.picom} & ''; @@ -46,7 +44,7 @@ ]; }; environment.systemPackages = builtins.attrValues { - inherit (suckless.packages.${pkgs.system}) dmenu dwm st; + inherit (suckless.packages) dmenu dwm st; }; }; _file = ./dwm.nix; diff --git a/modules/DM/lightDM.nix b/modules/DM/lightDM.nix index 4bf9271..20f91be 100644 --- a/modules/DM/lightDM.nix +++ b/modules/DM/lightDM.nix @@ -1,10 +1,5 @@ { self, ... }: -{ - config, - lib, - pkgs, - ... -}: +{ config, lib, ... }: { options.local.DM.lightdm.enable = lib.mkEnableOption ""; @@ -13,7 +8,7 @@ displayManager = { lightdm = { enable = true; - background = "${self.packages.${pkgs.system}.images}/recursion.png"; + background = "${self.packages.images}/recursion.png"; extraConfig = "minimum-vt=1"; greeters.mini = { enable = true; diff --git a/modules/boot.nix b/modules/boot.nix index 2004a15..fd3dfea 100644 --- a/modules/boot.nix +++ b/modules/boot.nix @@ -51,7 +51,7 @@ plymouth = { enable = lib.mkDefault true; theme = "breeze"; - logo = "${self.packages.${pkgs.system}.images}/logo.png"; + logo = "${self.packages.images}/logo.png"; }; loader = { grub = { diff --git a/modules/misc.nix b/modules/misc.nix index 5c5a580..1354a04 100644 --- a/modules/misc.nix +++ b/modules/misc.nix @@ -13,8 +13,6 @@ _: config = { nixpkgs = { - #TODO better way of doing this - overlays = [ (self: _: { inherit (self.stdenv.hostPlatform) system; }) ]; config = { allowAliases = false; allowUnfreePredicate = diff --git a/modules/nix.nix b/modules/nix.nix index 7010c0e..c4b2f1d 100644 --- a/modules/nix.nix +++ b/modules/nix.nix @@ -1,10 +1,5 @@ inputs: -{ - pkgs, - lib, - config, - ... -}: +{ lib, config, ... }: { # # Flake registry and $NIX_PATH pinning @@ -30,7 +25,7 @@ inputs: # # Use nix directly from master # - nix.package = inputs.nix.packages.${pkgs.system}.default; + nix.package = inputs.nix.packages.default; # # Other nix settings # diff --git a/modules/shell.nix b/modules/shell.nix index 7f245c2..800de7e 100644 --- a/modules/shell.nix +++ b/modules/shell.nix @@ -10,7 +10,7 @@ environment = { systemPackages = builtins.attrValues { inherit (pkgs) page eza fzf; - inherit (fetch-rs.packages.${pkgs.system}) fetch-rs; + inherit (fetch-rs.packages) fetch-rs; }; binsh = lib.getExe pkgs.dash; # use dash for speed variables = { @@ -69,7 +69,7 @@ histFile = "$HOME/.cache/zsh_history"; interactiveShellInit = '' ### fzf-tab ### - source ${self.packages.${pkgs.system}.fzf-tab}/fzf-tab.plugin.zsh + source ${self.packages.fzf-tab}/fzf-tab.plugin.zsh ### pager ### man () { PROGRAM="''${@[-1]}"