shell customization
This commit is contained in:
		
							
								
								
									
										23
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										23
									
								
								flake.lock
									
									
									
										generated
									
									
									
								
							| @@ -21,13 +21,29 @@ | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nix-flatpak": { | ||||
|       "locked": { | ||||
|         "lastModified": 1711997201, | ||||
|         "narHash": "sha256-J71xzQlVYsjagA4AsVwRazhBh2rZrPpKvxTgs6UzL7c=", | ||||
|         "owner": "gmodena", | ||||
|         "repo": "nix-flatpak", | ||||
|         "rev": "b76fa31346db7fc958a9898f3c594696ca71c4fd", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
|         "owner": "gmodena", | ||||
|         "ref": "v0.4.1", | ||||
|         "repo": "nix-flatpak", | ||||
|         "type": "github" | ||||
|       } | ||||
|     }, | ||||
|     "nixpkgs": { | ||||
|       "locked": { | ||||
|         "lastModified": 1724727824, | ||||
|         "narHash": "sha256-0XH9MJk54imJm+RHOLTUJ7e+ponLW00tw5ke4MTVa1Y=", | ||||
|         "lastModified": 1725001927, | ||||
|         "narHash": "sha256-eV+63gK0Mp7ygCR0Oy4yIYSNcum2VQwnZamHxYTNi+M=", | ||||
|         "owner": "nixos", | ||||
|         "repo": "nixpkgs", | ||||
|         "rev": "36bae45077667aff5720e5b3f1a5458f51cf0776", | ||||
|         "rev": "6e99f2a27d600612004fbd2c3282d614bfee6421", | ||||
|         "type": "github" | ||||
|       }, | ||||
|       "original": { | ||||
| @@ -56,6 +72,7 @@ | ||||
|     "root": { | ||||
|       "inputs": { | ||||
|         "home-manager": "home-manager", | ||||
|         "nix-flatpak": "nix-flatpak", | ||||
|         "nixpkgs": "nixpkgs", | ||||
|         "nixpkgs-unstable": "nixpkgs-unstable" | ||||
|       } | ||||
|   | ||||
| @@ -4,16 +4,14 @@ | ||||
|  | ||||
|   services.flatpak.update.auto.enable = false; | ||||
|   services.flatpak.uninstallUnmanaged = false; | ||||
|    | ||||
|   services.flatpak.packages = [ | ||||
|     #{ appId = "com.brave.Browser"; origin = "flathub"; } | ||||
|     com.calibre_ebook.calibre | ||||
|     com.github.flxzt.rnote | ||||
|     com.github.tchx84.Flatseal | ||||
|     com.spotify.Client | ||||
|     io.podman_desktop.PodmanDesktop | ||||
|     org.pipewire.Helvum | ||||
|     #"com.obsproject.Studio" | ||||
|     #"im.riot.Riot" | ||||
|     "com.calibre_ebook.calibre" | ||||
|     "com.github.flxzt.rnote" | ||||
|     "com.github.tchx84.Flatseal" | ||||
|     "com.spotify.Client" | ||||
|     "io.podman_desktop.PodmanDesktop" | ||||
|     "org.pipewire.Helvum" | ||||
|   ]; | ||||
|  | ||||
| } | ||||
| @@ -1,15 +1,114 @@ | ||||
| {pkgs, ...}: | ||||
| with lib.hm.gvariant; | ||||
| { | ||||
|     ## Gnome extensions | ||||
|     programs.gnome-shell = { | ||||
|         enable = true; | ||||
|         extensions = [ | ||||
|             { package = pkgs.gnomeExtensions.dash-to-panel; } | ||||
|             { | ||||
|                 package = pkgs.gnomeExtensions.dash-to-dock; | ||||
|             } | ||||
|             { | ||||
|                 id = "tilingshell@ferrarodomenico.com"; | ||||
|                 package = pkgs.gnome.gnome-shell-extensions; | ||||
|             } | ||||
|  | ||||
|             { | ||||
|                 id = "search-light@icedman.github.com"; | ||||
|                 package = pkgs.gnome.gnome-shell-extensions; | ||||
|             } | ||||
|             { | ||||
|                 package = pkgs.gnomeExtensions.window-gestures; | ||||
|             } | ||||
|             { | ||||
|                 package = pkgs.gnomeExtensions.random-wallpaper; | ||||
|             } | ||||
|         ]; | ||||
|     }; | ||||
|  | ||||
|  | ||||
|     ## And their settings (stored in dconf) | ||||
|     dconf.settings."org/gnome/shell/extensions/tilingshell" = { | ||||
|         inner-gaps = mkUint32 8; | ||||
|         layouts-json = '' | ||||
|             [{"id":"Layout 2","tiles":[{"x":0,"y":0,"width":0.22,"height":1,"groups":[1]},{"x":0.22,"y":0,"width":0.56,"height":1,"groups":[1,2]},{"x":0.78,"y":0,"width":0.22,"height":1,"groups":[2]}]},{"id":"Layout 3","tiles":[{"x":0,"y":0,"width":0.33,"height":1,"groups":[1]},{"x":0.33,"y":0,"width":0.67,"height":1,"groups":[1]}]},{"id":"Layout 4","tiles":[{"x":0,"y":0,"width":0.67,"height":1,"groups":[1]},{"x":0.67,"y":0,"width":0.33,"height":1,"groups":[1]}]},{"id":"2732837","tiles":[{"x":0,"y":0,"width":0.5002604166666667,"height":1,"groups":[1]},{"x":0.5002604166666667,"y":0,"width":0.49973958333333335,"height":1,"groups":[1]}]},{"id":"241562","tiles":[{"x":0,"y":0,"width":0.3328488372093023,"height":1,"groups":[1]},{"x":0.3328488372093023,"y":0,"width":0.33430232558139533,"height":1,"groups":[2,1]},{"x":0.6671511627906976,"y":0,"width":0.3328488372093023,"height":1,"groups":[2]}]}] | ||||
|         ''; | ||||
|         outer-gaps = mkUint32 0; | ||||
|         overridden-settings = '' | ||||
|             {"org.gnome.mutter.keybindings":{"toggle-tiled-right":"['<Super>Right']","toggle-tiled-left":"['<Super>Left']"},"org.gnome.desktop.wm.keybindings":{"maximize":"['<Super>Up']","unmaximize":"['<Super>Down', '<Alt>F5']"},"org.gnome.mutter":{"edge-tiling":"true"}} | ||||
|         ''; | ||||
|         selected-layouts = [ "Layout 4" ]; | ||||
|     }; | ||||
|  | ||||
|  | ||||
|     dconf.settings."org/gnome/shell/extensions/search-light" = { | ||||
|         background-color = mkTuple [ 0.20333333313465118 0.20333333313465118 0.20333333313465118 0.80236488580703735 ]; | ||||
|         blur-background = false; | ||||
|         entry-font-size = 1; | ||||
|         monitor-count = 1; | ||||
|         scale-height = 0.10000000000000001; | ||||
|         scale-width = 0.20000000000000001; | ||||
|         shortcut-search = [ "<Control><Alt>space" ]; | ||||
|         popup-at-cursor-monitor = true; | ||||
|         show-panel-icon = false; | ||||
|     }; | ||||
|  | ||||
|     dconf.settings."org/gnome/shell/extensions/windowgestures" = { | ||||
|         pinch-enable = false; | ||||
|         swipe4-left = 9; | ||||
|         swipe4-right = 8; | ||||
|         swipe4-updown = 0; | ||||
|         three-finger = true; | ||||
|     }; | ||||
|  | ||||
|     dconf.settings."org/gnome/shell/extensions/dash-to-dock" = { | ||||
|         background-opacity = 0.80000000000000004; | ||||
|         custom-theme-shrink = true; | ||||
|         dash-max-icon-size = 40; | ||||
|         dock-position = "BOTTOM"; | ||||
|         height-fraction = 0.90000000000000002; | ||||
|         preview-size-scale = 0.29999999999999999; | ||||
|         show-running = true; | ||||
|         show-trash = false; | ||||
|         show-windows-preview = true; | ||||
|     }; | ||||
|  | ||||
|     dconf.settings."org/gnome/shell/extensions/space-iflow-randomwallpaper" = { | ||||
|         auto-fetch = true; | ||||
|         # TODO: make this user agnostic | ||||
|         favorites-folder = "/home/remy/Pictures/wallpapers"; | ||||
|         hours = 12; | ||||
|         minutes = 0; | ||||
|         sources = [ "1725199048703" "1725199131523" ]; | ||||
|  | ||||
|         backend-connection = { | ||||
|             backend-connection-available = true; | ||||
|             clear-history = false; | ||||
|             open-folder = false; | ||||
|             pause-timer = false; | ||||
|             request-new-wallpaper = false; | ||||
|         }; | ||||
|  | ||||
|         sources = { | ||||
|             general = { | ||||
|                 "1725199048703" = { | ||||
|                     name = "Reddit"; | ||||
|                     type = 2; | ||||
|                 }; | ||||
|                 "1725199131523" = { | ||||
|                     name = "Unsplash"; | ||||
|                 }; | ||||
|             }; | ||||
|             reddit = { | ||||
|                 "1725199048703" = { | ||||
|                     allow-sfw = true; | ||||
|                     subreddits = "wallpaper,wallpapers,minimalwallpaper"; | ||||
|                 }; | ||||
|             }; | ||||
|             unsplash = { | ||||
|                 "1725199131523" = { | ||||
|                     keyword = "minmal"; | ||||
|                 }; | ||||
|             }; | ||||
|         } | ||||
|     }; | ||||
| } | ||||
| @@ -2,10 +2,11 @@ | ||||
| with lib.hm.gvariant; | ||||
| { | ||||
|   imports = [ | ||||
|     #../modules/home-manager/gnome-shell-customization.nix | ||||
|     ../modules/home-manager/fish.nix | ||||
|     ../modules/home-manager/browser.nix | ||||
|     ../modules/home-manager/code.nix | ||||
|     ../modules/home-manager/flatpaks.nix | ||||
|     ../modules/home-manager/gnome-shell-customization.nix | ||||
|   ]; | ||||
|  | ||||
|   ## Home Manager configuration | ||||
| @@ -27,7 +28,7 @@ with lib.hm.gvariant; | ||||
|   }; | ||||
|    | ||||
|  | ||||
|   ## Gnome settings | ||||
|   ## Gnome keyboard and mouse settings | ||||
|   dconf.settings = { | ||||
|     # set the keyboard layout to german | ||||
|     "org/gnome/desktop/input-sources" = { | ||||
| @@ -35,5 +36,20 @@ with lib.hm.gvariant; | ||||
|       sources = [ (mkTuple [ "xkb" "de" ]) (mkTuple [ "xkb" "ch" ]) (mkTuple [ "xkb" "us" ]) ]; | ||||
|       xkb-options = [ "lv3:ralt_switch" ]; | ||||
|     }; | ||||
|  | ||||
|     "org/gnome/desktop/peripherals/keyboard" = { | ||||
|       numlock-state = true; | ||||
|     } | ||||
|  | ||||
|     "org/gnome/desktop/peripherals/mouse" = { | ||||
|       natural-scroll = false; | ||||
|       speed = 0.20851063829787231; | ||||
|     } | ||||
|  | ||||
|     "org/gnome/desktop/peripherals/touchpad" = { | ||||
|       tap-to-click = true; | ||||
|       two-finger-scrolling-enabled = true; | ||||
|       speed = 0.16872427983539096; | ||||
|     } | ||||
|   }; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user