dconf: split into own sane.programs definition

This commit is contained in:
2024-02-20 12:09:52 +00:00
parent 46de7b7e0d
commit 53cbe5c8da
4 changed files with 28 additions and 15 deletions

View File

@@ -120,21 +120,6 @@
'';
};
# dconf docs: <https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/desktop_migration_and_administration_guide/profiles>
# this lets programs temporarily write user-level dconf settings (aka gsettings).
# they're written to ~/.config/dconf/user, unless `DCONF_PROFILE` is set to something other than the default of /etc/dconf/profile/user
# find keys/values with `dconf dump /`
programs.dconf.enable = true;
programs.dconf.packages = [
(pkgs.writeTextFile {
name = "dconf-user-profile";
destination = "/etc/dconf/profile/user";
text = ''
user-db:user
system-db:site
'';
})
];
# sane.programs.glib.enableFor.user.colin = true; # for `gsettings`
# link debug symbols into /run/current-system/sw/lib/debug

View File

@@ -0,0 +1,26 @@
# dconf docs: <https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/desktop_migration_and_administration_guide/profiles>
# this lets programs temporarily write user-level dconf settings (aka gsettings).
# they're written to ~/.config/dconf/user, unless `DCONF_PROFILE` is set to something other than the default of /etc/dconf/profile/user
# find keys/values with `dconf dump /`
{ config, lib, pkgs, ... }:
let
cfg = config.sane.programs.dconf;
in
{
programs.dconf = lib.mkIf cfg.enabled {
# TODO: sandbox.
# note that `programs.dconf` doesn't allow specifying the dconf package.
enable = true;
packages = [
(pkgs.writeTextFile {
name = "dconf-user-profile";
destination = "/etc/dconf/profile/user";
text = ''
user-db:user
system-db:site
'';
})
];
};
}

View File

@@ -17,6 +17,7 @@
./chatty.nix
./conky
./cozy.nix
./dconf.nix
./dialect.nix
./dino.nix
./element-desktop.nix

View File

@@ -57,6 +57,7 @@ in
sane.programs.guiBaseApps = declPackageSet [
# "abaddon" # discord client
"alacritty" # terminal emulator
"dconf" # required by many packages, but not well-documented :(
"delfin" # Jellyfin client
"dialect" # language translation
"dino" # XMPP client