From fdb7a3d1e4746bc937e2928dd08edb4dee4d3971 Mon Sep 17 00:00:00 2001 From: dixxe Date: Wed, 15 Jan 2025 22:31:14 +0300 Subject: [PATCH] gnome switch --- flake.lock | 48 +++++++++---------- flake.nix | 14 ++++-- .../modules/desktop-managers/gnomeModule.nix | 15 ++++++ home-manager/modules/stylix.nix | 6 +-- home-manager/your-modules.nix | 1 + home-manager/your-packages.nix | 3 +- nixos/modules/desktop-enviroments/gnome.nix | 44 ++++++++++++++++- nixos/modules/pipewire.nix | 2 +- nixos/system-packages.nix | 1 - nixos/user_modules.nix | 6 +-- 10 files changed, 99 insertions(+), 41 deletions(-) create mode 100644 home-manager/modules/desktop-managers/gnomeModule.nix diff --git a/flake.lock b/flake.lock index 8b8690a..f22e6df 100644 --- a/flake.lock +++ b/flake.lock @@ -352,11 +352,11 @@ ] }, "locked": { - "lastModified": 1736354372, - "narHash": "sha256-etLMa2BWCXWhG8WKyjsylvu+uskpJ4dQ+K8N0wEr5vc=", + "lastModified": 1736785676, + "narHash": "sha256-TY0jUwR3EW0fnS0X5wXMAVy6h4Z7Y6a3m+Yq++C9AyE=", "owner": "nix-community", "repo": "home-manager", - "rev": "54b330ac067e74314f8ca6b38af6fcfbd17f3e9e", + "rev": "fc52a210b60f2f52c74eac41a8647c1573d2071d", "type": "github" }, "original": { @@ -373,11 +373,11 @@ ] }, "locked": { - "lastModified": 1736089250, - "narHash": "sha256-/LPWMiiJGPHGd7ZYEgmbE2da4zvBW0acmshUjYC3WG4=", + "lastModified": 1736508663, + "narHash": "sha256-ZOaGwa+WnB7Zn3YXimqjmIugAnHePdXCmNu+AHkq808=", "owner": "nix-community", "repo": "home-manager", - "rev": "172b91bfb2b7f5c4a8c6ceac29fd53a01ef07196", + "rev": "2532b500c3ed2b8940e831039dcec5a5ea093afc", "type": "github" }, "original": { @@ -443,11 +443,11 @@ ] }, "locked": { - "lastModified": 1736085891, - "narHash": "sha256-bTl9fcUo767VaSx4Q5kFhwiDpFQhBKna7lNbGsqCQiA=", + "lastModified": 1736370755, + "narHash": "sha256-iWcjToBpx4PUd74uqvIGAfqqVfyrvRLRauC/SxEKIF0=", "owner": "lnl7", "repo": "nix-darwin", - "rev": "ba9b3173b0f642ada42b78fb9dfc37ca82266f6c", + "rev": "57733bd1dc81900e13438e5b4439239f1b29db0e", "type": "github" }, "original": { @@ -458,11 +458,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1736241350, - "narHash": "sha256-CHd7yhaDigUuJyDeX0SADbTM9FXfiWaeNyY34FL1wQU=", + "lastModified": 1736881310, + "narHash": "sha256-5BlVeikKoJVrUXBdr1kSrcRQ8o20Kl+ZU2pEzpE5sUw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "8c9fd3e564728e90829ee7dbac6edc972971cd0f", + "rev": "733994ea06585b76621073160e87b0bfac7fc5ae", "type": "github" }, "original": { @@ -474,11 +474,11 @@ }, "nixpkgs_2": { "locked": { - "lastModified": 1736012469, - "narHash": "sha256-/qlNWm/IEVVH7GfgAIyP6EsVZI6zjAx1cV5zNyrs+rI=", + "lastModified": 1736798957, + "narHash": "sha256-qwpCtZhSsSNQtK4xYGzMiyEDhkNzOCz/Vfu4oL2ETsQ=", "owner": "nixos", "repo": "nixpkgs", - "rev": "8f3e1f807051e32d8c95cd12b9b421623850a34d", + "rev": "9abb87b552b7f55ac8916b6fc9e5cb486656a2f3", "type": "github" }, "original": { @@ -519,11 +519,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1736292108, - "narHash": "sha256-0mGe0okcNDKp0A9lS/birSP0Z5oheqgrXzQeolHM9U8=", + "lastModified": 1736961674, + "narHash": "sha256-nuOFHtSUHYsb6PHueFF9KPLS8v+Wi+wGCXZCI+J54QI=", "owner": "nix-community", "repo": "nixvim", - "rev": "0ebc64a2328fc0a0532f9544eb6c6e297135962e", + "rev": "54e6dbd8c83586d9553f61c21fa639b500e51f93", "type": "github" }, "original": { @@ -584,11 +584,11 @@ "tinted-zed": "tinted-zed" }, "locked": { - "lastModified": 1736300059, - "narHash": "sha256-z3mR+0gBN/iVM8UgfCSIxjgw4jm1bu1kjMKyQx9mGBc=", + "lastModified": 1736955291, + "narHash": "sha256-h5y11C4vMi8VoIVeHr/xFJO5N1nWKiKoAILPPUl7P/8=", "owner": "danth", "repo": "stylix", - "rev": "168306ce7f5d823ccee8b7d4e112ea20671c2b8f", + "rev": "2985ee9b2836a725b04628d24f934212b96eacbe", "type": "github" }, "original": { @@ -701,11 +701,11 @@ ] }, "locked": { - "lastModified": 1736115332, - "narHash": "sha256-FBG9d7e0BTFfxVdw4b5EmNll2Mv7hfRc54hbB4LrKko=", + "lastModified": 1736154270, + "narHash": "sha256-p2r8xhQZ3TYIEKBoiEhllKWQqWNJNoT9v64Vmg4q8Zw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "1788ca5acd4b542b923d4757d4cfe4183cc6a92d", + "rev": "13c913f5deb3a5c08bb810efd89dc8cb24dd968b", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index afa05e3..f569dc0 100644 --- a/flake.nix +++ b/flake.nix @@ -2,19 +2,23 @@ description = "Ficache's system flake"; inputs = { + nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable"; + envycontrol.url = "github:bayasdev/envycontrol"; + stylix.url = "github:danth/stylix"; - home-manager = { - url = "github:nix-community/home-manager"; - inputs.nixpkgs.follows = "nixpkgs"; - }; + home-manager = { + url = "github:nix-community/home-manager"; + inputs.nixpkgs.follows = "nixpkgs"; + }; - nixvim = { + nixvim = { url = "github:nix-community/nixvim"; inputs.nixpkgs.follows = "nixpkgs"; }; + }; outputs = { self, nixpkgs, home-manager, ... }@inputs: diff --git a/home-manager/modules/desktop-managers/gnomeModule.nix b/home-manager/modules/desktop-managers/gnomeModule.nix new file mode 100644 index 0000000..07e1bca --- /dev/null +++ b/home-manager/modules/desktop-managers/gnomeModule.nix @@ -0,0 +1,15 @@ +{pkgs, ...}: +{ + dconf = { + enable = true; + settings."org/gnome/shell" = { + disable-user-extensions = false; + enabled-extensions = with pkgs.gnomeExtensions; [ + appindicator.extensionUuid + vitals.extensionUuid + dash-to-dock.extensionUuid + media-controls.extensionUuid + ]; + }; + }; +} \ No newline at end of file diff --git a/home-manager/modules/stylix.nix b/home-manager/modules/stylix.nix index fe826e8..ca9e06b 100644 --- a/home-manager/modules/stylix.nix +++ b/home-manager/modules/stylix.nix @@ -1,9 +1,7 @@ { pkgs, ... }: { - home.packages = [ pkgs.dconf ]; - - stylix = { + stylix = { enable = true; base16Scheme = "${pkgs.base16-schemes}/share/themes/eighties.yaml"; @@ -21,5 +19,5 @@ terminal = 0.9; }; - }; + }; } diff --git a/home-manager/your-modules.nix b/home-manager/your-modules.nix index a3f5bb8..9256c20 100644 --- a/home-manager/your-modules.nix +++ b/home-manager/your-modules.nix @@ -6,5 +6,6 @@ ./modules/syncthing.nix ./modules/helix.nix ./modules/vscodium.nix + ./modules/desktop-managers/gnomeModule.nix ]; } diff --git a/home-manager/your-packages.nix b/home-manager/your-packages.nix index 515586e..2ea5185 100644 --- a/home-manager/your-packages.nix +++ b/home-manager/your-packages.nix @@ -6,12 +6,13 @@ joplin-desktop alacritty vlc + gnome-tweaks # Social stuff telegram-desktop vesktop - firefox + librewolf qbittorrent libreoffice diff --git a/nixos/modules/desktop-enviroments/gnome.nix b/nixos/modules/desktop-enviroments/gnome.nix index fdad49a..9f7ad02 100644 --- a/nixos/modules/desktop-enviroments/gnome.nix +++ b/nixos/modules/desktop-enviroments/gnome.nix @@ -1,16 +1,56 @@ -{ ... }: +{ pkgs, lib, ... }: { services = { libinput.enable = true; displayManager.defaultSession = "gnome"; + power-profiles-daemon.enable = false; }; - services.xserver = { + services.xserver = { enable = true; displayManager.gdm.enable = true; desktopManager = { gnome.enable = true; }; }; + + # Extensions are managed in gnomeModule.nix + + services.gnome.gnome-settings-daemon.enable = true; + + environment.gnome.excludePackages = (with pkgs; [ + atomix # puzzle game + cheese # webcam tool + epiphany # web browser + evince # document viewer + geary # email reader + gedit # text editor + gnome-characters + gnome-music + gnome-photos + gnome-terminal + gnome-tour + hitori # sudoku game + iagno # go game + tali # poker game + totem # video player + ]); + + nixpkgs.overlays = [ + # GNOME 46: triple-buffering-v4-46 + (final: prev: { + gnome = prev.gnome.overrideScope (gnomeFinal: gnomePrev: { + mutter = gnomePrev.mutter.overrideAttrs (old: { + src = pkgs.fetchFromGitLab { + domain = "gitlab.gnome.org"; + owner = "vanvugt"; + repo = "mutter"; + rev = "triple-buffering-v4-46"; + hash = "sha256-fkPjB/5DPBX06t7yj0Rb3UEuu5b9mu3aS+jhH18+lpI="; + }; + }); + }); + }) + ]; } \ No newline at end of file diff --git a/nixos/modules/pipewire.nix b/nixos/modules/pipewire.nix index 6973aba..65ac7f7 100644 --- a/nixos/modules/pipewire.nix +++ b/nixos/modules/pipewire.nix @@ -1,5 +1,5 @@ { - hardware.pulseaudio.enable = false; + services.pulseaudio.enable = false; security.rtkit.enable = true; services.pipewire = { enable = true; diff --git a/nixos/system-packages.nix b/nixos/system-packages.nix index 6ed0f77..e0a815d 100644 --- a/nixos/system-packages.nix +++ b/nixos/system-packages.nix @@ -6,7 +6,6 @@ environment.systemPackages = with pkgs; [ inputs.envycontrol.packages.x86_64-linux.default - pciutils home-manager nh ]; diff --git a/nixos/user_modules.nix b/nixos/user_modules.nix index 3eb2eef..80aa1b5 100644 --- a/nixos/user_modules.nix +++ b/nixos/user_modules.nix @@ -5,12 +5,12 @@ ./modules/auto-cpufreq.nix ./modules/zapret.nix #./modules/virtualbox.nix - ./modules/postgresql.nix - ./modules/nix-ld.nix + #./modules/postgresql.nix + #./modules/nix-ld.nix ./modules/zerotierone.nix ./modules/hardware/nvidia.nix ./modules/hardware/battery-threshold.nix - ./modules/desktop-enviroments/plasma6.nix + ./modules/desktop-enviroments/gnome.nix ]; }