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.
|
# dconf is the configuration manager for GNOME.
|
||||||
|
|
||||||
# home-manager, in its infinite wisdom, sets `dconf.enable` to true by default.
|
let
|
||||||
# This is a problem because we don't want it to attempt to apply our settings on
|
isGnome = osConfig.services.xserver.desktopManager.gnome.enable;
|
||||||
# a system that doesn't actually have GNOME installed. So, we override the
|
in
|
||||||
# default to false.
|
{
|
||||||
|
dconf.enable = isGnome;
|
||||||
|
|
||||||
let inherit (lib) mkDefault;
|
dconf.settings = {
|
||||||
in {
|
"org/gnome/settings-daemon/plugins/color".night-light-enabled = true;
|
||||||
dconf.enable = mkDefault false;
|
"org/gnome/desktop/sound".event-sounds = false;
|
||||||
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
# TODO: nix-ify other parts of GNOME config
|
./desktop.nix
|
||||||
./appearance.nix
|
|
||||||
./keyboard.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, ... }:
|
# { config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
dconf = {
|
dconf.settings = {
|
||||||
settings = {
|
"org/gnome/desktop/wm/keybindings" = {
|
||||||
"org/gnome/desktop/wm/keybindings" = {
|
# These are largely useless on most normal systems
|
||||||
# These are largely useless on most normal systems
|
# and conflict with VS Code's default keybinds for "Copy Line Up/Down"
|
||||||
# and conflict with VS Code's default keybinds for "Copy Line Up/Down"
|
move-to-workspace-up = [ ];
|
||||||
move-to-workspace-up = [ ];
|
move-to-workspace-down = [ ];
|
||||||
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, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
dconf.enable = true;
|
programs.firefox.enable = true;
|
||||||
|
programs.vscode.enable = true;
|
||||||
programs = {
|
|
||||||
firefox.enable = true;
|
|
||||||
vscode.enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
home.packages = with pkgs; [
|
home.packages = with pkgs; [
|
||||||
bitwarden
|
bitwarden
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue