forked from pub-solar/os
4cf8048807
Overlays now live globally in the overlays directory. They will be pulled into the flake and the rest of your configuration automatically from there.
91 lines
2.2 KiB
Nix
91 lines
2.2 KiB
Nix
{ lib, config, options, pkgs, ... }:
|
|
let
|
|
inherit (builtins) readFile;
|
|
|
|
inherit (config.hardware) pulseaudio;
|
|
in {
|
|
imports = [ ../qutebrowser ];
|
|
|
|
sound.enable = true;
|
|
|
|
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
|
|
'';
|
|
|
|
extraPackages = with pkgs;
|
|
options.programs.sway.extraPackages.default ++ [
|
|
dmenu
|
|
networkmanager_dmenu
|
|
qt5.qtwayland
|
|
alacritty
|
|
volnoti
|
|
wl-clipboard
|
|
(waybar.override { pulseSupport = pulseaudio.enable; })
|
|
];
|
|
};
|
|
|
|
environment.etc = {
|
|
"sway/config".text = let
|
|
volnoti =
|
|
pkgs.writeScript "volnoti.sh" (import ./volnoti.nix { inherit pkgs; });
|
|
in ''
|
|
set $volume ${volnoti}
|
|
|
|
# set background
|
|
output * bg ${pkgs.adapta-backgrounds}/share/backgrounds/adapta/tri-fadeno.jpg fill
|
|
|
|
${readFile ./config}
|
|
'';
|
|
|
|
"xdg/waybar".source = ./waybar;
|
|
};
|
|
|
|
programs.tmux.extraTmuxConf = lib.mkBefore ''
|
|
set -g @override_copy_command 'wl-copy'
|
|
'';
|
|
|
|
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" ];
|
|
|
|
script = "${pkgs.volnoti}/bin/volnoti -n";
|
|
|
|
serviceConfig = {
|
|
Restart = "always";
|
|
RestartSec = 3;
|
|
};
|
|
};
|
|
}
|