all repos — dotfiles @ ad053891fde0da3a6db117dd137933df735283da

my *nix dotfiles

home.nix (view raw)

 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
{ config
, pkgs
, self
, host
, lib
, inputs
, ...
}:

let
  mkTuple = lib.hm.gvariant.mkTuple;
in
{

  imports = [
    ./programs
    ./services
  ];

  fonts.fontconfig.enable = true;
  manual.manpages.enable = true;

  home.stateVersion = "24.11";
  home.username = "icy";
  home.homeDirectory = "/home/icy";
  home.extraOutputsToInstall = [ "man" ];

  home.packages = [
    pkgs.git
    pkgs.unzip
    pkgs.curl
    pkgs.tmux
    pkgs.ripgrep
    pkgs.fd
    pkgs.imagemagick
    pkgs.ffmpeg
    pkgs.wget
    pkgs.tree
    pkgs.mpv
    pkgs.noto-fonts-cjk-sans
    pkgs.noto-fonts-emoji
    pkgs.jq
    pkgs.yq-go
    pkgs.fzy
    pkgs.nixpkgs-fmt
    pkgs.libnotify
    pkgs.signal-desktop
    pkgs.calibre
    pkgs.pinentry
    pkgs.libreoffice
    pkgs.go
    pkgs.dconf
    pkgs.chromium
    pkgs.nix-your-shell
    pkgs.geary
    pkgs.pass
    pkgs.newsflash
    pkgs.errands
    pkgs.wl-clipboard
    pkgs.nvtop
    pkgs.vesktop
    pkgs.smile
    pkgs.apostrophe

    pkgs.gnome-pomodoro
    pkgs.gnome-tweaks
    pkgs.gnome-shell-extensions
    pkgs.gnomeExtensions.appindicator
    pkgs.gnomeExtensions.dash-to-dock
    pkgs.gnomeExtensions.search-light
    pkgs.gnomeExtensions.hide-top-bar

    pkgs.prompt
    pkgs.zed-editor
    # inputs.zed.packages.${pkgs.system}.zed-editor

  ] ++ (import ./bin { inherit pkgs host; });

  dconf.settings = {
    "org/gnome/mutter" = {
      experimental-features = [ "scale-monitor-framebuffer" ];
    };
    "org/gnome/desktop/input-sources" = {
      show-all-sources = true;
      sources = [
        (mkTuple [
          "xkb"
          "us+workman"
        ])
        (mkTuple [
          "xkb"
          "us"
        ])
      ];
      xkb-options = [
        "terminate:ctrl_alt_bksp"
        "compose:ralt"
      ];
    };
    "org/gnome/mutter" = {
      overlay-key = [ "" ];
    };
    "org/gnome/shell/extensions/search-light" = {
      shortcut-search = [ "<Super>space" ];
    };
    "org/gnome/settings-daemon/plugins/media-keys" = {
      screensaver = [ "<Control><Super>q" ];
    };

    "org/gnome/shell/keybindings" = {
      show-screenshot-ui = [ "<Shift><Control>4" ];
    };

    "org/gnome/shell/keybindings/screenshot-window" = {
      screenshot-window = [ "<Shift><Super>space" ];
    };

    "org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
      binding = [ "<Control>;" ];
      command = "smile";
      name = "emoji";
    };
  };

  xdg = {
    userDirs = {
      enable = true;
      desktop = "\$HOME/desktop";
      documents = "\$HOME/docs";
      download = "\$HOME/downloads";
      pictures = "\$HOME/pics";
      videos = "\$HOME/vids";
    };
  };

}