Hi,
I tried installing some of the Electon wrappers aruound Whatsapp web (whatsie, wasistlos, zapzap) and they all reoprt no access to the Internet. Accessing web.whatsapp.com in Vivaldi or Brave shows “This site can’t be reached”, while other pages work fine. Accessing web.whatsapp.com in Librewolf works fine.
Here is my configuration.nix:
{ config, pkgs, ... }:
let
unstableTarball =
fetchTarball
https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz;
daisy = builtins.fetchGit {
url = "https://github.com/rm-dr/daisy.git";
ref = "master";
} + /default.nix;
# enable auto-login on boot and Tuigreet after logout
# https://discourse.nixos.org/t/autologin-hyprland/38159
# https://fryboyter.de/en/how-to-use-greetd-with-automatic-login-instead-of-sddm/
tuigreet = "${pkgs.greetd.tuigreet}/bin/tuigreet";
session = "startplasma-wayland";
username = "knuschberkeks";
in {
imports =
[
# Include the results of the hardware scan.
./hardware-configuration.nix
# Include Fraework 12 stuff
<nixos-hardware/framework/12-inch/13th-gen-intel>
];
nixpkgs.config = {
packageOverrides = pkgs: {
unstable = import unstableTarball {
config = config.nixpkgs.config;
};
};
};
# Bootloader.
boot.loader = {
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
# Set up Networking
networking = {
networkmanager.enable = true;
hostName = "Framework"; # Define your hostname.
# wireless.enable = true; # Enables wireless support via wpa_supplicant.
};
# Enable Hardware for Framework 12
# Enabling tablet Mode
boot.initrd.kernelModules = [ "pinctrl_tigerlake" ];
# Enabling the accelerometer
nixpkgs.overlays = [
(final: prev: {
iio-sensor-proxy = prev.iio-sensor-proxy.overrideAttrs (oldAttrs: {
postPatch = oldAttrs.postPatch + ''
sed -i -e 's/.*iio-buffer-accel/#&/' data/80-iio-sensor-proxy.rules
'';
});
})
];
# Enable Stylus support
hardware.opentabletdriver.enable = true;
services.libinput.enable = true;
# SWAP
# add a 16 GiB Swap File
swapDevices = [ {
device = "/var/lib/swapfile";
size = 16*1024;
priority = 2;
} ];
# add a zramSwap 29% of physical RAM size
# This refers to the uncompressed size, actual memory usage will be lower.
zramSwap = {
enable = true;
priority = 4;
memoryPercent = 29;
};
# Set your time zone.
time.timeZone = "Europe/Berlin";
# Select internationalisation properties.
i18n = {
defaultLocale = "en_GB.UTF-8";
extraLocaleSettings = {
LC_ADDRESS = "en_GB.UTF-8";
LC_IDENTIFICATION = "en_GB.UTF-8";
LC_MEASUREMENT = "en_GB.UTF-8";
LC_MONETARY = "en_GB.UTF-8";
LC_NAME = "en_GB.UTF-8";
LC_NUMERIC = "en_GB.UTF-8";
LC_PAPER = "en_GB.UTF-8";
LC_TELEPHONE = "en_GB.UTF-8";
LC_TIME = "en_GB.UTF-8";
};
};
# Configure console keymap
console.keyMap = "de";
# change standard editor to micro
environment.variables = {
# Environment variables go here
EDITOR = "micro";
VISUAL = "$EDITOR";
};
# enable (Nerd)fonts
fonts = {
enableDefaultPackages = true;
fontconfig.enable = true;
packages = with pkgs; [
# fonts go here
dina-font
fira-code
eb-garamond
noto-fonts
vollkorn
ibm-plex
nerd-fonts.blex-mono
];
};
# Disable the X11 windowing system.
services.xserver.enable = false;
# Enable SDDM Display manager
#services.displayManager.sddm = {
# enable = true;
# wayland.enable = true;
# settings.General.DisplayServer = "wayland";
#};
# enable auto-login on boot and Tuigreet after logout
# https://discourse.nixos.org/t/autologin-hyprland/38159
# https://fryboyter.de/en/how-to-use-greetd-with-automatic-login-instead-of-sddm/
services.greetd = {
enable = true;
settings = {
initial_session = {
command = "${session}";
user = "${username}";
};
default_session = {
command = "${tuigreet} --greeting 'Welcome to NixOS!' --remember --remember-user-session --time -cmd ${session}";
user = "greeter";
};
};
};
# Enable Desktop Environments.
services.desktopManager = {
plasma6.enable = true;
cosmic.enable = true;
};
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable autodiscovery of network printers
services.avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
# Enable bluetooth
hardware.bluetooth.enable = true;
# Enable sound with pipewire.
services.pulseaudio.enable = false;
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;
# 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;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with ‘passwd’.
users.users.knuschberkeks = {
isNormalUser = true;
description = "Knuschberkeks";
extraGroups = [ "networkmanager" "wheel" "cdrom" ];
packages = with pkgs; [
# kdePackages.kate
# thunderbird
];
};
# Connect to smb shares
fileSystems = builtins.listToAttrs (
map (share:
{ name = "/mnt/${share}";
value = {
device = "//192.168.178.20/${share}";
fsType = "cifs";
options = [
"x-systemd.automount"
"noauto"
"x-systemd.idle-timeout=60"
"x-systemd.device-timeout=5s"
"x-systemd.mount-timeout=5s"
"credentials=/etc/nixos/smb-secrets"
"uid=${toString config.users.users.knuschberkeks.uid}"
"gid=${toString config.users.groups.users.gid}"
"noperm"
];
};
}
####### ↓↓↓ Put the names of shares here ↓↓↓ #######
) [ "Backups" "Bilder" "Dokumente" "music" "Software" "Sonstiges" "Temp" "video" ]
);
# garbage collection
nix.gc = {
automatic = true; # Enable the automatic garbage collector
dates = "weekly"; # When to run the garbage collector
options = "--delete-older-than 42d"; # Arguments to pass to nix-collect-garbage
};
# use deduplication on nixos store
nix.settings.auto-optimise-store = true;
# enable fwupd
services.fwupd.enable = true;
services.fwupd.extraRemotes = [ "lvfs-testing" ];
# Might be necessary once to make the update succeed
services.fwupd.uefiCapsuleSettings.DisableCapsuleUpdateOnDisk = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
# remove unnecesary System Packages (be careful)
programs = {
nano.enable = false;
};
# install additionalSystem programs
# programs.firefox.enable = true;
programs = {
git.enable = true;
kclock.enable = true;
k3b.enable = true;
thunderbird.enable = true;
steam = {
enable = true;
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
localNetworkGameTransfers.openFirewall = true; # Open ports in the firewall for Steam Local Network Game Transfers
gamescopeSession.enable = true;
};
bash.completion.enable = true;
thefuck.enable = true;
evolution = {
enable = true;
plugins = [ pkgs.evolution-ews ];
};
};
environment.systemPackages = with pkgs; [
# find package names at search.nixos.org
fw-ectool
#unstable.whatsapp-electron
zapzap
libinput
posy-cursors
ollama
ffmpeg
maliit-keyboard
gparted
piper-tts # Text to Speech cli
synology-drive-client
cifs-utils
kdePackages.kcalc
kdePackages.kwallet-pam
wl-clipboard-rs
krusader
kdePackages.kompare # needed for krusader
krename # needed for krusader
kdePackages.filelight # Quickly visualize your disk space usage
unstable.signal-desktop
(callPackage daisy { }) # A pretty, general-purpose scientific calculator with support for units, derivatives, and more.
######## BROWSERS ########
unstable.librewolf
lynx
unstable.tor-browser
(vivaldi.overrideAttrs # make Vivaldi work in Plasma 6
(oldAttrs: { # source: https://web.archive.org/web/20250322060957/https://wiki.nixos.org/wiki/Vivaldi
dontWrapQtApps = false;
dontPatchELF = true;
nativeBuildInputs = oldAttrs.nativeBuildInputs ++ [pkgs.kdePackages.wrapQtAppsHook];
}))
######## COMPRESSION ########
p7zip
rar
zip
unzip
######## GAMES ########
open-adventure
brogue-ce
chocolate-doom
moon-buggy
rogue
sauerbraten
warmux
openclonk
nsnake
vitetris
superTux
superTuxKart
widelands
lutris
heroic
bottles
fceux
######## IMAGE EDITORS & VIEWERS ########
inkscape-with-extensions
gimp-with-plugins
feh
imagemagick
######## MUSIC ########
audacity
musescore
tuxguitar
gmetronome
######## OFFICE ########
unstable.neomutt
zathura
xournalpp # pdf Editor
ocamlPackages.cpdf # CLI PDF tool
evince # GNOME's document viewer
krop # Crop PDFs
texliveMedium
poppler-utils
libreoffice
# dictionaries for libreoffice:
hunspell
hunspellDicts.en_GB-ise
hunspellDicts.en_US
hunspellDicts.de_DE
######## SHELLS & SHELL TOOLS ########
dash
elvish
checkbashisms
######## TERMINAL EMULATORS ########
alacritty
cool-retro-term
######## TEXT EDITORS ########
micro
#featherpad
vim
######## CLI UTILITIES ########
neo-cowsay
pv # Tool for monitoring the progress of data through a pipeline
btop
hello
sl
nvtopPackages.intel #(h)top like task monitor for AMD, Adreno, Intel and NVIDIA GPUs.
eza
bat
fastfetch
figlet
stress-ng
tealdeer
dmidecode # Tool that reads information about your system's hardware from the BIOS according to the SMBIOS/DMI standard
smartmontools
cyme # Modern cross-platform lsusb
yt-dlp
hwinfo
######## VIDEO ########
mpv
unstable.multiviewer-for-f1
mkvtoolnix
vlc
];
# package setting overrides
nixpkgs.config = {
##############################################
libreoffice = {
kdeIntegration = true;
langs = [ # languages to install:
"de"
"en-GB"
"en-US"
];
};
#############################################
mpv = {
cddasupport = true;
x11support = false;
waylandSupport = true;
};
#############################################
vivaldi = {
proprietaryCodecs = true;
enableWidevine = true;
};
############################################
yt-dlp = {
withAlias = true;
};
};
# 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;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# 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.05"; # Did you read the comment?
}