nixfiles/modules/desktop/system.nix
2026-02-10 16:15:28 +01:00

94 lines
2.3 KiB
Nix

{ pkgs, mozilla, ... }:
{
# Boot
boot.plymouth.enable = true;
# Filesystems
boot.supportedFilesystems = [ "ntfs" ];
# Firmware
services.fwupd.enable = true;
# Fingerprint
services.fprintd.enable = true;
# Touchpad
services.libinput.enable = true;
# Keyboard
i18n.inputMethod = {
enable = true;
type = "ibus";
ibus = {
engines = with pkgs.ibus-engines; [ uniemoji ];
};
};
environment.sessionVariables = {
GTK_IM_MODULE = "ibus";
QT_IM_MODULE = "ibus";
XMODIFIERS = "@im=ibus";
};
# Printing
services.printing.enable = true;
services.avahi.enable = true;
services.avahi.nssmdns4 = true;
services.avahi.openFirewall = true;
# Graphics
services.xserver.enable = true;
programs.xwayland.enable = true;
environment.sessionVariables.NIXOS_OZONE_WL = "1";
# KDE
# services.desktopManager.plasma6.enable = true;
# programs.ssh.askPassword = lib.mkForce "${pkgs.gnome.seahorse}/libexec/seahorse/ssh-askpass";
programs.dconf.enable = true;
services.flatpak.enable = true;
services.joycond.enable = true;
programs.joycond-cemuhook.enable = true;
# Firefox config
programs.firefox = {
enable = true;
# package = pkgs.firefox-beta;
# Doesn't work ?
# languagePacks = [ "fr" "en-US" ];
};
nixpkgs.overlays = [ mozilla.overlays.firefox ];
# let
# # Change this to a rev sha to pin
# moz-rev = "master";
# moz-url = builtins.fetchTarball {
# url = "https://github.com/mozilla/nixpkgs-mozilla/archive/${moz-rev}.tar.gz";
# sha256 = "sha256:0fcfg835ly29m7m4xzhxb7lvw2ayxcv7cn7pzw4hkj2j1vzx7b2b";
# };
# nightlyOverlay = (import "${moz-url}/firefox-overlay.nix");
# in [
# nightlyOverlay
# ];
programs.firefox.package = pkgs.latest.firefox-nightly-bin;
xdg.portal.enable = true;
# Virtualisation
virtualisation.libvirtd.enable = true;
# virtualisation.virtualbox.host.enable = true;
# virtualisation.virtualbox.host.enableExtensionPack = true;
# users.extraGroups.vboxusers.members = [ "lyes" ];
# virtualisation.waydroid.enable = true;
# Containers
virtualisation.containers.enable = true;
virtualisation.podman = {
enable = true;
dockerCompat = true;
defaultNetwork.settings.dns_enabled = true;
extraPackages = [ pkgs.zfs ];
};
}