summaryrefslogtreecommitdiff
path: root/hosts/local/gnome.nix
blob: 63243f38d59b7eda52a82017feccfabb276bd0be (plain)
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
# Edit this configuration file to define what should be installed on
# your system.  Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running ‘nixos-help’).
{
  config,
  pkgs,
  ...
}: {
  # Enable the X11 windowing system.
  services.xserver.enable = true;

  # Enable the GNOME Desktop Environment.
  services.xserver.displayManager.gdm.enable = true;
  services.xserver.desktopManager.gnome.enable = true;

  # Configure keymap in X11
  services.xserver = {
    xkb.layout = "us";
    xkb.variant = "";
  };
  # japanese input

  i18n = {
    inputMethod = {
      type = "fcitx5";
      fcitx5.addons = with pkgs; [fcitx5-mozc];
    };
  };

  environment.sessionVariables = {
    GTK_IM_MODULE = "fcitx";
    QT_IM_MODULE = "fcitx";
    XMODIFIERS = "@im=fcitx";
  };

  environment.systemPackages = with pkgs; [
    # screenshots
    flameshot
    shutter
  ];
  services.flatpak.enable = true;
  # Enable CUPS to print documents.
  services.printing.enable = false;

  # Enable sound with pipewire.
  hardware.pulseaudio.enable = false;
  security.rtkit.enable = true;
  services.pipewire = {
    enable = true;
    alsa.enable = true;
    alsa.support32Bit = true;
    pulse.enable = true;
    # If you want to use JACK applications, uncomment this
    #jack.enable = true;

    # use the example session manager (no others are packaged yet so this is enabled by default,
    # no need to redefine it in your config for now)
    #media-session.enable = true;
  };

  fonts = {
    enableDefaultPackages = true;
    fontconfig = {
      defaultFonts.emoji = ["Noto Color Emoji"];
      defaultFonts.monospace = ["Hack" "Sarasa Mono SC"];
      defaultFonts.sansSerif = ["DejaVu Sans"];
      defaultFonts.serif = ["DejaVu Serif" "Source Han Serif SC"];
    };
    packages = with pkgs; [
      #   fira-code
      #   fira
      #   cooper-hewitt
      #   ibm-plex
      #   jetbrains-mono
      #   iosevka
      #   spleen
      #   fira-code-symbols
      #   powerline-fonts
      #   nerdfonts
      #   arphic-ukai
      #   arphic-uming
      #   dejavu_fonts
      #   font-awesome
      #   inconsolata # monospaced
      noto-fonts
      noto-fonts-cjk-sans
      noto-fonts-emoji
      noto-fonts-extra
      #   powerline-fonts
      source-han-sans-japanese
      #   source-han-sans-korean
      #   source-han-sans-simplified-chinese
      #   source-han-sans-traditional-chinese
      #   source-sans-pro
      #   ubuntu_font_family
      #   wqy_microhei
      #   wqy_zenhei
    ];
  };
}