diff options
Diffstat (limited to 'flake.nix')
| -rw-r--r-- | flake.nix | 82 |
1 files changed, 74 insertions, 8 deletions
@@ -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; - }; } ]; }; |
