I just upgraded to NixOS 26.05 Yarara, and I’m using Brave Browser on Sway, and I absolutely cannot read most of the text of websites and the browser chrome itself. Most of the text is being covered by random lines and boxes, as shown below. Very bizarre.
Configuration files
home.nix:
{ config, pkgs, ... }:
{
# Home Manager needs a bit of information about you and the paths it should
# manage.
home.username = "rockyw";
home.homeDirectory = "/home/rockyw";
# This value determines the Home Manager release that your configuration is
# compatible with. This helps avoid breakage when a new Home Manager release
# introduces backwards incompatible changes.
#
# You should not change this value, even if you update Home Manager. If you do
# want to update the value, then make sure to first check the Home Manager
# release notes.
home.stateVersion = "25.11"; # Please read the comment before changing.
# The home.packages option allows you to install Nix packages into your
# environment.
home.packages = with pkgs; [
# # Adds the 'hello' command to your environment. It prints a friendly
# # "Hello, world!" when run.
# pkgs.hello
# # It is sometimes useful to fine-tune packages, for example, by applying
# # overrides. You can do that directly here, just don't forget the
# # parentheses. Maybe you want to install Nerd Fonts with a limited number of
# # fonts?
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (pkgs.writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
git
gnupg
direnv
exercism
nix-search-cli
atkinson-hyperlegible-next
atkinson-hyperlegible-mono
noto-fonts
noto-fonts-cjk-sans
noto-fonts-color-emoji
alacritty
tealdeer
croc
p7zip
# Nix development:
nixfmt
fractal
# Doom Emacs dependencies:
nerd-fonts.symbols-only
ripgrep
fd
ispell
# For yeetube:
yt-dlp
mpv
brave
];
fonts.fontconfig.enable = true;
services.udiskie.enable = true;
services.restic = {
enable = true;
backups = {
localbackup = {
# Run a `du` command on /home to find things that might be discardable.
exclude = [
"/home/*/.cache"
"/home/*/Videos"
];
initialize = true;
passwordFile = "/home/rockyw/restic_password.txt";
paths = [
"/home"
];
repository = "/run/media/rockyw/4a9f5dbe-86e4-4372-841e-d775ccab28b7";
timerConfig = {
OnCalendar = "hourly";
Persistent = true;
};
};
};
};
services.lorri.enable = true;
services.syncthing.enable = true;
services.gpg-agent = {
enable = true;
pinentry.package = pkgs.pinentry-qt;
};
programs.alacritty = {
enable = true;
settings = {
font = {
normal = {
family = "Atkinson Hyperlegible Mono";
};
size = 14;
};
};
};
wayland.windowManager.sway = {
enable = true;
# From the NixOS Wiki: "Fixes common issues with GTK 3 apps"
wrapperFeatures.gtk = true;
config =
let
fonts = {
names = [ "Atkinson Hyperlegible Mono" ];
size = 14.0;
};
in
rec {
modifier = "Mod4";
terminal = "alacritty";
inherit fonts;
menu = "${pkgs.rofi}/bin/rofi -show drun";
bars = [
{
position = "bottom";
inherit fonts;
statusCommand = "${pkgs.i3status}/bin/i3status";
}
];
};
};
services.gnome-keyring.enable = true;
programs.i3status = {
enable = true;
};
# programs.qutebrowser = {
# enable = true;
# settings = {
# colors = {
# webpage = {
# darkmode = {
# enabled = true;
# };
# };
# };
# fonts = {
# default_family = "Atkinson Hyperlegible Mono";
# default_size = "14pt";
# web = {
# size.minimum = 16;
# };
# };
# };
# };
services.emacs.enable = true;
programs.emacs = {
enable = true;
extraPackages = epkgs: [ epkgs.vterm ];
};
home = {
file = {
doom = {
source = ./doom.d;
target = "/home/rockyw/.doom.d";
};
};
};
# HOMEk MANAGERu ISuu PRETTYuu
# joQgood at managing dotfiles. The primary way to manage
# plain files is through 'home.file'.
home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in
# # the Nix store. Activating the configuration will then make '~/.screenrc' a
# # symlink to the Nix store copy.
# ".screenrc".source = dotfiles/screenrc;
# # You can also set the file content immediately.
# ".gradle/gradle.properties".text = ''
# org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000
# '';
};
# Home Manager can also manage your environment variables through
# 'home.sessionVariables'. These will be explicitly sourced when using a
# shell provided by Home Manager. If you don't want to manage your shell
# through Home Manager then you have to manually source 'hm-session-vars.sh'
# located at either
#
# ~/.nix-profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
#
# or
#
# /etc/profiles/per-user/rockyw/etc/profile.d/hm-session-vars.sh
#
home.sessionVariables = {
# EDITOR = "emacs";
};
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
}
configuration.nix:
# 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, ... }:
{
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
];
# Bootloader.
boot.loader.grub = {
enable = true;
device = "/dev/sda";
};
zramSwap.enable = true;
swapDevices = [
{
device = "/var/lib/swapfile";
size = 16 * 1024; # 16 GiB
}
];
# boot.initrd.luks.devices."luks-0353107a-c9b6-476d-97ca-db6ef98a7361".device = "/dev/disk/by-uuid/0353107a-c9b6-476d-97ca-db6ef98a7361";
# networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "America/Phoenix";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
# Configure keymap in X11
services.xserver.xkb = {
layout = "us";
variant = "";
};
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users.rockyw = {
isNormalUser = true;
description = "Rocky W";
extraGroups = [
"networkmanager"
"wheel"
];
packages = with pkgs; [ ];
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
gcr # For GNOME Keyring
];
nix.settings.experimental-features = [
"nix-command"
"flakes"
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
services.udisks2.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
security.polkit.enable = true;
services.mullvad-vpn = {
enable = true;
package = pkgs.mullvad-vpn;
};
# rtkit is optional but recommended
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
};
hardware.graphics = {
enable = true;
extraPackages = with pkgs; [
# From NixOS wiki: "Required for modern Intel GPUs (Xe iGPU and ARC)"
intel-media-driver
vpl-gpu-rt
];
};
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. It‘s perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "25.11"; # Did you read the comment?
}
flake.nix:
{
description = "Home Manager configuration of rockyw";
inputs = {
# Specify the source of Home Manager and Nixpkgs.
nixpkgs.url = "github:nixos/nixpkgs/nixos-26.05";
home-manager = {
url = "github:nix-community/home-manager/release-26.05";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
inputs@{ nixpkgs, home-manager, ... }:
let
system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system};
in
{
nixosConfigurations.seether = nixpkgs.lib.nixosSystem {
inherit system;
modules = [ ./configuration.nix ];
};
homeConfigurations."rockyw" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
# Specify your home configuration modules here, for example,
# the path to your home.nix.
modules = [
./home.nix
];
# Optionally use extraSpecialArgs
# to pass through arguments to home.nix
extraSpecialArgs = { inherit inputs; };
};
};
}

