nixos-config/config/desktop.nix

71 lines
1.8 KiB
Nix
Raw Normal View History

2022-03-05 20:06:59 +00:00
{ config, pkgs, ... } @ args:
let
lockscreen-all = pkgs.writeScript "lockscreen-all" ''
#!${pkgs.bash}/bin/bash
if ${pkgs.coreutils}/bin/[ -z "$(${pkgs.usbutils}/bin/lsusb | grep Yubico)" ]; then
${pkgs.systemd}/bin/loginctl list-sessions | ${pkgs.gnugrep}/bin/grep '^\ ' | ${pkgs.gawk}/bin/awk '{print $1}' | ${pkgs.findutils}/bin/xargs -i ${pkgs.systemd}/bin/loginctl lock-session {}
fi
'';
in
{
2022-01-18 13:55:16 +00:00
imports = [
2022-05-11 06:56:46 +00:00
./services/kde.nix
2022-01-18 19:57:00 +00:00
./services/pipewire.nix
2022-01-18 13:55:16 +00:00
];
fonts.fonts = with pkgs; [
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
liberation_ttf
fira-code
fira-code-symbols
2022-01-19 10:58:37 +00:00
(nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "Noto" ]; })
2022-01-20 10:28:25 +00:00
(import ../packages/linja-sike.nix pkgs)
2022-01-18 13:55:16 +00:00
];
2022-01-18 16:17:38 +00:00
2022-01-18 16:19:54 +00:00
time.timeZone = "Etc/GMT-1"; # Confusing naming, it's 1 hour east of GMT
2022-02-02 09:58:25 +00:00
services.pcscd.enable = true;
security.pam = {
services.login.u2fAuth = true;
services.sddm.u2fAuth = true;
services.swaylock.u2fAuth = true;
u2f = {
enable = true;
2022-02-02 19:19:50 +00:00
control = "required";
};
};
services.udev.extraRules = ''
ACTION=="remove", ENV{ID_VENDOR_ID}=="1050", ENV{ID_MODEL_ID}=="0407", RUN+="${lockscreen-all}"
'';
2022-02-08 07:20:05 +00:00
programs.steam.enable = true;
2022-02-08 11:10:50 +00:00
nixpkgs.overlays = [
(curr: prev: {
steam = prev.steam.override {
extraPkgs = pkgs: with pkgs; [
mono
];
};
})
];
2022-02-22 06:59:53 +00:00
programs.java.enable = true;
2022-03-05 19:16:12 +00:00
hardware.opengl.driSupport = true;
hardware.opengl.driSupport32Bit = true;
2022-03-05 20:06:59 +00:00
home-manager.users.darkkirb = import ./home-manager/darkkirb.nix { desktop = true; inherit args; };
2022-03-20 13:38:52 +00:00
i18n.inputMethod = {
enabled = "ibus";
ibus.engines = with pkgs.ibus-engines; [
mozc
table
table-others
uniemoji
];
};
2022-04-06 07:22:37 +00:00
# For syncthing
networking.firewall.allowedTCPPorts = [ 22000 ];
networking.firewall.allowedUDPPorts = [ 22000 ];
2022-01-18 13:55:16 +00:00
}