home.nix (view raw)
1{ config
2, pkgs
3, self
4, host
5, lib
6, ...
7}:
8
9let
10 mkTuple = lib.hm.gvariant.mkTuple;
11in
12{
13
14 imports = [
15 ./programs
16 ./services
17 ];
18
19 fonts.fontconfig.enable = true;
20 manual.manpages.enable = false;
21
22 home.stateVersion = "23.11";
23 home.username = "icy";
24 home.homeDirectory = "/home/icy";
25 home.extraOutputsToInstall = [ "man" ];
26 home.packages = with pkgs; [
27
28 git
29 unzip
30 curl
31 tmux
32 ripgrep
33 imagemagick
34 ffmpeg
35 wget
36 tree
37 mpv
38 noto-fonts-cjk
39 noto-fonts-emoji
40 jq
41 yq-go
42 fzy
43 nixpkgs-fmt
44 libnotify
45 signal-desktop
46 calibre
47 pinentry
48 libreoffice
49 go
50 dconf
51 chromium
52 evolution
53
54 gnome3.gnome-tweaks
55 gnome3.gnome-shell-extensions
56 gnomeExtensions.appindicator
57 gnomeExtensions.dash-to-dock
58 gnomeExtensions.unite
59 gnomeExtensions.search-light
60
61 ] ++ (import ./bin { inherit pkgs host; });
62
63 dconf.settings = {
64 "org/gnome/mutter" = {
65 experimental-features = [ "scale-monitor-framebuffer" ];
66 };
67 "org/gnome/desktop/input-sources" = {
68 show-all-sources = true;
69 sources = [ (mkTuple [ "xkb" "us+workman" ]) (mkTuple [ "xkb" "us" ]) ];
70 xkb-options = [ "terminate:ctrl_alt_bksp" ];
71 };
72 };
73
74 xdg = {
75 userDirs = {
76 enable = true;
77 desktop = "\$HOME/desktop";
78 documents = "\$HOME/docs";
79 download = "\$HOME/downloads";
80 pictures = "\$HOME/pics";
81 videos = "\$HOME/vids";
82 };
83 };
84}
85