diff --git a/flake.nix b/flake.nix index 047498d..67b9886 100644 --- a/flake.nix +++ b/flake.nix @@ -65,7 +65,7 @@ (final: prev: { elss = (import ./lib { lib = final; }) prev; }); - inherit (extended-lib.elss) discoverModules moduleNames; + inherit (extended-lib.elss) discoverModules moduleNames discoverMachines withModules; in flake-utils-plus.lib.mkFlake rec{ inherit self inputs; @@ -107,19 +107,23 @@ inherit inputs; }; extraArgs = { - homeConfigurations = discoverModules ./users - (name: - import (./users + "/${name}") + homeConfigurations = withModules ./users + ( + { name, path }: + #import (./users + "/${name}") + import path ); }; }; - hosts = discoverModules ./machines (name: { - modules = [ (./machines + "/${name}") ]; - specialArgs = { lib = extended-lib; }; - }); + hosts = discoverMachines ./machines + { + specialArgs = { lib = extended-lib; }; + }; - homeConfigurations = discoverModules ./users + nixosModules = discoverModules ./modules; + + homeConfigurations = withModules ./users (name: let username = extended-lib.removeSuffix ".nix" name; @@ -131,9 +135,9 @@ homeDirectory = "/home/${username}"; stateVersion = "21.05"; }); - + outputsBuilder = channels: { - devShell = import ./secrets/shell.nix { + devShells.default = import ./secrets/shell.nix { pkgs = channels.nixpkgs; sops-nix = inputs.sops-nix.packages."${channels.nixpkgs.system}"; }; diff --git a/lib/files.nix b/lib/files.nix index 8d025de..362c3f5 100644 --- a/lib/files.nix +++ b/lib/files.nix @@ -3,12 +3,22 @@ final: prev: with prev; rec { moduleNames = dir: pipe dir [ builtins.readDir - (filterAttrs (name: type: !hasPrefix "." name && (hasSuffix ".nix" name || type == "directory"))) + (filterAttrs + (name: type: (!hasPrefix "." name && !hasPrefix "_" name + && (hasSuffix ".nix" name || type == "directory")))) attrNames ]; - discoverModules = dir: f: + withModules = dir: f: listToAttrs (map (filename: - nameValuePair (removeSuffix ".nix" filename) (f filename)) + let + path = dir + "/${filename}"; + name = removeSuffix ".nix" filename; + in + nameValuePair name (f { inherit path name; })) (moduleNames dir)); + discoverModules = dir: withModules dir ({ path, name }: import path); + discoverMachines = dir: args: + withModules dir ({ path, name }: + { modules = [ path ]; } // args); } diff --git a/machines/metis/default.nix b/machines/metis/default.nix index c1065eb..2d2a24f 100644 --- a/machines/metis/default.nix +++ b/machines/metis/default.nix @@ -52,4 +52,5 @@ }; }; }; + system.stateVersion = "22.05"; } diff --git a/modules/server/nextcloud.nix b/modules/server/nextcloud.nix index f015290..ad393fa 100644 --- a/modules/server/nextcloud.nix +++ b/modules/server/nextcloud.nix @@ -14,9 +14,9 @@ with lib;{ config = { dbtype = "mysql"; dbuser = "cloudstore_user"; - dbpassFile = sops.secrets.cloudstore_user.path; + dbpassFile = config.sops.secrets.cloudstore_user.path; adminuser = "storemin"; - adminpassFile = sops.secrets.storemin.path; + adminpassFile = config.sops.secrets.storemin.path; }; }; diff --git a/modules/stateversion.nix b/modules/stateversion.nix index 7c0ffe4..1bb3efc 100644 --- a/modules/stateversion.nix +++ b/modules/stateversion.nix @@ -1,4 +1,4 @@ { config, lib, pkgs, ...}: { - system.stateVersion = "21.05"; + system.stateVersion = mkDefault "21.05"; }