157 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			157 lines
		
	
	
		
			4.3 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
{
 | 
						|
  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;
 | 
						|
              }
 | 
						|
            ];
 | 
						|
          };
 | 
						|
      };
 | 
						|
    };
 | 
						|
}
 |