{ description = "NixOS configuration"; inputs = { nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; home-manager = { url = "github:nix-community/home-manager"; inputs.nixpkgs.follows = "nixpkgs"; }; nix-easyroam = { url = "github:0x5a4/nix-easyroam"; inputs.nixpkgs.follows = "nixpkgs"; }; nixvim = { url = "github:nix-community/nixvim"; }; nixcord = { url = "github:FlameFlag/nixcord"; inputs.nixpkgs.follows = "nixpkgs"; }; stylix = { url = "github:nix-community/stylix"; inputs.nixpkgs.follows = "nixpkgs"; }; lanzaboote = { url = "github:nix-community/lanzaboote/v1.1.0"; inputs.nixpkgs.follows = "nixpkgs"; }; spicetify-nix = { url = "github:Gerg-L/spicetify-nix"; inputs.nixpkgs.follows = "nixpkgs"; }; }; outputs = inputs@{ nixpkgs, home-manager, nix-easyroam, stylix, nixvim, lanzaboote, ... }: { nixosConfigurations.seele = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ ./nixos/easyroam.nix ./nixos/configuration.nix ./nixos/nixvim/nixvim.nix ./nixos/hardware/laptop.nix nix-easyroam.nixosModules.nix-easyroam stylix.nixosModules.stylix nixvim.nixosModules.nixvim home-manager.nixosModules.home-manager { home-manager.users.lucy = ./home-manager/home.nix; home-manager.useUserPackages = true; home-manager.useGlobalPkgs = true; home-manager.extraSpecialArgs = { inherit inputs; }; } ({ lib, ... }: { boot.loader.systemd-boot.enable = true; networking.hostName = lib.mkForce "seele"; powerManagement.powertop.enable = true; services.upower.enable = true; services.tlp = { enable = true; settings = { CPU_SCALING_GOVERNOR_ON_AC = "performance"; CPU_SCALING_GOVERNOR_ON_BAT = "balanced"; CPU_ENERGY_PERF_POLICY_ON_BAT = "balanced"; CPU_ENERGY_PERF_POLICY_ON_AC = "performance"; CPU_MIN_PERF_ON_AC = 0; CPU_MAX_PERF_ON_AC = 100; CPU_MIN_PERF_ON_BAT = 0; CPU_MAX_PERF_ON_BAT = 50; }; }; }) ]; }; nixosConfigurations.nerv = nixpkgs.lib.nixosSystem { specialArgs = { inherit inputs; }; modules = [ ./nixos/configuration.nix ./nixos/nixvim/nixvim.nix ./nixos/hardware/desktop.nix lanzaboote.nixosModules.lanzaboote nix-easyroam.nixosModules.nix-easyroam stylix.nixosModules.stylix nixvim.nixosModules.nixvim home-manager.nixosModules.home-manager { home-manager.users.lucy = ./home-manager/home.nix; home-manager.useUserPackages = true; home-manager.useGlobalPkgs = true; home-manager.extraSpecialArgs = { inherit inputs; }; } ( { config, pkgs, lib, ... }: { networking.hostName = lib.mkForce "nerv"; environment.systemPackages = [ pkgs.sbctl ]; boot.kernelParams = [ "video=card2-DP-5:2560x1440@60" ]; boot.loader.systemd-boot.enable = lib.mkForce false; services.xserver.videoDrivers = [ "nvidia" ]; hardware.nvidia = { modesetting.enable = true; open = true; package = config.boot.kernelPackages.nvidiaPackages.latest; }; boot.lanzaboote = { enable = true; pkiBundle = "/var/lib/sbctl"; }; } ) ]; }; }; }