{ description = "Emile's Nix Dotfiles"; inputs = { #nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05"; nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; spicetify-nix = { url = "github:Gerg-L/spicetify-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; nixcord.url = "github:kaylorben/nixcord"; grub2-themes.url = "github:vinceliuice/grub2-themes"; # is this necessary? (aren't I enabling it in `configuration.nix` anyways?) hyprland.url = "github:hyprwm/Hyprland"; swww.url = "github:LGFae/swww"; # TODO: declarative flatpak management nix-flatpak.url = "github:gmodena/nix-flatpak/?ref=v0.4.1"; ags.url = "github:Aylur/ags"; }; outputs = { self, nixpkgs, home-manager, hyprland, grub2-themes, nixcord, ... } @ inputs: let system = "x86_64-linux"; pkgs = import nixpkgs { inherit system; config.allowUnfree = true; }; # this is just something I'm experimenting with PROJECT_ROOT = builtins.toString ./.; in { nixosConfigurations = { # i be on my puter fr myputer = nixpkgs.lib.nixosSystem { # nix passes these to every single module above specialArgs = {inherit inputs pkgs;}; modules = [ ./hosts/myputer grub2-themes.nixosModules.default ]; }; # my laptop 0w0 lolcathost = nixpkgs.lib.nixosSystem { specialArgs = {inherit inputs pkgs;}; modules = [ ./hosts/lolcathost grub2-themes.nixosModules.default ]; }; }; }; }