{ config, pkgs, lib, ... }: with lib; let dbus-sway-environment = pkgs.writeTextFile { name = "dbus-sway-environment"; destination = "/bin/dbus-sway-environment"; executable = true; text = '' dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway systemctl --user stop pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr systemctl --user start pipewire pipewire-media-session xdg-desktop-portal xdg-desktop-portal-wlr systemctl --user import-environment DISPLAY export GDK_BACKEND=x11 export STEAM_RUNTIME=0 ''; }; sway-conf = builtins.readFile ./sway.conf + '' exec swaybg -m center -c 252525 -i ~/.wallpaper.png ''; unstable = import (fetchTarball https://nixos.org/channels/nixos-unstable/nixexprs.tar.xz) { config = { allowUnfree = true; }; }; apache-ds-pin = import (builtins.fetchTarball { url = "https://github.com/NixOS/nixpkgs/archive/9aec01027f7ea2bca07bb51d5ed83e78088871c1.tar.gz"; }) {}; in { imports = [ ./social.nix ./signal-work.nix # ./parsec.nix # ./rustdesk.nix ./thunderbird.nix ./bitwarden.nix ]; environment.variables.XCURSOR_SIZE = "24"; hardware.graphics.extraPackages = [ pkgs.amdvlk ]; environment.variables.VK_ICD_FILENAMES = "/run/opengl-driver/share/vulkan/icd.d/amd_icd64.json"; hardware.pulseaudio.support32Bit = true; hardware.sane.enable = true; hardware.pulseaudio.enable = false; virtualisation.virtualbox.host.enable = true; users.extraGroups.vboxusers.members = [ "dominik" ]; services.gnome.gnome-keyring.enable = true; # services.xserver = { # enable = true; # displayManager.gdm.enable = true; # desktopManager.gnome.enable = true; # }; services.displayManager.defaultSession = "sway"; services.displayManager.sddm = { enable = true; wayland.enable = true; theme = "where_is_my_sddm_theme_qt5"; }; xdg.portal = { enable = true; wlr.enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; }; environment.systemPackages = with pkgs; [ alsa-utils audacity apache-ds-pin.apache-directory-studio rofi-rbw-wayland # TODO: remove at 25.05 unstable.cryptomator fontforge hypnotix code-cursor quickemu firefox # unstable.cura freecad openscad (unstable.where-is-my-sddm-theme.override { themeConfig.General = { showUsersByDefault = true; background = "/nix/persist/system/wallpaper.png"; backgroundFill = "#252525"; backgroundFillMode="Image.Pad"; passwordInputWidth = 0.25; passwordInputBackground = "#60ffffff"; passwordFontSize = 28; showSessionsByDefault = true; sessionsFontSize=24; usersFontSize=32; }; variants = ["qt5"]; }) dbus-sway-environment ddev dracula-theme foot fractal gcc git glib gimp seahorse adwaita-icon-theme go grim hunspell hunspellDicts.de_DE hunspellDicts.en_US inkscape jmeter libreoffice libsForQt5.qtgraphicaleffects mako mqttui moonlight-qt netflix networkmanagerapplet nextcloud-client nodejs_22 onlyoffice-bin pavucontrol pcmanfm pinentry rbw rofi-rbw rustdesk slurp sway swaybg sway-launcher-desktop swayidle swaylock thunderbird unzip vlc waybar wayland wl-clipboard wofi wol wtype xorg.libX11 xorg.libXcursor xorg.libXi xorg.libXrandr yubikey-manager-qt ]; programs.light.enable = true; fonts.packages = with pkgs; [ noto-fonts noto-fonts-cjk-sans noto-fonts-emoji nerdfonts ]; security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; alsa.support32Bit = true; pulse.enable = true; jack.enable = true; }; programs.sway = { enable = true; wrapperFeatures.gtk = true; extraOptions = [ "--unsupported-gpu" ]; }; environment.etc = { "sway/config".text = sway-conf; "wofi/style.css".text = builtins.readFile ./wofi.css; "xdg/waybar/config".text = builtins.readFile ./waybar.conf; "xdg/waybar/style.css".text = builtins.readFile ./waybar.css; "xdg/foot/foot.ini".text = builtins.readFile ./foot.ini; }; }