summaryrefslogtreecommitdiff
path: root/flake.nix
diff options
context:
space:
mode:
Diffstat (limited to 'flake.nix')
-rw-r--r--flake.nix82
1 files changed, 74 insertions, 8 deletions
diff --git a/flake.nix b/flake.nix
index 33cce64..b131b6e 100644
--- a/flake.nix
+++ b/flake.nix
@@ -6,6 +6,8 @@
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixpkgs-old.url = "github:nixos/nixpkgs/nixos-25.05";
+ flake-utils.url = "github:numtide/flake-utils";
+
nix-index-database.url = "github:nix-community/nix-index-database";
nix-index-database.inputs.nixpkgs.follows = "nixpkgs-unstable";
@@ -181,7 +183,7 @@
};
- outputs = inputs@{ self, ... }: with inputs;
+ outputs = inputs@{ self, flake-utils, ... }: with inputs;
# packages.aarch64-linux = {
# # packages.x86_64-linux = {
# aarch64-installer = nixos-generators.nixosGenerate {
@@ -198,14 +200,15 @@
inherit (self) outputs;
lib = nixpkgs.lib // home-manager.lib;
# systems = [ "x86_64-linux" "aarch64-linux" ];
- # # forAllSystems = f: lib.genAttrs systems (system: f pkgsFor.${system});
+ # forAllSystems = f: lib.genAttrs systems (system: f pkgsFor.${system});
# pkgsFor = lib.genAttrs systems (system: import nixpkgs {
# inherit system;
# config.allowUnfree = true;
# });
# function to use unf to list options from arbitrary module for home-manager
- mkOpts = system: module:
+ # mkOpts = inputs.unf.lib.json;
+ mkOpts = system: modules: {specialArgs?{}, userOpts?{}, uri?""}:
inputs.unf.lib.json {
inherit self;
pkgs = nixpkgs.legacyPackages.${system};
@@ -213,8 +216,42 @@
# not all modules can be evaluated easily. If your module
# does not evaluate, try checking this NüschtOS file:
# https://github.com/NuschtOS/search.nuschtos.de/blob/main/flake.nix
- modules = [module];
- };
+ modules = modules;
+ specialArgs = specialArgs;
+ userOpts = userOpts;
+ newPath = uri;
+ };
+
+ # forAllSystems = system: (
+ # flake-utils.lib.eachDefaultSystem (system:
+ # let
+ # pkgs = (import nixpkgs) {
+ # inherit system;
+ # };
+ # inherit (pkgs) lib;
+ # in {
+ # packages = {
+ # default = search.packages.${system}.mkMultiSearch {
+ # scopes = [
+ # {
+ # modules = [ disko.nixosModules.default ];
+ # name = "disko";
+ # specialArgs.modulesPath = nixpkgs + "/nixos/modules";
+ # # urlPrefix = "https://github.com/nix-community/disko/blob/master/";
+ # }
+ # {
+ # modules = [
+ # microvm.nixosModules.host
+ # microvm.nixosModules.microvm
+ # ];
+ # name = "microvm";
+ # # urlPrefix = "https://github.com/microvm-nix/microvm.nix/blob/main/";
+ # }
+ # ];
+ # };
+ # };
+ # }
+ # );
minimalHomeManagerSettings = [ # From github:MasterofNull/nixos config
home-manager.nixosModules.home-manager {
@@ -222,6 +259,38 @@
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {
inherit inputs;
+ # module = mkopts system:
+
+ diskoOpts = mkOpts "x86_64-linux" [inputs.disko.nixosModules.default]{
+ specialArgs.modulesPath = nixpkgs + "/nixos/modules";
+ };
+ microvmOpts = mkOpts "x86_64-linux" [
+ inputs.microvm.nixosModules.microvm
+ inputs.microvm.nixosModules.host
+ ] {};
+ # moddedMinecraftOpts = mkOpts "x86_64-linux" [
+ # inputs.modded-minecraft-servers.module
+ # ] {};
+ };
+ }
+ ];
+ nixSearchTv = [
+ home-manager.nixosModules.home-manager {
+ home-manager.extraSpecialArgs = {
+ # microvmModules = lib.mergeModules
+ # inputs.microvm.nixosModules.host
+ # inputs.microvm.nixosModules.microvm
+ # ];
+ diskoOpts = mkOpts "x86_64-linux" [inputs.disko.nixosModules.default]{
+ specialArgs.modulesPath = nixpkgs + "/nixos/modules";
+ };
+ microvmOpts = mkOpts "x86_64-linux" [
+ inputs.microvm.nixosModules.microvm
+ inputs.microvm.nixosModules.host
+ ] {};
+ # moddedMinecraftOpts = mkOpts "x86_64-linux" [
+ # inputs.modded-minecraft-servers.module
+ # ] {};
};
}
];
@@ -282,9 +351,6 @@
# hyprland.homeManagerModules.default {wayland.windowManager.hyprland.enable = true;}
home-manager.nixosModules.home-manager {
home-manager.users.defin = import ./home-manager/tiling-wm.nix;
- home-manager.extraSpecialArgs = {
- diskoOptions = inputs.disko.nixosModules.default;
- };
}
];
};