180 lines
3.2 KiB
Nix
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";
|
|
|
|
}
|