From e43362f69aaab2aafbe9d1ba1ffc9980dfa6951e Mon Sep 17 00:00:00 2001 From: Lyes Saadi Date: Mon, 4 Aug 2025 12:50:23 +0100 Subject: [PATCH] Nixifying gnome config --- flake.lock | 18 +++--- users/lyes/desktop/dconf.nix | 119 +++++++++++++++++++++++++++++++++++ users/lyes/desktop/home.nix | 23 ++++++- 3 files changed, 150 insertions(+), 10 deletions(-) create mode 100644 users/lyes/desktop/dconf.nix diff --git a/flake.lock b/flake.lock index daf48ed..563a7b1 100644 --- a/flake.lock +++ b/flake.lock @@ -93,11 +93,11 @@ ] }, "locked": { - "lastModified": 1754168537, - "narHash": "sha256-Q3OyUdFef0Rohs9GeK6rnhEeSxrDWic+GELC5NomAVU=", + "lastModified": 1754225444, + "narHash": "sha256-mv01SQtqlhBMavc1dgNjgqJw4WfZxy+w3xBgwJU3YmU=", "owner": "nix-community", "repo": "home-manager", - "rev": "d492e3c3811ebd0e67bad5145c618b108cf84a4f", + "rev": "0de18bd5c6681280d7ae017fa34ffd91bdcf0557", "type": "github" }, "original": { @@ -146,11 +146,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1753122741, - "narHash": "sha256-nFxE8lk9JvGelxClCmwuJYftbHqwnc01dRN4DVLUroM=", + "lastModified": 1754229794, + "narHash": "sha256-yOl7REX6O/1mh+tpscJPKgjK6nmXSMOB1xhmDNAMUZM=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "cc66fddc6cb04ab479a1bb062f4d4da27c936a22", + "rev": "a872d985392ee5b19d8409bfcc3f106de2070070", "type": "github" }, "original": { @@ -258,11 +258,11 @@ "nixpkgs": "nixpkgs_2" }, "locked": { - "lastModified": 1754138446, - "narHash": "sha256-dv9H6HK/yGHYgmixBlyQxgSVyMQvKxJx/hDhngqGkvY=", + "lastModified": 1754193284, + "narHash": "sha256-ZGLXnpXy7vcTDLC1yLQSJOclsilvK+RNFVVEeO0ei/0=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "c451de612fa40c25d7f0532f8550a6f99dedf6e2", + "rev": "ac2b25e76f5bfe1e30ae39409dfa450c5c1bc945", "type": "github" }, "original": { diff --git a/users/lyes/desktop/dconf.nix b/users/lyes/desktop/dconf.nix new file mode 100644 index 0000000..48997fe --- /dev/null +++ b/users/lyes/desktop/dconf.nix @@ -0,0 +1,119 @@ +{ pkgs, lib, ... }: + +with lib.hm.gvariant; + +let + extensions = with pkgs.gnomeExtensions; [ + appindicator + dash-to-panel + caffeine + blur-my-shell + vitals + gsconnect + weather-oclock + ]; +in +{ + dconf.settings = { + # Gnome Settings + + ## Appearance + "org/gnome/desktop/interface" = { + accent-color = "purple"; + clock-format = "24h"; + clock-show-seconds = true; + clock-show-weekday = true; + color-scheme = "prefer-dark"; + document-font-name = "Adwaita Sans 11"; + font-antialiasing = "grayscale"; + font-hinting = "slight"; + font-name = "Adwaita Sans 11"; + gtk-theme = "adw-gtk3-dark"; + monospace-font-name = "JetBrainsMonoNL Nerd Font Propo 10"; + show-battery-percentage = true; + toolkit-accessibility = false; + }; + + "org/gnome/desktop/background" = { + color-shading-type = "solid"; + picture-options = "zoom"; + picture-uri = "file:///home/lyes/.config/background"; + picture-uri-dark = "file:///home/lyes/.config/background"; + }; + + ## Behaviour + "org/gnome/mutter" = { + dynamic-workspaces = true; + edge-tiling = true; + experimental-features = [ "scale-monitor-framebuffer" "xwayland-native-scaling" ]; + }; + + ## Energy + "org/gnome/desktop/session" = { + idle-delay = mkUint32 600; + }; + + ## Privacy + "org/gnome/desktop/privacy" = { + remove-old-temp-files = true; + remove-old-trash-files = true; + }; + + "org/gnome/system/location" = { + enabled = true; + }; + + ## Inputs + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = { + binding = "Return"; + command = "kgx"; + name = "Terminal"; + }; + + "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = { + binding = "n"; + command = "nautilus -w"; + name = "Nautilus"; + }; + + "org/gnome/desktop/peripherals/touchpad" = { + click-method = "areas"; + disable-while-typing = false; + speed = 0.0; + two-finger-scrolling-enabled = true; + }; + + ## Shell & Extensions + "org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = map (x: x.extensionUuid) extensions; + favorite-apps = [ "zen-beta.desktop" "thunderbird.desktop" "vesktop.desktop" "element-desktop.desktop" "org.signal.Signal.desktop" "com.github.xeco23.WasIstLos.desktop" "org.gnome.Nautilus.desktop" ]; + last-selected-power-profile = "power-saver"; + remember-mount-password = true; + }; + + ## Extensions settings + "org/gnome/shell/extensions/caffeine" = { + show-notifications = false; + }; + + "org/gnome/shell/extensions/vitals" = { + hot-sensors = [ "_processor_usage_" "_memory_usage_" "_memory_swap_usage_" "__temperature_max__" "__temperature_avg__" ]; + include-static-gpu-info = true; + show-gpu = true; + }; + + ## Gnome Apps + "org/gnome/shell/weather" = { + automatic-location = true; + }; + + "org/gnome/desktop/calendar" = { + show-weekdate = true; + }; + + "org/gnome/tweaks" = { + show-extensions-notice = false; + }; + }; +} diff --git a/users/lyes/desktop/home.nix b/users/lyes/desktop/home.nix index 1be0255..97d820a 100644 --- a/users/lyes/desktop/home.nix +++ b/users/lyes/desktop/home.nix @@ -1,9 +1,30 @@ -{ ... }: +{ pkgs, ... }: +let + extensions = with pkgs.gnomeExtensions; [ + appindicator + dash-to-panel + caffeine + blur-my-shell + vitals + gsconnect + weather-oclock + ]; +in { # Should activate that and translate things # xdg.userDirs.enable = true; + imports = [ + ./dconf.nix + ]; + + programs.gnome-shell = { + enable = true; + extensions = map (x: { id = x.extensionUuid; package = x; }) extensions; + }; + + # MPD services.mpd = { enable = true; musicDirectory = /home/lyes/Musique/MPD;