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
|
|
|
|
|
|
|
|
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 = [
|
2020-09-21 14:23:35 +02:00
|
|
|
xwayland
|
|
|
|
swaylock
|
|
|
|
swayidle
|
|
|
|
swaybg
|
2022-01-21 06:09:48 +01:00
|
|
|
rofi-wayland
|
2022-11-07 15:54:33 +01:00
|
|
|
waybar
|
2020-09-21 14:23:35 +02:00
|
|
|
clipman
|
|
|
|
wl-clipboard
|
|
|
|
grim
|
|
|
|
slurp
|
|
|
|
imv
|
|
|
|
kanshi
|
|
|
|
kitty
|
2020-11-25 00:28:34 +01:00
|
|
|
qt5.qtwayland
|
2023-01-13 23:17:39 +01:00
|
|
|
xdg-utils
|
2020-04-22 22:13:03 +02:00
|
|
|
];
|
2022-03-29 12:44:10 +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-05-11 06:39:22 +02:00
|
|
|
|
2020-04-22 22:13:03 +02:00
|
|
|
services.redshift = {
|
|
|
|
enable = true;
|
2022-02-16 23:54:15 +01:00
|
|
|
package = gammastep;
|
2022-01-08 22:21:53 +01:00
|
|
|
executable = "/bin/gammastep";
|
2020-04-22 22:13:03 +02:00
|
|
|
temperature = {
|
|
|
|
day = 6500;
|
2020-05-11 06:39:22 +02:00
|
|
|
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
|
2020-05-14 02:09:23 +02:00
|
|
|
programs.gnupg.agent = {
|
|
|
|
enable = true;
|
2021-08-17 15:30:05 +02:00
|
|
|
pinentryFlavor = "gnome3";
|
2020-05-14 02:09:23 +02:00
|
|
|
};
|
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-05-23 15:43:54 +02:00
|
|
|
|
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;
|
2022-03-29 12:44:10 +02:00
|
|
|
wlr.enable = true;
|
2020-11-14 16:11:00 +01:00
|
|
|
};
|
2022-10-30 13:41:22 +01:00
|
|
|
|
|
|
|
# Allow dbus to communicate with storage devices
|
|
|
|
services.udisks2.enable = true;
|
2020-04-22 22:13:03 +02:00
|
|
|
}
|