commit 26a3e4c93d8765e4688e78c17f47a97d5d952d71
parent 7f6d6a6f0812731276822183fc90fc8c3aa14e94
Author: Katja (ctucx) <git@ctu.cx>
Date: Tue, 3 Dec 2024 19:32:37 +0100
parent 7f6d6a6f0812731276822183fc90fc8c3aa14e94
Author: Katja (ctucx) <git@ctu.cx>
Date: Tue, 3 Dec 2024 19:32:37 +0100
configurations/linux/gnome: update config
1 file changed, 178 insertions(+), 57 deletions(-)
M
|
235
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
diff --git a/configurations/linux/gnome.nix b/configurations/linux/gnome.nix @@ -2,75 +2,174 @@ { + nixpkgs.overlays = [(final: prev: { + # patch gdm to automaticly select the first user + gnome-shell = prev.gnome-shell.overrideAttrs (prevAttrs: { + patches = prevAttrs.patches ++ [ ../../pkgs/gdm-autoselect-user.patch ]; + }); - nixpkgs.config.allowUnfree = true; + # use more generic name and icon + ptyxis = prev.ptyxis.overrideAttrs (prevAttrs: { + mesonFlags = [ "-Dgeneric=terminal" ]; + }); - networking.networkmanager.wifi.backend = "iwd"; + # deactivate some backends + gnome-online-accounts = prev.gnome-online-accounts.overrideAttrs( prevAttrs: { + mesonFlags = prevAttrs.mesonFlags ++ [ "-Dexchange=false" "-Dgoogle=false" "-Dkerberos=false" "-Downcloud=false" "-Dwindows_live=false" "-Dms_graph=false" ]; + }); + })]; - programs = { - dconf.enable = true; + boot.plymouth.enable = true; + + hardware.bluetooth.settings = { + General.Experimental = true; }; users.users.katja.extraGroups = [ "dialout" "networkmanager"]; + # networking.networkmanager.wifi.backend = "iwd"; + services = { nscd.enable = true; + gvfs.package = (pkgs.gvfs.overrideAttrs (old: { + mesonFlags = (old.mesonFlags or []) ++ [ + "-Dafp=false" + "-Dafc=false" + "-Dmtp=false" + "-Dgphoto2=false" + ]; + })).override { + samba = null; + gnomeSupport = false; + }; + + #required for gnome-calendar + gnome.evolution-data-server.enable = true; + gnome.gnome-online-accounts.enable = true; }; + programs.evince.enable = true; + home-manager.users.katja = { manual.html.enable = true; - services.gnome-keyring.enable = true; home.packages = with pkgs; [ - gnomeExtensions.user-themes - gnomeExtensions.just-perfection - gnomeExtensions.arcmenu - gnomeExtensions.dash-to-panel - gnomeExtensions.tray-icons-reloaded - gnomeExtensions.airpod-battery-monitor - gnomeExtensions.battery-time-percentage-compact - gnomeExtensions.space-bar - ]; + wl-clipboard-x11 + gnome-calendar + gnome-text-editor + gnome-podcasts + gnome-obfuscate + loupe + errands + diebahn + xdg-utils + # look and feel from libadwaita ported to GTK-3 + adw-gtk3 + ] ++ (with pkgs.gnomeExtensions; [ + just-perfection + airpod-battery-monitor + battery-time-percentage-compact + space-bar + dash-to-dock + search-light + pip-on-top + ]); gtk = { enable = true; + iconTheme.package = pkgs.adwaita-colors-icon-theme; + iconTheme.name = "Adwaita-green"; + gtk3.extraConfig = { - Settings = '' - gtk-application-prefer-dark-theme=1 - ''; - }; - gtk4.extraConfig = { - Settings = '' - gtk-application-prefer-dark-theme=1 - ''; + gtk-application-prefer-dark-theme = 1; + gtk-theme-name = "adw-gtk3-dark"; }; + + gtk4.extraCss = '' + /* remove 'starred' in nautilus side-panel */ + .nautilus-window .navigation-sidebar > .sidebar-row:nth-child(2) { + min-height:0; + font-size: 0; + -gtk-icon-size: 0; + margin-top: -2px; + } + ''; }; # Use `dconf watch /` to track stateful changes you are doing and store them here. - dconf.settings = with inputs.home-manager.lib.hm.gvariant; { + dconf.settings = with inputs.home-manager.lib.hm.gvariant; let + numWorkspaces = 7; + workspaces = lib.lists.reverseList( pkgs.std.list.unfold( n: if n == 0 then pkgs.std.optional.nothing else pkgs.std.optional.just( pkgs.std.tuple.tuple2 n (n - 1))) numWorkspaces); + in { "org/gnome/mutter" = { edge-tiling = true; dynamic-workspaces = false; }; + + "org/gnome/desktop/wm/preferences" = { + button-layout = "close:appmenu"; + auto-raise = false; + focus-mode = "sloppy"; + num-workspaces = lib.lists.last workspaces; + workspace-names = [ "Main" "Mail" "Term" ]; + }; + "org/gnome/desktop/wm/keybindings" = builtins.listToAttrs( builtins.concatMap( v: [ + { name = "switch-to-workspace-${toString v}"; value = [ "<Super>${toString v}" ]; } + { name = "move-to-workspace-${toString v}"; value = [ "<Super><Shift>${toString v}" ]; } + ]) workspaces) // { + switch-input-source = [ "<Control><Super>space" ]; + switch-input-source-backward = [ "<Shift><Control><Super>space" ]; + }; + "org/gnome/shell" = { - disable-user-extensions = false; - # `gnome-extensions list` for a list - enabled-extensions = [ - "user-theme@gnome-shell-extensions.gcampax.github.com" - "just-perfection-desktop@just-perfection" - "trayIconsReloaded@selfmade.pl" - "dash-to-panel@jderose9.github.com" - "arcmenu@arcmenu.com" - "Airpod-Battery-Monitor@maniacx.github.com" - "batterytimepercentagecompact@sagrland.de" - "space-bar@luchrioh" + disable-extension-version-validation = true; + disable-user-extensions = false; + enabled-extensions = with pkgs.gnomeExtensions; [ + just-perfection.extensionUuid + airpod-battery-monitor.extensionUuid + battery-time-percentage-compact.extensionUuid + space-bar.extensionUuid + dash-to-dock.extensionUuid + search-light.extensionUuid + pip-on-top.extensionUuid + ]; + favorite-apps = [ + "org.gnome.Nautilus.desktop" + "firefox.desktop" + "thunderbird.desktop" + "org.gnome.Fractal.desktop" + "app.drey.PaperPlane.desktop" + "dev.geopjr.Tuba.desktop" + "de.schmidhuberj.DieBahn.desktop" + "org.gnome.Calendar.desktop" + "io.github.mrvladus.List.desktop" + "org.gnome.Podcasts.desktop" + "org.gnome.Ptyxis.desktop" + "org.gnome.Settings.desktop" ]; - favorite-apps = [ "firefox.desktop" "org.gnome.Terminal.desktop" "org.gnome.Nautilus.desktop" ]; }; + "org/gnome/shell/keybindings" = builtins.listToAttrs( map( v: { name = "switch-to-application-${toString v}"; value = []; }) workspaces); + "org/gnome/settings-daemon/plugins/color" = { + night-light-enabled = true; + }; + + "org/gnome/settings-daemon/plugins/media-keys" = { + custom-keybindings = [ "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/" ]; + }; + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { + name = "Start Terminal"; + command = "ptyxis --new-window"; + binding = "<Super>Return"; + }; + + "org/gnome/desktop/a11y".always-show-universal-access-status = false; + "org/gnome/desktop/privacy".remember-recent-files = false; "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; - enable-hot-corners = false; + accent-color = "green"; + enable-hot-corners = false; + show-battery-percentage = true; }; "org/gnome/desktop/input-sources" = { sources = [ @@ -79,49 +178,73 @@ (mkTuple ["xkb" "ru+mac"]) ]; }; - #ยง `gsettings get org.gnome.shell.extensionst.user-theme name` - "org/gnome/shell/extensions/user-theme" = { - }; - "org/gnome/desktop/wm/preferences" = { - button-layout = "close:appmenu"; - auto-raise = true; - focus-mode = "sloppy"; - num-workspaces = 4; - workspace-names = [ "Main" "Mail" "Term" ]; - }; "org/gnome/desktop/background" = { - picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png"; - picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; + picture-uri = "file://${pkgs.nixos-artwork.wallpapers.simple-blue.gnomeFilePath}"; + picture-uri-dark = "file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}"; }; "org/gnome/desktop/screensaver" = { - picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png"; - primary-color = "#3465a4"; + picture-uri = "file://${pkgs.nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}"; + primary-color = "#3465a4"; secondary-color = "#000000"; }; - }; + "org/gnome/nautilus/list-view" = { + use-tree-view = true; + default-zoom-level = "small"; + }; + "org/gnome/nautilus/preferences" = { + date-time-format = "detailed"; + default-folder-viewer = "list-view"; + }; + "org/gnome/shell/extensions/pip-on-top".stick = true; + "org/gnome/shell/extensions/just-perfection" = { + clock-menu-position = 1; + clock-menu-position-offset = 6; + quick-settings-dark-mode = false; + }; + "org/gnome/shell/extensions/space-bar/behavior" = { + show-empty-workspaces = false; + always-show-numbers = true; + }; + "org/gnome/shell/extensions/dash-to-dock" = { + multi-monitor = true; + apply-custom-theme = true; + custom-theme-shrink = true; + show-show-apps-button = false; + show-mounts = false; + hot-keys = false; + }; + "org/gnome/shell/extensions/search-light".shortcut-search = [ "<Super>space" ]; + }; }; ctucxConfig = { configure = { mobileDevice = false; fonts = true; - bluetooth = true; }; - wm.gnome.enable = true; + wm.gnome.enable = true; + wm.gnome.gdm.dconfSettings = { + "org/gnome/desktop/a11y" = { + always-show-universal-access-status = false; + }; + "org/gnome/login-screen" = { + banner-message-enable = true; + banner-message-text = "katja (fedi/mail: katja@ctu.cx)"; + }; + }; services = { pipewire.enable = true; - easyeffects.enable = true; +# easyeffects.enable = true; syncthing.enable = true; }; programs = { ddcutil.enable = true; - alacritty.enable = true; firefox.enable = true; thunderbird.enable = true; @@ -132,8 +255,6 @@ libreoffice.enable = true; ausweisapp.enable = true; - zathura.enable = true; - imv.enable = true; mpv.enable = true; bitwarden-cli.enable = true;