{ pkgs, lib, ... }: let apl-entry = with lib.hm.gvariant; name: (position: (mkDictionaryEntry[name (mkVariant [ (mkDictionaryEntry["position" (mkVariant position)]) ])]) ); in { # Git configuration. programs.git.settings = { user.name = "Ulysse Cura"; user.email = "ulysse.cura@gmail.com"; init.defaultBranch = "main"; }; # Gnome extensions. home.packages = with pkgs.gnomeExtensions; [ tophat logo-menu custom-command-toggle just-perfection launch-new-instance keep-pinned-apps-in-appgrid desktop-cube gtile blur-my-shell dynamic-music-pill ]; # Gnome settings. dconf.enable = true; dconf.settings = { # Interface configuration. "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; enable-hot-corners = false; }; # Session parameters "org/gnome/desktop/session" = { save-restore = false; }; # App in folders and dock. "org/gnome/desktop/app-folders" = { folder-children = [ "System" "Utilities" "AudioVideo" "Games" "Programming" "Kicad" ]; }; "org/gnome/desktop/app-folders/folders/System" = { name = "Système"; apps = [ "org.gnome.Settings.desktop" "nvidia-settings.desktop" "gparted.desktop" "org.gnome.SystemMonitor.desktop" "org.gnome.baobab.desktop" "org.gnome.Logs.desktop" "ca.desrt.dconf-editor.desktop" "org.gnome.DiskUtility.desktop" "com.github.tchx84.Flatseal.desktop" ]; }; "org/gnome/desktop/app-folders/folders/Utilities" = { name = "Utilitaires"; apps = [ "org.gnome.Calendar.desktop" "org.gnome.Papers.desktop" "org.gnome.Weather.desktop" "org.gnome.Connections.desktop" "org.gnome.SimpleScan.desktop" "org.gnome.Maps.desktop" "org.gnome.Geary.desktop" "org.gnome.Contacts.desktop" "org.gnome.Extensions.desktop" "htop.desktop" "org.gnome.font-viewer.desktop" "org.gnome.clocks.desktop" "org.gnome.Characters.desktop" "cups.desktop" "org.gnome.seahorse.Application.desktop" "scrcpy.desktop" "scrcpy-console.desktop" ]; }; "org/gnome/desktop/app-folders/folders/AudioVideo" = { name = "Son et vidéo"; apps = [ "org.gnome.Loupe.desktop" "org.gnome.Showtime.desktop" "org.gnome.Decibels.desktop" "com.obsproject.Studio.desktop" ]; }; "org/gnome/desktop/app-folders/folders/Games" = { name = "Jeux"; apps = [ "steam.desktop" "org.prismlauncher.PrismLauncher.desktop" "moe.launcher.the-honkers-railway-launcher.desktop" "Counter-Strike 2.desktop" ]; }; "org/gnome/desktop/app-folders/folders/Programming" = { name = "Programmation"; apps = [ "code.desktop" "com.jetpackduba.Gitnuro.desktop" ]; }; "org/gnome/desktop/app-folders/folders/Kicad" = { name = "Kicad"; apps = [ "org.kicad.kicad.desktop" "org.kicad.eeschema.desktop" "org.kicad.pcbnew.desktop" "org.kicad.bitmap2component.desktop" "org.kicad.pcbcalculator.desktop" "org.kicad.gerbview.desktop" ]; }; "org/gnome/shell" = { always-show-log-out = true; app-picker-layout = [ [ (apl-entry "System" 0) (apl-entry "Utilities" 1) (apl-entry "AudioVideo" 2) (apl-entry "Games" 3) (apl-entry "org.gnome.Calculator.desktop" 4) (apl-entry "org.gnome.TextEditor.desktop" 5) (apl-entry "org.gnome.Nautilus.desktop" 6) (apl-entry "nixos-manual.desktop" 7) (apl-entry "Programming" 8) (apl-entry "Kicad" 9) (apl-entry "firefox.desktop" 10) (apl-entry "element-desktop.desktop" 11) (apl-entry "discord.desktop" 12) (apl-entry "io.bassi.Amberol.desktop" 13) (apl-entry "org.gnome.Console.desktop" 14) (apl-entry "code.desktop" 15) ] ]; }; "org/gnome/shell" = { favorite-apps = [ "firefox.desktop" "org.gnome.Nautilus.desktop" "org.gnome.Console.desktop" "element-desktop.desktop" "discord.desktop" "io.bassi.Amberol.desktop" "org.prismlauncher.PrismLauncher.desktop" "steam.desktop" "code.desktop" "com.jetpackduba.Gitnuro.desktop" ]; }; # Peripherals "org/gnome/desktop/peripherals/mouse" = { accel-profile = "flat"; }; "org/gnome/desktop/peripherals/keyboard" = { numlock-state = true; }; # Extensions "org/gnome/shell" = { disable-user-extensions = false; enabled-extensions = with pkgs.gnomeExtensions; [ tophat.extensionUuid logo-menu.extensionUuid custom-command-toggle.extensionUuid just-perfection.extensionUuid launch-new-instance.extensionUuid keep-pinned-apps-in-appgrid.extensionUuid desktop-cube.extensionUuid gtile.extensionUuid blur-my-shell.extensionUuid dynamic-music-pill.extensionUuid "openbar@neuromorph" ]; }; "org/gnome/shell/extensions/tophat" = { position-in-panel = "center"; cpu-display = "both"; cpu-sort-cores = false; mem-abs-units = true; mem-display = "numeric"; show-fs = false; show-net = false; }; "org/gnome/shell/extensions/openbar" = { apply-accent-shell = true; apply-all-shell = true; apply-flatpak = true; apply-gtk = true; apply-menu-notif = true; apply-menu-shell = true; auto-bgalpha = false; autofg-bar = false; autofg-menu = false; autohg-bar = true; autohg-menu = true; autotheme-dark = "Dark"; }; }; home.stateVersion = "25.11"; }