nixos-config/system/desktop.nix
Christoph Heiss 90c2425a4f
system: desktop: enable ipv6 support by default for podman
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2024-05-31 17:51:13 +02:00

91 lines
2.2 KiB
Nix

{ pkgs, ... }:
{
imports = [ ../common ../system/home-manager ../services/openssh.nix ];
boot.kernelParams = [ "audit=0" ];
boot.loader.grub = {
efiSupport = true;
device = "nodev";
};
documentation = {
man.generateCaches = true;
man.man-db.enable = true;
dev.enable = true;
nixos.enable = true;
};
environment.pathsToLink = [ "/share/zsh" ];
environment.systemPackages = with pkgs; [ iw lldb ];
fonts = {
enableDefaultPackages = true;
packages = with pkgs; [
font-awesome
noto-fonts
noto-fonts-emoji
noto-fonts-extra
noto-fonts-cjk-sans
jetbrains-mono
];
fontconfig.defaultFonts.monospace = [ "Jetbrains Mono" ];
fontconfig.localConf = ''
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<fontconfig>
<description>Disable ligatures for monospaced fonts</description>
<match target="font">
<test name="family" compare="eq" ignore-blanks="true">
<string>Jetbrains Mono</string>
</test>
<edit name="fontfeatures" mode="append">
<string>liga off</string>
<string>dlig off</string>
</edit>
</match>
</fontconfig>
'';
};
hardware.keyboard.zsa.enable = true;
hardware.opengl.enable = true;
home-manager.users.christoph.imports = [ ./home-manager/desktop.nix ];
# NetworkManager for setting up and managing VPNs.
networking.networkmanager.enable = true;
users.users.christoph.extraGroups = [ "networkmanager" ];
programs.ssh = {
pubkeyAcceptedKeyTypes = [ "ssh-ed25519" "ssh-rsa" ];
startAgent = true;
};
services.fwupd.enable = true;
# Fixes swaylock installed through home-manager.
# https://github.com/NixOS/nixpkgs/issues/158025#issuecomment-1344766809
security.pam.services.swaylock = { };
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
};
security.rtkit.enable = true;
# gpg stuff and such
services.pcscd.enable = true;
hardware.gpgSmartcards.enable = true;
virtualisation.podman = {
enable = true;
autoPrune.enable = true;
defaultNetwork.settings.ipv6_enabled = true;
};
}