nix-config/modules/sway.nix

171 lines
3.3 KiB
Nix
Raw Normal View History

2025-01-05 22:11:50 +01:00
# General Desktop-related config
{ pkgs, ... }:
{
imports = [
./desktop-software.nix
];
environment.systemPackages = with pkgs; [
screen-message
qbittorrent
gajim
imv
swayimg
mpv
evince
brightnessctl
pulsemixer
cmus
termusic
gsettings-desktop-schemas
xdg-utils
foot
qt5.qtwayland
bashmount
2025-01-05 23:15:37 +01:00
nautilus
2025-01-05 22:11:50 +01:00
audacity
];
#on the desktop, we need nice fonts ^^
2025-01-05 23:15:37 +01:00
fonts.packages = with pkgs; [
2025-01-05 22:11:50 +01:00
monoid
font-awesome
dejavu_fonts
julia-mono
uw-ttyp0
gohufont
spleen
terminus_font
creep
corefonts
dina-font
fira
fira-mono
hack-font
liberation_ttf
noto-fonts
2025-01-05 23:15:37 +01:00
noto-fonts-cjk-sans
2025-01-05 22:11:50 +01:00
noto-fonts-emoji
noto-fonts-extra
proggyfonts
symbola
open-sans
twemoji-color-font
twitter-color-emoji
iosevka
2025-01-09 18:37:46 +01:00
nerd-fonts.hack
2025-01-05 22:11:50 +01:00
];
2025-01-05 23:15:37 +01:00
fonts.enableDefaultPackages = true;
2025-01-05 22:11:50 +01:00
fonts.fontconfig = {
enable = true;
allowBitmaps = true;
useEmbeddedBitmaps = true;
defaultFonts.emoji = [
"Noto Color Emoji"
"Twitter Color Emoji"
];
};
# 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;
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
extraSessionCommands = ''
export SDL_VIDEODRIVER=wayland
export QT_QPA_PLATFORM=wayland-egl
export QT_WAYLAND_DISABLE_WINDOWDECORATION="1"
export QT_QPA_PLATFORMTHEME="gnome"
export QT_STYLE_OVERRIDE="adwaita-dark"
2025-01-09 18:37:46 +01:00
# export WLR_DRM_NO_ATOMIC=1
2025-01-05 22:11:50 +01:00
'';
extraPackages = with pkgs; [
2025-01-09 18:37:46 +01:00
adwaita-icon-theme
2025-01-05 22:11:50 +01:00
alacritty
2025-01-09 18:37:46 +01:00
bluetui
2025-01-05 22:11:50 +01:00
foot
2025-01-09 18:37:46 +01:00
gammastep
graphicsmagick
2025-01-05 22:11:50 +01:00
grim
i3status-rust
2025-01-09 18:37:46 +01:00
impala
2025-01-05 22:11:50 +01:00
kanshi
2025-01-09 18:37:46 +01:00
mako
pamixer
rofi-wayland
slurp
swayidle
swaylock
wl-clipboard
2025-01-05 22:11:50 +01:00
wl-mirror
];
};
2025-01-11 03:55:19 +01:00
environment.sessionVariables = {
GTK_THEME = "Adwaita:dark";
};
2025-01-05 22:11:50 +01:00
xdg.portal = {
enable = true;
wlr.enable = true;
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
};
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.sway}/bin/sway";
};
};
};
2025-01-05 23:15:37 +01:00
programs.gnupg.agent.pinentryPackage = pkgs.pinentry-curses;
2025-01-09 22:38:28 +01:00
programs.ssh = {
startAgent = true;
enableAskPassword = false;
extraConfig = ''
AddKeysToAgent yes
'';
};
2025-01-05 22:11:50 +01:00
}