nixos-config/system/desktop.nix
Christoph Heiss 21f2c8a55e
pkgs: Properly pull in custom packages via nixpkgs overlay
Signed-off-by: Christoph Heiss <christoph@c8h4.io>
2023-05-03 23:32:43 +02:00

125 lines
2.8 KiB
Nix

{ pkgs, ... }:
{
imports = [ ../common ../services/openssh.nix ];
boot.kernelPackages = pkgs.linuxPackages_zen;
boot.kernelParams = [ "audit=0" ];
documentation = {
man.generateCaches = true;
man.man-db.enable = true;
dev.enable = true;
nixos.enable = true;
};
environment.pathsToLink = [ "/share/zsh" ];
environment.systemPackages = with pkgs; [
bitwarden-cli
blender
easyeffects
git
git-crypt
git-multi-shortlog
imv
krita
libreoffice-fresh
librespot
linuxPackages.cpupower
lldb
lm_sensors
ninja
pavucontrol
powertop
smartmontools
spotify-qt
texlive.combined.scheme-medium
wally-cli
wl-clipboard
xdg-utils
];
fonts = {
enableDefaultFonts = true;
fonts = with pkgs; [
font-awesome
noto-fonts
noto-fonts-emoji
noto-fonts-extra
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 ];
programs.firefox = {
enable = true;
languagePacks = [ "en-US" ];
};
programs.ssh = {
pubkeyAcceptedKeyTypes = [ "ssh-ed25519" ];
startAgent = true;
};
services.flatpak.enable = 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;
virtualisation.podman = {
enable = true;
autoPrune.enable = true;
};
xdg.mime = {
enable = true;
defaultApplications = {
"x-scheme-handler/http" = "org.mozilla.firefox.desktop";
"x-scheme-handler/https" = "org.mozilla.firefox.desktop";
"application/pdf" = "org.pwmt.zathura.desktop";
"image/png" = "imv.desktop";
"image/bmp" = "imv.desktop";
"image/tiff" = "imv.desktop";
"image/jpeg" = "imv.desktop";
"image/gif" = "imv.desktop";
"image/webp" = "imv.desktop";
"image/svg+xml" = "imv.desktop";
"text/html" = "org.mozilla.firefox.desktop";
};
};
xdg.portal.wlr.enable = true;
}