All Sway config is now a module

This commit is contained in:
Yorick Barbanneau 2023-12-26 02:48:49 +01:00
parent 559a477e05
commit 8c62cc41d1
22 changed files with 685 additions and 662 deletions

View file

@ -0,0 +1,105 @@
{ lib, config, pkgs, ... }:
with lib;
let
cfg = config.modules.desktop.sway;
in
{
options.modules.desktop.sway = {
enable = mkEnableOption "enable Sway Windows Manager";
kanshi = mkOption {
type = types.bool;
default = false;
description = "configure laptop mode";
};
};
imports = [
./includes/fuzzel.nix
./includes/kanshi.nix
./includes/mako.nix
./includes/sway.nix
./includes/swayidle.nix
./includes/swaylock.nix
./includes/waybar.nix
];
config = mkIf cfg.enable {
programs.fuzzel.enable = true;
home.packages = with pkgs; [
dejavu_fonts
emojione
font-awesome
grim
lato
liberation_ttf
libertine
libnotify
(nerdfonts.override {
fonts = [
"FiraCode"
];
})
noto-fonts-emoji
noto-fonts-cjk
slurp
wl-clipboard
xdg-utils
];
programs.zsh.loginExtra = ''
if [ "$(tty)" = "/dev/tty1" ]; then
exec sway &> /dev/null
fi
'';
gtk = {
enable = true;
theme = {
name = "Arc-Dark";
package = pkgs.arc-theme;
};
iconTheme = {
name = "Papirus Dark";
package = pkgs.papirus-icon-theme;
};
font = {
name = "Deja Vu Sans";
package = "${pkgs.dejavu_fonts}";
size = 10;
};
};
home.pointerCursor = {
name = "Adwaita";
package = pkgs.gnome.adwaita-icon-theme;
size = 24;
x11 = {
enable = true;
defaultCursor = "Adwaita";
};
};
qt = {
enable = true;
platformTheme = "gnome";
style.name = "adwaita-dark";
};
xdg = {
enable = true;
mimeApps.enable = true;
userDirs = {
enable = true;
createDirectories = true;
documents = "documents";
download = "downloads";
music = "medias/musics";
pictures = "medias/images";
videos = "medias/videos";
templates = "tmp";
desktop = "documents";
publicShare = "tmp/public";
};
};
};
}