# Window Manager and desktop programs { config, lib, pkgs, ... }: let # unstableTarball = # fetchTarball # https://github.com/NixOS/nixpkgs/archive/nixos-unstable.tar.gz; in { sound.enable = true; hardware.pulseaudio.enable = false; security.rtkit.enable = true; services = { #blueman.enable = true; #openvpn.restartAfterSleep = false; openvpn.servers = { arn = { config = '' config /home/mrflos/Nextcloud/vpn\ ARN/2023/vpn510.conf ''; autoStart = false; }; }; 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; }; printing.enable = true; # Enable CUPS to print documents. printing.drivers = [ pkgs.brlaser ]; xserver = { enable = true; #desktopManager.gnome.enable = true; displayManager.defaultSession = "plasmawayland"; desktopManager.plasma5.enable = true; displayManager.sddm.enable = true; displayManager.sddm.enableHidpi = true; }; dbus.enable = true; }; # xdg.portal = { # enable = true; # wlr.enable = true; # # gtk portal needed to make gtk apps happy # extraPortals = [ pkgs.xdg-desktop-portal-gtk ]; # }; programs = { chromium = { enable = true; homepageLocation = "about:blank"; extensions = [ "pejkokffkapolfffcgbmdmhdelanoaih" # Unsplash instant "cjpalhdlnbpafiamejdnhcphjbkeiagm" # uBlock Origin "gfapcejdoghpoidkfodoiiffaaibpaem" # Dracula theme "jbbplnpkjmmeebjpijfedlgcdilocofh" # wave a11y ]; extraOpts = { SpellcheckEnabled = true; SpellcheckLanguage = [ "fr-FR" "en-GB" "ru" ]; }; }; # dconf.enable = true; droidcam.enable = true; firefox.enable = true; firefox.languagePacks = ["fr"]; hyprland.enable = true; #kdeconnect.enable = true; ssh.askPassword = pkgs.lib.mkForce "${pkgs.ksshaskpass.out}/bin/ksshaskpass"; # conflict between kde and gnome cf. https://github.com/NixOS/nixpkgs/issues/75867 ssh.startAgent = true; steam.enable = true; sway = { enable = true; wrapperFeatures.gtk = true; # so that gtk works properly extraPackages = with pkgs; [ swaylock swayidle wl-clipboard wf-recorder mako # notification daemon grim slurp alacritty # Alacritty is the default terminal in the config dmenu # Dmenu is the default in the config but i recommend wofi since its wayland native ]; extraSessionCommands = '' export SDL_VIDEODRIVER=wayland export QT_QPA_PLATFORM=wayland export QT_WAYLAND_DISABLE_WINDOWDECORATION="1" export _JAVA_AWT_WM_NONREPARENTING=1 export MOZ_ENABLE_WAYLAND=1 ''; }; }; # Allow unfree packages nixpkgs.config.allowUnfree = true; # nixpkgs.config = { # packageOverrides = pkgs: with pkgs; { # unstable = import unstableTarball { # config = config.nixpkgs.config; # }; # }; # }; environment.plasma5.excludePackages = with pkgs.libsForQt5; [ baloo elisa gwenview khelpcenter oxygen plasma-browser-integration ]; # List packages installed in system profile. To search, run: # $ nix search wget environment.systemPackages = with pkgs; [ (vscode-with-extensions.override { vscode = vscodium; vscodeExtensions = with vscode-extensions; [ bmewburn.vscode-intelephense-client dracula-theme.theme-dracula editorconfig.editorconfig esbenp.prettier-vscode github.github-vscode-theme gruntfuggly.todo-tree jnoortheen.nix-ide mhutchie.git-graph ms-ceintl.vscode-language-pack-fr #junstyle.php-cs-fixer #ms-vscode-remote.remote-ssh ] ++ pkgs.vscode-utils.extensionsFromVscodeMarketplace [ { name = "vscode-twig-language-2"; publisher = "mblode"; version = "0.9.2"; sha256 = "113w2iis4zi4z3sqc3vd2apyrh52hbh2gvmxjr5yvjpmrsksclbd"; } ] ; }) (chromium.override { enableWideVine = true; # DRM support }) audacious bitwarden calibre digikam dracula-theme numix-cursor-theme papirus-icon-theme element-desktop filezilla gimp-with-plugins hunspell hunspellDicts.fr-moderne hyprpaper inkscape-with-extensions joplin-desktop kitty kitty-themes latte-dock libreoffice-qt libsForQt5.ark libsForQt5.bismuth #mattermost-desktop mixxx mpd nextcloud-client obsidian signal-desktop tdesktop # strange name for telegram client thunderbird tor-browser-bundle-bin transmission-qt vlc waybar wl-clipboard wofi mako # notification system developed by swaywm maintainer wdisplays # tool to configure displays yt-dlp ]; # Do not restart the display manager automatically systemd.services.display-manager.restartIfChanged = lib.mkForce false; # If something needs more than 20s to stop it should probably be # killed. systemd.extraConfig = '' DefaultTimeoutStopSec=20s ''; }