From 65501e28d7acfe855aec591e24441132093a7ec8 Mon Sep 17 00:00:00 2001 From: Roman Lubij Date: Thu, 30 Oct 2025 18:26:18 +0100 Subject: [PATCH] Initial commit --- configuration.nix | 185 +++++++++++++++++++++++++ flake.lock | 184 ++++++++++++++++++++++++ flake.nix | 28 ++++ hardware-configuration.nix | 95 +++++++++++++ modules/gdm-monitors.nix | 277 +++++++++++++++++++++++++++++++++++++ modules/packages.nix | 162 ++++++++++++++++++++++ modules/programs.nix | 77 +++++++++++ modules/services.nix | 92 ++++++++++++ 8 files changed, 1100 insertions(+) create mode 100644 configuration.nix create mode 100644 flake.lock create mode 100644 flake.nix create mode 100644 hardware-configuration.nix create mode 100644 modules/gdm-monitors.nix create mode 100644 modules/packages.nix create mode 100644 modules/programs.nix create mode 100644 modules/services.nix diff --git a/configuration.nix b/configuration.nix new file mode 100644 index 0000000..18fb90a --- /dev/null +++ b/configuration.nix @@ -0,0 +1,185 @@ +# Edit this configuration file to define what should be installed on +# your system. Help is available in the configuration.nix(5) man page +# and in the NixOS manual (accessible by running ‘nixos-help’). + +{ + config, + pkgs, + lib, + ... +}: + +{ + imports = [ + ./hardware-configuration.nix + ./modules/packages.nix + ./modules/services.nix + ./modules/gdm-monitors.nix + ./modules/programs.nix + ]; + + boot = { + initrd.kernelModules = [ ]; + initrd.verbose = false; + kernelModules = [ "nct6683" ]; + blacklistedKernelModules = [ "k10temp" ]; + kernelParams = [ + "amdgpu.seamless=1" + "rd.udev.log_priority=3" + "vt.global_cursor_default=0" + ]; + kernelPackages = pkgs.linuxKernel.packages.linux_xanmod_latest; + extraModulePackages = with config.boot.kernelPackages; [ + pkgs.linuxKernel.packages.linux_xanmod_latest.zenpower + ]; + loader = { + efi.canTouchEfiVariables = true; + systemd-boot = { + enable = true; + windows = { + "w" = { + title = "Windows"; + efiDeviceHandle = "HD(1,GPT,ee23cd4d-b501-4b9d-9ca0-971fa6be44cf,0x800,0x32000)"; # ????????? + }; + }; + }; + }; + consoleLogLevel = 3; + plymouth.enable = true; + }; + + networking = { + hostName = "epiquev2"; + networkmanager.enable = true; + }; + + # Set your time zone. + time.timeZone = "Europe/Prague"; + + # Select internationalisation properties. + + i18n = { + defaultLocale = "en_US.UTF-8"; + + extraLocaleSettings = { + LC_ADDRESS = "cs_CZ.UTF-8"; + LC_IDENTIFICATION = "cs_CZ.UTF-8"; + LC_MEASUREMENT = "cs_CZ.UTF-8"; + LC_MONETARY = "cs_CZ.UTF-8"; + LC_NAME = "cs_CZ.UTF-8"; + LC_NUMERIC = "cs_CZ.UTF-8"; + LC_PAPER = "cs_CZ.UTF-8"; + LC_TELEPHONE = "cs_CZ.UTF-8"; + LC_TIME = "cs_CZ.UTF-8"; + }; + }; + + # Configure console keymap + console.keyMap = "cz-lat2"; + + xdg.portal.enable = true; + + security.rtkit.enable = true; + + virtualisation = { + docker = { + enable = true; + autoPrune.enable = true; + storageDriver = "btrfs"; + enableOnBoot = true; + }; + libvirtd = { + enable = true; + qemu.swtpm.enable = true; + + }; + }; + + # Define a user account. Don't forget to set a password with ‘passwd’. + users.users.jax = { + isNormalUser = true; + description = "Roman Lubij"; + extraGroups = [ + "networkmanager" + "wheel" + "docker" + "libvirtd" + ]; + shell = pkgs.zsh; + #packages = with pkgs; [ ]; + }; + + # Allow unfree packages + nixpkgs = { + config.allowUnfree = true; + config.permittedInsecurePackages = [ + "ventoy-gtk3-1.1.07" + ]; + }; + + environment.sessionVariables = { + NIXOS_OZONE_WL = "1"; + LIBVIRT_DEFAULT_URI = "qemu:///system"; + }; + + hardware = { + amdgpu.initrd.enable = true; + amdgpu.overdrive.enable = true; + bluetooth = { + enable = true; + package = pkgs.bluez.overrideAttrs (old: { + configureFlags = old.configureFlags ++ [ + "--enable-sixaxis" + ]; + }); + powerOnBoot = true; + input.General.ClassicBondedOnly = false; + settings = { + General = { + # FastConnectable = true; + Name = "epiquev2"; + Experimental = true; + }; + }; + }; + i2c.enable = true; + graphics = { + enable = true; + enable32Bit = true; + package = pkgs.mesa; + }; + # amdgpu.opencl.enable = true; ROCM + }; + + # QT stuff + qt = { + style = "gtk2"; + platformTheme = "qt5ct"; + enable = true; + }; + + # Open ports in the firewall. + # networking.firewall.allowedTCPPorts = [ ... ]; + # networking.firewall.allowedUDPPorts = [ ... ]; + # Or disable the firewall altogether. + networking.firewall.enable = false; + + nix.settings = { + auto-optimise-store = true; + experimental-features = [ + "flakes" + "nix-command" + ]; + warn-dirty = false; + substituters = [ + "https://nyx.chaotic.cx" + "https://cache.nixos.org/" + ]; + trusted-public-keys = [ + "chaotic-nyx.cachix.org-1:Z94nz89Kd721HGLrYPYiWnL3izUZoofuA+3ykIbE+Bs=" + "cache.nixos.org-1:6NCHdD59MDW/s82/h4RZcnxaz2bYcxoZb0qwYf5ED+w=" + ]; + }; + + system.stateVersion = "25.05"; +} diff --git a/flake.lock b/flake.lock new file mode 100644 index 0000000..063ea28 --- /dev/null +++ b/flake.lock @@ -0,0 +1,184 @@ +{ + "nodes": { + "chaotic": { + "inputs": { + "flake-schemas": "flake-schemas", + "home-manager": "home-manager", + "jovian": "jovian", + "nixpkgs": "nixpkgs", + "rust-overlay": "rust-overlay" + }, + "locked": { + "lastModified": 1761827347, + "narHash": "sha256-tIrTFSntAyXVrQE9GnauXzQxEZJCZA9TEp4jAENsgwA=", + "owner": "chaotic-cx", + "repo": "nyx", + "rev": "0c234b99a8606b482d6644e1f2d26d41985fb85c", + "type": "github" + }, + "original": { + "owner": "chaotic-cx", + "ref": "nyxpkgs-unstable", + "repo": "nyx", + "type": "github" + } + }, + "flake-schemas": { + "locked": { + "lastModified": 1721999734, + "narHash": "sha256-G5CxYeJVm4lcEtaO87LKzOsVnWeTcHGKbKxNamNWgOw=", + "rev": "0a5c42297d870156d9c57d8f99e476b738dcd982", + "revCount": 75, + "type": "tarball", + "url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.5/0190ef2f-61e0-794b-ba14-e82f225e55e6/source.tar.gz" + }, + "original": { + "type": "tarball", + "url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.5.tar.gz" + } + }, + "home-manager": { + "inputs": { + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1761770832, + "narHash": "sha256-IQIWG6kHxnUpx5KEb9r0BROL3/R6UQ/30aO2oHncBA8=", + "owner": "nix-community", + "repo": "home-manager", + "rev": "124b99dbd1594dbebdd575ac7142752ee96a98a0", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "home-manager", + "type": "github" + } + }, + "jovian": { + "inputs": { + "nix-github-actions": "nix-github-actions", + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1761748321, + "narHash": "sha256-hD5mVzmUeyVppjArdy2uVdQe/CQUR9i3WgZB05onE7A=", + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "rev": "533db5857c9e00ca352558a928417116ee08a824", + "type": "github" + }, + "original": { + "owner": "Jovian-Experiments", + "repo": "Jovian-NixOS", + "type": "github" + } + }, + "nix-flatpak": { + "locked": { + "lastModified": 1754777568, + "narHash": "sha256-0bBqT+3XncgF8F03RFAamw9vdf0VmaDoIJLTGkjfQZs=", + "owner": "gmodena", + "repo": "nix-flatpak", + "rev": "62f636b87ef6050760a8cb325cadb90674d1e23e", + "type": "github" + }, + "original": { + "owner": "gmodena", + "repo": "nix-flatpak", + "type": "github" + } + }, + "nix-github-actions": { + "inputs": { + "nixpkgs": [ + "chaotic", + "jovian", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1729697500, + "narHash": "sha256-VFTWrbzDlZyFHHb1AlKRiD/qqCJIripXKiCSFS8fAOY=", + "owner": "zhaofengli", + "repo": "nix-github-actions", + "rev": "e418aeb728b6aa5ca8c5c71974e7159c2df1d8cf", + "type": "github" + }, + "original": { + "owner": "zhaofengli", + "ref": "matrix-name", + "repo": "nix-github-actions", + "type": "github" + } + }, + "nixpkgs": { + "locked": { + "lastModified": 1761672384, + "narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_2": { + "locked": { + "lastModified": 1761672384, + "narHash": "sha256-o9KF3DJL7g7iYMZq9SWgfS1BFlNbsm6xplRjVlOCkXI=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "08dacfca559e1d7da38f3cf05f1f45ee9bfd213c", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "root": { + "inputs": { + "chaotic": "chaotic", + "nix-flatpak": "nix-flatpak", + "nixpkgs": "nixpkgs_2" + } + }, + "rust-overlay": { + "inputs": { + "nixpkgs": [ + "chaotic", + "nixpkgs" + ] + }, + "locked": { + "lastModified": 1761758177, + "narHash": "sha256-MsVJG2gQTm6n2jIGu2KDT87AMeMx1GExOaEQqNkQKVE=", + "owner": "oxalica", + "repo": "rust-overlay", + "rev": "37f8f092415b444c3bed6eda6bcbee51cee22e5d", + "type": "github" + }, + "original": { + "owner": "oxalica", + "repo": "rust-overlay", + "type": "github" + } + } + }, + "root": "root", + "version": 7 +} diff --git a/flake.nix b/flake.nix new file mode 100644 index 0000000..540a437 --- /dev/null +++ b/flake.nix @@ -0,0 +1,28 @@ +{ + inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + + nix-flatpak = { + url = "github:gmodena/nix-flatpak"; + inputs.nixpkgs.follows = "nixpkgs"; + }; + + # Keeping this for the binary cache! + chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable"; + }; + + outputs = { self, nixpkgs, nix-flatpak, chaotic, ... }: { + nixosConfigurations = { + epiquev2 = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + modules = [ + ./configuration.nix + nix-flatpak.nixosModules.nix-flatpak + + # This module adds the Chaotic overlay AND the necessary binary cache. + chaotic.nixosModules.default + ]; + }; + }; + }; +} \ No newline at end of file diff --git a/hardware-configuration.nix b/hardware-configuration.nix new file mode 100644 index 0000000..79e9355 --- /dev/null +++ b/hardware-configuration.nix @@ -0,0 +1,95 @@ +# Do not modify this file! It was generated by ‘nixos-generate-config’ +# and may be overwritten by future invocations. Please make changes +# to /etc/nixos/configuration.nix instead. +{ config, lib, pkgs, modulesPath, ... }: + +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") + ]; + + boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "uas" "usbhid" "sd_mod" ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-amd" ]; + boot.extraModulePackages = [ ]; + + fileSystems."/" = + { device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; + fsType = "btrfs"; + options = [ + "subvol=@nix" + "ssd" + "space_cache=v2" + "noatime" + "compress=zstd" + ]; + }; + + fileSystems."/home" = + { device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; + fsType = "btrfs"; + options = [ + "subvol=@home" + "ssd" + "space_cache=v2" + "noatime" + "compress=zstd" + ]; + }; + + fileSystems."/nix" = + { device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; + fsType = "btrfs"; + options = [ + "subvol=@nix_nix" + "ssd" + "space_cache=v2" + "noatime" + "compress=zstd" + ]; + + }; + + fileSystems."/var" = + { device = "/dev/disk/by-uuid/688ed267-cec9-400a-9226-32b0538eaecd"; + fsType = "btrfs"; + options = [ + "subvol=@nix_var" + "ssd" + "space_cache=v2" + "noatime" + "compress=zstd" + ]; + }; + + fileSystems."/boot" = + { device = "/dev/disk/by-uuid/3DB5-50DE"; + fsType = "vfat"; + options = [ "fmask=0022" "dmask=0022" ]; + }; + + fileSystems."/media/data" = + { device = "/dev/disk/by-uuid/4c0c8b24-6fca-49c1-8e34-e00e240576e3"; + fsType = "btrfs"; + options = [ "subvol=Data" ]; + }; + + fileSystems."/media/games" = + { device = "/dev/disk/by-uuid/4c0c8b24-6fca-49c1-8e34-e00e240576e3"; + fsType = "btrfs"; + options = [ "subvol=Games" ]; + }; + + swapDevices = [ ]; + + # Enables DHCP on each ethernet and wireless interface. In case of scripted networking + # (the default) this is the recommended approach. When using systemd-networkd it's + # still possible to use this option, but it's recommended to use it in conjunction + # with explicit per-interface declarations with `networking.interfaces..useDHCP`. + networking.useDHCP = lib.mkDefault true; + # networking.interfaces.enp42s0.useDHCP = lib.mkDefault true; + # networking.interfaces.enp5s0.useDHCP = lib.mkDefault true; + + nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; + hardware.cpu.amd.updateMicrocode = true; +} diff --git a/modules/gdm-monitors.nix b/modules/gdm-monitors.nix new file mode 100644 index 0000000..4a38be1 --- /dev/null +++ b/modules/gdm-monitors.nix @@ -0,0 +1,277 @@ +{ + config, + pkgs, + lib, + ... +}: + +let + gdmMonitorsXml = pkgs.writeText "gdm-monitor.xml" '' + + + physical + + 0 + 0 + 1 + yes + + + HDMI-1 + HPN + HP 24fh + 3CM8340KRZ + + + 1920 + 1080 + 74.973 + + + + + + physical + + 0 + 0 + 1 + yes + + + HDMI-A-1 + unknown + unknown + unknown + + + 640 + 480 + 59.940 + + yes + + + + + physical + + 0 + 0 + 1 + yes + + + HDMI-1 + unknown + unknown + unknown + + + 640 + 480 + 59.940 + + yes + + + + + physical + + 0 + 0 + 1 + yes + + + HDMI-2 + unknown + unknown + unknown + + + 640 + 480 + 59.940 + + + + + + logical + + 0 + 0 + 1 + yes + + + HDMI-1 + SAM + SMB2240W + H9FZ915793 + + + 1680 + 1050 + 59.883 + + + + + + logical + + 0 + 0 + 1 + yes + + + HDMI-1 + HPN + HP 24fh + 3CM8340KRZ + + + 1920 + 1080 + 74.973 + + + + + + physical + + 0 + 0 + 1 + yes + + + HDMI-A-1 + SAM + SMB2240W + H9FZ915793 + + + 1680 + 1050 + 59.883 + + + + + + physical + + 0 + 0 + 1 + yes + + + HDMI-1 + HPN + HP 24fh + 3CM8340KRZ + + + 1920 + 1080 + 60.000 + + + + + 102 + 1080 + 1 + + + Meta-0 + MetaVendor + Virtual remote monitor + 0x000001 + + + 1728 + 1080 + 60.000 + + + + + + physical + + 0 + 0 + 1 + yes + + + HDMI-1 + SAM + SMB2240W + H9FZ915793 + + + 1680 + 1050 + 59.883 + + + + + + physical + + 0 + 0 + 1 + yes + + + HDMI-1 + SAM + SMB2240W + H9FZ915793 + + + 1680 + 1050 + 59.883 + + + + + 0 + 1050 + 1 + + + Meta-0 + MetaVendor + Virtual remote monitor + 0x000001 + + + 1728 + 1080 + 60.000 + + + + + + ''; +in +{ + systemd.tmpfiles.rules = [ + # L+ means to create a symbolic link (L) and create the directory if it doesn't exist (+) + "L+ /run/gdm/.config/monitors.xml - - - - ${gdmMonitorsXml}" + ]; +} diff --git a/modules/packages.nix b/modules/packages.nix new file mode 100644 index 0000000..acd0af0 --- /dev/null +++ b/modules/packages.nix @@ -0,0 +1,162 @@ +{ + config, + pkgs, + lib, + ... +}: + +{ + environment.gnome.excludePackages = with pkgs; [ + decibels + evince + epiphany + geary + gnome-connections + gnome-contacts + gnome-logs + gnome-maps + gnome-music + gnome-software + gnome-system-monitor + snapshot + totem + yelp + ]; + + environment.systemPackages = lib.flatten [ + (with pkgs.gnomeExtensions; [ + # thanatophobia + alphabetical-app-grid + appindicator + blur-my-shell + control-monitor-brightness-and-volume-with-ddcutil + bubblemail + color-picker + dash-to-dock + favorites-to-applications-grid + middle-click-to-close-in-overview + undecorate + user-themes + ]) + (with pkgs; [ + abootimg + amdgpu_top + android-tools + appstream + arch-install-scripts + bibata-cursors + binwalk + brscan4 + brscan5 + btrfs-progs + bubblemail + bzip2 + ccache + curl + czkawka + ddcutil + distrobox + docker-compose + dog + eza + ffmpeg + ffmpegthumbnailer + flat-remix-gnome + flat-remix-gtk + flatpak-xdg-utils + freecad + freerdp + fuse + fuse3 + fwupd + gimp + gnome-tweaks + gnome.gvfs + gotop + gparted + gvfs + htop + i2c-tools + iftop + inkscape + iotop + killall + krita + kooha + lact + libreoffice + linux-firmware + lm_sensors + lsof + mangohud + mesa-demos + mission-center + ncdu + nil + nixfmt-rfc-style + noisetorch + ntfs3g + nvtopPackages.amd + openrgb-with-all-plugins + papirus-icon-theme + plymouth + poppler-utils + prismlauncher-unwrapped + protonup-qt + radeontop + rquickshare + scrcpy + screen + seafile-client + smartmontools + starship + sushi + swtpm + telegram-desktop + testdisk + thunderbird + tidal-hifi + tldr + tree + unrar + unzip + ventoy-full-gtk + vesktop + vkbasalt + vlc + vscode-fhs + wev + weylus + wget + which + wine + xfce.tumbler + yt-dlp + zenmonitor + zip + zram-generator + zsh-autosuggestions + zsh-completions + zsh-history-substring-search + zsh-syntax-highlighting + zulu8 + zulu17 + zulu23 + ]) + ]; + + fonts = { + packages = with pkgs; [ + fira-code + font-awesome + nerd-fonts.fira-code + nerd-fonts.fira-mono + nerd-fonts.symbols-only + nerd-fonts.ubuntu-mono + noto-fonts + noto-fonts-cjk-sans + noto-fonts-color-emoji + ubuntu-classic + ]; + }; +} diff --git a/modules/programs.nix b/modules/programs.nix new file mode 100644 index 0000000..b2bf461 --- /dev/null +++ b/modules/programs.nix @@ -0,0 +1,77 @@ +{ + config, + pkgs, + lib, + ... +}: + +{ + programs = { + dconf.profiles.gdm.databases = [ + { + settings = { + "org/gnome/desktop/peripherals/keyboard" = { + numlock-state = true; + remember-numlock-state = true; + }; + "org/gnome/desktop/peripherals/mouse" = { + speed-profile = "flat"; + speed = -0.5; + }; + "org/gnome/desktop/peripherals/touchpad" = { + speed-profile = "flat"; + speed = -0.5; + }; + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + gtk-theme = "Flat-Remix-GTK-Red-Darkest"; + icon-theme = "Papirus-Dark"; + cursor-theme = "Bibata-Modern-Classic"; + clock-format = "24h"; + }; + "org/gnome/shell/portal" = { + color-scheme = "prefer-dark"; + }; + }; + } + ]; + adb.enable = true; + bat.enable = true; + zsh.enable = true; + gamemode.enable = true; + firefox.enable = true; + git = { + enable = true; + lfs.enable = true; + }; + nh = { + clean = { + enable = true; + extraArgs = "--keep-since 7d --keep 10"; + }; + enable = true; + flake = "/etc/nixos"; + }; + nix-ld = { + enable = true; + libraries = with pkgs; [ ]; + }; + # obs-studio = { + # enable = true; + # plugins = with pkgs.obs-studio-plugins; [ + # obs-vaapi + # obs-vkcapture + # wlrobs + # ]; + # }; + steam = { + dedicatedServer.openFirewall = true; + enable = true; + extest.enable = true; + gamescopeSession.enable = true; + protontricks.enable = true; + remotePlay.openFirewall = true; + }; + virt-manager.enable = true; + }; +} diff --git a/modules/services.nix b/modules/services.nix new file mode 100644 index 0000000..977a8a6 --- /dev/null +++ b/modules/services.nix @@ -0,0 +1,92 @@ +{ + config, + pkgs, + lib, + ... +}: + +{ + services = { + lact.enable = true; + printing.enable = true; + flatpak = { + enable = true; + remotes = [ + { + name = "flathub"; + location = "https://dl.flathub.org/repo/flathub.flatpakrepo"; + } + ]; + packages = [ + { + appId = "com.mattjakeman.ExtensionManager"; + origin = "flathub"; + } + { + appId = "com.prusa3d.PrusaSlicer"; + origin = "flathub"; + } + { + appId = "com.github.tchx84.Flatseal"; + origin = "flathub"; + } + { + appId = "org.gtk.Gtk3theme.Adwaita-dark"; + origin = "flathub"; + } + # { + # appId = "org.freedesktop.Platform.ffmpeg-full"; + # origin = "flathub"; + # } + { + appId = "org.gtk.Gtk3theme.Flat-Remix-GTK-Red-Darkest"; + origin = "flathub"; + } + { + appId = "com.github.iwalton3.jellyfin-media-player"; + origin = "flathub"; + } + # { + # appId = "com.github.tchx84.Flatseal"; + # origin = "flathub"; + # } + # { + # appId = "com.github.tchx84.Flatseal"; + # origin = "flathub"; + # } + # { + # appId = "com.github.tchx84.Flatseal"; + # origin = "flathub"; + # } + ]; + }; + sshd.enable = true; + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + xserver = { + enable = true; + excludePackages = with pkgs; [ + xterm + ]; + xkb = { + layout = "cz"; + variant = ""; + }; + }; + pulseaudio.enable = false; + pipewire = { + enable = true; + alsa.enable = true; + alsa.support32Bit = true; + pulse.enable = true; + # If you want to use JACK applications, uncomment this + #jack.enable = true; + + # use the example session manager (no others are packaged yet so this is enabled by default, + # no need to redefine it in your config for now) + #media-session.enable = true; + }; + hardware.openrgb.motherboard = "amd"; + hardware.openrgb.enable = true; + }; +}