{ description = "NixOS configuration of DerGrumpf"; # the nixConfig here only affects the flake itself, not the system configuration! nixConfig = { extra-substituters = [ "https://nix-community.cachix.org" ]; extra-trusted-public-keys = [ "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; }; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; hyprland.url = "github:hyprwm/Hyprland"; spicetify-nix.url = "github:Gerg-L/spicetify-nix"; nixcord.url = "github:kaylorben/nixcord"; /* nixvim = { url = "github:nix-community/nixvim/nixos-24.11"; inputs.nixpkgs.follows = "nixpkgs"; }; */ catppuccin.url = "github:catppuccin/nix"; home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager.inputs.nixpkgs.follows = "nixpkgs"; hyprland-plugins = { url = "github:hyprwm/hyprland-plugins"; inputs.hyprland.follows = "hyprland"; }; }; outputs = inputs@{ self, nixpkgs, home-manager, catppuccin, ... }: { packages.x86_64-linux.default = self.nixosConfigurations.iso.config.system.build.isoImage; nixosConfigurations = { iso = nixpkgs.lib.nixosSystem { system = "x86_64-linux"; modules = [ ( { pkgs, modulesPath, ... }: { imports = [ (modulesPath + "/installer/cd-dvd/installation-cd-minimal.nix") ]; environment.systemPackages = with pkgs; [ neovim git wget curl ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; } ) ]; }; m920q = let username = "phil"; specialArgs = { inherit username; inherit inputs; }; in nixpkgs.lib.nixosSystem { inherit specialArgs; system = "x86_64-linux"; modules = [ ./hosts/m920q ./users/${username}/nixos.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.backupFileExtension = "backup"; home-manager.extraSpecialArgs = inputs // specialArgs; home-manager.users.${username} = import ./users/${username}/home.nix; home-manager.sharedModules = [ inputs.nixcord.homeModules.nixcord ]; nix.settings.experimental-features = [ "nix-command" "flakes" ]; } ]; }; qemu = let username = "phil"; specialArgs = { inherit username; }; in nixpkgs.lib.nixosSystem { inherit specialArgs; system = "x86_64-linux"; modules = [ ./hosts/qemu ./users/${username}/nixos.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = inputs // specialArgs; home-manager.users.${username} = import ./users/${username}/home.nix; } ]; }; hp15-n028sg = let username = "phil"; specialArgs = { inherit username; }; in nixpkgs.lib.nixosSystem { inherit specialArgs; system = "x86_64-linux"; modules = [ ./hosts/hp15-n028sg ./users/${username}/nixos.nix home-manager.nixosModules.home-manager { home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.extraSpecialArgs = inputs // specialArgs; home-manager.users.${username} = import ./users/${username}/home.nix; } ]; }; }; }; }