panacea/modules/gui.nix

101 lines
1.8 KiB
Nix
Raw Normal View History

2020-04-22 22:13:03 +02:00
{ config, lib, pkgs, ... }:
2022-02-16 23:54:15 +01:00
with pkgs;
2023-01-13 23:17:39 +01:00
let
swayRun = writeShellScript "sway-startup-script" ''
export MOZ_ENABLE_WAYLAND=1
export MOZ_USE_XINPUT2=1
export GRIM_DEFAULT_DIR=/home/coolneng/Photos/Screenshots
export _JAVA_AWT_WM_NONREPARENTING=1
export XDG_SESSION_TYPE=wayland
export XDG_CURRENT_DESKTOP=sway
export NVIM_LISTEN_ADDRESS=/tmp/nvimsocket
export GIT_CONFIG_NOSYSTEM=true
export SYSTEMD_LESS=FRSMK
export LIBVA_DRIVER_NAME=iHD
exec sway $@
'';
in {
2020-04-22 22:13:03 +02:00
# Display manager
2023-01-13 23:17:39 +01:00
services.greetd = {
enable = true;
settings = rec {
initial_session = {
command = swayRun;
user = "coolneng";
};
default_session = initial_session;
2020-04-22 22:13:03 +02:00
};
};
# Window manager
programs.sway = {
enable = true;
2022-02-16 23:54:15 +01:00
extraPackages = [
xwayland
swaylock
swayidle
swaybg
2022-01-21 06:09:48 +01:00
rofi-wayland
waybar
clipman
wl-clipboard
grim
slurp
imv
kanshi
kitty
qt5.qtwayland
glib
2020-04-22 22:13:03 +02:00
];
wrapperFeatures.gtk = true;
2020-04-22 22:13:03 +02:00
};
2020-05-10 03:13:30 +02:00
2020-05-09 18:45:10 +02:00
# Backlight
programs.light.enable = true;
2020-04-22 22:13:03 +02:00
# Blue light filter
2022-02-16 23:54:26 +01:00
location.provider = "geoclue2";
2020-04-22 22:13:03 +02:00
services.redshift = {
enable = true;
2022-02-16 23:54:15 +01:00
package = gammastep;
executable = "/bin/gammastep";
2020-04-22 22:13:03 +02:00
temperature = {
day = 6500;
night = 5300;
2020-04-22 22:13:03 +02:00
};
};
2020-05-09 18:45:10 +02:00
2020-05-10 03:13:30 +02:00
# GPG agent
programs.gnupg.agent = {
enable = true;
2021-08-17 15:30:05 +02:00
pinentryFlavor = "gnome3";
};
2020-05-15 03:43:23 +02:00
# Tmux
programs.tmux = {
enable = true;
historyLimit = 5000;
keyMode = "vi";
shortcut = "x";
terminal = "screen-256";
baseIndex = 1;
};
2020-07-17 11:25:43 +02:00
# Integrate pass with the browser
programs.browserpass.enable = true;
2020-11-14 16:11:00 +01:00
# Enable WebRTC screensharing
xdg.portal = {
enable = true;
wlr.enable = true;
2020-11-14 16:11:00 +01:00
};
# Allow dbus to communicate with storage devices
services.udisks2.enable = true;
2020-04-22 22:13:03 +02:00
}