80 lines
1.9 KiB
Nix
80 lines
1.9 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
fn,
|
|
pkgs,
|
|
...
|
|
}:
|
|
with lib;
|
|
let
|
|
cfg = config.machine;
|
|
desktopFiles = fn.lst {
|
|
path = toString ./desktop;
|
|
fullPath = true;
|
|
};
|
|
in
|
|
{
|
|
imports = desktopFiles;
|
|
}
|
|
// mkIf (elem "desktop" cfg.services) {
|
|
xdg.portal = {
|
|
enable = true;
|
|
wlr.enable = true;
|
|
extraPortals = with pkgs; [
|
|
xdg-desktop-portal-gtk
|
|
xdg-desktop-portal-gnome
|
|
];
|
|
};
|
|
services = {
|
|
gvfs.enable = true;
|
|
libinput = {
|
|
enable = true;
|
|
touchpad = {
|
|
tapping = true;
|
|
disableWhileTyping = false;
|
|
naturalScrolling = false;
|
|
horizontalScrolling = true;
|
|
};
|
|
};
|
|
};
|
|
programs = {
|
|
dconf.enable = true;
|
|
regreet = {
|
|
enable = true;
|
|
# https://github.com/NixOS/nixpkgs/issues/226586
|
|
cageArgs = [ "-m" "last" ];
|
|
settings = {
|
|
background = {
|
|
path = "/persist/data/wallpaper.jpg";
|
|
# Available values: "Fill", "Contain", "Cover", "ScaleDown"
|
|
fit = "Fill";
|
|
};
|
|
GTK = {
|
|
application_prefer_dark_theme = true;
|
|
theme_name = lib.mkForce "Kanagawa-BL";
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
environment = {
|
|
systemPackages = with pkgs; [ kanagawa ];
|
|
etc."xdg/gtk-2.0/gtkrc".text = ''
|
|
gtk-key-theme-name = "Kanagawa-BL"
|
|
'';
|
|
etc."xdg/gtk-3.0/settings.ini".text = ''
|
|
[Settings]
|
|
gtk-key-theme-name = Kanagawa-BL
|
|
'';
|
|
# Set keyboard layout for regreet cage
|
|
# see man cage or:
|
|
# https://man.archlinux.org/man/cage.1.en#ENVIRONMENT
|
|
variables.XKB_DEFAULT_LAYOUT = "de";
|
|
};
|
|
|
|
# Allow users in the video group to change the display brightness
|
|
services.udev.extraRules = ''
|
|
ACTION=="add", SUBSYSTEM=="backlight", RUN+="${pkgs.coreutils}/bin/chgrp video /sys/class/backlight/%k/brightness"
|
|
ACTION=="add", SUBSYSTEM=="backlight", RUN+="${pkgs.coreutils}/bin/chmod 664 /sys/class/backlight/%k/brightness"
|
|
'';
|
|
}
|