{ description = "Emile's Nix Dotfiles"; inputs = { systems.url = "github:nix-systems/default"; nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05"; nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable"; colmena = { url = "github:zhaofengli/colmena/?rev=47b6414d800c8471e98ca072bc0835345741a56a"; inputs = { nixpkgs.follows = "nixpkgs-unstable"; stable.follows = "nixpkgs"; flake-utils.inputs.systems.follows = "systems"; }; }; grub2-themes.url = "github:vinceliuice/grub2-themes"; dobutterfliescry-net = { url = "git+https://forge.imbored.dev/emileclarkb/dobutterfliescry.net"; inputs = { nixpkgs.follows = "nixpkgs"; nixpkgs-unstable.follows = "nixpkgs-unstable"; systems.follows = "systems"; }; }; }; outputs = { self, nixpkgs, nixpkgs-unstable, grub2-themes, colmena, ... } @ inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config = { allowUnfree = false; # sanity check }; }; pkgs-unstable = import nixpkgs-unstable { inherit system; config = { # allowUnfree = true; # TODO: bandaid solution... (for minecraft-server) allowUnfree = false; }; }; # TODO: come back to this its really cool # this is just something I'm experimenting with # ROOT = ./.; specialArgs = {inherit inputs pkgs-unstable;}; in { devShells."x86_64-linux".default = pkgs.mkShell { shell = "${pkgs.bash}/bin/bash"; packages = with pkgs; [ # ./script/* dependencies mkpasswd ]; }; nixosConfigurations = { # i be on my puter fr myputer = nixpkgs.lib.nixosSystem { # nix passes these to every single module inherit specialArgs; modules = [ ./hosts/myputer grub2-themes.nixosModules.default ]; }; # my laptop 0w0 lolcathost = nixpkgs.lib.nixosSystem { inherit specialArgs; modules = [ ./hosts/lolcathost grub2-themes.nixosModules.default ]; }; }; # remote deployment to my servers!! colmenaHive = colmena.lib.makeHive { meta = { nixpkgs = pkgs; inherit specialArgs; # set nixpkgs per server nodeNixpkgs = { hyrule = import nixpkgs { system = "x86_64-linux"; config.allowUnfree = false; }; }; }; # meine vps hyrule = import ./hosts/hyrule; }; }; }