-
Notifications
You must be signed in to change notification settings - Fork 0
/
sway-and-friends.nix
74 lines (68 loc) · 1.84 KB
/
sway-and-friends.nix
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
{ config, pkgs, ... }:
{
# unstable for latest wayland jazz & also to resolve
# nix-community/nixpkgs-wayland#411
environment.systemPackages = with pkgs.unstable; [
# sway itself, and other bits
sway
wayland
swaylock # lock...
swayidle # ...and auto-lock
slurp
sway-contrib.grimshot # screenshots (wraps grim & slurp)
wl-clipboard # on the tin
waybar # status bar
mako # notifications
kanshi # hotplug monitors
tofi # dmenu replacement for wayland that works nicely
jq # required for named workspaces to work
# terminal and other core pieces that are wayland dependent
alacritty # terminal
networkmanagerapplet # for the indicator
# other windowing-related stuff
xdg-utils # for xdg-open
gnome3.adwaita-icon-theme # for cursors and such
pavucontrol # needed to manage sound, waybar sound item
];
# screensharing support:
# first pipewire...
security.rtkit.enable = true; # reccomended by nixos pipewire page, auto-adjusts priorities and such
services.pipewire = {
enable = true;
pulse.enable = true;
alsa = {
enable = true;
support32Bit = true;
};
};
# ...then the portal service for wlroots
services.dbus.enable = true;
xdg.portal = {
enable = true;
wlr = {
enable = true;
settings = {
screencast = {
chooser_cmd = "slurp -f %o -or";
chooser_type = "simple";
};
};
};
extraPortals = with pkgs; [
xdg-desktop-portal-gtk
];
};
# we also *miiiight* need to restart pipewire and such to ensure they get the right session variables according to the sway page on the nixos wiki, but lets see, but let's see
programs.sway = {
package = pkgs.unstable.sway;
enable = true;
wrapperFeatures.gtk = true;
wrapperFeatures.base = true;
};
# for waybar
fonts.fonts = with pkgs; [
# for waybar
font-awesome
(nerdfonts.override { fonts = [ "DejaVuSansMono" ]; })
];
}