nix-config/modules/niri.nix

140 lines
3 KiB
Nix

{ pkgs, ... }:
{
programs.niri.enable = true;
imports = [
./desktop-software.nix
./fonts.nix
];
environment.systemPackages =
let
xwayland-satellite-git = pkgs.xwayland-satellite.overrideAttrs (
final: _prev: {
version = "0.6";
cargoHash = "sha256-R3xXyXpHQw/Vh5Y4vFUl7n7jwBEEqwUCIZGAf9+SY1M=";
src = pkgs.fetchFromGitHub {
owner = "Supreeeme";
repo = "xwayland-satellite";
rev = "3ba30b149f9eb2bbf42cf4758d2158ca8cceef73";
sha256 = "sha256-IiLr1alzKFIy5tGGpDlabQbe6LV1c9ABvkH6T5WmyRI=";
};
cargoDeps = pkgs.rustPlatform.fetchCargoVendor {
inherit (final) pname src version;
hash = final.cargoHash;
};
}
);
in
with pkgs;
[
screen-message
qbittorrent
gajim
imv
mpv
evince
brightnessctl
pulsemixer
cmus
termusic
gsettings-desktop-schemas
xdg-utils
qt5.qtwayland
bashmount
audacity
spotify-player
zathura
ncdu
adwaita-icon-theme
bluetui
gammastep
graphicsmagick
i3status-rust
impala
kanshi
pamixer
swayidle
swaylock
wl-clipboard
xfce.thunar
banana-cursor
fuzzel
alacritty
i3bar-river
mako
swww
oculante
xwayland-satellite-git
];
# Enable sound.
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
};
hardware.bluetooth = {
enable = true;
package = pkgs.bluez;
};
programs.zsh.vteIntegration = true;
programs.bash.vteIntegration = true;
services.upower.enable = true;
services.acpid.enable = true;
programs.light.enable = true;
programs.xwayland.enable = true;
environment.sessionVariables = {
GTK_THEME = "Adwaita:dark";
};
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gnome ];
};
services.udisks2.enable = true;
environment.shellAliases = {
# mounting shit
mnt = "udisksctl mount -b";
umnt = "udisksctl unmount -b";
unlock = "udisksctl unlock -b";
lock = "udisksctl lock -b";
# easier navigation
pwc = "pwd|wl-copy";
cdp = "cd $(wl-paste)";
};
qt = {
enable = true;
platformTheme = "gnome";
style = "adwaita-dark";
};
services.gnome.gnome-keyring.enable = true;
security.pam.services.greetd.enableGnomeKeyring = true;
services.greetd = {
enable = true;
settings = {
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --greeting \"$(${pkgs.fortune}/bin/fortune -s)\" --cmd ${pkgs.niri}/bin/niri-session";
};
};
};
programs.gnupg.agent.pinentryPackage = pkgs.pinentry-curses;
programs.ssh = {
startAgent = true;
enableAskPassword = false;
extraConfig = ''
AddKeysToAgent yes
'';
};
}