summaryrefslogtreecommitdiff
path: root/users/common.nix
blob: 9896be695d9034deea5173b8d72d2a02d43f93b0 (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
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
141
142
143
144
145
146
147
148
149
150
151
{
  pkgs,
  config,
  ...
}:
let
  mikuCursor = pkgs.stdenv.mkDerivation {
    pname = "miku-cursor";
    version = "1.0";
    src = pkgs.fetchgit {
      url = "https://github.com/supermariofps/hatsune-miku-windows-linux-cursors.git";
      rev = "471ff88";
      hash = "sha256-HCHo4GwWLvjjnKWNiHb156Z+NQqliqLX1T1qNxMEMfE=";
    };
    unpackPhase = "true";

    installPhase = ''
      mkdir -p $out/share/icons
      cp -r $src/miku-cursor-linux $out/share/icons/miku-cursor
    '';
  };
  noc_or_bee =
    if
      config.beeMods.matugen.enable
      && config.beeMods.windowManagers.beeConfig.enable
      && !config.beeMods.windowManagers.noctalia
    then
      "matugen.css"
    else
      "noctalia.css";
in
{
  programs.git = {
    enable = true;
    package = (pkgs.git.override { withLibsecret = true; }).overrideAttrs (old: {
      docheck = false;
      doInstallCheck = false;
    });
    settings = {
      user = {
        name = "beeb5k";
        email = "beebeeb5k@gmail.com";
        signingkey = "42177A22EA630575";
      };
      init.defaultBranch = "main";
      credential.helper = "libsecret";
      commit.gpgsign = true;
      tag.gpgsign = true;
    };
  };

  home.pointerCursor = {
    size = 24;
    enable = true;
    x11.enable = false;
    gtk.enable = true;
    dotIcons.enable = true;
    hyprcursor.size = 24;
    hyprcursor.enable = true;
    name = "Bibata-Modern-Ice";
    package = pkgs.bibata-cursors;
  };

  dconf.settings = {
    # "org/gnome/desktop/interface" = {
    #   color-scheme = "prefer-dark";
    # };
    "org/gnome/desktop/wm/preferences" = {
      button-layout = "";
    };
  };

  qt = {
    enable = true;
    platformTheme.name = "qtct";
  };

  gtk = {
    enable = true;
    font.name = "IosevkaInput";
    theme = {
      package = pkgs.adw-gtk3;
      name = "adw-gtk3";
    };
    iconTheme = {
      name = "Adwaita";
      package = pkgs.adwaita-icon-theme;
    };
    gtk3 = {
      bookmarks = [
        "file://${config.home.homeDirectory}/Downloads"
        "file://${config.home.homeDirectory}/Pictures"
        "file://${config.home.homeDirectory}/Documents"
        "file://${config.home.homeDirectory}/Videos"
        "file://${config.home.homeDirectory}/Music"
        "file://${config.home.homeDirectory}/Projects"
      ];
      extraConfig = {
        gtk-cursor-blink = false;
        gtk-decoration-layout = ":";
      };
      extraCss = ''
        @import url("${noc_or_bee}");
      '';
    };

    gtk4 = {
      theme = config.gtk.theme;
      extraConfig = {
        gtk-cursor-blink = false;
        gtk-decoration-layout = ":";
      };
      extraCss = ''
        @import url("${noc_or_bee}");
      '';
    };
  };

  # xdg.dataFile."keyrings/default".text = "login";
  xdg.userDirs = {
    enable = true;
    createDirectories = true;
    setSessionVariables = false;
  };

  programs.yazi.enable = true;
  programs.mpv = {
    enable = true;
    package = pkgs.mpv-unwrapped.override {
      javascriptSupport = false;
    };
    config = {
      # hwdec = "nvdec";
      hwdec = "auto";
      profile = "high-quality";
      save-position-on-quit = "yes";
      sub-font = "IosevkaInput";
      sub-font-size = 25;
      sub-shadow-offset = 0;
      sub-border-size = 1;
      sub-ass-override = "force";
    };
  };

  home.packages = with pkgs; [
    swayimg
    imagemagick
    nautilus
    opencode
  ];
}