~ruther/nixos-config

ref: 83a8a9540adf86155220703b70c5fbdc9c6c3def nixos-config/modules/desktop/gnome/default.nix -rw-r--r-- 2.1 KiB
83a8a954 — Frantisek Bohacek feat: some updates 1 year, 3 days ago
                                                                                
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#
# Gnome configuration
#

{ config, lib, pkgs, ... }:

let
  paperwm = pkgs.stdenv.mkDerivation (finalAttrs: rec {
    pname = "gnome-shell-extension-paperwm";
    version = "44.15.1";

    src = pkgs.fetchFromGitHub {
      owner = "paperwm";
      repo = "PaperWM";
      rev = "v${version}";
      hash = "sha256-89tW/3TLx7gvjnQfpfH8fkaxx7duYXRiCi5bkBRm9UU=";
    };

    dontConfigure = true;
    dontBuild = true;

    installPhase = ''
      runHook preInstall

      mkdir -p "$out/share/gnome-shell/extensions/paperwm@paperwm.github.com"
      cp -r . "$out/share/gnome-shell/extensions/paperwm@paperwm.github.com"

      runHook postInstall
    '';

    passthru.extensionUuid = "paperwm@paperwm.github.com";
  });
in {
  programs = {
    zsh.enable = true;
    dconf.enable = true;
    kdeconnect = {                                # For GSConnect
      enable = true;
      package = pkgs.gnomeExtensions.gsconnect;
    };
  };

  services = {
    xserver.desktopManager.gnome.enable = true;
    udev.packages = with pkgs; [
      gnome.gnome-settings-daemon
    ];
  };

  environment = {
    systemPackages = with pkgs; [                 # Packages installed
      gnome.dconf-editor
      gnome.gnome-tweaks
      gnome.adwaita-icon-theme
      gnomeExtensions.fullscreen-avoider
      gnomeExtensions.vitals
      gnomeExtensions.openweather
      gnomeExtensions.clipboard-history
      gnomeExtensions.forge
      gnomeExtensions.switcher
      (gnomeExtensions.disable-workspace-switch-animation-for-gnome-40.overrideAttrs {
        src = pkgs.fetchFromGitHub {
          owner = "tmke8";
          repo = "gnome-shell-extension-instant-workspace-switcher";
          rev = "patch-1";
          hash = "sha256-Ual7kAOeGPe3DF5XHf5eziscYeMLUnDktEGU41Yl4E4=";
        } + "/instantworkspaceswitcher@amalantony.net";
      })

      # paperwm
    ];
    gnome.excludePackages = (with pkgs; [         # Gnome ignored packages
      gnome-tour
    ]) ++ (with pkgs.gnome; [
      pkgs.gedit
      epiphany
      geary
      gnome-characters
      tali
      iagno
      hitori
      atomix
      yelp
      gnome-contacts
      gnome-initial-setup
    ]);
  };
}
Do not follow this link