parent
752fce2538
commit
251560f761
8 changed files with 98 additions and 51 deletions
|
@ -1,27 +0,0 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let inherit (lib) mkIf;
|
||||
in {
|
||||
dconf = {
|
||||
settings =
|
||||
let
|
||||
backgroundOptions = {
|
||||
color-shading-type = "solid";
|
||||
picture-options = "zoom";
|
||||
picture-uri = "${config.home.homeDirectory}/.background-image";
|
||||
primary-color = "#3a4ba0";
|
||||
secondary-color = "#2f302f";
|
||||
};
|
||||
in
|
||||
{
|
||||
"org/gnome/desktop/background" = backgroundOptions // {
|
||||
picture-uri-dark = backgroundOptions.picture-uri;
|
||||
};
|
||||
"org/gnome/desktop/screensaver" = backgroundOptions;
|
||||
"org/gnome/desktop/interface".color-scheme = "prefer-dark";
|
||||
};
|
||||
};
|
||||
home.file.".background-image" = mkIf config.dconf.enable {
|
||||
source = ./background-image.jpg;
|
||||
};
|
||||
}
|
|
@ -1,19 +1,23 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{ config, lib, pkgs, osConfig, ... }:
|
||||
|
||||
# dconf is the configuration manager for GNOME.
|
||||
|
||||
# home-manager, in its infinite wisdom, sets `dconf.enable` to true by default.
|
||||
# This is a problem because we don't want it to attempt to apply our settings on
|
||||
# a system that doesn't actually have GNOME installed. So, we override the
|
||||
# default to false.
|
||||
let
|
||||
isGnome = osConfig.services.xserver.desktopManager.gnome.enable;
|
||||
in
|
||||
{
|
||||
dconf.enable = isGnome;
|
||||
|
||||
let inherit (lib) mkDefault;
|
||||
in {
|
||||
dconf.enable = mkDefault false;
|
||||
dconf.settings = {
|
||||
"org/gnome/settings-daemon/plugins/color".night-light-enabled = true;
|
||||
"org/gnome/desktop/sound".event-sounds = false;
|
||||
};
|
||||
|
||||
imports = [
|
||||
# TODO: nix-ify other parts of GNOME config
|
||||
./appearance.nix
|
||||
./desktop.nix
|
||||
./keyboard.nix
|
||||
./mouse-touchpad.nix
|
||||
./multitasking.nix
|
||||
./shell.nix
|
||||
];
|
||||
}
|
||||
|
|
23
home/qenya/dconf/desktop.nix
Normal file
23
home/qenya/dconf/desktop.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let inherit (lib) mkIf;
|
||||
in {
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/background" = {
|
||||
picture-options = "zoom";
|
||||
picture-uri = "${config.home.homeDirectory}/.background-image";
|
||||
picture-uri-dark = "${config.home.homeDirectory}/.background-image";
|
||||
};
|
||||
"org/gnome/desktop/screensaver" = {
|
||||
picture-options = "zoom";
|
||||
picture-uri = "${config.home.homeDirectory}/.background-image";
|
||||
};
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
enable-hot-corners = false;
|
||||
};
|
||||
};
|
||||
home.file.".background-image" = mkIf config.dconf.enable {
|
||||
source = ./background-image.jpg;
|
||||
};
|
||||
}
|
|
@ -1,14 +1,12 @@
|
|||
# { config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
dconf = {
|
||||
settings = {
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
# These are largely useless on most normal systems
|
||||
# and conflict with VS Code's default keybinds for "Copy Line Up/Down"
|
||||
move-to-workspace-up = [ ];
|
||||
move-to-workspace-down = [ ];
|
||||
};
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
# These are largely useless on most normal systems
|
||||
# and conflict with VS Code's default keybinds for "Copy Line Up/Down"
|
||||
move-to-workspace-up = [ ];
|
||||
move-to-workspace-down = [ ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
16
home/qenya/dconf/mouse-touchpad.nix
Normal file
16
home/qenya/dconf/mouse-touchpad.nix
Normal file
|
@ -0,0 +1,16 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/peripherals/mouse" = {
|
||||
natural-scroll = false;
|
||||
};
|
||||
"org/gnome/desktop/peripherals/touchpad" = {
|
||||
click-method = "fingers";
|
||||
disable-while-typing = false;
|
||||
natural-scroll = true; # the correct option, whatever Janet says
|
||||
tap-to-click = true;
|
||||
two-finger-scrolling-enabled = true;
|
||||
};
|
||||
};
|
||||
}
|
11
home/qenya/dconf/multitasking.nix
Normal file
11
home/qenya/dconf/multitasking.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
dconf.settings = {
|
||||
"org/gnome/mutter" = {
|
||||
edge-tiling = true;
|
||||
dynamic-workspaces = true;
|
||||
workspaces-only-on-primary = true;
|
||||
};
|
||||
};
|
||||
}
|
26
home/qenya/dconf/shell.nix
Normal file
26
home/qenya/dconf/shell.nix
Normal file
|
@ -0,0 +1,26 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
dconf.settings = {
|
||||
"org/gnome/shell" = {
|
||||
disable-user-extensions = true;
|
||||
|
||||
# TODO: this is fine for now on tohru (the only GNOME system I use) but shouldn't depend on certain apps being installed
|
||||
favorite-apps = [
|
||||
"discord.desktop"
|
||||
"org.gnome.Evolution.desktop"
|
||||
"firefox.desktop"
|
||||
"torbrowser.desktop"
|
||||
"steam.desktop"
|
||||
"codium.desktop"
|
||||
"org.gnome.Console.desktop"
|
||||
"org.gnome.Nautilus.desktop"
|
||||
"org.gnome.SystemMonitor.desktop"
|
||||
];
|
||||
|
||||
# TODO: fill this out (needs preinstalled stuff removing first)
|
||||
# app-picker-layout = [
|
||||
# ...
|
||||
# ];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -1,12 +1,8 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
dconf.enable = true;
|
||||
|
||||
programs = {
|
||||
firefox.enable = true;
|
||||
vscode.enable = true;
|
||||
};
|
||||
programs.firefox.enable = true;
|
||||
programs.vscode.enable = true;
|
||||
|
||||
home.packages = with pkgs; [
|
||||
bitwarden
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue