diff options
author | Benjamin Chausse <benjamin@chausse.xyz> | 2024-11-14 12:05:09 -0500 |
---|---|---|
committer | Benjamin Chausse <benjamin@chausse.xyz> | 2024-11-14 12:05:09 -0500 |
commit | 3727e7bd79fe75ff18b1dc6af494dbda940e0971 (patch) | |
tree | 8c4fa53308b74063b4262605a02fcda07cd14d21 /software/windowmanager.nix |
Batman
Diffstat (limited to 'software/windowmanager.nix')
-rw-r--r-- | software/windowmanager.nix | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/software/windowmanager.nix b/software/windowmanager.nix new file mode 100644 index 0000000..d43b9fe --- /dev/null +++ b/software/windowmanager.nix @@ -0,0 +1,68 @@ +{environment, xdg, pkgs, services, ...}: + +{ + # Main packages + environment.systemPackages = with pkgs; [ + # Fonts + fontconfig + fira-code-nerdfont + libertinus + + kanshi # auto-configure monitors on connect/disconnect + + river # wm + lua # river config + luajitPackages.luaposix + + foot # terminal + tofi # launcher (dmenu-like) + swaybg # wallpaper + waybar # bar + wev # detect inputs + + cronie + + tmux # for my homemade dropdowns + + # Screenshots + grim + slurp + + dunst # notifications + libnotify + wl-clipboard # copy/paste + + wlr-randr # detect monitors + wdisplays # arrange monitors + jq # parse wlr-randr json output + + pulsemixer # adjust audio + playerctl # control next/previous song + glib # for gdbus needed by volumectl + ]; + + # Screen capture/sharing: + xdg.portal = { + enable = true; + xdgOpenUsePortal = true; + config = { + common = { + default = ["wlr"]; + }; + }; + wlr = { + enable = true; + settings = { + screencast = { + max_fps = 30; + chooser_type = "simple"; + chooser_cmd = "${pkgs.slurp}/bin/slurp -f %o -or"; + }; + }; + }; + }; + + # Force wayland on electron + environment.sessionVariables.NIXOS_OZONE_WL = "1"; + +} |