Files
2026-07-16 16:15:10 +02:00

180 lines
3.2 KiB
Nix

{ config, lib, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Flakes
nix.settings.experimental-features = [ "nix-command" "flakes" ];
# Latest kernel
boot.kernelPackages = pkgs.linuxPackages_latest;
# catppuccin
catppuccin.autoEnable = false;
catppuccin.enable = true;
# Bootloader
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.limine = {
enable = true;
enableEditor = true;
maxGenerations = 10;
};
catppuccin.limine = {
enable = true;
flavor = "mocha";
accent = "lavender";
};
# Time and locale
time.timeZone = "Europe/Warsaw";
i18n.defaultLocale = "en_DK.UTF-8";
# Swap
swapDevices = [{
device = "/.swapfile";
size = 8*1024;
}];
# TTY related
console = {
keyMap = "pl";
};
catppuccin.tty = {
enable = true;
flavor = "mocha";
};
# Enable doas and disable sudo
security.doas.enable = true;
security.sudo.enable = false;
security.doas.extraRules = [{
users = ["cln"];
keepEnv = true;
persist = true;
}];
# Polkit
security.polkit.enable = true;
# Set up an user account
users.users.cln = {
isNormalUser = true;
description = "cln";
createHome = true;
home = "/home/cln";
shell = pkgs.zsh;
extraGroups = [ "wheel" "audio" "video" "render" ];
};
# Pipewire
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
# Intel GPU Drivers
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
intel-media-driver
vpl-gpu-rt
intel-compute-runtime
libvdpau-va-gl
];
};
environment.sessionVariables = {
LIBVA_DRIVER_NAME = "iHD";
VDPAU_DRIVER = "va_gl";
};
hardware.enableRedistributableFirmware = true;
boot.kernelParams = [ "i915.enable_guc=3" ];
# Bluetooth
hardware.bluetooth = {
enable = true;
powerOnBoot = false;
};
# Networking
networking = {
hostName = "cln";
wireless.iwd = {
enable = true;
settings = {
Settings = {
AutoConnect = true;
};
};
};
firewall = {
enable = true;
allowedTCPPorts = [];
allowedUDPPorts = [];
};
nameservers = [
"194.242.2.4"
"194.242.2.2"
"1.1.1.1"
"1.0.0.1"
];
};
# Display manager
services.displayManager.sddm = {
enable = true;
wayland.enable = true;
};
catppuccin.sddm = {
enable = true;
flavor = "mocha";
accent = "lavender";
};
# Niri related ( configuration is in modules/niri )
programs.niri.enable = true;
# Bash
programs.zsh.enable = true;
# iVPN
services.ivpn.enable = true;
# Upower
services.upower.enable = true;
# Steam
programs.steam = {
enable = true;
remotePlay.openFirewall = false;
dedicatedServer.openFirewall = false;
};
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [
"steam"
"steam-unwrapped"
];
# Fonts
fonts.packages = with pkgs; [
jetbrains-mono
nerd-fonts.jetbrains-mono
];
environment.systemPackages = with pkgs; [
cryptsetup
xfsprogs
];
system.stateVersion = "26.11";
}