2022-12-04 13:45:43 +00:00
|
|
|
{
|
|
|
|
tree,
|
|
|
|
nixosConfig,
|
|
|
|
pkgs,
|
|
|
|
inputs,
|
|
|
|
...
|
|
|
|
}: let
|
2022-11-10 14:57:07 +00:00
|
|
|
hm = inputs.home-manager.lib.hm;
|
|
|
|
|
|
|
|
font-sizes-all = {
|
|
|
|
default = {
|
|
|
|
small = "14";
|
|
|
|
medium = "16";
|
|
|
|
};
|
|
|
|
tablet = {
|
|
|
|
small = "8";
|
|
|
|
medium = "10";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2022-12-04 13:45:43 +00:00
|
|
|
font-sizes =
|
|
|
|
if nixosConfig.networking.hostName == "tablet"
|
|
|
|
then font-sizes-all.tablet
|
|
|
|
else font-sizes-all.default;
|
2022-02-23 15:37:02 +00:00
|
|
|
in {
|
2022-12-04 13:45:43 +00:00
|
|
|
imports = with tree; [home.apps.kitty home.apps.rofi];
|
2022-02-23 15:37:02 +00:00
|
|
|
|
2022-12-04 13:45:43 +00:00
|
|
|
home.packages = with pkgs; [dconf2nix gnome.dconf-editor xclip];
|
2022-02-23 15:37:02 +00:00
|
|
|
|
|
|
|
dconf.enable = true;
|
|
|
|
dconf.settings = {
|
2022-12-04 13:45:43 +00:00
|
|
|
"org/gnome/mutter" = {dynamic-workspaces = false;};
|
2022-08-30 13:29:00 +01:00
|
|
|
|
2022-02-23 15:37:02 +00:00
|
|
|
"org/gnome/desktop/interface" = {
|
|
|
|
# Clock at Top Bar
|
2022-08-30 13:29:00 +01:00
|
|
|
#clock-show-seconds = true;
|
2022-02-23 15:37:02 +00:00
|
|
|
clock-show-weekday = true;
|
|
|
|
# Battery Percentage on Top Bar
|
|
|
|
show-battery-percentage = true;
|
2022-11-11 17:29:35 +00:00
|
|
|
clock-format = "12h";
|
2022-02-23 15:37:02 +00:00
|
|
|
|
|
|
|
# Cursor Size (only seems to affect VSCode??)
|
|
|
|
# TODO: Fix This
|
|
|
|
cursor-size = 32;
|
|
|
|
# I hate animations.
|
|
|
|
enable-animations = false;
|
|
|
|
# Handy for when using mouse.
|
|
|
|
enable-hot-corners = true;
|
|
|
|
# Fonts and hinting settings.
|
|
|
|
# TODO: Maybe do this with fontconfig too?
|
|
|
|
font-antialiasing = "rgba";
|
|
|
|
font-hinting = "full";
|
2022-11-10 14:57:07 +00:00
|
|
|
font-name = "Comic Code ${font-sizes.medium}";
|
|
|
|
monospace-font-name = "Comic Code ${font-sizes.small}";
|
2022-11-11 17:28:03 +00:00
|
|
|
color-scheme = "prefer-dark";
|
2022-02-23 15:37:02 +00:00
|
|
|
};
|
|
|
|
"org/gnome/desktop/input-sources" = {
|
|
|
|
# TODO: see if this changes when using gnome wayland?
|
2022-12-04 13:45:43 +00:00
|
|
|
sources = [(hm.gvariant.mkTuple ["xkb" "gb"])];
|
2022-02-23 15:37:02 +00:00
|
|
|
per-window = false;
|
|
|
|
};
|
|
|
|
"org/gnome/desktop/media-handling" = {
|
|
|
|
# growl i hate this until i sometimes dont in which case i love it
|
|
|
|
automount = false;
|
|
|
|
};
|
2022-12-04 13:45:43 +00:00
|
|
|
"org/gnome/desktop/notifications" = {show-in-lockscreen = false;};
|
2022-08-30 13:29:00 +01:00
|
|
|
"org/gnome/desktop/peripherals/mouse" = {
|
2022-02-23 15:37:02 +00:00
|
|
|
# NO!
|
|
|
|
natural-scroll = false;
|
|
|
|
};
|
2022-08-30 13:29:00 +01:00
|
|
|
"org/gnome/desktop/peripherals/touchpad" = {
|
2022-02-23 15:37:02 +00:00
|
|
|
# NO!
|
|
|
|
natural-scroll = false;
|
|
|
|
# YES!
|
|
|
|
two-finger-scrolling-enabled = true;
|
2023-07-28 22:19:06 +01:00
|
|
|
tap-to-click = true;
|
2022-02-23 15:37:02 +00:00
|
|
|
};
|
|
|
|
"org/gnome/desktop/privacy" = {
|
|
|
|
hide-identity = true;
|
|
|
|
old-files-age = 5;
|
|
|
|
recent-files-max-age = 0;
|
|
|
|
remember-app-usage = false;
|
|
|
|
remember-recent-files = false;
|
|
|
|
remove-old-temp-files = true;
|
|
|
|
remove-old-trash-files = true;
|
|
|
|
};
|
2022-11-11 17:28:03 +00:00
|
|
|
# use location services to set time
|
2022-12-04 13:45:43 +00:00
|
|
|
"org/gnome/system/location" = {enabled = true;};
|
|
|
|
"org/gnome/desktop/datetime" = {automatic-timezone = true;};
|
2022-02-23 15:37:02 +00:00
|
|
|
"org/gnome/desktop/wm/keybindings" = {
|
|
|
|
# mostly just i3wm stock keybinds
|
2022-12-04 13:45:43 +00:00
|
|
|
close = ["<Shift><Alt>q"];
|
|
|
|
maximize = ["<Shift><Alt>f"];
|
|
|
|
toggle-fullscreen = ["<Alt>f"];
|
2022-02-23 15:37:02 +00:00
|
|
|
|
|
|
|
# Workspace Switch
|
2022-12-04 13:45:43 +00:00
|
|
|
switch-to-workspace-1 = ["<Alt>1"];
|
|
|
|
switch-to-workspace-2 = ["<Alt>2"];
|
|
|
|
switch-to-workspace-3 = ["<Alt>3"];
|
|
|
|
switch-to-workspace-4 = ["<Alt>4"];
|
|
|
|
switch-to-workspace-5 = ["<Alt>5"];
|
|
|
|
switch-to-workspace-6 = ["<Alt>6"];
|
|
|
|
switch-to-workspace-7 = ["<Alt>7"];
|
|
|
|
switch-to-workspace-8 = ["<Alt>8"];
|
|
|
|
switch-to-workspace-9 = ["<Alt>9"];
|
2022-02-23 15:37:02 +00:00
|
|
|
|
|
|
|
# Workspace Move Window
|
|
|
|
# TODO: Hardcoded for UK keyboards
|
2022-12-04 13:45:43 +00:00
|
|
|
move-to-workspace-1 = ["<Shift><Alt>exclam"];
|
|
|
|
move-to-workspace-2 = ["<Shift><Alt>quotedbl"];
|
|
|
|
move-to-workspace-3 = ["<Shift><Alt>sterling"];
|
|
|
|
move-to-workspace-4 = ["<Shift><Alt>dollar"];
|
|
|
|
move-to-workspace-5 = ["<Shift><Alt>percent"];
|
|
|
|
move-to-workspace-6 = ["<Shift><Alt>asciicircum"];
|
|
|
|
move-to-workspace-7 = ["<Shift><Alt>ampersand"];
|
|
|
|
move-to-workspace-8 = ["<Shift><Alt>asterisk"];
|
|
|
|
move-to-workspace-9 = ["<Shift><Alt>parenleft"];
|
2022-02-23 15:37:02 +00:00
|
|
|
};
|
|
|
|
"org/gnome/desktop/wm/preferences" = {
|
|
|
|
num-workspaces = 9;
|
2022-11-10 14:57:07 +00:00
|
|
|
titlebar-font = "Comic Code Medium ${font-sizes.small}";
|
2022-02-23 15:37:02 +00:00
|
|
|
titlebar-uses-system-font = true;
|
|
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys" = {
|
2022-12-04 13:45:43 +00:00
|
|
|
area-screenshot = [];
|
|
|
|
area-screenshot-clip = ["<Shift>Print"];
|
|
|
|
screenshot = [];
|
|
|
|
screenshot-clip = ["Print"];
|
2022-08-30 13:29:00 +01:00
|
|
|
custom-keybindings = [
|
2022-02-23 15:37:02 +00:00
|
|
|
# Rofi & Kitty
|
|
|
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi/"
|
|
|
|
"/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/kitty/"
|
|
|
|
];
|
|
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/rofi" = {
|
|
|
|
binding = "<Alt>d";
|
|
|
|
command = "rofi -show run";
|
|
|
|
name = "rofi";
|
|
|
|
};
|
|
|
|
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/kitty" = {
|
|
|
|
binding = "<Alt>Return";
|
|
|
|
command = "kitty";
|
|
|
|
name = "kitty";
|
|
|
|
};
|
|
|
|
"org/gnome/shell" = {
|
2022-12-04 13:45:43 +00:00
|
|
|
enabled-extensions = ["just-perfection-desktop@just-perfection"];
|
2022-02-23 15:37:02 +00:00
|
|
|
};
|
|
|
|
"org/gnome/shell/extensions/just-perfection" = {
|
|
|
|
activities-button = true;
|
|
|
|
animation = 0;
|
|
|
|
dash = false;
|
|
|
|
dash-icon-size = 0;
|
|
|
|
panel = true;
|
|
|
|
panel-in-overview = true;
|
|
|
|
search = false;
|
|
|
|
show-apps-button = true;
|
2022-07-27 16:47:49 +01:00
|
|
|
show-prefs-intro = false;
|
2022-02-23 15:37:02 +00:00
|
|
|
theme = false;
|
|
|
|
workspace = true;
|
|
|
|
workspace-popup = false;
|
|
|
|
workspace-switcher-should-show = false;
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|