ark/profiles/graphical/sway/default.nix

91 lines
2.2 KiB
Nix
Raw Normal View History

2019-12-16 10:54:46 +03:00
{ lib, config, options, pkgs, ... }:
let
2020-01-04 08:06:31 +03:00
inherit (builtins) readFile;
inherit (config.hardware) pulseaudio;
in {
imports = [ ../qutebrowser ];
sound.enable = true;
2019-12-16 10:54:46 +03:00
programs.sway = {
enable = true;
extraSessionCommands = ''
export SDL_VIDEODRIVER=wayland
# needs qt5.qtwayland in systemPackages
export QT_QPA_PLATFORM=wayland
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
# Fix for some Java AWT applications (e.g. Android Studio),
# use this if they aren't displayed properly:
export _JAVA_AWT_WM_NONREPARENTING=1
'';
2020-01-04 08:06:31 +03:00
extraPackages = with pkgs;
options.programs.sway.extraPackages.default ++ [
dmenu
networkmanager_dmenu
qt5.qtwayland
alacritty
volnoti
wl-clipboard
(waybar.override { pulseSupport = pulseaudio.enable; })
];
2019-12-16 10:54:46 +03:00
};
environment.etc = {
"sway/config".text = let
2020-01-04 08:06:31 +03:00
volnoti =
pkgs.writeScript "volnoti.sh" (import ./volnoti.nix { inherit pkgs; });
in ''
set $volume ${volnoti}
2019-12-16 10:54:46 +03:00
2020-01-04 08:06:31 +03:00
# set background
output * bg ${pkgs.adapta-backgrounds}/share/backgrounds/adapta/tri-fadeno.jpg fill
2019-12-16 10:54:46 +03:00
2020-01-04 08:06:31 +03:00
${readFile ./config}
'';
2019-12-16 10:54:46 +03:00
"xdg/waybar".source = ./waybar;
};
programs.tmux.extraTmuxConf = lib.mkBefore ''
set -g @override_copy_command 'wl-copy'
'';
2019-12-16 10:54:46 +03:00
services.redshift = {
enable = true;
temperature.night = 3200;
};
location = {
latitude = 38.833881;
longitude = -104.821365;
};
systemd.user.targets.sway-session = {
enable = true;
description = "sway compositor session";
documentation = [ "man:systemd.special(7)" ];
bindsTo = [ "graphical-session.target" ];
wants = [ "graphical-session-pre.target" ];
after = [ "graphical-session-pre.target" ];
requiredBy = [ "graphical-session.target" "graphical-session-pre.target" ];
};
systemd.user.services.volnoti = {
enable = true;
description = "volnoti volume notification";
documentation = [ "volnoti --help" ];
wantedBy = [ "sway-session.target" ];
2020-01-04 08:06:31 +03:00
script = "${pkgs.volnoti}/bin/volnoti -n";
2019-12-16 10:54:46 +03:00
serviceConfig = {
Restart = "always";
RestartSec = 3;
};
};
}