aboutsummaryrefslogtreecommitdiff
path: root/modules/hosts/desktop
diff options
context:
space:
mode:
Diffstat (limited to 'modules/hosts/desktop')
-rw-r--r--modules/hosts/desktop/cinnamon/default.nix27
-rw-r--r--modules/hosts/desktop/default.nix17
-rw-r--r--modules/hosts/desktop/dunst.nix47
-rw-r--r--modules/hosts/desktop/gnome/default.nix33
-rw-r--r--modules/hosts/desktop/hyprland/default.nix283
-rw-r--r--modules/hosts/desktop/kde/default.nix26
-rw-r--r--modules/hosts/desktop/labwc/default.nix296
-rw-r--r--modules/hosts/desktop/sway/default.nix181
-rw-r--r--modules/hosts/desktop/waybar.nix119
9 files changed, 0 insertions, 1029 deletions
diff --git a/modules/hosts/desktop/cinnamon/default.nix b/modules/hosts/desktop/cinnamon/default.nix
deleted file mode 100644
index 5233ad1..0000000
--- a/modules/hosts/desktop/cinnamon/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- config,
- pkgs,
- lib,
- ...
-}:
-
-let
- inherit (lib) mkEnableOption mkIf mkForce;
- cfg = config.nx.desktop.cinnamon;
-in
-{
- options.nx.desktop.cinnamon.enable = mkEnableOption "Enable Cinnamon desktop environment";
-
- config = mkIf cfg.enable {
- services.xserver.enable = true;
- services.xserver.displayManager.lightdm.enable = true;
- services.xserver.desktopManager.cinnamon.enable = true;
-
- services.speechd.enable = mkForce false;
- services.orca.enable = mkForce false;
-
- environment.systemPackages = with pkgs; [
- nemo-preview
- ];
- };
-}
diff --git a/modules/hosts/desktop/default.nix b/modules/hosts/desktop/default.nix
deleted file mode 100644
index 7d7f3ae..0000000
--- a/modules/hosts/desktop/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ useHomeManager ? true, ... }:
-
-{
- imports = [
- # NixOS-only modules (no home-manager)
- ./cinnamon
- ./gnome
- ./kde
- ] ++ (if useHomeManager then [
- # Modules that require home-manager
- ./hyprland
- ./labwc
- ./sway
- ./dunst.nix
- ./waybar.nix
- ] else [ ]);
-}
diff --git a/modules/hosts/desktop/dunst.nix b/modules/hosts/desktop/dunst.nix
deleted file mode 100644
index 4c5f74e..0000000
--- a/modules/hosts/desktop/dunst.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{
- config,
- lib,
- pkgs,
- username,
- ...
-}:
-
-let
- inherit (lib) mkEnableOption mkIf;
- cfg = config.nx.desktop.dunst;
-in
-{
- options.nx.desktop.dunst.enable = mkEnableOption "Enable dunst notification";
- config = mkIf cfg.enable {
- home-manager.users.${username} = {
- home.packages = with pkgs; [
- libnotify
- ];
-
- services.dunst = {
- enable = true;
- settings = {
- global = {
- font = "monospace 10";
- offset = "(15, 15)";
- frame_width = 0;
- };
- urgency_low = {
- foreground = "#FFFFFF";
- background = "#000000E6";
- };
-
- urgency_normal = {
- foreground = "#FFFFFF";
- background = "#000000E6";
- };
-
- urgency_critical = {
- foreground = "#FFFFFF";
- background = "#000000E6";
- };
- };
- };
- };
- };
-}
diff --git a/modules/hosts/desktop/gnome/default.nix b/modules/hosts/desktop/gnome/default.nix
deleted file mode 100644
index 268fdc7..0000000
--- a/modules/hosts/desktop/gnome/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{
- config,
- pkgs,
- lib,
- ...
-}:
-
-let
- inherit (lib) mkEnableOption mkIf;
- cfg = config.nx.desktop.gnome;
-in
-{
- options.nx.desktop.gnome.enable = mkEnableOption "Enable GNOME desktop environment";
-
- config = mkIf cfg.enable {
- services.displayManager.gdm.enable = true;
- services.desktopManager.gnome.enable = true;
- services.gnome.core-developer-tools.enable = false;
- services.gnome.games.enable = false;
-
- environment.gnome.excludePackages = with pkgs; [
- gnome-tour
- gnome-user-docs
- epiphany
- ];
-
- environment.systemPackages = with pkgs; [
- gnomeExtensions.pop-shell
- gnomeExtensions.blur-my-shell
- gnome-tweaks
- ];
- };
-}
diff --git a/modules/hosts/desktop/hyprland/default.nix b/modules/hosts/desktop/hyprland/default.nix
deleted file mode 100644
index 1750a59..0000000
--- a/modules/hosts/desktop/hyprland/default.nix
+++ /dev/null
@@ -1,283 +0,0 @@
-{
- config,
- username,
- lib,
- pkgs,
- ...
-}:
-
-let
- inherit (lib) mkEnableOption mkOption mkIf types optionals;
- cfg = config.nx.desktop.hyprland;
-in
-{
- options.nx.desktop.hyprland = {
- enable = mkEnableOption "Enable hyprland";
- monitors = mkOption {
- type = types.listOf types.str;
- default = [ ];
- description = "Monitor configuration strings for Hyprland";
- example = [ "DP-1,highrr,0x0,auto" ];
- };
- lockscreen = {
- background = mkOption {
- type = types.nullOr types.path;
- default = null;
- description = "Background image for hyprlock";
- };
- profileImage = mkOption {
- type = types.nullOr types.path;
- default = null;
- description = "Profile image for hyprlock";
- };
- };
- };
-
- config = mkIf cfg.enable {
- programs.hyprlock.enable = true;
-
- home-manager.users.${username} = {
- home.packages = with pkgs; [
- hyprshot
- hyprpicker
- ];
-
- programs.hyprlock = {
- enable = true;
- settings = {
- general = {
- immediate_render = true;
- };
-
- background = [
- ({
- monitor = "";
- color = "rgba(0, 0, 0, 1.0)";
- } // (if cfg.lockscreen.background != null then { path = "${cfg.lockscreen.background}"; } else { }))
- ];
-
- input-field = [
- {
- monitor = "";
- size = "300, 30";
- outline_thickness = 0;
- dots_size = 0.25;
- dots_spacing = 0.55;
- dots_center = true;
- dots_rounding = -1;
- outer_color = "rgba(242, 243, 244, 0)";
- inner_color = "rgba(242, 243, 244, 0)";
- font_color = "rgba(242, 243, 244, 0.75)";
- fade_on_empty = false;
- placeholder_text = "";
- hide_input = false;
- check_color = "rgba(204, 136, 34, 0)";
- fail_color = "rgba(204, 34, 34, 0)";
- fail_text = "$FAIL <b>($ATTEMPTS)</b>";
- fail_transition = 300;
- capslock_color = -1;
- numlock_color = -1;
- bothlock_color = -1;
- invert_numlock = false;
- swap_font_color = false;
- position = "0, -468";
- halign = "center";
- valign = "center";
- }
- ];
-
- label = [
- {
- monitor = "";
- text = ''cmd[update:1000] echo "$(date +"%A, %B %d")"'';
- color = "rgba(242, 243, 244, 0.75)";
- font_size = 20;
- position = "0, 405";
- halign = "center";
- valign = "center";
- }
- {
- monitor = "";
- text = ''cmd[update:1000] echo "$(date +"%k:%M")"'';
- color = "rgba(242, 243, 244, 0.75)";
- font_size = 93;
- position = "0, 310";
- halign = "center";
- valign = "center";
- }
- ] ++ optionals (cfg.lockscreen.profileImage != null) [
- {
- monitor = "";
- text = "${username}";
- color = "rgba(242, 243, 244, 0.75)";
- font_size = 12;
- position = "0, -407";
- halign = "center";
- valign = "center";
- }
- {
- monitor = "";
- text = "Enter Password";
- color = "rgba(242, 243, 244, 0.75)";
- font_size = 10;
- position = "0, -438";
- halign = "center";
- valign = "center";
- }
- ];
-
- image = optionals (cfg.lockscreen.profileImage != null) [
- {
- monitor = "";
- path = "${cfg.lockscreen.profileImage}";
- border_color = "0xffdddddd";
- border_size = 0;
- size = 73;
- rounding = -1;
- rotate = 0;
- reload_time = -1;
- reload_cmd = "";
- position = "0, -353";
- halign = "center";
- valign = "center";
- }
- ];
- };
- };
-
- wayland.windowManager.hyprland = {
- enable = true;
- systemd.enable = true;
- xwayland.enable = true;
- settings = {
- monitor = if cfg.monitors != [ ] then cfg.monitors else [ ",preferred,auto,auto" ];
-
- "$background" = "rgba(000000FF)";
- "$accent" = "rgba(FFFFFFFF)";
-
- env = [
- "XCURSOR_SIZE,24"
- ];
-
- input = {
- kb_layout = config.console.keyMap;
- follow_mouse = 1;
- touchpad = {
- natural_scroll = true;
- };
- };
-
- general = {
- gaps_in = 5;
- gaps_out = 10;
- border_size = 2;
- "col.active_border" = "$accent";
- "col.inactive_border" = "$background";
- layout = "dwindle";
- };
-
- decoration = {
- rounding = 5;
- active_opacity = 0.8;
- inactive_opacity = 0.7;
-
- blur = {
- enabled = true;
- size = 4;
- passes = 4;
- ignore_opacity = true;
- contrast = 1.1;
- brightness = 1.0;
- };
- };
-
- animations = {
- enabled = true;
- bezier = "myBezier, 0.05, 0.9, 0.1, 1.05";
- animation = [
- "windows, 1, 7, myBezier"
- "windowsOut, 1, 7, default, popin 80%"
- "border, 1, 10, default"
- "fade, 1, 7, default"
- "workspaces, 1, 6, default"
- ];
- };
-
- misc = {
- disable_hyprland_logo = true;
- vrr = 1;
- };
-
- dwindle = {
- pseudotile = true;
- preserve_split = true;
- };
-
- xwayland = {
- force_zero_scaling = true;
- };
-
- "$mod" = "SUPER";
-
- bind = [
- "$mod, l, exec, hyprlock"
- "$mod, s, exec, hyprshot --mode region"
- "$mod, r, exec, wofi --show run"
- "$mod, d, exec, wofi --show drun"
- "$mod, c, exec, hyprpicker -r -a"
- "$mod, return, exec, kitty"
- "$mod, q, killactive,"
- "$mod, m, exit,"
- "$mod, f, fullscreen"
- "$mod, v, togglefloating,"
- "$mod, P, pseudo,"
-
- ", XF86AudioRaiseVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%+"
- ", XF86AudioLowerVolume, exec, wpctl set-volume -l 1.0 @DEFAULT_AUDIO_SINK@ 5%-"
- ", XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle"
-
- ", XF86AudioPlay, exec, playerctl play-pause"
- ", XF86AudioNext, exec, playerctl next"
- ", XF86AudioPrev, exec, playerctl previous"
- ", XF86Audiostop, exec, playerctl stop"
-
- "$mod, left, movefocus, l"
- "$mod, right, movefocus, r"
- "$mod, up, movefocus, u"
- "$mod, down, movefocus, d"
-
- "$mod, 1, workspace, 1"
- "$mod, 2, workspace, 2"
- "$mod, 3, workspace, 3"
- "$mod, 4, workspace, 4"
- "$mod, 5, workspace, 5"
- "$mod, 6, workspace, 6"
- "$mod, 7, workspace, 7"
- "$mod, 8, workspace, 8"
- "$mod, 9, workspace, 9"
- "$mod, 0, workspace, 10"
-
- "$mod SHIFT, 1, movetoworkspace, 1"
- "$mod SHIFT, 2, movetoworkspace, 2"
- "$mod SHIFT, 3, movetoworkspace, 3"
- "$mod SHIFT, 4, movetoworkspace, 4"
- "$mod SHIFT, 5, movetoworkspace, 5"
- "$mod SHIFT, 6, movetoworkspace, 6"
- "$mod SHIFT, 7, movetoworkspace, 7"
- "$mod SHIFT, 8, movetoworkspace, 8"
- "$mod SHIFT, 9, movetoworkspace, 9"
- "$mod SHIFT, 0, movetoworkspace, 10"
-
- "$mod, mouse_down, workspace, e+1"
- "$mod, mouse_up, workspace, e-1"
- ];
-
- bindm = [
- "$mod, mouse:272, movewindow"
- "$mod, mouse:273, resizewindow"
- ];
- };
- };
- };
- };
-}
diff --git a/modules/hosts/desktop/kde/default.nix b/modules/hosts/desktop/kde/default.nix
deleted file mode 100644
index d53e1c8..0000000
--- a/modules/hosts/desktop/kde/default.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{
- config,
- lib,
- pkgs,
- ...
-}:
-
-let
- inherit (lib) mkEnableOption mkIf;
- cfg = config.nx.desktop.kde;
-in
-{
-
- options.nx.desktop.kde.enable = mkEnableOption "Enable kde";
- config = mkIf cfg.enable {
- services.displayManager.sddm.enable = true;
- services.displayManager.sddm.wayland.enable = true;
- services.desktopManager.plasma6.enable = true;
- security.pam.services.sddm.enableKwallet = true;
-
- environment.plasma6.excludePackages = with pkgs.kdePackages; [
- elisa
- kate
- ];
- };
-}
diff --git a/modules/hosts/desktop/labwc/default.nix b/modules/hosts/desktop/labwc/default.nix
deleted file mode 100644
index b62dbbe..0000000
--- a/modules/hosts/desktop/labwc/default.nix
+++ /dev/null
@@ -1,296 +0,0 @@
-{
- config,
- username,
- pkgs,
- lib,
- ...
-}:
-
-let
- inherit (lib) mkEnableOption mkOption mkIf types optional;
- cfg = config.nx.desktop.labwc;
-
- gruvbox-openbox = pkgs.stdenv.mkDerivation {
- pname = "gruvbox-openbox";
- version = "0-unstable-2024-02-14";
-
- src = pkgs.fetchFromGitHub {
- owner = "nathanielevan";
- repo = "gruvbox-openbox";
- rev = "master";
- hash = "sha256-61BsD/DK6OOJLKwdY03HL1pCG1DJcIE9bsFPAVFfcIY=";
- };
-
- installPhase = ''
- mkdir -p $out/share/themes
- cp -r gruvbox-dark $out/share/themes/
- cp -r gruvbox-material-dark $out/share/themes/
- cp -r gruvbox-material-dark-blocks $out/share/themes/
- '';
- };
-in
-{
- options.nx.desktop.labwc = {
- enable = mkEnableOption "Enable labwc";
- monitors = mkOption {
- type = types.attrsOf (types.submodule {
- options = {
- mode = mkOption {
- type = types.str;
- description = "Monitor resolution and refresh rate";
- example = "1920x1080@240";
- };
- position = mkOption {
- type = types.str;
- default = "0,0";
- description = "Monitor position";
- example = "1920,0";
- };
- };
- });
- default = { };
- description = "Monitor configuration for kanshi";
- };
- wallpaper = mkOption {
- type = types.nullOr types.path;
- default = null;
- description = "Wallpaper image path";
- };
- theme = {
- gtk = mkOption {
- type = types.str;
- default = "Gruvbox-Material-Dark";
- description = "GTK theme name";
- };
- icons = mkOption {
- type = types.str;
- default = "Gruvbox-Dark";
- description = "Icon theme name";
- };
- cursor = mkOption {
- type = types.str;
- default = "Adwaita";
- description = "Cursor theme name";
- };
- openbox = mkOption {
- type = types.str;
- default = "gruvbox-material-dark-blocks";
- description = "Openbox/LabWC theme name";
- };
- };
- };
-
- config = mkIf cfg.enable {
- home-manager.users.${username} = {
- home.packages = with pkgs; [
- labwc-tweaks
- labwc-gtktheme
- gruvbox-material-gtk-theme
- gruvbox-dark-icons-gtk
- wl-clipboard
- sfwbar
- gtk-layer-shell
- ] ++ optional (cfg.wallpaper != null) swaybg
- ++ [ gruvbox-openbox ];
-
- services.cliphist.enable = true;
-
- gtk = {
- enable = true;
- theme = {
- name = cfg.theme.gtk;
- package = pkgs.gruvbox-material-gtk-theme;
- };
- iconTheme = {
- name = cfg.theme.icons;
- package = pkgs.gruvbox-dark-icons-gtk;
- };
- cursorTheme = {
- name = cfg.theme.cursor;
- package = pkgs.adwaita-icon-theme;
- };
- gtk3.extraConfig = {
- gtk-application-prefer-dark-theme = 1;
- };
- gtk4.extraConfig = {
- gtk-application-prefer-dark-theme = 1;
- };
- };
-
- services.kanshi = mkIf (cfg.monitors != { }) {
- enable = true;
- profiles = {
- default = {
- outputs = lib.mapAttrsToList (name: monitor: {
- criteria = name;
- mode = monitor.mode;
- position = monitor.position;
- }) cfg.monitors;
- };
- };
- };
-
- wayland.windowManager.labwc = {
- enable = true;
- autostart = [
- "${pkgs.sfwbar}/bin/sfwbar"
- ] ++ optional (cfg.wallpaper != null) "${pkgs.swaybg}/bin/swaybg -m fill -i ${cfg.wallpaper} & disown";
- environment = [
- "XKB_DEFAULT_LAYOUT=${config.console.keyMap}"
- "XCURSOR_SIZE=24"
- "XDG_CURRENT_DESKTOP=wlroots"
- ];
-
- rc = {
- core = {
- decoration = "server";
- gap = 5;
- };
-
- theme = {
- name = cfg.theme.openbox;
- };
-
- keyboard = {
- default = true;
- keybind = [
- {
- "@key" = "W-Return";
- action = {
- "@name" = "Execute";
- "@command" = "kitty";
- };
- }
- {
- "@key" = "W-F4";
- action = {
- "@name" = "None";
- };
- }
- ];
- };
-
- mouse = {
- default = true;
- context = {
- "@name" = "Root";
- mousebind = {
- "@button" = "Right";
- "@action" = "Press";
- action = {
- "@name" = "ShowMenu";
- "@menu" = "root-menu";
- };
- };
- };
- };
- };
- };
-
- # sfwbar configuration
- xdg.configFile."sfwbar/sfwbar.config".text = ''
- # Term setup
- Set Term = "foot"
- Set ThicknessHint = "20px"
-
- # Actions
- TriggerAction "SIGRTMIN+1", SwitcherEvent "forward"
- TriggerAction "SIGRTMIN+2", SwitcherEvent "back"
-
- # Initialization
- Function("SfwbarInit") {
- SetLayer "top"
- SetMirror "*"
- SetExclusiveZone "auto"
- }
-
- # Placer (Window positioning)
- placer {
- xorigin = 5
- yorigin = 5
- xstep = 5
- ystep = 5
- children = true
- }
-
- # Task Switcher
- switcher {
- interval = 700
- icons = true
- labels = false
- cols = 5
- }
-
- # Load Standard Library Winops
- include("${pkgs.sfwbar}/share/sfwbar/winops.widget")
-
- # Main Layout
- layout {
-
- # Start Menu
- include("${pkgs.sfwbar}/share/sfwbar/startmenu.widget")
-
- # Show Desktop
- include("${pkgs.sfwbar}/share/sfwbar/showdesktop.widget")
-
- # Taskbar
- taskbar {
- rows = 1
- icons = true
- labels = false
- sort = false
- action[3] = Menu "winops"
- action[Drag] = Focus
- }
-
- # Spacer
- label {
- value = ""
- style = "spacer"
- }
-
- # Pager
- pager {
- rows = 1
- pins = "1","2","3","4"
- preview = true
- action[Drag] = WorkspaceActivate
- }
-
- # Tray
- tray {
- rows = 1
- }
-
- # Modules
- include("${pkgs.sfwbar}/share/sfwbar/volume.widget")
-
- # Clock
- grid {
- style = "clock_grid"
- label {
- value = Time("%H:%M")
- tooltip = Time("%H:%M\n%x")
- }
- }
- }
-
- #CSS
- #spacer {
- -GtkWidget-hexpand: true;
- }
-
- button#taskbar_item {
- padding: 5px;
- border-radius: 0px;
- border-width: 0px;
- -GtkWidget-hexpand: false;
- }
-
- button#taskbar_item:hover {
- background-color: rgba(255, 255, 255, 0.1);
- }
- '';
- };
- };
-}
diff --git a/modules/hosts/desktop/sway/default.nix b/modules/hosts/desktop/sway/default.nix
deleted file mode 100644
index b9cec12..0000000
--- a/modules/hosts/desktop/sway/default.nix
+++ /dev/null
@@ -1,181 +0,0 @@
-{
- config,
- username,
- lib,
- pkgs,
- ...
-}:
-
-let
- inherit (lib) mkEnableOption mkOption mkIf mkOptionDefault types;
- cfg = config.nx.desktop.sway;
- mod = "Mod4";
-in
-{
- options.nx.desktop.sway = {
- enable = mkEnableOption "Enable sway";
- monitors = mkOption {
- type = types.attrsOf (types.submodule {
- options = {
- resolution = mkOption {
- type = types.str;
- description = "Monitor resolution and refresh rate";
- example = "1920x1080@240Hz";
- };
- position = mkOption {
- type = types.str;
- default = "0 0";
- description = "Monitor position";
- example = "1920 0";
- };
- };
- });
- default = { };
- description = "Monitor configuration";
- };
- wallpaper = mkOption {
- type = types.nullOr types.path;
- default = null;
- description = "Wallpaper image path";
- };
- };
-
- config = mkIf cfg.enable {
- home-manager.users.${username} = {
- home.packages = with pkgs; [
- wmenu
- swaybg
- sway-contrib.grimshot
- wl-clipboard
- xdg-utils
- ];
-
- wayland.windowManager.sway = {
- enable = true;
- systemd = {
- enable = true;
- xdgAutostart = true;
- };
- config = {
- input = {
- "*" = {
- xkb_layout = config.console.keyMap;
- };
- };
-
- output = lib.mapAttrs (name: monitor: {
- resolution = monitor.resolution;
- position = monitor.position;
- } // (if cfg.wallpaper != null then { bg = "${cfg.wallpaper} fill"; } else { })) cfg.monitors;
-
- gaps = {
- inner = 15;
- };
-
- window = {
- titlebar = false;
- border = 0;
- };
-
- modifier = mod;
-
- keybindings = mkOptionDefault {
- "${mod}+q" = "kill";
- "${mod}+Shift+s" = "exec grimshot savecopy area";
- "XF86AudioPlay" = "exec playerctl play-pause";
- "XF86AudioPrev" = "exec playerctl previous";
- "XF86AudioNext" = "exec playerctl next";
- "XF86AudioRaiseVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_DEVICE@ +5%";
- "XF86AudioLowerVolume" = "exec wpctl set-volume @DEFAULT_AUDIO_DEVICE@ -5%";
- "XF86AudioMute" = "exec wpctl set-mute @DEFAULT_AUDIO_DEVICE@ toggle";
- };
-
- menu = "${pkgs.wmenu}/bin/wmenu-run -b -N 000000E6";
- terminal = "${pkgs.foot}/bin/foot";
- defaultWorkspace = "workspace number 1";
-
- bars = [
- {
- command = "${pkgs.waybar}/bin/waybar";
- }
- ];
- };
- checkConfig = false;
- wrapperFeatures.base = true;
- wrapperFeatures.gtk = true;
- };
-
- home.sessionVariables = {
- XDG_CURRENT_DESKTOP = "sway";
- XDG_SCREENSHOTS_DIR = "~/Pictures/Screenshots/";
- };
-
- gtk = {
- enable = true;
- theme = {
- name = "Adwaita-dark";
- package = pkgs.gnome-themes-extra;
- };
- gtk3.extraConfig = {
- Settings = ''
- gtk-application-prefer-dark-theme=1
- '';
- };
- gtk4.extraConfig = {
- Settings = ''
- gtk-application-prefer-dark-theme=1
- '';
- };
- };
-
- home.pointerCursor = {
- gtk.enable = true;
- name = "Adwaita";
- package = pkgs.adwaita-icon-theme;
- size = 24;
- };
-
- # swaylock
- programs.swaylock = {
- enable = true;
- settings = {
- font = "monospace 12";
- color = "00000000";
- ring-color = "ffffffff";
- key-hl-color = "ff0000ff";
- bs-hl-color = "ff0000ff";
- };
- };
-
- # swayidle
- services.swayidle = {
- enable = true;
- timeouts = [
- {
- timeout = 300;
- command = "${pkgs.swaylock}/bin/swaylock -f -c 000000";
- }
- {
- timeout = 600;
- command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
- resumeCommand = "${pkgs.sway}/bin/swaymsg output * dpms on";
- }
- {
- timeout = 900;
- command = "${pkgs.systemd}/bin/systemctl suspend";
- }
- ];
- events = [
- {
- event = "after-resume";
- command = "${pkgs.sway}/bin/swaymsg output * dpms on";
- }
- {
- event = "before-sleep";
- command = "${pkgs.swaylock}/bin/swaylock -f -c 000000";
- }
- ];
- };
- };
- };
-}
diff --git a/modules/hosts/desktop/waybar.nix b/modules/hosts/desktop/waybar.nix
deleted file mode 100644
index aebc0f7..0000000
--- a/modules/hosts/desktop/waybar.nix
+++ /dev/null
@@ -1,119 +0,0 @@
-{
- config,
- lib,
- username,
- ...
-}:
-
-let
- inherit (lib) mkEnableOption mkIf;
- cfg = config.nx.desktop.waybar;
-in
-{
- options.nx.desktop.waybar.enable = mkEnableOption "Enable and configure Waybar";
-
- config = mkIf cfg.enable {
- home-manager.users.${username} = {
- programs.waybar = {
- enable = true;
- settings = {
- mainBar = {
- height = 32;
- layer = "top";
- position = "bottom";
- modules-center = [ "mpris" ];
- modules-left = [ "wlr/workspaces" ];
- modules-right = [
- "privacy"
- "tray"
- "battery"
- "pulseaudio"
- "network"
- "bluetooth"
- "clock"
- ];
-
- mpris = {
- format = "{title}";
- tooltip-format = "{artist} - {album}";
- };
-
- tray = {
- spacing = 10;
- };
-
- privacy = {
- icon-size = 16;
- };
-
- network = {
- format-disconnect = "󰌙";
- format-ethernet = "󰌘";
- format-wifi = "{icon}";
- format-icons = [
- "󰤟"
- "󰤢"
- "󰤥"
- "󰤨"
- ];
- tooltip-format-wifi = "{essid} | {signalStrength}%";
- tooltip-format-ethernet = "{ifname}";
- };
-
- bluetooth = {
- format = " {status}";
- format-disabled = "";
- format-no-controller = "";
- format-connected = " {device_alias}";
- };
-
- clock = {
- format-alt = "{:%Y-%m-%d}";
- tooltip-format = "{:%Y-%m-%d | %H:%M}";
- };
-
- pulseaudio = {
- format = "{icon}";
- format-icons = {
- default = [
- ""
- ""
- ""
- ];
- };
- tooltip-format = "{desc} | {volume}%";
- };
- };
- };
-
- style = ''
- * {
- border: none;
- border-radius: 0;
- font-family: monospace;
- font-size: 12px;
- background: none;
- }
-
- window#waybar {
- background: rgba(0, 0, 0, 0.9);
- }
-
- #workspaces button {
- padding-left: 5px;
- padding-right: 5px;
- }
-
- #workspaces button.focused {
- font-weight: bold;
- }
-
- #clock, #pulseaudio, #tray, #network, #battery, #bluetooth {
- padding-left: 10px;
- padding-right: 10px;
- }
- '';
- };
- };
- };
-}