confix/nixos/xorg.nix

63 lines
1.3 KiB
Nix

# Xorg configuration.nix
{ config, lib, pkgs, inputs, user, ... }:
{
imports = [
./gui.nix
];
environment = {
variables = {
SXHKD_SHELL = "/bin/sh";
TERMINAL = "st";
};
};
xdg = {
autostart.enable = true;
portal = {
enable = true;
xdgOpenUsePortal = true;
extraPortals = [
pkgs.xdg-desktop-portal-gtk
];
configPackages = [
pkgs.gnome.gnome-session
];
};
};
services = {
xserver = {
enable = true;
displayManager.startx.enable = true;
windowManager.bspwm.enable = true;
layout = "us";
xkbVariant = "";
};
picom = {
enable = true;
};
};
programs = {
slock.enable = true;
};
users.users.${user.name}.packages = with pkgs; [
feh
scrot
];
environment.systemPackages = with pkgs; [
(dmenu.overrideAttrs (oldAttrs: rec {
configFile = writeText "config.def.h" (builtins.readFile ./patches/dmenu/config.h);
postPatch = "${oldAttrs.postPatch}\n cp ${configFile} config.def.h";
}))
(st.overrideAttrs (oldAttrs: rec {
configFile = writeText "config.def.h" (builtins.readFile ./patches/st/config.h);
postPatch = "${oldAttrs.postPatch}\n cp ${configFile} config.def.h";
}))
clipmenu
dunst
hsetroot
sxhkd
trayer
xbanish
xsel
];
}