nixos/flake.nix
2026-08-06 13:10:26 +02:00

123 lines
3.5 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";
};
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.auto-cpufreq.enable = true;
})
];
};
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";
};
}
)
];
};
};
}