From d369bfaa5cda40aa380a0d06a655803ca875d819 Mon Sep 17 00:00:00 2001 From: Nick Date: Sun, 3 Nov 2024 20:50:30 -0600 Subject: [PATCH] refactor: condensed the lists --- home-manager/default.nix | 93 +++++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 45 deletions(-) diff --git a/home-manager/default.nix b/home-manager/default.nix index bea564c..309b510 100755 --- a/home-manager/default.nix +++ b/home-manager/default.nix @@ -1,46 +1,4 @@ let - folderModules = [ - "bat" - "firefox" - "obs-studio" - "qbittorrent" - "steam" - ]; - - fileModules = [ - "bottom" - "brave" - "direnv" - "freetube" - "git" - "helix" - "home-manager" - "lazygit" - "mpv" - "nextcloud" - "nushell" - "starship" - "vscode" - "wezterm" - "yazi" - "zellij" - "zoxide" - ]; - - miscModules = [ - "android" - "commandLine" - "desktop" - "entertainment" - "internet" - "productionArt" - "productionAudio" - "productionVideo" - "productionWriting" - "tracking" - "virtualization" - ]; - modulesPath = ./modules; importFolder = name: {"${name}" = import (modulesPath + "/${name}");}; @@ -48,9 +6,54 @@ let importMisc = name: {"misc-${name}" = import (modulesPath + "/misc/${name}.nix");}; modules = - builtins.foldl' (a: b: a // b) {} (map importFolder folderModules) - // builtins.foldl' (a: b: a // b) {} (map importFile fileModules) - // builtins.foldl' (a: b: a // b) {} (map importMisc miscModules); + builtins.foldl' ( + emptySet: importedModules: + emptySet // importedModules + ) {} (map importFolder [ + "bat" + "firefox" + "obs-studio" + "qbittorrent" + "steam" + ]) + // builtins.foldl' ( + emptySet: importedModules: + emptySet // importedModules + ) {} (map importFile [ + "bottom" + "brave" + "direnv" + "freetube" + "git" + "helix" + "home-manager" + "lazygit" + "mpv" + "nextcloud" + "nushell" + "starship" + "vscode" + "wezterm" + "yazi" + "zellij" + "zoxide" + ]) + // builtins.foldl' ( + emptySet: importedModules: + emptySet // importedModules + ) {} (map importMisc [ + "android" + "commandLine" + "desktop" + "entertainment" + "internet" + "productionArt" + "productionAudio" + "productionVideo" + "productionWriting" + "tracking" + "virtualization" + ]); in { flake.homeModules = { desktop = {