{ description = "NixOS configuration of DerGrumpf"; ################################################################################################################## # # Want to know Nix in details? Looking for a beginner-friendly tutorial? # Check out https://github.com/ryan4yin/nixos-and-flakes-book ! # ################################################################################################################## # the nixConfig here only affects the flake itself, not the system configuration! nixConfig = { # substituers will be appended to the default substituters when fetching packages # nix com extra-substituters = [munity's cache server 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"; 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;}; 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.extraSpecialArgs = inputs // specialArgs; home-manager.users.${username} = import ./users/${username}/home.nix; } ]; }; 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; } ]; }; }; }; }