dotfiles

My PC Dotfiles & Website
commit 170a7a687627bce893df5a316fdbbc1e6acd2afd
parent 223e4e2b880d8f0780a1ed55aa1344f34425d3e5
Author: maydayv7 <maydayv7@gmail.com>
Date:   Sun, 20 Oct 2024 21:50:10 +0530

refactor(GNOME): Use PaperWM

Diffstat:

MREADME.md | 5+++++
Mdevices/valkyrie/drivers.nix | 5+++++
Mfiles/gnome/settings/default.nix | 48+++++++++++++++++++++---------------------------
Mfiles/gnome/settings/extensions.nix | 246+++++++++++++++++++++++++++++++++++++++++--------------------------------------
Dfiles/gnome/shell.css | 16----------------
Mfiles/gnome/shortcuts.json | 246++++++++++++++++++++++++++++++++++++++++++-------------------------------------
Mflake.nix | 2+-
Mmodules/gui/desktop/gnome/default.nix | 9+--------
Dpackages/gnome-tilingshell.nix | 38--------------------------------------
Apackages/paperwm/default.nix | 38++++++++++++++++++++++++++++++++++++++
Apackages/paperwm/metadata.nix | 6++++++
11 files changed, 336 insertions(+), 323 deletions(-)

diff --git a/README.md b/README.md @@ -502,6 +502,11 @@ You can navigate to the `README`s present in the various directories to know mor <details> <summary><b>Changelog</b></summary> +### v24.1 +- GNOME Improvements + - Use [PaperWM](https://github.com/paperwm/PaperWM) + - Remove unneeded extensions + ### v24 - Hyprland Improvements diff --git a/devices/valkyrie/drivers.nix b/devices/valkyrie/drivers.nix @@ -7,9 +7,14 @@ mode = config.hardware.cpu.mode == "performance"; in { user.persist.directories = [".config/rog"]; + boot.kernelParams = ["nvidia_drm.fbdev=1"]; services = { fwupd.enable = true; xserver.videoDrivers = mkForce ["nvidia"]; + udev.extraHwdb = '' + evdev:name:Asus Keyboard:* + KEYBOARD_KEY_7003f=print + ''; }; #!# Run 'amixer -c 2 sset "Internal Mic Boost" 0' if microphone is garbled diff --git a/files/gnome/settings/default.nix b/files/gnome/settings/default.nix @@ -18,31 +18,31 @@ in { always-on-top = ["<Super>p"]; begin-move = []; begin-resize = []; - close = ["<Super>q" "<Alt>F4"]; + close = ["<Alt>F4"]; cycle-group = []; cycle-group-backward = []; - maximize = ["<Super>Up"]; - minimize = ["<Super>Down"]; - move-to-center = ["<Super>c"]; + maximize = [""]; + minimize = ["<Super>h"]; + move-to-center = [""]; move-to-monitor-down = []; - move-to-monitor-left = ["<Primary><Super>Left"]; - move-to-monitor-right = ["<Primary><Super>Right"]; + move-to-monitor-left = [""]; + move-to-monitor-right = [""]; move-to-monitor-up = []; move-to-workspace-1 = []; move-to-workspace-down = []; move-to-workspace-last = []; - move-to-workspace-left = ["<Shift><Super>Left"]; - move-to-workspace-right = ["<Shift><Super>Right"]; + move-to-workspace-left = [""]; + move-to-workspace-right = [""]; move-to-workspace-up = []; panel-main-menu = []; panel-run-dialog = ["<Super>F2"]; - switch-applications = ["<Alt>Tab"]; - switch-applications-backward = ["<Shift><Alt>Tab"]; - switch-group = ["<Super>Tab"]; - switch-group-backward = ["<Shift><Super>Tab"]; + switch-applications = [""]; + switch-applications-backward = [""]; + switch-group = [""]; + switch-group-backward = [""]; switch-to-workspace-down = []; - switch-to-workspace-left = ["<Super>Left"]; - switch-to-workspace-right = ["<Super>Right"]; + switch-to-workspace-left = []; + switch-to-workspace-right = []; switch-to-workspace-up = []; toggle-maximized = ["F11"]; unmaximize = []; @@ -66,7 +66,7 @@ in { switch-to-application-8 = ["<Super>8"]; switch-to-application-9 = ["<Super>9"]; toggle-application-view = []; - toggle-message-tray = []; + toggle-message-tray = ["<Super><Shift>n"]; toggle-overview = []; toggle-quick-settings = []; }; @@ -74,12 +74,12 @@ in { "org/gnome/settings-daemon/plugins/media-keys" = { area-screenshot = ["Print"]; area-screenshot-clip = []; - control-center = ["<Super><Shift>grave"]; + control-center = [""]; email = ["<Super>e"]; home = ["<Super>f"]; magnifier = ["<Super>x"]; - magnifier-zoom-in = ["<Super>equal"]; - magnifier-zoom-out = ["<Super>minus"]; + magnifier-zoom-in = ["<Super><Primary>equal"]; + magnifier-zoom-out = ["<Super><Primary>minus"]; rotate-video-lock-static = []; screencast = ["<Alt>Print"]; screenreader = []; @@ -91,7 +91,7 @@ in { volume-up = ["AudioRaiseVolume"]; window-screenshot = ["<Primary>Print"]; window-screenshot-clip = []; - www = ["<Super>grave"]; + www = ["<Super>w"]; custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" @@ -110,15 +110,9 @@ in { name = "Terminal"; }; - "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom2" = { - binding = "<Super>period"; - command = "smile"; - name = "Emoji Picker"; - }; - "org/gnome/desktop/wm/preferences" = { button-layout = "appmenu:minimize,maximize,close"; - focus-mode = "mouse"; + focus-mode = "click"; titlebar-font = "${builtins.head fonts.sansSerif} Bold 11"; visual-bell = false; }; @@ -131,7 +125,7 @@ in { attach-modal-dialogs = true; center-new-windows = true; dynamic-workspaces = true; - edge-tiling = true; + edge-tiling = false; focus-change-on-pointer-rest = true; workspaces-only-on-primary = true; experimental-features = ["scale-monitor-framebuffer" "x11-randr-fractional-scaling"]; diff --git a/files/gnome/settings/extensions.nix b/files/gnome/settings/extensions.nix @@ -6,7 +6,7 @@ ... }: let inherit (builtins) filter hasAttr map; - inherit (lib) foldr hm mkForce optionals recursiveUpdate; + inherit (lib) foldr hm mapAttrs' mkForce nameValuePair optionals recursiveUpdate; latest = pkgs.unstable.gnomeExtensions; # Shell Extensions @@ -19,29 +19,28 @@ {package = hide-minimized;} {package = latest.invert-window-color;} {package = latest.media-progress;} - {package = overview-hover;} {package = removable-drive-menu;} - {package = unmess;} - {package = window-state-manager;} {package = x11-gestures;} {package = xlanguagetray;} { package = workspace-indicator; disable = true; } - ( - if sys.services.supergfxd.enable - then {package = latest.gpu-supergfxctl-switch;} - else {} - ) + { + package = latest.gpu-supergfxctl-switch; + disable = !sys.services.supergfxd.enable; + } { package = top-bar-organizer; settings = { center-box-order = ["dateMenu"]; left-box-order = [ + "WorkspaceMenu" "activities" "guillotine" "guillotine@fopdoodle.net" + "FocusButton" + "OpenPositionButton" "appMenu" ]; @@ -77,13 +76,6 @@ settings.name = mkForce "custom"; } { - package = fullscreen-avoider; - settings = { - move-hot-corners = true; - move-notifications = true; - }; - } - { package = window-title-is-back; settings = { colored-icon = true; @@ -95,6 +87,7 @@ settings = { active-keybind = true; always-show = false; + emoji-keybind = ["<Super><Shift>e"]; paste-on-select = true; }; } @@ -108,15 +101,6 @@ }; } { - package = focus-changer; - settings = { - focus-down = ["<Super>s"]; - focus-left = ["<Super>a"]; - focus-right = ["<Super>d"]; - focus-up = ["<Super>w"]; - }; - } - { package = vitals; settings = { hot-sensors = ["_default_icon_"]; @@ -127,28 +111,6 @@ }; } { - package = alttab-mod; - name = "altTab-mod"; - settings = { - current-monitor-only = true; - current-monitor-only-window = true; - current-workspace-only = true; - disable-hover-select = false; - focus-on-select-window = true; - remove-delay = true; - }; - } - { - package = auto-activities; - settings = { - detect-minimized = true; - hide-on-new-window = true; - show-apps = false; - skip-last-workspace = false; - skip-taskbar = true; - }; - } - { package = caffeine; settings = { indicator-position = 0; @@ -186,27 +148,6 @@ }; } { - package = window-gestures; - name = "windowgestures"; - settings = { - fn-fullscreen = true; - fn-maximized-snap = true; - fn-move = true; - fn-move-snap = true; - fn-resize = true; - pinch-enable = true; - pinch3-in = 0; - pinch3-out = 0; - pinch4-in = 14; - pinch4-out = 3; - swipe3-down = 1; - swipe4-updown = 22; - taphold-move = true; - three-finger = false; - use-active-window = true; - }; - } - { package = wsp-windows-search-provider; name = "windows-search-provider"; settings = { @@ -217,26 +158,96 @@ }; } { - package = pkgs.custom.gnome-tilingshell; - name = "tilingshell"; - settings = { - enable-blur-selected-tilepreview = false; - enable-blur-snap-assistant = false; - enable-snap-assist = false; - enable-tiling-system = true; - enable-window-border = true; - override-window-menu = true; - restore-window-original-size = true; - tiling-system-activation-key = ["0"]; - top-edge-maximize = true; - window-border-width = mkUint32 2; - inner-gaps = mkUint32 5; - outer-gaps = mkUint32 5; - move-window-down = ["<Shift><Super>s"]; - move-window-left = ["<Shift><Super>a"]; - move-window-right = ["<Shift><Super>d"]; - move-window-up = ["<Shift><Super>w"]; - }; + package = pkgs.custom.paperwm; + settings = + { + animation-time = 0.25; + disable-topbar-styling = false; + gesture-horizontal-fingers = 3; + gesture-workspace-fingers = 3; + horizontal-margin = 10; + maximize-within-tiling = true; + open-window-position = 0; + open-window-position-option-up = true; + overview-ensure-viewport-animation = 1; + overview-min-windows-per-row = 4; + restore-attach-modal-dialogs = "true"; + restore-edge-tiling = "false"; + restore-workspaces-only-on-primary = "true"; + selection-border-size = 5; + show-focus-mode-icon = true; + show-open-position-icon = true; + show-window-position-bar = true; + show-workspace-indicator = true; + topbar-mouse-scroll-enable = true; + use-default-background = true; + vertical-margin = 5; + vertical-margin-bottom = 5; + window-gap = 15; + winprops = []; + } + // mapAttrs' (name: value: + nameValuePair "keybindings/${name}" value) { + barf-out = [""]; + barf-out-active = ["<Shift><Super>b"]; + center-horizontally = ["<Super>c"]; + center-vertically = [""]; + close-window = ["<Super>q"]; + cycle-height = [""]; + cycle-height-backwards = [""]; + cycle-width = [""]; + cycle-width-backwards = [""]; + drift-left = ["<Super>semicolon"]; + drift-right = ["<Super>apostrophe"]; + live-alt-tab = ["<Alt>Tab"]; + live-alt-tab-backward = ["<Shift><Alt>Tab"]; + live-alt-tab-scratch = ["<Control><Super>grave"]; + live-alt-tab-scratch-backward = [""]; + move-down = ["<Shift><Super>Down"]; + move-down-workspace = ["<Shift><Super>greater"]; + move-left = ["<Shift><Super>Left"]; + move-monitor-above = [""]; + move-monitor-below = [""]; + move-monitor-left = ["<Shift><Super>braceleft"]; + move-monitor-right = ["<Shift><Super>braceright"]; + move-previous-workspace = [""]; + move-previous-workspace-backward = [""]; + move-right = ["<Shift><Super>Right"]; + move-space-monitor-above = [""]; + move-space-monitor-below = [""]; + move-space-monitor-left = [""]; + move-space-monitor-right = [""]; + move-up = ["<Shift><Super>Up"]; + move-up-workspace = ["<Shift><Super>comma"]; + new-window = ["<Super>n"]; + previous-workspace = ["<Super>Tab"]; + previous-workspace-backward = ["<Shift><Super>Tab"]; + resize-h-dec = ["<Shift><Super>underscore"]; + resize-w-inc = ["<Super>equal"]; + slurp-in = ["<Super>b"]; + swap-monitor-above = [""]; + swap-monitor-below = [""]; + swap-monitor-left = ["<Control><Super>bracketleft"]; + swap-monitor-right = ["<Control><Super>bracketright"]; + switch-down-workspace = ["<Super>period"]; + switch-first = [""]; + switch-last = [""]; + switch-left = ["<Super>Left"]; + switch-monitor-above = [""]; + switch-monitor-below = [""]; + switch-monitor-left = ["<Super>bracketleft"]; + switch-monitor-right = ["<Super>bracketright"]; + switch-next = [""]; + switch-previous = [""]; + switch-up = ["<Super>Up"]; + switch-up-workspace = ["<Super>comma"]; + take-window = ["<Alt>grave"]; + toggle-maximize-width = ["<Super>m"]; + toggle-scratch = ["<Super>grave"]; + toggle-scratch-layer = ["<Shift><Super>asciitilde"]; + toggle-scratch-window = [""]; + toggle-top-and-position-bar = [""]; + }; } { package = vertical-workspaces; @@ -246,12 +257,12 @@ animation-speed-factor = 100; app-display-module = true; app-favorites-module = true; - app-folder-order = 1; + app-folder-order = 2; app-grid-active-preview = false; app-grid-animation = 4; app-grid-bg-blur-sigma = 40; app-grid-columns = 0; - app-grid-content = 4; + app-grid-content = 2; app-grid-folder-center = true; app-grid-folder-columns = 0; app-grid-folder-icon-grid = 2; @@ -261,12 +272,12 @@ app-grid-incomplete-pages = false; app-grid-names = 0; app-grid-order = 1; - app-grid-page-width-scale = 90; + app-grid-page-width-scale = 80; app-grid-performance = true; app-grid-rows = 0; app-grid-spacing = 12; center-app-grid = true; - center-dash-to-ws = true; + center-dash-to-ws = false; center-search = true; close-ws-button-mode = 2; dash-bg-color = 0; @@ -281,14 +292,13 @@ dash-position-adjust = 0; dash-show-extensions-icon = 0; dash-show-recent-files-icon = 0; - dash-show-windows-before-activation = 1; - dash-show-windows-icon = 2; - enable-page-shortcuts = true; + dash-show-windows-before-activation = 3; + enable-page-shortcuts = false; favorites-notify = 1; highlighting-style = 1; hot-corner-action = 1; - hot-corner-fullscreen = false; - hot-corner-position = 1; + hot-corner-fullscreen = true; + hot-corner-position = 3; hot-corner-ripples = true; layout-module = true; message-tray-module = true; @@ -301,22 +311,22 @@ overlay-key-primary = 1; overlay-key-secondary = 1; overview-bg-blur-sigma = 50; - overview-bg-brightness = 90; + overview-bg-brightness = 50; overview-esc-behavior = 0; - overview-mode = 1; + overview-mode = 0; panel-module = true; panel-position = 0; panel-visibility = 0; recent-files-search-provider-module = false; running-dot-style = 1; - search-bg-brightness = 50; + search-bg-brightness = 30; search-controller-module = true; search-fuzzy = true; search-icon-size = 96; search-max-results-rows = 5; search-module = true; - search-view-animation = 3; - search-width-scale = 120; + search-view-animation = 1; + search-width-scale = 105; search-windows-icon-scroll = 1; search-windows-order = 1; sec-wst-position-adjust = 0; @@ -324,20 +334,20 @@ secondary-ws-preview-shift = false; secondary-ws-thumbnail-scale = 5; secondary-ws-thumbnails-position = 2; - show-app-icon-position = 0; + show-app-icon-position = 1; show-bg-in-overview = true; - show-search-entry = true; + show-search-entry = false; show-ws-preview-bg = false; show-ws-switcher-bg = false; - show-wst-labels = 2; + show-wst-labels = 1; show-wst-labels-on-hover = true; smooth-blur-transitions = true; - startup-state = 1; + startup-state = 2; swipe-tracker-module = false; win-attention-handler-module = true; win-preview-icon-size = 1; - win-preview-mid-mouse-btn-action = 0; - win-preview-sec-mouse-btn-action = 1; + win-preview-mid-mouse-btn-action = 1; + win-preview-sec-mouse-btn-action = 0; win-preview-show-close-button = true; win-title-position = 0; window-attention-mode = 0; @@ -348,34 +358,31 @@ workspace-animation-module = true; workspace-module = true; workspace-switcher-animation = 1; - workspace-switcher-popup-module = true; - ws-max-spacing = 80; + workspace-switcher-popup-module = false; + ws-max-spacing = 350; ws-preview-bg-radius = 30; ws-preview-scale = 100; ws-sw-popup-h-position = 50; - ws-sw-popup-mode = 0; - ws-sw-popup-v-position = 95; + ws-sw-popup-mode = 1; + ws-sw-popup-v-position = 50; ws-switcher-ignore-last = false; ws-switcher-mode = 0; - ws-switcher-wraparound = true; + ws-switcher-wraparound = false; ws-thumbnail-scale = 10; ws-thumbnail-scale-appgrid = 15; ws-thumbnails-full = false; - ws-thumbnails-position = 5; + ws-thumbnails-position = 0; wst-position-adjust = 0; }; } ] ++ optionals sys.gui.fancy [ - {package = latest.rounded-window-corners-reborn;} - {package = transparent-top-bar;} { package = panel-corners; settings.panel-corners = false; } ]); in { - home.packages = [pkgs.dconf2nix] ++ builtins.map (ext: ext.package) extensions; dconf.settings = { "org/gnome/shell" = let @@ -406,4 +413,9 @@ in { ) else {}) extensions); + + home = { + packages = [pkgs.dconf2nix] ++ builtins.map (ext: ext.package) extensions; + file.".config/guillotine.json".source = files.gnome.menu; # Action Menu + }; } diff --git a/files/gnome/shell.css b/files/gnome/shell.css @@ -1,16 +0,0 @@ -#panelBox { - padding: 1px 5px 0.5px 5px; -} - -#panel { - background-color: rgba(0, 0, 0, 0.8); - height: 30px; - border: 0.5px solid white; - border-radius: 30px; - padding: 0px 4px; -} - -.popup-menu-content { - background-color: rgba(48, 48, 48, 0.9); - border: 0.5px solid white; -} diff --git a/files/gnome/shortcuts.json b/files/gnome/shortcuts.json @@ -4,155 +4,181 @@ "shortcuts": [ { "key": "Alt + F4 / Super + Q", - "description": "Close window" + "description": "Close active window" }, { - "key": "F11", - "description": "Make Full screen/Restore" + "key": "F11 / Super + Shift + F", + "description": "Make fullscreen/restore" }, { - "key": "Super + ↑/↓", - "description": "Maximize/Minimize window" + "key": "Super + M", + "description": "Maximize horizontally" }, { - "key": "Alt + Space", - "description": "Activate Window Menu" - }, - { - "key": "Super + W/A/S/D", - "description": "Focus window in specified direction" + "key": "Super + ↑/←/↓/→", + "description": "Switch window columns" }, { - "key": "Super + Shift + W/A/S/D", - "description": "Move window to specified tile" + "key": "Super + Shift + ↑/←/↓/→", + "description": "Move window to specified column" }, { "key": "Super + Mouse Drag", "description": "Move window" }, { - "key": "Super + Ctrl + Mouse Drag", - "description": "Tile window (Use 'Alt' to span)" + "key": "Alt + Tab", + "description": "Switch between windows" + }, + { + "key": "Alt + `", + "description": "Grab and drop windows" + }, + { + "key": "Super + Tab", + "description": "Switch between workspaces" + }, + { + "key": "Super + < / >", + "description": "Switch workspaces" + }, + { + "key": "Super + Shift + < / >", + "description": "Move window to specified workspace" }, { "key": "Super + C", - "description": "Move window to center" + "description": "Center window" }, { - "key": "Super + P", - "description": "Pin window above all others" - } - ] - }, - { - "name": "Desktop Navigation", - "shortcuts": [ + "key": "Super + N", + "description": "Duplicate window" + }, { - "key": "Super", - "description": "Enter Overview" + "key": "Super + H", + "description": "Minimize window" }, { - "key": "Super * 2", - "description": "Enter App Grid" + "key": "Super + B", + "description": "Move window to active column" }, { - "key": "Alt + Tab", - "description": "Switches between Application" + "key": "Super + Shift + B", + "description": "Move window to new column" }, { - "key": "Super + Tab", - "description": "Switches between Windows of current application" + "key": "Super + = / -", + "description": "Change window width" }, { - "key": "Space in Overview", - "description": "Search open windows" + "key": "Super + Shift + = / -", + "description": "Change window height" }, { - "key": "Super + ←/→", - "description": "Switch Workspace" + "key": "Super + Shift + ; / '", + "description": "Drift viewport" + }, + { + "key": "Super + `", + "description": "Toggle window float" }, { - "key": "Super + Home/End", - "description": "Switch to first/last Workspace" + "key": "Super + Shift + `", + "description": "Show floating windows" }, { - "key": "Super + Shift + ←/→", - "description": "Move window to specified Workspace" + "key": "Super + Ctrl + `", + "description": "Switch between floating windows" }, { - "key": "Super + Ctrl + ←/→", - "description": "Move window to specified Monitor" + "key": "Super + P", + "description": "Pin floating window" + }, + { + "key": "Super + ] / [", + "description": "Switch to specified monitor" + }, + { + "key": "Super + Shift + ] / [", + "description": "Move window to specified monitor" + }, + { + "key": "Super + Ctrl + ] / [", + "description": "Swap workspaces with specified monitor" + }, + { + "key": "Super + Shift + C", + "description": "Switch window focus mode" + }, + { + "key": "Super + Shift + W", + "description": "Switch position of new windows" } ] }, { - "name": "System Shortcuts", + "name": "Desktop Actions", "shortcuts": [ { + "key": "Super", + "description": "Enter Overview" + }, + { + "key": "Super * 2", + "description": "Enter App Grid" + }, + { + "key": "Alt + Space", + "description": "Activate window menu" + }, + { + "key": "Super + F2", + "description": "Run Dialog" + }, + { + "key": "Super + Shift + N", + "description": "Show notification tray" + }, + { "key": "Super + Space", "description": "Switch keyboard layout" }, { "key": "Ctrl + Alt + Del", - "description": "Opens the shutdown menu" + "description": "Open shutdown menu" }, { "key": "Super + L", - "description": "Locks the screen" + "description": "Lock the screen" }, { "key": "Super + X", "description": "Toggle zoom" }, { - "key": "Super + =", + "key": "Super + Ctrl + =", "description": "Zoom in" }, { - "key": "Super + -", + "key": "Super + Ctrl + -", "description": "Zoom out" - } - ] - }, - { - "name": "Screenshot Shortcuts", - "shortcuts": [ - { - "key": "Print", - "description": "Take a screenshot of a region" - }, - { - "key": "Shift + Print", - "description": "Take a full screenshot" }, { - "key": "Ctrl + Print", - "description": "Take a screenshot of a window" - }, - { - "key": "Alt + Print", - "description": "Video capture desktop" + "key": "Super + I", + "description": "Invert window colors" } ] }, { - "name": "Run and Close Applications", + "name": "Application Shortcuts", "shortcuts": [ { - "key": "Super + F2", - "description": "Run Dialog" - }, - { "key": "Super + 1,2,3...", - "description": "Run app by Position in the Launcher" + "description": "Run app by position in launcher" }, { "key": "; or ` in Overview", - "description": "Shows Open apps" - }, - { - "key": "Super + ~", - "description": "Open Settings" + "description": "Show open application windows" }, { "key": "Super + F", @@ -167,41 +193,32 @@ "description": "Open Terminal" }, { - "key": "Super + `", + "key": "Super + W", "description": "Open Browser" }, { - "key": "Super + .", + "key": "Super + Shift + E", "description": "Open Emoji Picker" }, { "key": "Super + Enter", - "description": "Opens Task Manager" + "description": "Open Task Manager" }, { "key": "Super + /", "description": "Show this shortcuts menu" - } - ] - }, - { - "name": "Application Shortcuts", - "shortcuts": [ - { - "key": "Super + I", - "description": "Invert window colors" }, { "key": "Ctrl + W", - "description": "Close tab in tab enabled apps" + "description": "Close tab in tabbed apps" }, { "key": "Ctrl + T", - "description": "Opens new tab in tab enabled apps" + "description": "Opens new tab in tabbed apps" }, { "key": "Ctrl + Shift + T", - "description": "Reopen last closed tab in web browser" + "description": "Reopen last closed tab in browser" }, { "key": "Ctrl + /", @@ -218,43 +235,40 @@ ] }, { - "name": "Navigation Gestures", + "name": "Screenshots", "shortcuts": [ { - "key": "4F ↑ Swipe (←/→)", - "description": "Maximize/fullscreen/restore(/snap) a window" - }, - { - "key": "3F ↑ Swipe", - "description": "Show overview/apps grid" - }, - { - "key": "3F ↓ Swipe", - "description": "Minimize window" + "key": "Print", + "description": "Take region screenshot" }, { - "key": "3F ←/→ Swipe", - "description": "Switch workspaces" + "key": "Shift + Print", + "description": "Take full screenshot" }, { - "key": "4F Hold then Swipe", - "description": "Move window" + "key": "Ctrl + Print", + "description": "Take window screenshot" }, { - "key": "3F ↓ Swipe then ←/→", - "description": "Switch to previous/next window" - }, + "key": "Alt + Print", + "description": "Video capture desktop" + } + ] + }, + { + "name": "Navigation Gestures", + "shortcuts": [ { - "key": "4F ↓ Swipe", - "description": "Show notification center" + "key": "3F ↑ Swipe", + "description": "Show overview/apps grid" }, { - "key": "4F Pinch Out", - "description": "Show desktop" + "key": "3F ←/→ Swipe", + "description": "Switch windows" }, { - "key": "4F Pinch In", - "description": "Mute audio" + "key": "3F ↓ Swipe", + "description": "Switch workspaces" }, { "key": "2F ←/→ Swipe", diff --git a/flake.nix b/flake.nix @@ -23,7 +23,7 @@ # Author -> V 7 <maydayv7@gmail.com> # # License -> MIT # # URL -> github:maydayv7/dotfiles # -# Version -> v24 # +# Version -> v24.1 # # --------------------------------------- # # Welcome to Ground Zero! # # The Very Heart of my 'dotfiles' # diff --git a/modules/gui/desktop/gnome/default.nix b/modules/gui/desktop/gnome/default.nix @@ -135,14 +135,6 @@ in { text = ["org.gnome.TextEditor.desktop"]; video = ["io.github.celluloid_player.Celluloid.desktop"]; }; - - home.file = { - # Action Menu - ".config/guillotine.json".source = gnome.menu; - - # Shell Theme - ".local/share/themes/custom/gnome-shell/gnome-shell.css".text = gnome.shell; - }; }; ## Color Scheme @@ -212,6 +204,7 @@ in { ".cache/gnome-builder" # Extensions + ".config/paperwm" ".cache/clipboard-indicator@tudmotu.com" ]; }) diff --git a/packages/gnome-tilingshell.nix b/packages/gnome-tilingshell.nix @@ -1,38 +0,0 @@ -{ - lib, - pkgs, - ... -}: -with pkgs; let - name = "tilingshell"; - uuid = "${name}@ferrarodomenico.com"; -in - stdenv.mkDerivation rec { - pname = "gnome-${name}"; - version = "v30"; - - src = fetchzip { - stripRoot = false; - url = "https://extensions.gnome.org/extension-data/tilingshellferrarodomenico.com.${version}.shell-extension.zip"; - sha256 = "sha256-oU8KC6Q3QpycPVMcVcpMnA35YyNyLF6Xl3YbTiGKKHw="; - }; - - dontBuild = true; - installPhase = '' - mkdir -p $out/share/gnome-shell/extensions/${uuid}/ - cp -r . $out/share/gnome-shell/extensions/${uuid}/ - ''; - - passthru = { - extensionUuid = uuid; - extensionPortalSlug = name; - }; - - meta = with lib; { - description = "Extend GNOME Shell with advanced tiling window management"; - homepage = "https://extensions.gnome.org/extension/7065/tiling-shell/"; - license = licenses.gpl2; - platforms = platforms.linux; - maintainers = ["maydayv7"]; - }; - } diff --git a/packages/paperwm/default.nix b/packages/paperwm/default.nix @@ -0,0 +1,38 @@ +{ + lib, + pkgs, + ... +}: +with pkgs; let + metadata = import ./metadata.nix; + uuid = "paperwm@paperwm.github.com"; +in + stdenv.mkDerivation rec { + pname = "paperwm"; + version = metadata.rev; + + src = fetchFromGitHub { + owner = pname; + repo = pname; + inherit (metadata) rev sha256; + }; + + nativeBuildInputs = [pkgs.glib]; + buildPhase = "make -C schemas gschemas.compiled"; + installPhase = '' + mkdir -p $out/share/gnome-shell/extensions + cp -r -T . $out/share/gnome-shell/extensions/${uuid} + ''; + + passthru = { + extensionPortalSlug = pname; + extensionUuid = uuid; + }; + + meta = with lib; { + description = "Tiled scrollable window management for GNOME Shell"; + homepage = metadata.repo; + license = licenses.gpl3Only; + maintainers = ["maydayv7"]; + }; + } diff --git a/packages/paperwm/metadata.nix b/packages/paperwm/metadata.nix @@ -0,0 +1,6 @@ +{ + repo = "https://github.com/paperwm/PaperWM"; + release = true; + rev = "v47.1.0"; + sha256 = "sha256-9cREe41cACf8/Ab1g0gwUdS7XJ1zFfczv0FtNFSb+W0="; +}