sneeuwvlok/default.nix
2025-03-09 23:30:26 +01:00

45 lines
1.3 KiB
Nix

{ inputs, config, lib, pkgs, ... }:
let
inherit (builtins) toString;
inherit (lib.attrsets) attrValues filterAttrs mapAttrs mapAttrsToList;
inherit (lib.modules) mkAliasOptionModule mkDefault mkIf;
inherit (lib.my) mapModulesRec';
in
{
imports = [
inputs.home-manager.nixosModules.home-manager
inputs.nvf.nixosModules.default
inputs.stylix.nixosModules.stylix
inputs.nix-minecraft.nixosModules.minecraft-servers
inputs.sops-nix.nixosModules.sops
(mkAliasOptionModule ["hm"] ["home-manager" "users" config.user.name])
(mkAliasOptionModule ["home"] ["hm" "home"])
(mkAliasOptionModule ["create" "configFile"] ["hm" "xdg" "configFile"])
(mkAliasOptionModule ["create" "dataFile"] ["hm" "xdg" "dataFile"])
]
++ (mapModulesRec' (toString ./modules) import);
nixpkgs.overlays = [
inputs.nix-minecraft.overlay
inputs.flux.overlays.default
];
nix.settings.experimental-features = [ "nix-command" "flakes" ];
environment.variables = {
SNEEUWVLOK = config.sneeuwvlok.dir;
NIXPKGS_ALLOW_UNFREE = "1";
};
sops = {
defaultSopsFile = ./secrets/secrets.yml;
defaultSopsFormat = "yml";
age.keyFile = "/home/";
};
system = {
stateVersion = "23.11";
configurationRevision = with inputs; mkIf (self ? rev) self.rev;
};
}