nixos/flake.nix
2026-07-19 10:32:20 +02:00

139 lines
4.2 KiB
Nix

{
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";
};
};
outputs =
inputs@{
nixpkgs,
home-manager,
nix-easyroam,
stylix,
nixvim,
lanzaboote,
...
}:
{
nixosConfigurations.seele = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs; };
modules = [
./easyroam.nix
./configuration.nix
./nixvim/nixvim.nix
nix-easyroam.nixosModules.nix-easyroam
stylix.nixosModules.stylix
nixvim.nixosModules.nixvim
home-manager.nixosModules.home-manager
{
home-manager.users.lucy = ./home/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 = "powersave";
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
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 = 20;
};
};
})
];
};
nixosConfigurations.nerv = nixpkgs.lib.nixosSystem {
modules = [
./configuration.nix
./nixvim/nixvim.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/home.nix;
home-manager.useUserPackages = true;
home-manager.useGlobalPkgs = true;
home-manager.extraSpecialArgs = { inherit inputs; };
}
(
{
config,
pkgs,
lib,
...
}:
{
networking.hostName = lib.mkForce "nerv";
systemd.services.fbcon-native = {
description = "Force framebuffer console to native resolution";
wantedBy = [ "multi-user.target" ];
after = [ "systemd-udev-settle.service" ];
before = [ "display-manager.service" ];
serviceConfig = {
Type = "oneshot";
RemainAfterExit = true;
ExecStart = "${pkgs.fbset}/bin/fbset -xres 2560 -yres 1440 -match --all";
};
};
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";
};
}
)
];
};
};
}