mirror of
https://codeberg.org/privacy1st/nix-git
synced 2024-11-22 22:09:34 +01:00
125 lines
4.5 KiB
Nix
125 lines
4.5 KiB
Nix
{ 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/$(date +%s).ini
|
|
# - Change a setting, e.g. with dconf-editir
|
|
# - Dump new settings
|
|
# dconf dump / > dconf/$(date +%s).ini
|
|
# - Display changes
|
|
# diff --context=5 dconf/OLD-DATE.ini dconf/NEW-DATE.ini
|
|
# - Add to `dconf.settings` below.
|
|
|
|
# Restore settings:
|
|
# dconf load / < dconf/OLD-DATE.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 = ["<Super>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;
|
|
};
|
|
};
|
|
};
|
|
}
|