# General Desktop-related config { pkgs, inputs, ... }: { nixpkgs.overlays = [ inputs.niri.overlays.niri ]; programs.niri.enable = true; imports = [ ./desktop-software.nix ./fonts.nix ]; environment.systemPackages = let xwayland-satellite-git = pkgs.xwayland-satellite.overrideAttrs ( final: prev: { version = "git"; cargoHash = "sha256-MaF2FyR3HvQAKkZKa8OO/5jbO64/Ncv7+JqHda4jN50="; src = pkgs.fetchFromGitHub { owner = "Supreeeme"; repo = "xwayland-satellite"; rev = "cca74a5f6b23742d77dc5db4312dfc40fd4a0fcc"; sha256 = "sha256-YZ+axsuNsgIKWfnRkt6Qa9UoKfUOIWf42vNUonXxmxM="; }; cargoDeps = pkgs.rustPlatform.fetchCargoTarball { inherit (final) pname src version; hash = final.cargoHash; }; } ); in with pkgs; [ screen-message qbittorrent gajim imv mpv evince brightnessctl pulsemixer cmus termusic gsettings-desktop-schemas xdg-utils qt5.qtwayland bashmount audacity spotify-player zathura ncdu adwaita-icon-theme bluetui gammastep graphicsmagick i3status-rust impala kanshi pamixer swayidle swaylock wl-clipboard xfce.thunar banana-cursor fuzzel alacritty i3bar-river mako swww oculante xwayland-satellite-git ]; # Enable sound. security.rtkit.enable = true; services.pipewire = { enable = true; alsa.enable = true; pulse.enable = true; }; hardware.bluetooth = { enable = true; package = pkgs.bluez; }; programs.zsh.vteIntegration = true; programs.bash.vteIntegration = true; services.upower.enable = true; services.acpid.enable = true; programs.light.enable = true; programs.xwayland.enable = true; environment.sessionVariables = { GTK_THEME = "Adwaita:dark"; }; xdg.portal = { enable = true; wlr.enable = true; extraPortals = [ pkgs.xdg-desktop-portal-gnome ]; }; services.udisks2.enable = true; environment.shellAliases = { # mounting shit mnt = "udisksctl mount -b"; umnt = "udisksctl unmount -b"; unlock = "udisksctl unlock -b"; lock = "udisksctl lock -b"; # easier navigation pwc = "pwd|wl-copy"; cdp = "cd $(wl-paste)"; }; qt = { enable = true; platformTheme = "gnome"; style = "adwaita-dark"; }; services.gnome.gnome-keyring.enable = true; security.pam.services.greetd.enableGnomeKeyring = true; services.greetd = { enable = true; settings = { default_session = { command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --greeting \"$(${pkgs.fortune}/bin/fortune -s)\" --cmd ${pkgs.niri-stable}/bin/niri-session"; }; }; }; programs.gnupg.agent.pinentryPackage = pkgs.pinentry-curses; programs.ssh = { startAgent = true; enableAskPassword = false; extraConfig = '' AddKeysToAgent yes ''; }; }