{ config, pkgs, inputs, ... }: { nixpkgs.config.allowUnfree = true; nixpkgs.overlays = [ inputs.nur.overlay inputs.neovim-nightly-overlay.overlay ]; boot.loader.systemd-boot.enable = true; boot.loader.efi.canTouchEfiVariables = true; boot.kernelPackages = pkgs.linuxPackages_xanmod_latest; boot.initrd.kernelModules = [ "amdgpu" ]; boot.kernelParams = [ "video=eDP-1:2560x1440@165" "video=HDMI-A-1:2560x1440@144" ]; networking.networkmanager.enable = true; time.timeZone = "Europe/Warsaw"; nix.settings = { experimental-features = [ "flakes" "nix-command" ]; substituters = [ "https://hyprland.cachix.org" "https://nix-gaming.cachix.org" "https://anyrun.cachix.org" "https://nix-community.cachix.org" ]; trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" "nix-gaming.cachix.org-1:nbjlureqMbRAxR1gJ/f3hxemL9svXaZF/Ees8vCUUs4=" "anyrun.cachix.org-1:pqBobmOjI7nKlsUMV25u9QHa9btJK65/C8vnO3p346s=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" ]; keep-outputs = true; keep-derivations = true; }; programs.zsh.enable = true; programs.hyprland = { enable = true; xwayland = { enable = true; hidpi = true; }; nvidiaPatches = false; }; virtualisation.libvirtd.enable = true; programs.dconf.enable = true; # https://github.com/NixOS/nixpkgs/issues/158025 security.pam.services.swaylock = {}; fonts.packages = with pkgs; [ material-design-icons (nerdfonts.override { fonts = [ "JetBrainsMono" ]; }) ]; users.users.jacek = { isNormalUser = true; extraGroups = [ "wheel" "networkmanager" "libvirtd" ]; shell = pkgs.zsh; }; environment = { shells = with pkgs; [zsh]; pathsToLink = [ "/share/zsh" ]; enableAllTerminfo = true; sessionVariables = { TERM = "foot"; EDITOR = "nvim"; GTK_IM_MODULE = "fcitx"; QT_IM_MODULE = "fcitx"; XMODIFIERS = "@im=fcitx"; LIBSEAT_BACKEND = "logind"; QT_QPA_PLATFORMTHEME = "qt5ct"; XDG_CURRENT_DESKTOP = "Hyprland"; XDG_SESSION_TYPE = "wayland"; XDG_SESSION_DESKTOP = "Hyprland"; QT_QPA_PLATFORM = "wayland"; MOZ_ENABLE_WAYLAND = "1"; MOZ_DRM_DEVICE = "/dev/dri/card0"; SDL_VIDEODRIVER = "wayland"; _JAVA_AWT_WM_NONEREPARENTING = "1"; CLUTTER_BACKEND = "wayland"; GDK_BACKEND = "wayland"; XCURSOR_THEME = "Bibata-Modern-Classic"; XCURSOR_SIZE = "24"; SYSTEMD_TIMEDATED_NTP_SERVICES = "chronyd.service:systemd-timesyncd.service"; XDG_DATA_HOME = "\$HOME/.local/share"; XDG_CONFIG_HOME = "\$HOME/.config"; XDG_STATE_HOME = "\$HOME/.local/state"; XDG_CACHE_HOME = "\$HOME/.cache"; HISTFILE = "\${XDG_STATE_HOME}/bash/history"; CARGO_HOME = "\${XDG_DATA_HOME}/cargo"; GTK2_RC_FILES = "\${XDG_CONFIG_HOME}/gtk-2.0/gtkrc"; }; }; services = { blueman.enable = true; mullvad-vpn.enable = true; pcscd.enable = true; udev.packages = [ pkgs.yubikey-personalization ]; udisks2.enable = true; }; programs.gnupg.agent = { enable = true; pinentryFlavor = "qt"; enableSSHSupport = true; }; hardware = { opentabletdriver = { enable = true; daemon.enable = true; }; bluetooth.enable = true; opengl = { enable = true; driSupport = true; driSupport32Bit = true; }; }; virtualisation.docker = { enable = true; storageDriver = "btrfs"; rootless = { enable = true; setSocketVariable = true; }; }; swapDevices = [ { device = "/var/lib/swapfile"; size = 16*1024; } ]; system.stateVersion = "23.11"; }