nix-config/modules/sway.nix

167 lines
3.3 KiB
Nix
Raw Normal View History

2022-05-25 19:27:42 +02:00
# General Desktop-related config
2023-04-12 13:35:52 +02:00
{ pkgs, ... }:
2022-05-25 19:27:42 +02:00
{
imports = [
./desktop-software.nix
];
2022-05-25 19:27:42 +02:00
environment.systemPackages = with pkgs; [
screen-message
qbittorrent
2022-09-27 01:16:19 +02:00
gajim
2022-08-12 00:34:52 +02:00
imv
2023-01-09 18:23:59 +01:00
swayimg
2022-06-17 02:47:08 +02:00
mpv
2023-06-28 00:56:41 +02:00
evince
2022-06-17 02:47:08 +02:00
brightnessctl
pulsemixer
cmus
2022-09-24 14:05:57 +02:00
termusic
2022-06-17 02:47:08 +02:00
gsettings-desktop-schemas
xdg-utils
nextcloud-client
2022-06-30 13:47:15 +02:00
foot
2022-08-06 14:41:23 +02:00
qt5.qtwayland
2022-08-08 19:27:10 +02:00
bashmount
2023-01-09 23:07:46 +01:00
(xfce.thunar.override { thunarPlugins = with xfce; [ thunar-volman thunar-archive-plugin ]; })
2023-02-13 14:25:16 +01:00
audacity
2022-05-25 19:27:42 +02:00
];
#on the desktop, we need nice fonts ^^
fonts.fonts = with pkgs; [
monoid
2022-07-13 15:44:33 +02:00
font-awesome
2022-05-25 19:27:42 +02:00
dejavu_fonts
julia-mono
uw-ttyp0
gohufont
spleen
terminus_font
creep
corefonts
dina-font
fira
fira-mono
hack-font
liberation_ttf
noto-fonts
noto-fonts-cjk
noto-fonts-emoji
noto-fonts-extra
proggyfonts
symbola
open-sans
twemoji-color-font
twitter-color-emoji
2023-02-25 17:11:11 +01:00
iosevka
2022-05-25 19:27:42 +02:00
];
fonts.enableDefaultFonts = true;
fonts.fontconfig = {
enable = true;
allowBitmaps = true;
useEmbeddedBitmaps = true;
defaultFonts.emoji = [
"Noto Color Emoji"
2022-10-17 01:21:43 +02:00
"Twitter Color Emoji"
2022-05-25 19:27:42 +02:00
];
};
# Enable sound.
security.rtkit.enable = true;
2023-03-16 14:44:45 +01:00
services.avahi = {
enable = true;
nssmdns = true;
2022-06-11 23:28:31 +02:00
};
2022-06-08 18:47:49 +02:00
2022-05-25 19:27:42 +02:00
services.pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
};
2023-03-16 14:44:45 +01:00
hardware.pulseaudio.zeroconf.discovery.enable = true;
2022-05-25 19:27:42 +02:00
hardware.bluetooth = {
enable = true;
2022-09-27 01:16:19 +02:00
package = pkgs.bluez;
2022-05-25 19:27:42 +02:00
};
programs.zsh.vteIntegration = true;
programs.bash.vteIntegration = true;
services.upower.enable = true;
2022-06-17 02:47:08 +02:00
services.acpid.enable = true;
programs.light.enable = true;
services.blueman.enable = true;
programs.xwayland.enable = true;
programs.sway = {
enable = true;
wrapperFeatures.gtk = true;
2022-08-06 14:41:23 +02:00
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"
'';
2022-06-17 02:47:08 +02:00
extraPackages = with pkgs; [
2023-02-14 23:30:51 +01:00
alacritty
2022-07-13 15:44:33 +02:00
pamixer
2022-07-18 19:57:40 +02:00
swaylock
2023-01-10 00:12:33 +01:00
graphicsmagick
2022-06-17 02:47:08 +02:00
swayidle
wl-clipboard
mako
2022-06-30 13:47:15 +02:00
foot
2022-08-06 14:41:23 +02:00
rofi-wayland
2022-06-17 02:47:08 +02:00
grim
slurp
2022-09-27 01:16:19 +02:00
gnome.adwaita-icon-theme
2022-06-17 02:47:08 +02:00
i3status-rust
2023-04-12 13:35:52 +02:00
kanshi
wl-mirror
2023-07-16 16:06:31 +02:00
gammastep
2022-06-17 02:47:08 +02:00
];
};
environment.sessionVariables = { GTK_THEME = "Adwaita:dark"; };
xdg.portal = {
enable = true;
wlr.enable = true;
2022-07-14 22:47:45 +02:00
extraPortals = [ pkgs.xdg-desktop-portal-gtk ];
2022-06-17 02:47:08 +02:00
};
services.udisks2.enable = true;
environment.shellAliases = {
2023-01-22 02:18:01 +01:00
# mounting shit
2022-06-17 02:47:08 +02:00
mnt = "udisksctl mount -b";
umnt = "udisksctl unmount -b";
unlock = "udisksctl unlock -b";
lock = "udisksctl lock -b";
2023-01-22 02:18:01 +01:00
# easier navigation
pwc = "pwd|wl-copy";
cdp = "cd $(wl-paste)";
2022-06-17 02:47:08 +02:00
};
2023-01-14 12:57:53 +01:00
qt = {
2022-06-17 02:47:08 +02:00
enable = true;
2022-07-14 22:47:45 +02:00
platformTheme = "gnome";
2022-07-15 05:05:30 +02:00
style = "adwaita-dark";
2022-06-17 02:47:08 +02:00
};
2022-07-14 22:47:45 +02:00
services.gnome.gnome-keyring.enable = true;
2023-06-28 00:56:41 +02:00
security.pam.services.greetd.enableGnomeKeyring = true;
2022-07-14 22:47:45 +02:00
2023-06-28 00:56:41 +02:00
services.greetd = {
2022-06-17 02:47:08 +02:00
enable = true;
2023-06-28 00:56:41 +02:00
settings = {
default_session = {
command = "${pkgs.greetd.tuigreet}/bin/tuigreet --time --greeting \"$(${pkgs.fortune}/bin/fortune -s)\" --cmd ${pkgs.sway}/bin/sway";
};
2022-06-17 02:47:08 +02:00
};
};
2023-06-28 00:56:41 +02:00
programs.gnupg.agent.pinentryFlavor = "curses";
2022-05-25 19:27:42 +02:00
}