summaryrefslogtreecommitdiff
path: root/nixos/hosts/box/box.nix
blob: 32a4cd68cb578b2ea6234ee4f1b3f3d2677fe467 (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
{ config, pkgs, ... }:

{
  imports = [
    ../../mdls/hypr.nix
    ../../mdls/qksh.nix
    ../../mdls/vi.nix
    ../../mdls/yazi.nix
    ../../mdls/btop.nix
    ../../mdls/colors.nix
    ../../mdls/obsidian.nix
    ../../mdls/gms/dayz.nix
    ../../mdls/gms/mc.nix
  ];

  home.username = "cat";
  home.homeDirectory = "/home/cat";
  home.stateVersion = "26.05";

  xdg.configFile."fish/config.fish".force = true;
  xdg.configFile."kitty/kitty.conf".force = true;

  programs.fish = {
    enable = true;
    shellAbbrs = {
      rebuild = "sudo nixos-rebuild switch --flake /etc/nixos/#box";
      update = "nix flake update --flake /etc/nixos/ && sudo nixos-rebuild switch --flake /etc/nixos/#box";
    };
    functions = {
      fish_greeting = { body = ""; };
      fish_prompt = {
        body = ''
          echo -n (prompt_pwd)
          echo -n " > "
        '';
      };
    };
    interactiveShellInit = ''
      if status is-interactive
          cat ~/.colors/sequences
      end
    '';
    loginShellInit = ''
      if test -z "$DISPLAY" -a (tty) = "/dev/tty1"
        exec start-hyprland
      end
    '';
  };

  programs.kitty = {
    enable = true;
    extraConfig = ''
      include ~/.colors/kitty.conf

      shell fish
      shell_integration enabled

      font_family JetBrainsMono Nerd Font
      font_size 11
      
      cursor_trail 3
      cursor_trail_decay 0.1 0.4
      cursor_shape beam
      cursor_blink_interval 1
      shell_integration no-cursor

      confirm_os_window_close 0
      allow_remote_control yes

      background_opacity 1
      background_blur 1
      dynamic_background_opacity 1
      scrollbar_handle_opacity 0
      scrollbar_track_opacity 0
      scrollbar_track_hover_opacity 0
    '';
  };

  home.pointerCursor = {
    enable = true;
    gtk.enable = true;
    x11.enable = true;
    package = pkgs.kdePackages.breeze;
    name = "breeze_cursors";
    size = 16;
  };

  home.sessionVariables = {
    XCURSOR_THEME = "breeze_cursors";
    XCURSOR_SIZE = "16";
    QT_CURSOR_SIZE = "16";
    QT_QPA_PLATFORMTHEME = "kde";
  };

  gtk = {
    enable = true;
    theme = { name = "Adwaita-dark"; package = pkgs.gnome-themes-extra; };
    font = { name = "MonaspiceNe Nerd Font Mono"; size = 11; };
  };

  qt = {
    enable = true;
    platformTheme.name = "kde";
    style.name = "breeze";
  };

  xdg.configFile = {
  "dolphinrc".text = ''
    [General]
    ShowPreview=true
    ViewMode=1

    [MainWindow]
    MenuBar=Disabled
    ToolBarsMovable=Disabled
  '';

  "kdeglobals".source = pkgs.runCommand "breeze-dark-white" {} ''
    sed -E \
      -e 's/61,174,233/255,255,255/g' \
      -e 's/24,115,204/255,255,255/g' \
      -e 's/AccentColor=[0-9]+,[0-9]+,[0-9]+/AccentColor=255,255,255/' \
      "${pkgs.kdePackages.breeze}/share/color-schemes/BreezeDark.colors" > $out
  '';
};

  programs.home-manager.enable = true;
}