62 lines
1.3 KiB
Nix
62 lines
1.3 KiB
Nix
{ config, pkgs, ... }:
|
|
|
|
let
|
|
unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
|
|
in {
|
|
imports = [ ./graphics.nix ];
|
|
fonts.fonts = with pkgs; [
|
|
noto-fonts-emoji font-awesome
|
|
];
|
|
programs = {
|
|
sway = {
|
|
enable = true;
|
|
extraPackages = with pkgs; [
|
|
unstable.pipewire
|
|
swaylock
|
|
swayidle
|
|
unstable.mako unstable.libnotify
|
|
waybar
|
|
wl-clipboard
|
|
slurp
|
|
grim
|
|
unstable.font-awesome
|
|
unstable.xwayland
|
|
unstable.kanshi
|
|
unstable.gammastep
|
|
];
|
|
# TODO: this should come from the user's homedir maybe through dotfiles
|
|
# somehow? home-manager?
|
|
extraSessionCommands = ''
|
|
systemctl --user import-environment
|
|
export TERMINAL=kitty
|
|
export BROWSER=firefox-devedition
|
|
export WLC_REPEAT_DELAY=200
|
|
export WLC_REPEAT_RATE=60
|
|
export CLUTTER_BACKEND=wayland
|
|
export SDL_VIDEODRIVER=wayland
|
|
export MOZ_ENABLE_WAYLAND=1
|
|
export XDG_SESSION_TYPE=wayland
|
|
export XDG_CURRENT_DESKTOP=sway
|
|
'';
|
|
};
|
|
};
|
|
services = {
|
|
pipewire.enable = true;
|
|
xserver = {
|
|
libinput = {
|
|
enable = true;
|
|
tapping = true;
|
|
naturalScrolling = true;
|
|
disableWhileTyping = false;
|
|
};
|
|
};
|
|
};
|
|
xdg.portal = {
|
|
enable = true;
|
|
gtkUsePortal = true;
|
|
extraPortals = with pkgs; [
|
|
xdg-desktop-portal-gtk
|
|
unstable.xdg-desktop-portal-wlr
|
|
];
|
|
};
|
|
}
|