Nix-Vibe public snapshot (squashed history)
Current state of main at 0240060 feat(hp-laptop): install TeleportFling from its flake. History intentionally collapsed to a single commit; this repo mirrors only the latest state.
This commit is contained in:
@@ -0,0 +1,169 @@
|
||||
{ config
|
||||
, pkgs
|
||||
, lib
|
||||
, ...
|
||||
}:
|
||||
|
||||
{
|
||||
dconf.settings = {
|
||||
# Desktop interface settings
|
||||
"org/gnome/desktop/interface" = {
|
||||
color-scheme = "prefer-dark";
|
||||
enable-hot-corners = false;
|
||||
clock-show-weekday = true;
|
||||
show-battery-percentage = true;
|
||||
|
||||
icon-theme = "Papirus-Dark";
|
||||
cursor-theme = "Bibata-Modern-Classic";
|
||||
};
|
||||
|
||||
"org/gnome/desktop/input-sources" = {
|
||||
sources = [
|
||||
(lib.gvariant.mkTuple [
|
||||
"xkb"
|
||||
"gb"
|
||||
])
|
||||
];
|
||||
xkb-options = [ "terminate:ctrl_alt_bksp" ];
|
||||
};
|
||||
|
||||
# Window manager preferences
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
button-layout = "appmenu:minimize,maximize,close";
|
||||
num-workspaces = 4;
|
||||
};
|
||||
|
||||
# Keybindings
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
close = [ "<Super>q" ];
|
||||
switch-to-workspace-1 = [ "<Super>1" ];
|
||||
switch-to-workspace-2 = [ "<Super>2" ];
|
||||
switch-to-workspace-3 = [ "<Super>3" ];
|
||||
switch-to-workspace-4 = [ "<Super>4" ];
|
||||
move-to-workspace-1 = [ "<Super><Shift>1" ];
|
||||
move-to-workspace-2 = [ "<Super><Shift>2" ];
|
||||
move-to-workspace-3 = [ "<Super><Shift>3" ];
|
||||
move-to-workspace-4 = [ "<Super><Shift>4" ];
|
||||
};
|
||||
|
||||
# Shell settings
|
||||
"org/gnome/shell" = {
|
||||
favorite-apps = [
|
||||
"firefox.desktop"
|
||||
"kitty.desktop"
|
||||
"org.gnome.Nautilus.desktop"
|
||||
"thunderbird.desktop"
|
||||
"chromium-browser.desktop"
|
||||
];
|
||||
enabled-extensions = [
|
||||
"user-theme@gnome-shell-extensions.gcampax.github.com"
|
||||
"appindicatorsupport@rgcjonas.gmail.com"
|
||||
"caffeine@patapon.info"
|
||||
"screen-rotate@shyzus.github.io"
|
||||
"gsconnect@andyholmes.github.io"
|
||||
];
|
||||
};
|
||||
|
||||
# Mutter (window manager) settings
|
||||
"org/gnome/mutter" = {
|
||||
dynamic-workspaces = false;
|
||||
edge-tiling = true;
|
||||
workspaces-only-on-primary = true;
|
||||
};
|
||||
|
||||
# File manager (Nautilus) settings
|
||||
"org/gnome/nautilus/preferences" = {
|
||||
default-folder-viewer = "list-view";
|
||||
search-filter-time-type = "last_modified";
|
||||
show-hidden-files = true;
|
||||
};
|
||||
|
||||
# Power settings
|
||||
"org/gnome/settings-daemon/plugins/power" = {
|
||||
sleep-inactive-ac-type = "nothing";
|
||||
sleep-inactive-battery-timeout = 1800;
|
||||
};
|
||||
|
||||
# Privacy settings
|
||||
"org/gnome/desktop/privacy" = {
|
||||
remember-recent-files = true;
|
||||
remove-old-temp-files = true;
|
||||
remove-old-trash-files = true;
|
||||
};
|
||||
|
||||
# Session settings
|
||||
"org/gnome/desktop/session" = {
|
||||
idle-delay = lib.gvariant.mkUint32 900; # 15 minutes
|
||||
};
|
||||
|
||||
# Screensaver settings
|
||||
"org/gnome/desktop/screensaver" = {
|
||||
lock-enabled = true;
|
||||
lock-delay = lib.gvariant.mkUint32 0;
|
||||
};
|
||||
|
||||
# Caffeine extension settings
|
||||
"org/gnome/shell/extensions/caffeine" = {
|
||||
enable-fullscreen = true;
|
||||
restore-state = true;
|
||||
show-indicator = "always";
|
||||
show-notifications = false;
|
||||
};
|
||||
};
|
||||
|
||||
# GNOME-specific packages
|
||||
home.packages = with pkgs; [
|
||||
gnome-tweaks
|
||||
gnomeExtensions.appindicator
|
||||
gnomeExtensions.user-themes
|
||||
gnomeExtensions.caffeine
|
||||
gnomeExtensions.gsconnect
|
||||
dconf-editor
|
||||
catppuccin-gtk
|
||||
papirus-icon-theme
|
||||
bibata-cursors
|
||||
];
|
||||
|
||||
# GTK theme configuration
|
||||
gtk = {
|
||||
enable = true;
|
||||
gtk4.theme = config.gtk.theme;
|
||||
theme = {
|
||||
name = "catppuccin-frappe-blue-standard";
|
||||
package = pkgs.catppuccin-gtk;
|
||||
};
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
cursorTheme = {
|
||||
name = "Bibata-Modern-Classic";
|
||||
package = pkgs.bibata-cursors;
|
||||
};
|
||||
};
|
||||
|
||||
# Home Manager cursor configuration
|
||||
home.pointerCursor = {
|
||||
enable = true;
|
||||
name = "Bibata-Modern-Classic";
|
||||
package = pkgs.bibata-cursors;
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
};
|
||||
|
||||
home.file."Pictures/wallpapers/tokyo-night.png".source = ../../assets/wallpapers/tokyo-night.png;
|
||||
|
||||
# Set initial default wallpaper on first install if user hasn't configured a custom wallpaper yet.
|
||||
# If the user changes their wallpaper via GNOME Settings, dconf read detects it and leaves it untouched across reboots/updates.
|
||||
home.activation.setInitialWallpaper = lib.hm.dag.entryAfter [ "dconf" ] ''
|
||||
WALLPAPER="${config.home.homeDirectory}/Pictures/wallpapers/tokyo-night.png"
|
||||
VAL="$(${pkgs.dconf}/bin/dconf read /org/gnome/desktop/background/picture-uri 2>/dev/null || true)"
|
||||
if [ -z "$VAL" ]; then
|
||||
$DRY_RUN_CMD ${pkgs.dconf}/bin/dconf write /org/gnome/desktop/background/picture-uri "'file://$WALLPAPER'"
|
||||
$DRY_RUN_CMD ${pkgs.dconf}/bin/dconf write /org/gnome/desktop/background/picture-uri-dark "'file://$WALLPAPER'"
|
||||
$DRY_RUN_CMD ${pkgs.dconf}/bin/dconf write /org/gnome/desktop/background/picture-options "'zoom'"
|
||||
$DRY_RUN_CMD ${pkgs.dconf}/bin/dconf write /org/gnome/desktop/screensaver/picture-uri "'file://$WALLPAPER'"
|
||||
$DRY_RUN_CMD ${pkgs.dconf}/bin/dconf write /org/gnome/desktop/screensaver/picture-options "'zoom'"
|
||||
fi
|
||||
'';
|
||||
}
|
||||
Reference in New Issue
Block a user