dotfiles
My PC Dotfiles & Websitegit clone https://github.com/maydayv7/dotfiles
commit ab3090cea3bd00fbfe99b6ceb24ebeb7a8efc214 parent 92933dadf30633ea02d5c34010d7e07f98da2d07 Author: maydayv7 <maydayv7@gmail.com> Date: Sat, 23 Dec 2023 22:06:40 +0530 refactor: GNOME `dconf`
Diffstat:
| M | devices/flake.nix | | | 7 | +++---- |
| M | files/flake.nix | | | 2 | +- |
| D | files/flatpak/overrides | | | 2 | -- |
| D | files/gnome/dconf.nix | | | 700 | ------------------------------------------------------------------------------- |
| A | files/gnome/dconf/apps.nix | | | 196 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | files/gnome/dconf/default.nix | | | 184 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| A | files/gnome/dconf/extensions.nix | | | 345 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| M | flake.nix | | | 2 | +- |
| M | modules/gui/desktop/gnome.nix | | | 1 | + |
| M | users/default.nix | | | 4 | ++++ |
| M | users/v7/default.nix | | | 11 | ++++++++--- |
11 files changed, 743 insertions(+), 711 deletions(-)
diff --git a/devices/flake.nix b/devices/flake.nix @@ -5,19 +5,18 @@ ... }: let inherit (inputs) self; - inherit (util) map pack; + inherit (util) build map pack; inherit (builtins) head readFile; inherit (lib) listToAttrs nameValuePair; - build = util.build.device {inherit lib inputs;}; in { flake = { ## Device Configuration ## - nixosConfigurations = map.modules ./. (name: build (import name)); + nixosConfigurations = map.modules ./. (name: build.device (import name)); ## Install Media Configuration ## installMedia = listToAttrs (builtins.map (name: - nameValuePair name (build { + nameValuePair name (build.device { format = "iso"; description = "Install Media"; diff --git a/files/flake.nix b/files/flake.nix @@ -45,7 +45,7 @@ # GNOME Desktop gnome = { - dconf = ./gnome/dconf.nix; + dconf = ./gnome/dconf; iso = readFile ./gnome/iso; tiling = readFile ./gnome/tiling.css; } diff --git a/files/flatpak/overrides b/files/flatpak/overrides @@ -1,2 +0,0 @@ -[Context] -filesystems=xdg-config/gtk-3.0;xdg-config/gtk-4.0; diff --git a/files/gnome/dconf.nix b/files/gnome/dconf.nix @@ -1,700 +0,0 @@ -{ - config, - sys, - lib, - files, - ... -}: -with lib.hm.gvariant; let - inherit (builtins) head; - inherit (lib) mkBefore mkForce; - homeDir = config.home.homeDirectory; - fonts = sys.fonts.fontconfig.defaultFonts; -in { - # Home Directory - home.file = { - # Wallpapers - ".local/share/backgrounds".source = files.wallpapers.path; - - # GTK+ Bookmarks - ".config/gtk-3.0/bookmarks".text = mkBefore '' - file://${homeDir}/Documents/TBD TBD - ''; - }; - - ## Dconf Keys ## - # Generated via dconf2nix: https://github.com/gvolpe/dconf2nix - dconf.settings = { - # Keyboard Shortcuts - "org/gnome/desktop/wm/keybindings" = { - begin-move = []; - begin-resize = []; - close = ["<Super>q" "<Alt>F4"]; - cycle-group = []; - cycle-group-backward = []; - maximize = ["<Super>Up"]; - minimize = ["<Super>Down"]; - move-to-monitor-down = []; - move-to-monitor-left = ["<Shift><Super>Left"]; - move-to-monitor-right = ["<Shift><Super>Right"]; - move-to-monitor-up = []; - move-to-workspace-1 = []; - move-to-workspace-down = []; - move-to-workspace-last = []; - move-to-workspace-left = ["<Primary><Super>Left"]; - move-to-workspace-right = ["<Primary><Super>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-to-workspace-down = []; - switch-to-workspace-left = ["<Super>Left"]; - switch-to-workspace-right = ["<Super>Right"]; - switch-to-workspace-up = []; - toggle-maximized = ["F11"]; - unmaximize = []; - }; - - "org/gnome/mutter/keybindings" = { - toggle-tiled-left = []; - toggle-tiled-right = []; - }; - - "org/gnome/shell/keybindings" = { - focus-active-notification = []; - open-application-menu = []; - toggle-application-view = []; - toggle-message-tray = []; - toggle-overview = []; - }; - - "org/gnome/settings-daemon/plugins/media-keys" = { - area-screenshot = ["Print"]; - area-screenshot-clip = []; - control-center = ["<Super>i"]; - email = ["<Super>e"]; - home = ["<Super>f"]; - magnifier = ["<Super>x"]; - magnifier-zoom-in = ["<Super>equal"]; - magnifier-zoom-out = ["<Super>minus"]; - rotate-video-lock-static = []; - screencast = ["<Alt>Print"]; - screenreader = []; - screenshot = ["<Shift>Print"]; - screenshot-clip = []; - screensaver = ["<Super>l"]; - terminal = ["<Super>t"]; - volume-down = ["AudioLowerVolume"]; - volume-up = ["AudioRaiseVolume"]; - window-screenshot = ["<Primary>Print"]; - window-screenshot-clip = []; - www = ["<Super>grave"]; - custom-keybindings = [ - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" - "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" - ]; - }; - - "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { - binding = "<Primary><Alt>Return"; - command = "gnome-system-monitor"; - name = "Task Manager"; - }; - - "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { - binding = "<Super>t"; - command = "blackbox"; - name = "Terminal"; - }; - - "org/gnome/desktop/wm/preferences" = { - button-layout = "appmenu:minimize,maximize,close"; - titlebar-font = "${head fonts.sansSerif} Bold 11"; - visual-bell = false; - }; - - # Core Settings - "org/gnome/desktop/a11y".always-show-universal-access-status = true; - "org/gnome/desktop/a11y/applications".screen-magnifier-enabled = false; - - "org/gnome/mutter" = { - attach-modal-dialogs = true; - center-new-windows = true; - dynamic-workspaces = true; - edge-tiling = true; - focus-change-on-pointer-rest = true; - workspaces-only-on-primary = true; - }; - - "org/gnome/desktop/interface" = { - color-scheme = "prefer-dark"; - clock-show-weekday = true; - enable-animations = true; - enable-hot-corners = true; - font-antialiasing = "grayscale"; - font-hinting = "slight"; - gtk-im-module = "gtk-im-context-simple"; - locate-pointer = true; - show-battery-percentage = true; - toolkit-accessibility = false; - }; - - "org/gnome/desktop/peripherals/touchpad" = { - click-method = "areas"; - tap-to-click = true; - two-finger-scrolling-enabled = true; - }; - - "org/gnome/settings-daemon/plugins/power" = { - power-button-action = "interactive"; - sleep-inactive-ac-type = "nothing"; - sleep-inactive-battery-timeout = 1800; - }; - - "org/gnome/settings-daemon/plugins/color" = { - night-light-enabled = true; - night-light-schedule-automatic = false; - night-light-schedule-from = 19.0; - night-light-schedule-to = 7.0; - night-light-temperature = mkUint32 3700; - }; - - "org/gnome/desktop/a11y/magnifier" = { - cross-hairs-clip = true; - cross-hairs-color = "#15519a"; - cross-hairs-length = 1440; - cross-hairs-opacity = 1.0; - mouse-tracking = "proportional"; - show-cross-hairs = true; - }; - - "org/gnome/desktop/privacy" = { - disable-microphone = false; - old-files-age = mkUint32 7; - remember-recent-files = false; - remove-old-temp-files = true; - remove-old-trash-files = true; - }; - - "org/gnome/desktop/sound" = { - allow-volume-above-100-percent = true; - event-sounds = true; - theme-name = "__custom"; - }; - - "org/gnome/desktop/screensaver" = { - color-shading-type = "solid"; - lock-delay = mkUint32 0; - lock-enabled = false; - picture-options = "zoom"; - primary-color = "#000000000000"; - secondary-color = "#000000000000"; - }; - - # GTK+ Apps - "org/gnome/desktop/calendar".show-weekdate = true; - "ca/desrt/dconf-editor".show-warning = false; - "org/gnome/shell/world-clocks".locations = "[<(uint32 2, <('Coordinated Universal Time (UTC)', '@UTC', false, @a(dd) [], @a(dd) [])>)>]"; - - "org/gnome/desktop/search-providers" = { - sort-order = [ - "org.gnome.Contacts.desktop" - "org.gnome.Documents.desktop" - "org.gnome.Nautilus.desktop" - ]; - }; - - "org/gnome/Geary" = { - ask-open-attachment = true; - compose-as-html = true; - formatting-toolbar-visible = false; - migrated-config = true; - optional-plugins = ["email-templates" "sent-sound" "mail-merge"]; - startup-notifications = true; - }; - - "org/gnome/epiphany/sync".sync-device-name = sys.networking.hostName; - "org/gnome/epiphany/web" = { - default-zoom-level = 1.0; - enable-mouse-gestures = true; - }; - - "org/gnome/epiphany" = { - active-clear-data-items = 391; - ask-for-default = false; - default-search-engine = "Google"; - restore-session-policy = "crashed"; - use-google-search-suggestions = true; - }; - - "org/gtk/gtk4/settings/file-chooser".sort-directories-first = true; - "org/gnome/nautilus/icon-view" = { - captions = ["size" "date_modified" "none"]; - default-zoom-level = "medium"; - }; - - "org/gnome/nautilus/preferences" = { - click-policy = "single"; - default-folder-viewer = "icon-view"; - fts-enabled = true; - search-filter-time-type = "last_modified"; - search-view = "list-view"; - show-create-link = true; - show-delete-permanently = true; - }; - - "com/raggesilver/BlackBox" = { - font = "${head fonts.monospace} 11"; - headerbar-drag-area = true; - notify-process-completion = true; - opacity = mkUint32 90; - remember-window-size = true; - show-headerbar = true; - show-menu-button = true; - terminal-bell = false; - pretty = true; - }; - - "org/gnome/TextEditor" = { - highlight-current-line = true; - indent-style = "tab"; - show-line-numbers = true; - show-map = true; - tab-width = mkUint32 4; - }; - - "org/gnome/builder/editor" = { - auto-hide-map = true; - auto-save-timeout = 60; - completion-n-rows = 7; - draw-spaces = ["tab"]; - highlight-current-line = true; - highlight-matching-brackets = true; - overscroll = 7; - show-map = false; - style-scheme-name = "builder-dark"; - }; - - "com/github/hugolabe/Wike" = { - custom-font = true; - dark-mode = true; - font-family = head fonts.sansSerif; - }; - - # App Grid - "org/gnome/shell" = { - favorite-apps = [ - "google-chrome.desktop" - "org.gnome.Geary.desktop" - "org.gnome.Nautilus.desktop" - "com.raggesilver.BlackBox.desktop" - "org.gnome.TextEditor.desktop" - "org.gnome.Settings.desktop" - ]; - - disable-user-extensions = false; - disable-extension-version-validation = true; - disabled-extensions = ["workspace-indicator@gnome-shell-extensions.gcampax.github.com"]; - enabled-extensions = [ - "alttab-mod@leleat-on-github" - "appindicatorsupport@rgcjonas.gmail.com" - "caffeine@patapon.info" - "drive-menu@gnome-shell-extensions.gcampax.github.com" - "emoji-copy@felipeftn" - "forge@jmmaranan.com" - "guillotine@fopdoodle.net" - "lockkeys@vaina.lt" - "pano@elhan.io" - "quick-settings-avatar@d-go" - "Shortcuts@kyle.aims.ac.za" - "status-area-horizontal-spacing@mathematical.coffee.gmail.com" - "top-bar-organizer@julian.gse.jsts.xyz" - "transparent-top-bar@zhanghai.me" - "user-theme@gnome-shell-extensions.gcampax.github.com" - "vertical-workspaces@G-dH.github.com" - "Vitals@CoreCoding.com" - "windowgestures@extension.amarullz.com" - "window-title-is-back@fthx" - ]; - }; - - "org/gnome/desktop/app-folders" = { - folder-children = [ - "1c3e59e4-a571-4ada-af1d-ed1ced384cfb" - "4f9e09f6-cbd8-4a4a-beb3-9ec7b3e672ff" - "a136187d-1d93-4d35-8423-082f15957be9" - "b79e9b82-2127-459b-9e82-11bd3be09d04" - "cb1c8797-b52e-4df5-80d6-2c46e8f7ef22" - ]; - }; - - "org/gnome/desktop/app-folders/folders/4f9e09f6-cbd8-4a4a-beb3-9ec7b3e672ff" = { - name = "Games"; - apps = [ - "org.gnome.Chess.desktop" - "org.gnome.Sudoku.desktop" - "org.gnome.Mines.desktop" - "org.gnome.Quadrapassel.desktop" - ]; - }; - - "org/gnome/desktop/app-folders/folders/a136187d-1d93-4d35-8423-082f15957be9" = { - name = "Office"; - apps = [ - "base.desktop" - "calc.desktop" - "Code.desktop" - "draw.desktop" - "impress.desktop" - "math.desktop" - "net.sourceforge.gscan2pdf.desktop" - "onlyoffice-desktopeditors.desktop" - "startcenter.desktop" - "virt-manager.desktop" - "writer.desktop" - ]; - }; - - "org/gnome/desktop/app-folders/folders/b79e9b82-2127-459b-9e82-11bd3be09d04" = { - name = "Utilities"; - apps = [ - "cups.desktop" - "nixos-manual.desktop" - "org.gnome.baobab.desktop" - "org.gnome.Console.desktop" - "org.gnome.Devhelp.desktop" - "org.gnome.Logs.desktop" - "org.gnome.Tour.desktop" - "xterm.desktop" - "yelp.desktop" - ]; - }; - - "org/gnome/desktop/app-folders/folders/1c3e59e4-a571-4ada-af1d-ed1ced384cfb" = { - name = "Wine"; - apps = [ - "7zip.desktop" - "com.usebottles.bottles.desktop" - "Notepad++.desktop" - "net.lutris.Lutris.desktop" - ]; - }; - - "org/gnome/desktop/app-folders/folders/cb1c8797-b52e-4df5-80d6-2c46e8f7ef22" = { - apps = [ - "waydroid.com.android.inputmethod.latin.desktop" - "waydroid.org.lineageos.jelly.desktop" - "waydroid.com.android.calculator2.desktop" - "waydroid.org.lineageos.etar.desktop" - "waydroid.com.android.camera2.desktop" - "waydroid.com.android.deskclock.desktop" - "waydroid.com.android.contacts.desktop" - "waydroid.com.android.documentsui.desktop" - "waydroid.com.android.gallery3d.desktop" - "waydroid.com.android.vending.desktop" - "waydroid.org.lineageos.eleven.desktop" - "waydroid.org.lineageos.recorder.desktop" - "waydroid.com.android.settings.desktop" - "Waydroid.desktop" - ]; - name = "Android"; - translate = false; - }; - - # Shell Extensions - "org/gnome/shell/extensions/user-theme".name = mkForce "Adwaita"; - "org/gnome/shell/extensions/lockkeys".style = "show-hide"; - "org/gnome/shell/extensions/status-area-horizontal-spacing".hpadding = 4; - - "org/gnome/shell/extensions/altTab-mod" = { - 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; - }; - - "org/gnome/shell/extensions/caffeine" = { - indicator-position = 0; - inhibit-apps = ["teams.desktop" "startcenter.desktop"]; - nightlight-control = "never"; - show-indicator = "always"; - show-notifications = false; - }; - - "org/gnome/shell/extensions/emoji-copy" = { - always-show = false; - emoji-keybinding = ["<Super>period"]; - paste-on-select = true; - use-keybinding = true; - }; - - "org/gnome/shell/extensions/forge" = { - auto-split-enabled = true; - focus-border-toggle = true; - stacked-tiling-mode-enabled = true; - tabbed-tiling-mode-enabled = true; - tiling-mode-enabled = false; - window-gap-hidden-on-single = false; - }; - - "org/gnome/shell/extensions/forge/keybindings" = { - con-split-horizontal = []; - con-split-layout-toggle = []; - con-split-vertical = []; - con-stacked-layout-toggle = ["<Shift><Super>s"]; - con-tabbed-layout-toggle = ["<Shift><Super>t"]; - con-tabbed-showtab-decoration-toggle = []; - focus-border-toggle = []; - mod-mask-mouse-tile = "Super"; - prefs-open = []; - prefs-tiling-toggle = ["<Super>z"]; - window-focus-down = ["<Super>s"]; - window-focus-left = ["<Super>a"]; - window-focus-right = ["<Super>d"]; - window-focus-up = ["<Super>w"]; - window-gap-size-decrease = ["<Primary><Super>minus"]; - window-gap-size-increase = ["<Primary><Super>plus"]; - window-move-down = ["<Primary><Super>s"]; - window-move-left = ["<Primary><Super>a"]; - window-move-right = ["<Primary><Super>d"]; - window-move-up = ["<Primary><Super>w"]; - window-resize-bottom-decrease = ["<Alt><Primary><Super>Down"]; - window-resize-bottom-increase = ["<Alt><Super>Down"]; - window-resize-left-decrease = ["<Alt><Primary><Super>Left"]; - window-resize-left-increase = ["<Alt><Super>Left"]; - window-resize-right-decrease = ["<Alt><Primary><Super>Right"]; - window-resize-right-increase = ["<Alt><Super>Right"]; - window-resize-top-decrease = ["<Alt><Primary><Super>Up"]; - window-resize-top-increase = ["<Alt><Super>Up"]; - window-snap-center = ["<Super>c"]; - window-snap-one-third-left = []; - window-snap-one-third-right = []; - window-snap-two-third-left = []; - window-snap-two-third-right = []; - window-swap-down = ["<Shift><Super>s"]; - window-swap-last-active = []; - window-swap-left = ["<Shift><Super>a"]; - window-swap-right = ["<Shift><Super>d"]; - window-swap-up = ["<Shift><Super>w"]; - window-toggle-always-float = []; - window-toggle-float = ["<Shift><Super>F"]; - workspace-active-tile-toggle = ["<Shift><Super>z"]; - }; - - "org/gnome/shell/extensions/pano" = { - database-location = "${homeDir}/.local/share/clipboard"; - global-shortcut = ["<Super>v"]; - history-length = 250; - incognito-shortcut = ["<Ctrl><Super>v"]; - play-audio-on-copy = false; - send-notification-on-copy = false; - window-position = mkUint32 2; - item-date-font-family = head fonts.sansSerif; - item-date-font-size = 11; - item-title-font-family = head fonts.sansSerif; - item-title-font-size = 20; - search-bar-font-family = head fonts.sansSerif; - search-bar-font-size = 14; - }; - - "org/gnome/shell/extensions/quick-settings-avatar" = { - avatar-position = 1; - avatar-realname = false; - avatar-size = 56; - }; - - "org/gnome/shell/extensions/shortcuts" = { - maxcolumns = 3; - shortcuts-file = files.gnome.shortcuts; - shortcuts-toggle-overview = ["<Super>slash"]; - use-custom-shortcuts = true; - use-transparency = true; - visibility = 50; - }; - - "org/gnome/shell/extensions/top-bar-organizer" = { - center-box-order = ["dateMenu"]; - left-box-order = [ - "activities" - "guillotine" - "guillotine@fopdoodle.net" - "appMenu" - ]; - - right-box-order = [ - "emoji-copy@felipeftn" - "a11y" - "aggregateMenu" - "drive-menu" - "pano@elhan.io" - "vitalsMenu" - "dwellClick" - "lockkeys" - "keyboard" - "screenSharing" - "screenRecording" - "quickSettings" - ]; - }; - - "org/gnome/shell/extensions/vertical-workspaces" = { - aaa-loading-profile = true; - always-activate-selected-window = true; - animation-speed-factor = 120; - app-display-module = true; - app-favorites-module = true; - app-folder-order = 2; - app-grid-active-preview = false; - app-grid-animation = 3; - app-grid-bg-blur-sigma = 40; - app-grid-columns = 0; - app-grid-content = 4; - app-grid-folder-center = true; - app-grid-folder-columns = 0; - app-grid-folder-icon-grid = 2; - app-grid-folder-icon-size = -1; - app-grid-folder-rows = 0; - app-grid-icon-size = -1; - app-grid-incomplete-pages = false; - app-grid-names = 1; - app-grid-order = 1; - app-grid-page-width-scale = 90; - app-grid-performance = true; - app-grid-rows = 0; - app-grid-spacing = 12; - center-app-grid = true; - center-search = true; - close-ws-button-mode = 2; - dash-bg-color = 0; - dash-bg-gs3-style = false; - dash-bg-opacity = 35; - dash-bg-radius = 0; - dash-icon-scroll = 1; - dash-isolate-workspaces = true; - dash-max-icon-size = 64; - dash-module = true; - dash-position = 2; - 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 = false; - extensions-search-provider-module = true; - favorites-notify = 1; - hot-corner-action = 1; - hot-corner-fullscreen = false; - hot-corner-position = 1; - hot-corner-ripples = true; - layout-module = true; - message-tray-module = true; - new-window-focus-fix = false; - notification-position = 2; - osd-position = 7; - osd-window-module = true; - overlay-key-module = true; - overlay-key-primary = 1; - overlay-key-secondary = 1; - overview-bg-blur-sigma = 50; - overview-bg-brightness = 50; - overview-esc-behavior = 1; - overview-mode = 1; - panel-module = true; - panel-position = 0; - panel-visibility = 0; - recent-files-search-provider-module = false; - running-dot-style = 1; - 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 = 5; - search-width-scale = 120; - search-windows-icon-scroll = 1; - search-windows-order = 1; - sec-wst-position-adjust = 0; - secondary-ws-preview-scale = 100; - secondary-ws-preview-shift = false; - secondary-ws-thumbnail-scale = 5; - secondary-ws-thumbnails-position = 2; - show-app-icon-position = 0; - show-bg-in-overview = true; - show-search-entry = true; - show-ws-preview-bg = false; - show-ws-switcher-bg = false; - show-wst-labels = 2; - show-wst-labels-on-hover = true; - smooth-blur-transitions = true; - startup-state = 2; - swipe-tracker-module = false; - win-attention-handler-module = true; - win-preview-icon-size = 0; - win-preview-mid-mouse-btn-action = 3; - win-preview-sec-mouse-btn-action = 1; - win-preview-show-close-button = true; - win-title-position = 0; - window-attention-mode = 0; - window-icon-click-action = 1; - window-manager-module = true; - window-preview-module = true; - window-search-provider-module = true; - window-thumbnail-module = true; - window-thumbnail-scale = 20; - workspace-animation = 1; - workspace-animation-module = true; - workspace-module = true; - workspace-switcher-animation = 1; - workspace-switcher-popup-module = true; - ws-max-spacing = 80; - ws-preview-bg-radius = 30; - ws-preview-scale = 100; - ws-sw-popup-h-position = 44; - ws-sw-popup-mode = 0; - ws-sw-popup-v-position = 95; - ws-switcher-ignore-last = false; - ws-switcher-mode = 0; - ws-switcher-wraparound = true; - ws-thumbnail-scale = 8; - ws-thumbnail-scale-appgrid = 13; - ws-thumbnails-full = false; - ws-thumbnails-position = 5; - wst-position-adjust = 0; - }; - - "org/gnome/shell/extensions/vitals" = { - hot-sensors = ["_default_icon_"]; - show-battery = true; - show-storage = false; - }; - - "org/gnome/shell/extensions/windowgestures" = { - 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; - }; - - "org/gnome/shell/extensions/window-title-is-back" = { - colored-icon = true; - show-title = false; - }; - }; -} diff --git a/files/gnome/dconf/apps.nix b/files/gnome/dconf/apps.nix @@ -0,0 +1,196 @@ +{ + sys, + lib, + ... +}: +with lib.hm.gvariant; let + inherit (builtins) head; + fonts = sys.fonts.fontconfig.defaultFonts; +in { + dconf.settings = { + # GTK+ Apps + "org/gnome/desktop/calendar".show-weekdate = true; + "ca/desrt/dconf-editor".show-warning = false; + "org/gnome/shell/world-clocks".locations = "[<(uint32 2, <('Coordinated Universal Time (UTC)', '@UTC', false, @a(dd) [], @a(dd) [])>)>]"; + + "org/gnome/desktop/search-providers" = { + sort-order = [ + "org.gnome.Contacts.desktop" + "org.gnome.Documents.desktop" + "org.gnome.Nautilus.desktop" + ]; + }; + + "org/gnome/Geary" = { + ask-open-attachment = true; + compose-as-html = true; + formatting-toolbar-visible = false; + migrated-config = true; + optional-plugins = ["email-templates" "sent-sound" "mail-merge"]; + startup-notifications = true; + }; + + "org/gnome/epiphany/sync".sync-device-name = sys.networking.hostName; + "org/gnome/epiphany/web" = { + default-zoom-level = 1.0; + enable-mouse-gestures = true; + }; + + "org/gnome/epiphany" = { + active-clear-data-items = 391; + ask-for-default = false; + default-search-engine = "Google"; + restore-session-policy = "crashed"; + use-google-search-suggestions = true; + }; + + "org/gtk/gtk4/settings/file-chooser".sort-directories-first = true; + "org/gnome/nautilus/icon-view" = { + captions = ["size" "date_modified" "none"]; + default-zoom-level = "medium"; + }; + + "org/gnome/nautilus/preferences" = { + click-policy = "single"; + default-folder-viewer = "icon-view"; + fts-enabled = true; + search-filter-time-type = "last_modified"; + search-view = "list-view"; + show-create-link = true; + show-delete-permanently = true; + }; + + "com/raggesilver/BlackBox" = { + font = "${head fonts.monospace} 11"; + headerbar-drag-area = true; + notify-process-completion = true; + opacity = mkUint32 90; + remember-window-size = true; + show-headerbar = true; + show-menu-button = true; + terminal-bell = false; + pretty = true; + }; + + "org/gnome/TextEditor" = { + highlight-current-line = true; + indent-style = "tab"; + show-line-numbers = true; + show-map = true; + tab-width = mkUint32 4; + }; + + "org/gnome/builder/editor" = { + auto-hide-map = true; + auto-save-timeout = 60; + completion-n-rows = 7; + draw-spaces = ["tab"]; + highlight-current-line = true; + highlight-matching-brackets = true; + overscroll = 7; + show-map = false; + style-scheme-name = "builder-dark"; + }; + + "com/github/hugolabe/Wike" = { + custom-font = true; + dark-mode = true; + font-family = head fonts.sansSerif; + }; + + # App Grid + "org/gnome/shell" = { + favorite-apps = [ + "google-chrome.desktop" + "org.gnome.Geary.desktop" + "org.gnome.Nautilus.desktop" + "com.raggesilver.BlackBox.desktop" + "org.gnome.TextEditor.desktop" + "org.gnome.Settings.desktop" + ]; + }; + + "org/gnome/desktop/app-folders" = { + folder-children = [ + "1c3e59e4-a571-4ada-af1d-ed1ced384cfb" + "4f9e09f6-cbd8-4a4a-beb3-9ec7b3e672ff" + "a136187d-1d93-4d35-8423-082f15957be9" + "b79e9b82-2127-459b-9e82-11bd3be09d04" + "cb1c8797-b52e-4df5-80d6-2c46e8f7ef22" + ]; + }; + + "org/gnome/desktop/app-folders/folders/4f9e09f6-cbd8-4a4a-beb3-9ec7b3e672ff" = { + name = "Games"; + apps = [ + "org.gnome.Chess.desktop" + "org.gnome.Sudoku.desktop" + "org.gnome.Mines.desktop" + "org.gnome.Quadrapassel.desktop" + ]; + }; + + "org/gnome/desktop/app-folders/folders/a136187d-1d93-4d35-8423-082f15957be9" = { + name = "Office"; + apps = [ + "base.desktop" + "calc.desktop" + "Code.desktop" + "draw.desktop" + "impress.desktop" + "math.desktop" + "net.sourceforge.gscan2pdf.desktop" + "onlyoffice-desktopeditors.desktop" + "startcenter.desktop" + "virt-manager.desktop" + "writer.desktop" + ]; + }; + + "org/gnome/desktop/app-folders/folders/b79e9b82-2127-459b-9e82-11bd3be09d04" = { + name = "Utilities"; + apps = [ + "cups.desktop" + "nixos-manual.desktop" + "org.gnome.baobab.desktop" + "org.gnome.Console.desktop" + "org.gnome.Devhelp.desktop" + "org.gnome.Logs.desktop" + "org.gnome.Tour.desktop" + "xterm.desktop" + "yelp.desktop" + ]; + }; + + "org/gnome/desktop/app-folders/folders/1c3e59e4-a571-4ada-af1d-ed1ced384cfb" = { + name = "Wine"; + apps = [ + "7zip.desktop" + "com.usebottles.bottles.desktop" + "Notepad++.desktop" + "net.lutris.Lutris.desktop" + ]; + }; + + "org/gnome/desktop/app-folders/folders/cb1c8797-b52e-4df5-80d6-2c46e8f7ef22" = { + apps = [ + "waydroid.com.android.inputmethod.latin.desktop" + "waydroid.org.lineageos.jelly.desktop" + "waydroid.com.android.calculator2.desktop" + "waydroid.org.lineageos.etar.desktop" + "waydroid.com.android.camera2.desktop" + "waydroid.com.android.deskclock.desktop" + "waydroid.com.android.contacts.desktop" + "waydroid.com.android.documentsui.desktop" + "waydroid.com.android.gallery3d.desktop" + "waydroid.com.android.vending.desktop" + "waydroid.org.lineageos.eleven.desktop" + "waydroid.org.lineageos.recorder.desktop" + "waydroid.com.android.settings.desktop" + "Waydroid.desktop" + ]; + name = "Android"; + translate = false; + }; + }; +} diff --git a/files/gnome/dconf/default.nix b/files/gnome/dconf/default.nix @@ -0,0 +1,184 @@ +{ + sys, + lib, + util, + ... +}: +with lib.hm.gvariant; let + fonts = sys.fonts.fontconfig.defaultFonts; +in { + imports = util.map.modules.list ./.; + + ## Dconf Keys ## + # Generated via dconf2nix: https://github.com/gvolpe/dconf2nix + dconf.settings = { + # Keyboard Shortcuts + "org/gnome/desktop/wm/keybindings" = { + begin-move = []; + begin-resize = []; + close = ["<Super>q" "<Alt>F4"]; + cycle-group = []; + cycle-group-backward = []; + maximize = ["<Super>Up"]; + minimize = ["<Super>Down"]; + move-to-monitor-down = []; + move-to-monitor-left = ["<Shift><Super>Left"]; + move-to-monitor-right = ["<Shift><Super>Right"]; + move-to-monitor-up = []; + move-to-workspace-1 = []; + move-to-workspace-down = []; + move-to-workspace-last = []; + move-to-workspace-left = ["<Primary><Super>Left"]; + move-to-workspace-right = ["<Primary><Super>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-to-workspace-down = []; + switch-to-workspace-left = ["<Super>Left"]; + switch-to-workspace-right = ["<Super>Right"]; + switch-to-workspace-up = []; + toggle-maximized = ["F11"]; + unmaximize = []; + }; + + "org/gnome/mutter/keybindings" = { + toggle-tiled-left = []; + toggle-tiled-right = []; + }; + + "org/gnome/shell/keybindings" = { + focus-active-notification = []; + open-application-menu = []; + toggle-application-view = []; + toggle-message-tray = []; + toggle-overview = []; + }; + + "org/gnome/settings-daemon/plugins/media-keys" = { + area-screenshot = ["Print"]; + area-screenshot-clip = []; + control-center = ["<Super>i"]; + email = ["<Super>e"]; + home = ["<Super>f"]; + magnifier = ["<Super>x"]; + magnifier-zoom-in = ["<Super>equal"]; + magnifier-zoom-out = ["<Super>minus"]; + rotate-video-lock-static = []; + screencast = ["<Alt>Print"]; + screenreader = []; + screenshot = ["<Shift>Print"]; + screenshot-clip = []; + screensaver = ["<Super>l"]; + terminal = ["<Super>t"]; + volume-down = ["AudioLowerVolume"]; + volume-up = ["AudioRaiseVolume"]; + window-screenshot = ["<Primary>Print"]; + window-screenshot-clip = []; + www = ["<Super>grave"]; + custom-keybindings = [ + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" + "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/" + ]; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { + binding = "<Primary><Alt>Return"; + command = "gnome-system-monitor"; + name = "Task Manager"; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { + binding = "<Super>t"; + command = "blackbox"; + name = "Terminal"; + }; + + "org/gnome/desktop/wm/preferences" = { + button-layout = "appmenu:minimize,maximize,close"; + titlebar-font = "${builtins.head fonts.sansSerif} Bold 11"; + visual-bell = false; + }; + + # Core Settings + "org/gnome/desktop/a11y".always-show-universal-access-status = true; + "org/gnome/desktop/a11y/applications".screen-magnifier-enabled = false; + + "org/gnome/mutter" = { + attach-modal-dialogs = true; + center-new-windows = true; + dynamic-workspaces = true; + edge-tiling = true; + focus-change-on-pointer-rest = true; + workspaces-only-on-primary = true; + }; + + "org/gnome/desktop/interface" = { + color-scheme = "prefer-dark"; + clock-show-weekday = true; + enable-animations = true; + enable-hot-corners = true; + font-antialiasing = "grayscale"; + font-hinting = "slight"; + gtk-im-module = "gtk-im-context-simple"; + locate-pointer = true; + show-battery-percentage = true; + toolkit-accessibility = false; + }; + + "org/gnome/desktop/peripherals/touchpad" = { + click-method = "areas"; + tap-to-click = true; + two-finger-scrolling-enabled = true; + }; + + "org/gnome/settings-daemon/plugins/power" = { + power-button-action = "interactive"; + sleep-inactive-ac-type = "nothing"; + sleep-inactive-battery-timeout = 1800; + }; + + "org/gnome/settings-daemon/plugins/color" = { + night-light-enabled = true; + night-light-schedule-automatic = false; + night-light-schedule-from = 19.0; + night-light-schedule-to = 7.0; + night-light-temperature = mkUint32 3700; + }; + + "org/gnome/desktop/a11y/magnifier" = { + cross-hairs-clip = true; + cross-hairs-color = "#15519a"; + cross-hairs-length = 1440; + cross-hairs-opacity = 1.0; + mouse-tracking = "proportional"; + show-cross-hairs = true; + }; + + "org/gnome/desktop/privacy" = { + disable-microphone = false; + old-files-age = mkUint32 7; + remember-recent-files = false; + remove-old-temp-files = true; + remove-old-trash-files = true; + }; + + "org/gnome/desktop/sound" = { + allow-volume-above-100-percent = true; + event-sounds = true; + theme-name = "__custom"; + }; + + "org/gnome/desktop/screensaver" = { + color-shading-type = "solid"; + lock-delay = mkUint32 0; + lock-enabled = false; + picture-options = "zoom"; + primary-color = "#000000000000"; + secondary-color = "#000000000000"; + }; + }; +} diff --git a/files/gnome/dconf/extensions.nix b/files/gnome/dconf/extensions.nix @@ -0,0 +1,345 @@ +{ + config, + sys, + lib, + files, + ... +}: +with lib.hm.gvariant; let + inherit (builtins) head; + homeDir = config.home.homeDirectory; + fonts = sys.fonts.fontconfig.defaultFonts; +in { + # Shell Extensions + dconf.settings = { + "org/gnome/shell" = { + disable-user-extensions = false; + disable-extension-version-validation = true; + disabled-extensions = ["workspace-indicator@gnome-shell-extensions.gcampax.github.com"]; + enabled-extensions = [ + "alttab-mod@leleat-on-github" + "appindicatorsupport@rgcjonas.gmail.com" + "auto-activities@CleoMenezesJr.github.io" + "caffeine@patapon.info" + "drive-menu@gnome-shell-extensions.gcampax.github.com" + "emoji-copy@felipeftn" + "forge@jmmaranan.com" + "guillotine@fopdoodle.net" + "lockkeys@vaina.lt" + "pano@elhan.io" + "quick-settings-avatar@d-go" + "Shortcuts@kyle.aims.ac.za" + "status-area-horizontal-spacing@mathematical.coffee.gmail.com" + "top-bar-organizer@julian.gse.jsts.xyz" + "transparent-top-bar@zhanghai.me" + "user-theme@gnome-shell-extensions.gcampax.github.com" + "vertical-workspaces@G-dH.github.com" + "Vitals@CoreCoding.com" + "windowgestures@extension.amarullz.com" + "window-title-is-back@fthx" + ]; + }; + + "org/gnome/shell/extensions/altTab-mod" = { + 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; + }; + + "org/gnome/shell/extensions/auto-activities" = { + detect-minimized = true; + hide-on-new-window = true; + show-apps = false; + skip-last-workspace = false; + skip-taskbar = true; + }; + + "org/gnome/shell/extensions/caffeine" = { + indicator-position = 0; + inhibit-apps = ["teams.desktop" "startcenter.desktop"]; + nightlight-control = "never"; + show-indicator = "always"; + show-notifications = false; + }; + + "org/gnome/shell/extensions/emoji-copy" = { + always-show = false; + emoji-keybinding = ["<Super>period"]; + paste-on-select = true; + use-keybinding = true; + }; + + "org/gnome/shell/extensions/forge" = { + auto-split-enabled = true; + focus-border-toggle = true; + stacked-tiling-mode-enabled = true; + tabbed-tiling-mode-enabled = true; + tiling-mode-enabled = false; + window-gap-hidden-on-single = false; + }; + + "org/gnome/shell/extensions/forge/keybindings" = { + con-split-horizontal = []; + con-split-layout-toggle = []; + con-split-vertical = []; + con-stacked-layout-toggle = ["<Shift><Super>s"]; + con-tabbed-layout-toggle = ["<Shift><Super>t"]; + con-tabbed-showtab-decoration-toggle = []; + focus-border-toggle = []; + mod-mask-mouse-tile = "Super"; + prefs-open = []; + prefs-tiling-toggle = ["<Super>z"]; + window-focus-down = ["<Super>s"]; + window-focus-left = ["<Super>a"]; + window-focus-right = ["<Super>d"]; + window-focus-up = ["<Super>w"]; + window-gap-size-decrease = ["<Primary><Super>minus"]; + window-gap-size-increase = ["<Primary><Super>plus"]; + window-move-down = ["<Primary><Super>s"]; + window-move-left = ["<Primary><Super>a"]; + window-move-right = ["<Primary><Super>d"]; + window-move-up = ["<Primary><Super>w"]; + window-resize-bottom-decrease = ["<Alt><Primary><Super>Down"]; + window-resize-bottom-increase = ["<Alt><Super>Down"]; + window-resize-left-decrease = ["<Alt><Primary><Super>Left"]; + window-resize-left-increase = ["<Alt><Super>Left"]; + window-resize-right-decrease = ["<Alt><Primary><Super>Right"]; + window-resize-right-increase = ["<Alt><Super>Right"]; + window-resize-top-decrease = ["<Alt><Primary><Super>Up"]; + window-resize-top-increase = ["<Alt><Super>Up"]; + window-snap-center = ["<Super>c"]; + window-snap-one-third-left = []; + window-snap-one-third-right = []; + window-snap-two-third-left = []; + window-snap-two-third-right = []; + window-swap-down = ["<Shift><Super>s"]; + window-swap-last-active = []; + window-swap-left = ["<Shift><Super>a"]; + window-swap-right = ["<Shift><Super>d"]; + window-swap-up = ["<Shift><Super>w"]; + window-toggle-always-float = []; + window-toggle-float = ["<Shift><Super>F"]; + workspace-active-tile-toggle = ["<Shift><Super>z"]; + }; + + "org/gnome/shell/extensions/lockkeys".style = "show-hide"; + + "org/gnome/shell/extensions/pano" = { + database-location = "${homeDir}/.local/share/clipboard"; + global-shortcut = ["<Super>v"]; + history-length = 250; + incognito-shortcut = ["<Ctrl><Super>v"]; + play-audio-on-copy = false; + send-notification-on-copy = false; + window-position = mkUint32 2; + item-date-font-family = head fonts.sansSerif; + item-date-font-size = 11; + item-title-font-family = head fonts.sansSerif; + item-title-font-size = 20; + search-bar-font-family = head fonts.sansSerif; + search-bar-font-size = 14; + }; + + "org/gnome/shell/extensions/quick-settings-avatar" = { + avatar-position = 1; + avatar-realname = false; + avatar-size = 56; + }; + + "org/gnome/shell/extensions/shortcuts" = { + maxcolumns = 3; + shortcuts-file = files.gnome.shortcuts; + shortcuts-toggle-overview = ["<Super>slash"]; + use-custom-shortcuts = true; + use-transparency = true; + visibility = 50; + }; + + "org/gnome/shell/extensions/status-area-horizontal-spacing".hpadding = 4; + + "org/gnome/shell/extensions/top-bar-organizer" = { + center-box-order = ["dateMenu"]; + left-box-order = [ + "activities" + "guillotine" + "guillotine@fopdoodle.net" + "appMenu" + ]; + + right-box-order = [ + "emoji-copy@felipeftn" + "a11y" + "aggregateMenu" + "drive-menu" + "pano@elhan.io" + "vitalsMenu" + "dwellClick" + "lockkeys" + "keyboard" + "screenSharing" + "screenRecording" + "quickSettings" + ]; + }; + + "org/gnome/shell/extensions/user-theme".name = lib.mkForce "Adwaita"; + + "org/gnome/shell/extensions/vertical-workspaces" = { + aaa-loading-profile = true; + always-activate-selected-window = true; + animation-speed-factor = 120; + app-display-module = true; + app-favorites-module = true; + app-folder-order = 2; + app-grid-active-preview = false; + app-grid-animation = 3; + app-grid-bg-blur-sigma = 40; + app-grid-columns = 0; + app-grid-content = 4; + app-grid-folder-center = true; + app-grid-folder-columns = 0; + app-grid-folder-icon-grid = 2; + app-grid-folder-icon-size = -1; + app-grid-folder-rows = 0; + app-grid-icon-size = -1; + app-grid-incomplete-pages = false; + app-grid-names = 1; + app-grid-order = 1; + app-grid-page-width-scale = 90; + app-grid-performance = true; + app-grid-rows = 0; + app-grid-spacing = 12; + center-app-grid = true; + center-search = true; + close-ws-button-mode = 2; + dash-bg-color = 0; + dash-bg-gs3-style = false; + dash-bg-opacity = 35; + dash-bg-radius = 0; + dash-icon-scroll = 1; + dash-isolate-workspaces = true; + dash-max-icon-size = 64; + dash-module = true; + dash-position = 2; + 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 = false; + extensions-search-provider-module = true; + favorites-notify = 1; + hot-corner-action = 1; + hot-corner-fullscreen = false; + hot-corner-position = 1; + hot-corner-ripples = true; + layout-module = true; + message-tray-module = true; + new-window-focus-fix = false; + notification-position = 2; + osd-position = 7; + osd-window-module = true; + overlay-key-module = true; + overlay-key-primary = 1; + overlay-key-secondary = 1; + overview-bg-blur-sigma = 50; + overview-bg-brightness = 50; + overview-esc-behavior = 1; + overview-mode = 1; + panel-module = true; + panel-position = 0; + panel-visibility = 0; + recent-files-search-provider-module = false; + running-dot-style = 1; + 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 = 5; + search-width-scale = 120; + search-windows-icon-scroll = 1; + search-windows-order = 1; + sec-wst-position-adjust = 0; + secondary-ws-preview-scale = 100; + secondary-ws-preview-shift = false; + secondary-ws-thumbnail-scale = 5; + secondary-ws-thumbnails-position = 2; + show-app-icon-position = 0; + show-bg-in-overview = true; + show-search-entry = true; + show-ws-preview-bg = false; + show-ws-switcher-bg = false; + show-wst-labels = 2; + show-wst-labels-on-hover = true; + smooth-blur-transitions = true; + startup-state = 2; + swipe-tracker-module = false; + win-attention-handler-module = true; + win-preview-icon-size = 0; + win-preview-mid-mouse-btn-action = 3; + win-preview-sec-mouse-btn-action = 1; + win-preview-show-close-button = true; + win-title-position = 0; + window-attention-mode = 0; + window-icon-click-action = 1; + window-manager-module = true; + window-preview-module = true; + window-search-provider-module = true; + window-thumbnail-module = true; + window-thumbnail-scale = 20; + workspace-animation = 1; + workspace-animation-module = true; + workspace-module = true; + workspace-switcher-animation = 1; + workspace-switcher-popup-module = true; + ws-max-spacing = 80; + ws-preview-bg-radius = 30; + ws-preview-scale = 100; + ws-sw-popup-h-position = 44; + ws-sw-popup-mode = 0; + ws-sw-popup-v-position = 95; + ws-switcher-ignore-last = false; + ws-switcher-mode = 0; + ws-switcher-wraparound = true; + ws-thumbnail-scale = 8; + ws-thumbnail-scale-appgrid = 13; + ws-thumbnails-full = false; + ws-thumbnails-position = 5; + wst-position-adjust = 0; + }; + + "org/gnome/shell/extensions/vitals" = { + hot-sensors = ["_default_icon_"]; + show-battery = true; + show-storage = false; + }; + + "org/gnome/shell/extensions/windowgestures" = { + 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; + }; + + "org/gnome/shell/extensions/window-title-is-back" = { + colored-icon = true; + show-title = false; + }; + }; +} diff --git a/flake.nix b/flake.nix @@ -168,7 +168,7 @@ lib.recursiveUpdate (map.modules ./lib (file: import file lib)) { nixpkgs = lib; - build.device = args: import ./modules/configuration.nix args; + build.device = import ./modules/configuration.nix {inherit lib inputs;}; }; ## Configuration Template ## diff --git a/modules/gui/desktop/gnome.nix b/modules/gui/desktop/gnome.nix @@ -211,6 +211,7 @@ in { # GNOME Shell Extensions alttab-mod appindicator + auto-activities caffeine emoji-copy forge diff --git a/users/default.nix b/users/default.nix @@ -2,6 +2,7 @@ config, lib, util, + files, ... }: let inherit (builtins) attrValues map; @@ -40,6 +41,9 @@ in { config = { systemd.user.startServices = true; + # Wallpapers + home.file.".local/share/backgrounds".source = files.wallpapers.path; + # GPG Settings programs.gpg = { settings = mkIf (cfg.key != "") { diff --git a/users/v7/default.nix b/users/v7/default.nix @@ -1,10 +1,10 @@ { config, + lib, pkgs, files, ... -}: -with files; { +}: { # Personal Credentials credentials = { name = "maydayv7"; @@ -18,7 +18,7 @@ with files; { packages = [pkgs.home-manager]; # Directory Symlinks - file = { + file = with files; { # Profile Picture ".face".source = images.profile; @@ -28,6 +28,11 @@ with files; { # Dotfiles "Projects/dotfiles".source = config.lib.file.mkOutOfStoreSymlink path.system; + + # GTK+ Bookmarks + ".config/gtk-3.0/bookmarks".text = lib.mkBefore '' + file://${config.home.homeDirectory}/Documents/TBD TBD + ''; }; }; }