systems/profiles/desktop.linux.nix

146 lines
2.9 KiB
Nix

{
config,
lib,
pkgs,
...
}:
let
inherit (lib) mkForce mkIf;
in
{
environment = {
sessionVariables = {
NIXOS_OZONE_WL = "1";
};
systemPackages = with pkgs; [
adwaita-icon-theme
ddcutil
gsettings-desktop-schemas
libva-utils
sbctl
vdpauinfo
];
};
environment.etc = mkIf config.programs._1password-gui.enable {
"1password/custom_allowed_browsers" = {
text = ''
firefox
brave
'';
mode = "0755";
};
};
fonts.fontconfig = {
enable = true;
antialias = true;
hinting = {
enable = true;
style = "slight";
};
subpixel = {
rgba = "rgb";
lcdfilter = "default";
};
defaultFonts = {
serif = [
"SF Pro"
"DejaVu Serif"
];
sansSerif = [
"SF Pro"
"DejaVu Sans"
];
monospace = [
"Iosevka Cavalier"
"DejaVu Sans Mono"
];
emoji = [ "Noto Color Emoji" ];
};
};
hardware.bluetooth = mkIf config.hardware.bluetooth.enable {
settings = {
General.Experimental = true;
};
};
networking.wireless.iwd = {
enable = true;
settings = {
General = {
EnableNetworkConfiguration = false; # Let dhcpcd handle this
};
Network = {
EnableIPv6 = true;
NameResolvingService = "systemd";
};
};
};
networking.dhcpcd = {
enable = true;
extraConfig = ''
nohook resolv.conf # Don't let dhcpcd manage resolv.conf
'';
};
networking.resolvconf.enable = !config.services.resolved.enable;
programs._1password-gui = mkIf config.programs._1password.enable {
enable = true;
polkitPolicyOwners = [ "pml" ];
};
programs.dconf.enable = config.programs.niri.enable;
programs.niri.enable = true;
programs.regreet = {
enable = true;
font.name = "SF Pro";
font.size = 16;
font.package = pkgs.apple-fonts.sf-pro;
settings = {
GTK = {
font_name = mkForce "SF Pro 16";
};
};
};
programs.zsh.enable = true;
security.polkit.enable = config.programs.niri.enable;
security.rtkit.enable = config.services.pipewire.enable;
services.pipewire = mkIf config.services.pipewire.enable {
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
jack.enable = true;
};
services.resolved = {
enable = true;
dnssec = "true";
domains = [ "~." ];
fallbackDns = [
"9.9.9.9#dns.quad9.net"
"149.112.112.112#dns.quad9.net"
"2620:fe::fe#dns.quad9.net"
"2620:fe::9#dns.quad9.net"
];
extraConfig = ''
DNSOverTLS=yes
'';
};
system.activationScripts.openrgbOff =
mkIf (config.services.hardware.openrgb.startupProfile == "off")
''
mkdir -p /var/lib/OpenRGB
cp ${../config/openrgb/off.orp} /var/lib/OpenRGB/off.orp
chmod 0644 /var/lib/OpenRGB/off.orp
'';
}