summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/sway.nix166
1 files changed, 166 insertions, 0 deletions
diff --git a/modules/sway.nix b/modules/sway.nix
new file mode 100644
index 0000000..834b38c
--- /dev/null
+++ b/modules/sway.nix
@@ -0,0 +1,166 @@
+# 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
+ nextcloud-client
+ foot
+ qt5.qtwayland
+ bashmount
+ gnome.nautilus
+ audacity
+ ];
+
+ #on the desktop, we need nice fonts ^^
+ fonts.fonts = with pkgs; [
+ 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
+ noto-fonts-cjk
+ noto-fonts-emoji
+ noto-fonts-extra
+ proggyfonts
+ symbola
+ open-sans
+ twemoji-color-font
+ twitter-color-emoji
+ iosevka
+ ];
+
+ fonts.enableDefaultFonts = true;
+ fonts.fontconfig = {
+ enable = true;
+ allowBitmaps = true;
+ useEmbeddedBitmaps = true;
+ defaultFonts.emoji = [
+ "Noto Color Emoji"
+ "Twitter Color Emoji"
+ ];
+ };
+
+ # Enable sound.
+ security.rtkit.enable = true;
+
+ services.avahi = {
+ enable = true;
+ nssmdns = true;
+ };
+
+ services.pipewire = {
+ enable = true;
+ alsa.enable = true;
+ pulse.enable = true;
+ };
+ hardware.pulseaudio.zeroconf.discovery.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;
+
+ services.blueman.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"
+ '';
+ extraPackages = with pkgs; [
+ alacritty
+ pamixer
+ swaylock
+ graphicsmagick
+ swayidle
+ wl-clipboard
+ mako
+ foot
+ rofi-wayland
+ grim
+ slurp
+ gnome.adwaita-icon-theme
+ i3status-rust
+ kanshi
+ wl-mirror
+ gammastep
+ ];
+ };
+ environment.sessionVariables = { GTK_THEME = "Adwaita:dark"; };
+ 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";
+ };
+ };
+ };
+
+ programs.gnupg.agent.pinentryFlavor = "curses";
+}