~ruther/nixos-config

ref: 5b1602c8f5563556f28c67d066d1aee7b46e55e7 nixos-config/modules/desktop/gnome/home.nix -rw-r--r-- 4.7 KiB
5b1602c8 — Frantisek Bohacek chore: update 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
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#
# Gnome Home-Manager Configuration
#
# Dconf settings can be found by running "$ dconf watch /"
#

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

{
  dconf.settings = {
    "org/gnome/shell" = {
      favorite-apps = [
        "Alacritty.desktop"
        "firefox.desktop"
        "emacs.desktop"
        "org.gnome.Nautilus.desktop"
        "discord.desktop"
        "telegram-desktop.desktop"
        "blueman-manager.desktop"
        "pavucontrol.desktop"
      ];
      disable-user-extensions = false;
      enabled-extensions = [
        "paperwm@paperwm.github.com"
        "auto-move-windows@gnome-shell-extensions.gcampax.github.com"
        "launch-new-instance@gnome-shell-extensions.gcampax.github.com"
        "native-window-placement@gnome-shell-extensions.gcampax.github.com"
        "places-menu@gnome-shell-extensions.gcampax.github.com"
        "drive-menu@gnome-shell-extensions.gcampax.github.com"
        "Vitals@CoreCoding.com"
        "clipboard-history@alexsaveau.dev"
        "switcher@landau.fi"
        "fullscreen-avoider@noobsai.github.com"
        "instantworkspaceswitcher@amalantony.net"
      ];
    };

    "org/gnome/desktop/interface" = {
      color-scheme = "prefer-dark";
      enable-hot-corners = false;
      clock-show-weekday = true;
      #gtk-theme = "Adwaita-dark";
    };
    "org/gnome/desktop/privacy" = {
      report-technical-problems = "false";
    };
    "org/gnome/desktop/calendar" = {
      show-weekdate = true;
    };
    "org/gnome/desktop/wm/preferences" = {
      action-right-click-titlebar = "toggle-maximize";
      action-middle-click-titlebar = "minimize";
      resize-with-right-button = true;
      mouse-button-modifier = "<Super>";
      button-layout = ":minimize,close";
      num-workspaces = 9;
    };

    # "org/gnome/shell/keybindings" = builtins.listToAttrs (builtins.map (i: { name = "switch-to-application-${i}"; value = ["@as []"]; }) (builtins.genList (y: y + 1) 9));
    "org/gnome/shell/keybindings" = builtins.listToAttrs (builtins.map (i: { name = "switch-to-application-${builtins.toString i}"; value = ["@as []"]; }) (builtins.genList (y: y + 1) 9));
    "org/gnome/desktop/wm/keybindings" =
      builtins.listToAttrs (builtins.map (i: { name = "switch-to-workspace-${builtins.toString i}"; value = ["<Super>${builtins.toString i}"]; }) (builtins.genList (y: y + 1) 9)) //
      builtins.listToAttrs (builtins.map (i: { name = "move-to-workspace-${builtins.toString i}"; value = ["<Shift><Super>${builtins.toString i}"]; }) (builtins.genList (y: y + 1) 9)) //
      {
      move-to-workspace-left = ["<Super><Shift>a"];
      move-to-workspace-right = ["<Super><Shift>d"];

      close = ["<Super>w" "<Alt>F4"];
      toggle-fullscreen = ["<Super>f"];

      panel-run-dialog = ["@as []"];
    };

    "org/gnome/settings-daemon/plugins/power" = {
      sleep-interactive-ac-type = "nothing";
    };

    "org/gnome/settings-daemon/plugins/media-keys" = {
      custom-keybindings = [
        "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/"
        "/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/"
      ];
    };
    "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
      binding = "<Shift><Super>Return";
      command = "alacritty";
      name = "open-terminal";
    };
    "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1" = {
      binding = "<Super>e";
      command = "emacs-client";
      name = "open-emacs";
    };

    "org/gnome/shell/extensions/paperwm" = {
      restore-workspaces-only-on-primary = false;
      window-gap = 10;
      winprops = [ "{\"wm_class\":\"Spotify\",\"scratch_layer\":true}" ];
    };

    "org/gnome/shell/extensions/paperwm/keybindings" = {
      move-left = ["<Shift><Super>k"];
      move-right = ["<Shift><Super>j"];

      switch-previous = ["<Super>k"];
      switch-next = ["<Super>j"];

      move-monitor-left = ["<Shift><Super>a"];
      move-monitor-below = ["<Shift><Super>s"];
      move-monitor-right = ["<Shift><Super>d"];
      move-monitor-above = ["<Shift><Super>w"];

      swap-monitor-left = ["<Control><Super>a"];
      swap-monitor-below = ["<Control><Super>s"];
      swap-monitor-right = ["<Control><Super>d"];
      swap-monitor-above = ["<Control><Super>w"];

      switch-monitor-left = ["<Super>a"];
      switch-monitor-below = ["<Super>s"];
      switch-monitor-right = ["<Super>d"];
      switch-monitor-above = ["<Super>w"];

      new-window = ["<Super>n"];

      paper-toggle-fullscreen = ["<Shift><Super>f"];

      toggle-maximize-width = ["<Super>f"];

      toggle-scratch = ["<Shift><Super>g"];
      toggle-scratch-layer = ["<Super>g"];
    };

    "org/gnome/shell/extensions/switcher" = {
      show-switcher = ["<Super>semicolon"];
    };
  };

  home.packages = with pkgs; [
  ];
}
Do not follow this link