{ config, pkgs, ... }: { # https://github.com/danieldk/nix-home/blob/master/home/cfg/desktop.nix # https://github.com/Martins3/My-Linux-Config/blob/master/nixpkgs/home/app/gnome.nix # gsettings (or dconf-editor) schemas are spread throughout the nix store. # One can use a script to add them to $XDG_DATA_DIRS and then execute a command. # Here is an example script: # https://github.com/NixOS/nixpkgs/issues/33277#issuecomment-354689755 # To add new config changes to NixOS: # - Dump current settings # dconf dump / > dconf/old.ini # - Change a setting, e.g. with dconf-editir # - Dump new settings # dconf dump / > dconf/new.ini # - Display changes # diff --context=5 dconf/old.ini dconf/new.ini # - Add to `dconf.settings` below. # Restore settings: # dconf load / < dconf/old.ini programs.dconf.enable = true; home-manager.users.yoda = { osConfig, config, pkgs, lib, ... }: { home.file = { # Templates to create new Files with Nautilus. # It is also possible to group them by category # and to add zip files as templates for new folders: # https://www.reddit.com/r/gnome/comments/11tz0aw/comment/jclkzld/ "Templates/new".text = ""; "Templates/new.md".text = ""; "Templates/new.txt".text = ""; }; dconf.settings = { "org/gnome/desktop/media-handling" = { # Settings > Removable Media > Never promt or start apps on media insertion autorun-never = true; # Don't automount external drives. # https://unix.stackexchange.com/a/460299/315162 automount = false; automount-open = false; }; "org/gnome/settings-daemon/plugins/power" = { # Settings > Automatic Suspend > Plugged In sleep-inactive-ac-type = "nothing"; # Settings > Automatic Suspend > On Battery Power sleep-inactive-battery-type = "suspend"; }; "org/gnome/settings-daemon/plugins/media-keys" = { # Settings > Keyboard > Keyboard Shortcuts > Launchers > Home folder home = ["e"]; }; "org/gnome/system/location" = { # Settings > Privacy > Location Services > Allow permitted apps to access location data enabled = true; }; "org/gnome/desktop/privacy" = { # Settings > File History > Enabled remember-recent-files = true; # Settings > File History > File History Duration recent-files-max-age = 30; # Settings > Trash and Temporary Files > Automatically Delete Trash Content remove-old-trash-files = true; # Settings > Trash and Temporary Files > Automatically Delete Temporary Files remove-old-temp-files = true; # Settings > Trash and Temporary Files > Automatically Delete Period old-files-age = 30; }; # Settings > Display > Night Light "org/gnome/settings-daemon/plugins/color" = { night-light-enabled = true; night-light-temperature = lib.hm.gvariant.mkUint32 3700; # Night light always on night-light-schedule-automatic = false; night-light-schedule-from = 2.0; night-light-schedule-to = 2.0; }; # Epiphany (GNOME Web) "org/gnome/epiphany" = { ask-for-default = false; homepage-url = "https://www.startpage.com/"; default-search-engine = "StartPage"; # search-engine-providers = ...; # Could be helpful: # https://github.com/matthewpi/nixos-config/blob/a6b7303f7a4a154d9d21a5ec25e725792214e3f2/users/matthew/desktop/gtk.nix#L154 # https://nix-community.github.io/home-manager/ -> hm.gvariant # Value: # [{'url': <'https://duckduckgo.com/?q=%s&t=epiphany'>, 'bang': <'!ddg'>, 'name': <'DuckDuckGo'>}, {'url': <'https://www.example.com/search?q=%s'>, 'bang': <''>, 'name': <'New search engine'>}, {'url': <'https://www.startpage.com/sp/search?query=%s'>, 'bang': <'!sp'>, 'name': <'StartPage'>}] }; "org/gnome/mutter" = { dynamic-workspaces = true; workspaces-only-on-primary = true; }; "org/gnome/desktop/interface" = { # Dark Style color-scheme = "prefer-dark"; # Multitasking > General > Hot Corner enable-hot-corners = false; show-battery-percentage = true; }; "org/gnome/software" = { # GNOME Software > Preferences > Software Updates > Automatically check for and download updates download-updates = true; }; }; }; }