diff --git a/home/modules/default.nix b/home/modules/default.nix index c915eb0..245a616 100644 --- a/home/modules/default.nix +++ b/home/modules/default.nix @@ -1 +1,17 @@ -{ ... }: { } +{ lib, ... }: +{ + imports = [ + ./nix.nix + ]; + + options = { + youthlic.nixos.enable = lib.mkOption { + type = lib.types.bool; + default = false; + example = true; + description = '' + whether the os is nixos + ''; + }; + }; +} diff --git a/home/modules/nix.nix b/home/modules/nix.nix new file mode 100644 index 0000000..86a2de8 --- /dev/null +++ b/home/modules/nix.nix @@ -0,0 +1,51 @@ +{ + inputs, + lib, + config, + pkgs, + outputs, + ... +}: +{ + config = + let + cfg = config.youthlic.nixos; + in + (lib.mkIf (!cfg.enable) { + nixpkgs = { + config = { + allowUnfree = true; + allowUnfreePredicate = (_: true); + }; + overlays = [ + outputs.overlays.modifications + outputs.overlays.additions + ]; + }; + nix = { + package = pkgs.nix; + settings = { + inherit (outputs.nix.settings) substituters; + trusted-public-keys = [ + "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" + "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" + "cosmic.cachix.org-1:Dya9IyXD4xdBehWjrkPv6rtxpmMdRel02smYzA85dPE=" + ]; + auto-optimise-store = lib.mkDefault true; + experimental-features = [ + "nix-command" + "flakes" + ]; + warn-dirty = false; + use-xdg-base-directories = true; + }; + registry.home = lib.mkDefault { + from = { + type = "indirect"; + id = "home"; + }; + flake = inputs.nixpkgs; + }; + }; + }); +} diff --git a/nixos/modules/home.nix b/nixos/modules/home.nix index 343abf7..71f4e94 100644 --- a/nixos/modules/home.nix +++ b/nixos/modules/home.nix @@ -50,6 +50,10 @@ outputs.homeManagerModules."${unixName}" (rootPath + "/home/${unixName}/configurations/${hostName}") ]; + + config = { + youthlic.nixos.enable = true; + }; } ); extraSpecialArgs = {