From db6bb4742747c1689abd1eac08b5a88eccbbdfad Mon Sep 17 00:00:00 2001 From: Aly Raffauf Date: Mon, 27 May 2024 16:07:29 -0400 Subject: [PATCH] removed budgie and river configs, refactored and cleaned up hyprland and sway --- homeManagerModules/desktop/budgie/default.nix | 19 - homeManagerModules/desktop/default.nix | 3 +- .../desktop/hyprland/default.nix | 70 ++-- homeManagerModules/desktop/river/default.nix | 339 ------------------ .../desktop/river/randomWallpaper.nix | 48 --- homeManagerModules/desktop/sway/default.nix | 76 ++-- homeManagerModules/desktop/waylandComp.nix | 36 ++ nixosModules/desktop/budgie/default.nix | 23 -- nixosModules/desktop/default.nix | 1 - 9 files changed, 101 insertions(+), 514 deletions(-) delete mode 100644 homeManagerModules/desktop/budgie/default.nix delete mode 100644 homeManagerModules/desktop/river/default.nix delete mode 100644 homeManagerModules/desktop/river/randomWallpaper.nix create mode 100644 homeManagerModules/desktop/waylandComp.nix delete mode 100644 nixosModules/desktop/budgie/default.nix diff --git a/homeManagerModules/desktop/budgie/default.nix b/homeManagerModules/desktop/budgie/default.nix deleted file mode 100644 index fb75a86b..00000000 --- a/homeManagerModules/desktop/budgie/default.nix +++ /dev/null @@ -1,19 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: { - options = { - alyraffauf.desktop.budgie.enable = - lib.mkEnableOption "Budgie with sane defaults."; - }; - - config = lib.mkIf config.alyraffauf.desktop.budgie.enable { - dconf.enable = true; - dconf.settings = { - "org/gnome/desktop/peripherals/touchpad".tap-to-click = true; - "org/gnome/desktop/peripherals/touchpad".natural-scroll = true; - }; - }; -} diff --git a/homeManagerModules/desktop/default.nix b/homeManagerModules/desktop/default.nix index ab1d5f30..e20a61a3 100644 --- a/homeManagerModules/desktop/default.nix +++ b/homeManagerModules/desktop/default.nix @@ -5,13 +5,12 @@ ... }: { imports = [ - ./budgie ./cinnamon ./defaultApps.nix ./gnome ./hyprland - ./river ./sway ./theme.nix + ./waylandComp.nix ]; } diff --git a/homeManagerModules/desktop/hyprland/default.nix b/homeManagerModules/desktop/hyprland/default.nix index f73a2f98..022579a3 100644 --- a/homeManagerModules/desktop/hyprland/default.nix +++ b/homeManagerModules/desktop/hyprland/default.nix @@ -9,60 +9,52 @@ imports = [./randomWallpaper.nix ./redShift.nix ./virtKeyboard.nix]; options = { - alyraffauf.desktop.hyprland.enable = - lib.mkEnableOption "Enables hyprland with extra apps."; - alyraffauf.desktop.hyprland.autoSuspend = lib.mkOption { - description = "Whether to autosuspend on idle."; - default = true; - type = lib.types.bool; - }; - alyraffauf.desktop.hyprland.randomWallpaper = lib.mkOption { - description = "Whether to enable random wallpaper script."; - default = true; - type = lib.types.bool; - }; - alyraffauf.desktop.hyprland.redShift = lib.mkOption { - description = "Whether to redshift display colors at night."; - default = true; - type = lib.types.bool; - }; - alyraffauf.desktop.hyprland.tabletMode = { - enable = lib.mkEnableOption "Tablet mode for Hyprland."; - autoRotate = lib.mkOption { - description = "Whether to autorotate screen."; - default = config.alyraffauf.desktop.hyprland.tabletMode.enable; + alyraffauf.desktop.hyprland = { + enable = + lib.mkEnableOption "Enables hyprland with extra apps."; + autoSuspend = lib.mkOption { + description = "Whether to autosuspend on idle."; + default = config.alyraffauf.desktop.hyprland.enable; type = lib.types.bool; }; - menuButton = lib.mkOption { - description = "Whether to add menu button for waybar."; - default = config.alyraffauf.desktop.hyprland.tabletMode.enable; + randomWallpaper = lib.mkOption { + description = "Whether to enable random wallpaper script."; + default = config.alyraffauf.desktop.hyprland.enable; type = lib.types.bool; }; - virtKeyboard = lib.mkOption { - description = "Whether to enable dynamic virtual keyboard."; - default = config.alyraffauf.desktop.hyprland.tabletMode.enable; + redShift = lib.mkOption { + description = "Whether to redshift display colors at night."; + default = config.alyraffauf.desktop.hyprland.enable; type = lib.types.bool; }; + tabletMode = { + enable = lib.mkEnableOption "Tablet mode for hyprland."; + autoRotate = lib.mkOption { + description = "Whether to autorotate screen."; + default = config.alyraffauf.desktop.hyprland.tabletMode.enable; + type = lib.types.bool; + }; + menuButton = lib.mkOption { + description = "Whether to add menu button for waybar."; + default = config.alyraffauf.desktop.hyprland.tabletMode.enable; + type = lib.types.bool; + }; + virtKeyboard = lib.mkOption { + description = "Whether to enable dynamic virtual keyboard."; + default = config.alyraffauf.desktop.hyprland.tabletMode.enable; + type = lib.types.bool; + }; + }; }; }; config = lib.mkIf config.alyraffauf.desktop.hyprland.enable { - home.packages = [pkgs.swayosd]; alyraffauf = { - apps = { - fuzzel.enable = lib.mkDefault true; - mako.enable = lib.mkDefault true; - swaylock.enable = lib.mkDefault true; - waybar.enable = lib.mkDefault true; - wlogout.enable = lib.mkDefault true; - }; desktop = { - theme.enable = lib.mkDefault true; - defaultApps.enable = lib.mkDefault true; + waylandComp = lib.mkDefault true; }; }; - services.cliphist.enable = lib.mkDefault true; xdg.portal = { enable = true; configPackages = [inputs.nixpkgsUnstable.legacyPackages."${pkgs.system}".xdg-desktop-portal-hyprland]; diff --git a/homeManagerModules/desktop/river/default.nix b/homeManagerModules/desktop/river/default.nix deleted file mode 100644 index 53d00b9d..00000000 --- a/homeManagerModules/desktop/river/default.nix +++ /dev/null @@ -1,339 +0,0 @@ -{ - pkgs, - lib, - config, - osConfig, - ... -}: { - imports = [./randomWallpaper.nix]; - options = { - alyraffauf.desktop.river.enable = - lib.mkEnableOption "Enable riverwm with extra apps."; - alyraffauf.desktop.river.autoSuspend = lib.mkOption { - description = "Whether to autosuspend on idle."; - default = true; - type = lib.types.bool; - }; - alyraffauf.desktop.river.gtkBorderFix = lib.mkOption { - description = "Fix GTK borders."; - default = false; - type = lib.types.bool; - }; - }; - - config = lib.mkIf config.alyraffauf.desktop.river.enable { - alyraffauf = { - apps = { - waybar.enable = lib.mkDefault true; - mako.enable = lib.mkDefault true; - fuzzel.enable = lib.mkDefault true; - wlogout.enable = lib.mkDefault true; - alacritty.enable = lib.mkDefault true; - firefox.enable = lib.mkDefault true; - kanshi.enable = lib.mkDefault true; - }; - desktop = { - river.randomWallpaper = lib.mkDefault true; - theme.enable = lib.mkDefault true; - defaultApps.enable = lib.mkDefault true; - }; - }; - - programs.swaylock.enable = lib.mkDefault true; - - services.cliphist.enable = lib.mkDefault true; - services.swayosd.enable = lib.mkDefault true; - - xdg.portal = { - enable = true; - configPackages = [pkgs.xdg-desktop-portal-wlr]; - extraPortals = [pkgs.xdg-desktop-portal-wlr]; - }; - - # gtk.gtk3.extraCss = - # if config.alyraffauf.desktop.river.gtkBorderFix - # then '' - # /* No (default) title bar on wayland */ - # headerbar.default-decoration { - # /* You may need to tweak these values depending on your GTK theme */ - # margin-bottom: 50px; - # margin-top: -100px; - - # background: transparent; - # padding: 0; - # border: 0; - # min-height: 0; - # font-size: 0; - # box-shadow: none; - # } - - # /* rm -rf window shadows */ - # window.csd, /* gtk4? */ - # window.csd decoration { /* gtk3 */ - # box-shadow: none; - # } - # '' - # else "/* */"; - - # gtk.gtk4.extraCss = - # if config.alyraffauf.desktop.river.gtkBorderFix - # then '' - # /* No (default) title bar on wayland */ - # headerbar.default-decoration { - # /* You may need to tweak these values depending on your GTK theme */ - # margin-bottom: 50px; - # margin-top: -100px; - - # background: transparent; - # padding: 0; - # border: 0; - # min-height: 0; - # font-size: 0; - # box-shadow: none; - # } - - # /* rm -rf window shadows */ - # window.csd, /* gtk4? */ - # window.csd decoration { /* gtk3 */ - # box-shadow: none; - # } - # '' - # else "/* */"; - - programs.waybar.settings = { - mainBar = { - modules-left = ["river/tags" "river/mode"]; - }; - }; - - wayland.windowManager.river.enable = true; - wayland.windowManager.river.extraConfig = let - modifier = "Super"; - - # Default apps - browser = config.alyraffauf.desktop.defaultApps.webBrowser.exe; - fileManager = lib.getExe pkgs.xfce.thunar; - editor = config.alyraffauf.desktop.defaultApps.editor.exe; - terminal = config.alyraffauf.desktop.defaultApps.terminal.exe; - - # River desktop utilities - bar = pkgs.waybar + "/bin/waybar"; - launcher = pkgs.fuzzel + "/bin/fuzzel"; - notifyd = pkgs.mako + "/bin/mako"; - wallpaperd = pkgs.swaybg + "/bin/swaybg -i ${config.alyraffauf.desktop.theme.wallpaper}"; - logout = pkgs.wlogout + "/bin/wlogout"; - lock = pkgs.swaylock + "/bin/swaylock"; - idled = - if config.alyraffauf.desktop.river.autoSuspend - then '' - ${pkgs.swayidle}/bin/swayidle -w \ - timeout 240 '${pkgs.brightnessctl}/bin/brightnessctl -s set 10' \ - resume '${pkgs.brightnessctl}/bin/brightnessctl -r' \ - timeout 300 '${lock}' \ - before-sleep '${lock}' '' - else '' - ${pkgs.swayidle}/bin/swayidle -w \ - timeout 240 '${pkgs.brightnessctl}/bin/brightnessctl -s set 10' \ - resume '${pkgs.brightnessctl}/bin/brightnessctl -r' \ - timeout 300 '${lock}' \ - timeout 900 '${pkgs.systemd}/bin/systemctl suspend' \ - before-sleep '${lock}' ''; - riverctl = "${config.wayland.windowManager.river.package}/bin/riverctl"; - - brightness = "${pkgs.swayosd}/bin/swayosd-client"; - brightness_up = "${brightness} --brightness=raise"; - brightness_down = "${brightness} --brightness=lower"; - volume = "${pkgs.swayosd}/bin/swayosd-client"; - volume_up = "${volume} --output-volume=raise"; - volume_down = "${volume} --output-volume=lower"; - volume_mute = "${volume} --output-volume=mute-toggle"; - mic_mute = "${volume} --input-volume=mute-toggle"; - media = "${pkgs.playerctl}/bin/playerctl"; - media_play = "${media} play-pause"; - media_next = "${media} next"; - media_previous = "${media} previous"; - - screenshot = "${pkgs.shotman}/bin/shotman"; - # screenshot_folder = "~/pics/screenshots"; - # screenshot_screen = "${screenshot} ${screenshot_folder}/$(date +'%s_grim.png')"; - # screenshot_region = "${screenshot} -m region -o ${screenshot_folder}"; - screenshot_screen = "${screenshot} --capture output"; - screenshot_region = "${screenshot} --capture region"; - - qt_platform_theme = "gtk2"; - gdk_scale = "1.5"; - in '' - pkill -f kanshi - pkill -f mako - pkill -f nm-applet - pkill -f swayosd-server - pkill -f waybar - pkill -f swayidle - touchpad=`${riverctl} list-inputs|grep -i touchpad` - for t in ''${touchpad[@]}; do - ${riverctl} input $t natural-scroll enabled - ${riverctl} input $t click-method clickfinger - ${riverctl} input $t tap enabled - ${riverctl} input $t disable-while-typing enabled - done - - ${riverctl} focus-follows-cursor always - - ${riverctl} map normal ${modifier} T spawn ${terminal} - ${riverctl} map normal ${modifier} R spawn ${launcher} - ${riverctl} map normal ${modifier} B spawn ${browser} - ${riverctl} map normal ${modifier} E spawn ${editor} - ${riverctl} map normal ${modifier} F spawn ${fileManager} - - ${riverctl} map normal ${modifier} M spawn ${logout} - - # ${modifier}+C to close the focused view - ${riverctl} map normal ${modifier} C close - - # ${modifier}+Shift+E to exit river - ${riverctl} map normal ${modifier}+Shift E exit - - # ${modifier}+J and ${modifier}+K to focus the next/previous view in the layout stack - ${riverctl} map normal ${modifier} J focus-view next - ${riverctl} map normal ${modifier} K focus-view previous - - # ${modifier}+Shift+J and ${modifier}+Shift+K to swap the focused view with the next/previous - # view in the layout stack - ${riverctl} map normal ${modifier}+Shift J swap next - ${riverctl} map normal ${modifier}+Shift K swap previous - - # ${modifier}+Period and ${modifier}+Comma to focus the next/previous output - ${riverctl} map normal ${modifier} Period focus-output next - ${riverctl} map normal ${modifier} Comma focus-output previous - - # ${modifier}+Shift+{Period,Comma} to send the focused view to the next/previous output - ${riverctl} map normal ${modifier}+Shift Period send-to-output next - ${riverctl} map normal ${modifier}+Shift Comma send-to-output previous - - # ${modifier}+Return to bump the focused view to the top of the layout stack - ${riverctl} map normal ${modifier} Return zoom - - # ${modifier}+H and ${modifier}+L to decrease/increase the main ratio of rivertile(1) - ${riverctl} map normal ${modifier} H send-layout-cmd rivertile "main-ratio -0.05" - ${riverctl} map normal ${modifier} L send-layout-cmd rivertile "main-ratio +0.05" - - # ${modifier}+Shift+H and ${modifier}+Shift+L to increment/decrement the main count of rivertile(1) - ${riverctl} map normal ${modifier}+Shift H send-layout-cmd rivertile "main-count +1" - ${riverctl} map normal ${modifier}+Shift L send-layout-cmd rivertile "main-count -1" - - # ${modifier}+Alt+{H,J,K,L} to move views - ${riverctl} map normal ${modifier}+Alt H move left 100 - ${riverctl} map normal ${modifier}+Alt J move down 100 - ${riverctl} map normal ${modifier}+Alt K move up 100 - ${riverctl} map normal ${modifier}+Alt L move right 100 - - # ${modifier}+Alt+Control+{H,J,K,L} to snap views to screen edges - ${riverctl} map normal ${modifier}+Alt+Control H snap left - ${riverctl} map normal ${modifier}+Alt+Control J snap down - ${riverctl} map normal ${modifier}+Alt+Control K snap up - ${riverctl} map normal ${modifier}+Alt+Control L snap right - - # ${modifier}+Alt+Shift+{H,J,K,L} to resize views - ${riverctl} map normal ${modifier}+Alt+Shift H resize horizontal -100 - ${riverctl} map normal ${modifier}+Alt+Shift J resize vertical 100 - ${riverctl} map normal ${modifier}+Alt+Shift K resize vertical -100 - ${riverctl} map normal ${modifier}+Alt+Shift L resize horizontal 100 - - # ${modifier} + Left Mouse Button to move views - ${riverctl} map-pointer normal ${modifier} BTN_LEFT move-view - - # ${modifier} + Right Mouse Button to resize views - ${riverctl} map-pointer normal ${modifier} BTN_RIGHT resize-view - - # ${modifier} + Middle Mouse Button to toggle float - ${riverctl} map-pointer normal ${modifier} BTN_MIDDLE toggle-float - - for i in $(seq 1 8) - do - tags=$((1 << ($i - 1))) - - # ${modifier}+[1-9] to focus tag [0-8] - ${riverctl} map normal ${modifier} $i set-focused-tags $tags - - # ${modifier}+Shift+[1-9] to tag focused view with tag [0-8] - ${riverctl} map normal ${modifier}+Shift $i set-view-tags $tags - - # ${modifier}+Control+[1-9] to toggle focus of tag [0-8] - ${riverctl} map normal ${modifier}+Control $i toggle-focused-tags $tags - - # ${modifier}+Shift+Control+[1-9] to toggle tag [0-8] of focused view - ${riverctl} map normal ${modifier}+Shift+Control $i toggle-view-tags $tags - done - - # ${modifier}+0 to focus all tags - # ${modifier}+Shift+0 to tag focused view with all tags - all_tags=$(((1 << 32) - 1)) - ${riverctl} map normal ${modifier} 0 set-focused-tags $all_tags - ${riverctl} map normal ${modifier}+Shift 0 set-view-tags $all_tags - - # ${modifier}+Space to toggle float - ${riverctl} map normal ${modifier} V toggle-float - - # ${modifier}+F to toggle fullscreen - ${riverctl} map normal ${modifier} W toggle-fullscreen - - # ${modifier}+{Up,Right,Down,Left} to change layout orientation - ${riverctl} map normal ${modifier} Up send-layout-cmd rivertile "main-location top" - ${riverctl} map normal ${modifier} Right send-layout-cmd rivertile "main-location right" - ${riverctl} map normal ${modifier} Down send-layout-cmd rivertile "main-location bottom" - ${riverctl} map normal ${modifier} Left send-layout-cmd rivertile "main-location left" - - # Declare a passthrough mode. This mode has only a single mapping to return to - # normal mode. This makes it useful for testing a nested wayland compositor - ${riverctl} declare-mode passthrough - - # ${modifier}+F11 to enter passthrough mode - ${riverctl} map normal ${modifier} F11 enter-mode passthrough - - # ${modifier}+F11 to return to normal mode - ${riverctl} map passthrough ${modifier} F11 enter-mode normal - - # Various media key mapping examples for both normal and locked mode which do - # not have a modifier - for mode in normal locked - do - ${riverctl} map $mode None XF86Eject spawn 'eject -T' - - # Control pulse audio volume with pamixer (https://github.com/cdemoulins/pamixer) - ${riverctl} map $mode None XF86AudioRaiseVolume spawn '${volume_up}' - ${riverctl} map $mode None XF86AudioLowerVolume spawn '${volume_down}' - ${riverctl} map $mode None XF86AudioMute spawn '${volume_mute}' - - ${riverctl} map $mode None XF86AudioMedia spawn '${media_play}' - ${riverctl} map $mode None XF86AudioPlay spawn '${media_play}' - ${riverctl} map $mode None XF86AudioPrev spawn '${media_previous}' - ${riverctl} map $mode None XF86AudioNext spawn '${media_next}' - - ${riverctl} map $mode None XF86MonBrightnessUp spawn '${brightness_up}' - ${riverctl} map $mode None XF86MonBrightnessDown spawn '${brightness_down}' - done - - # Set background and border color - ${riverctl} background-color 0x00000000 - ${riverctl} border-color-focused 0x${config.alyraffauf.desktop.theme.colors.primary} - ${riverctl} border-color-unfocused 0x${config.alyraffauf.desktop.theme.colors.secondary} - - # Set keyboard repeat rate - ${riverctl} set-repeat 50 300 - - # Set the default layout generator to be rivertile and start it. - # River will send the process group of the init executable SIGTERM on exit. - ${riverctl} default-layout rivertile - rivertile -view-padding 6 -outer-padding 6 & - - ${pkgs.kanshi}/bin/kanshi & - ${notifyd} & - ${pkgs.networkmanagerapplet}/bin/nm-applet & - ${pkgs.swayosd}/bin/swayosd-server & - ${fileManager} --daemon & - ${bar} & - ${idled} & - ${pkgs.mate.mate-polkit}/libexec/polkit-mate-authentication-agent-1 & - ''; - }; -} diff --git a/homeManagerModules/desktop/river/randomWallpaper.nix b/homeManagerModules/desktop/river/randomWallpaper.nix deleted file mode 100644 index a4bb3c75..00000000 --- a/homeManagerModules/desktop/river/randomWallpaper.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: let - swaybg-random = pkgs.writeShellScriptBin "swaybg-random" '' - kill `pidof swaybg` - - OLD_PIDS=() - directory=${config.home.homeDirectory}/.local/share/backgrounds - - if [ -d "$directory" ]; then - while true; do - NEW_PIDS=() - - random_background=$(ls $directory/*.{png,jpg} | shuf -n 1) - ${pkgs.swaybg}/bin/swaybg -i $random_background & - NEW_PIDS+=($!) - - sleep 5 - - for pid in ''${OLD_PIDS[@]}; do - kill $pid - done - - OLD_PIDS=$NEW_PIDS - - sleep 895 - done - fi - ''; -in { - options = { - alyraffauf.desktop.river.randomWallpaper = - lib.mkEnableOption "Enables swaybg random wallpaper script."; - }; - - config = lib.mkIf config.alyraffauf.desktop.river.randomWallpaper { - # Packages that should be installed to the user profile. - home.packages = with pkgs; [swaybg swaybg-random]; - - wayland.windowManager.river.extraConfig = '' - kill `ps aux | grep swaybg-random | grep -v grep | awk '{print $2}'` - swaybg-random & - ''; - }; -} diff --git a/homeManagerModules/desktop/sway/default.nix b/homeManagerModules/desktop/sway/default.nix index e212a1bc..6f93cfd8 100644 --- a/homeManagerModules/desktop/sway/default.nix +++ b/homeManagerModules/desktop/sway/default.nix @@ -6,61 +6,54 @@ ... }: { imports = [./autoRotate.nix ./randomWallpaper.nix ./redShift.nix ./virtKeyboard.nix]; + options = { - alyraffauf.desktop.sway.enable = lib.mkEnableOption "Sway with extra apps."; - alyraffauf.desktop.sway.randomWallpaper = lib.mkOption { - description = "Whether to enable random wallpaper script."; - default = true; - type = lib.types.bool; - }; - alyraffauf.desktop.sway.autoSuspend = lib.mkOption { - description = "Whether to autosuspend on idle."; - default = true; - type = lib.types.bool; - }; - alyraffauf.desktop.sway.redShift = lib.mkOption { - description = "Whether to redshift display colors at night."; - default = true; - type = lib.types.bool; - }; - alyraffauf.desktop.sway.tabletMode = { - enable = lib.mkEnableOption "Tablet mode for Sway."; - autoRotate = lib.mkOption { - description = "Whether to autorotate screen."; - default = config.alyraffauf.desktop.sway.tabletMode.enable; + alyraffauf.desktop.sway = { + enable = + lib.mkEnableOption "Enables sway with extra apps."; + autoSuspend = lib.mkOption { + description = "Whether to autosuspend on idle."; + default = config.alyraffauf.desktop.sway.enable; type = lib.types.bool; }; - menuButton = lib.mkOption { - description = "Whether to add menu button for waybar."; - default = config.alyraffauf.desktop.sway.tabletMode.enable; + randomWallpaper = lib.mkOption { + description = "Whether to enable random wallpaper script."; + default = config.alyraffauf.desktop.sway.enable; type = lib.types.bool; }; - virtKeyboard = lib.mkOption { - description = "Whether to enable dynamic virtual keyboard."; - default = config.alyraffauf.desktop.sway.tabletMode.enable; + redShift = lib.mkOption { + description = "Whether to redshift display colors at night."; + default = config.alyraffauf.desktop.sway.enable; type = lib.types.bool; }; + tabletMode = { + enable = lib.mkEnableOption "Tablet mode for sway."; + autoRotate = lib.mkOption { + description = "Whether to autorotate screen."; + default = config.alyraffauf.desktop.sway.tabletMode.enable; + type = lib.types.bool; + }; + menuButton = lib.mkOption { + description = "Whether to add menu button for waybar."; + default = config.alyraffauf.desktop.sway.tabletMode.enable; + type = lib.types.bool; + }; + virtKeyboard = lib.mkOption { + description = "Whether to enable dynamic virtual keyboard."; + default = config.alyraffauf.desktop.sway.tabletMode.enable; + type = lib.types.bool; + }; + }; }; }; config = lib.mkIf config.alyraffauf.desktop.sway.enable { - home.packages = [pkgs.swayosd]; alyraffauf = { - apps = { - fuzzel.enable = lib.mkDefault true; - mako.enable = lib.mkDefault true; - swaylock.enable = lib.mkDefault true; - waybar.enable = lib.mkDefault true; - wlogout.enable = lib.mkDefault true; - }; desktop = { - theme.enable = lib.mkDefault true; - defaultApps.enable = lib.mkDefault true; + waylandComp = lib.mkDefault true; }; }; - services.cliphist.enable = lib.mkDefault true; - programs.waybar = { settings = { mainBar = { @@ -294,8 +287,6 @@ "${modifier}+S" = "scratchpad show"; "${modifier}+Shift+S" = "move scratchpad"; - # TODO: scroll with mouse up/down through workspaces - # For petalburg "XF86Launch4" = "exec pp-adjuster"; @@ -345,7 +336,6 @@ }; }; startup = [ - # {command = "${bar}";} { command = if config.alyraffauf.desktop.sway.randomWallpaper @@ -356,7 +346,7 @@ {command = ''${lib.getExe' pkgs.wl-clipboard "wl-paste"} --type text --watch ${lib.getExe pkgs.cliphist} store'';} {command = "${fileManager} --daemon";} {command = "${pkgs.mate.mate-polkit}/libexec/polkit-mate-authentication-agent-1";} - {command = idled;} + {command = "${idled}";} {command = lib.getExe pkgs.autotiling;} {command = lib.getExe' pkgs.blueman "blueman-applet";} {command = lib.getExe' pkgs.networkmanagerapplet "nm-applet";} diff --git a/homeManagerModules/desktop/waylandComp.nix b/homeManagerModules/desktop/waylandComp.nix new file mode 100644 index 00000000..d6037d95 --- /dev/null +++ b/homeManagerModules/desktop/waylandComp.nix @@ -0,0 +1,36 @@ +{ + pkgs, + lib, + config, + ... +}: { + options = { + alyraffauf.desktop.waylandComp = + lib.mkEnableOption "Shared configuration for wayland compositors."; + }; + + config = lib.mkIf config.alyraffauf.desktop.waylandComp { + home.packages = [pkgs.swayosd]; + alyraffauf = { + apps = { + fuzzel.enable = lib.mkDefault true; + mako.enable = lib.mkDefault true; + swaylock.enable = lib.mkDefault true; + waybar.enable = lib.mkDefault true; + wlogout.enable = lib.mkDefault true; + }; + desktop = { + theme.enable = lib.mkDefault true; + defaultApps.enable = lib.mkDefault true; + }; + }; + services.cliphist.enable = lib.mkDefault true; + + dconf = { + enable = true; + settings = { + "org/gnome/nm-applet".disable-connected-notifications = true; + }; + }; + }; +} diff --git a/nixosModules/desktop/budgie/default.nix b/nixosModules/desktop/budgie/default.nix deleted file mode 100644 index a0bfbe2b..00000000 --- a/nixosModules/desktop/budgie/default.nix +++ /dev/null @@ -1,23 +0,0 @@ -{ - pkgs, - lib, - config, - ... -}: { - options = { - alyraffauf.desktop.budgie.enable = - lib.mkEnableOption "Budgie desktop session."; - }; - - config = lib.mkIf config.alyraffauf.desktop.budgie.enable { - # Enable Budgie. - services = { - xserver = { - enable = true; - desktopManager.budgie = { - enable = true; - }; - }; - }; - }; -} diff --git a/nixosModules/desktop/default.nix b/nixosModules/desktop/default.nix index e5036207..d1ad7da6 100644 --- a/nixosModules/desktop/default.nix +++ b/nixosModules/desktop/default.nix @@ -5,7 +5,6 @@ ... }: { imports = [ - ./budgie ./cinnamon ./gnome ./greetd