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 = true;
21
22 home.stateVersion = "24.11";
23 home.username = "icy";
24 home.homeDirectory = "/home/icy";
25 home.extraOutputsToInstall = [ "man" ];
26
27 home.packages = with pkgs; [
28
29 git
30 unzip
31 curl
32 tmux
33 ripgrep
34 fd
35 imagemagick
36 ffmpeg
37 wget
38 tree
39 mpv
40 noto-fonts-cjk
41 noto-fonts-emoji
42 jq
43 yq-go
44 fzy
45 nixpkgs-fmt
46 libnotify
47 signal-desktop-beta
48 calibre
49 pinentry
50 libreoffice
51 go
52 dconf
53 chromium
54 evolution
55 nix-your-shell
56 pass
57 newsflash
58 errands
59 wl-clipboard
60 zed-editor
61 nvtop
62
63 gnome3.gnome-tweaks
64 gnome3.gnome-shell-extensions
65 gnomeExtensions.appindicator
66 gnomeExtensions.dash-to-dock
67 gnomeExtensions.search-light
68 gnomeExtensions.hide-top-bar
69
70 ] ++ (import ./bin { inherit pkgs host; });
71
72 dconf.settings = {
73 "org/gnome/mutter" = {
74 experimental-features = [ "scale-monitor-framebuffer" ];
75 };
76 "org/gnome/desktop/input-sources" = {
77 show-all-sources = true;
78 sources = [ (mkTuple [ "xkb" "us+workman" ]) (mkTuple [ "xkb" "us" ]) ];
79 xkb-options = [ "terminate:ctrl_alt_bksp" "compose:ralt" ];
80 };
81 "org/gnome/mutter" = {
82 overlay-key = [ "" ];
83 };
84 "org/gnome/shell/extensions/search-light" = {
85 shortcut-search = [ "<Super>space" ];
86 };
87 "org/gnome/settings-daemon/plugins/media-keys" = {
88 screensaver = [ "<Control><Super>q" ];
89 };
90
91 };
92
93 xdg = {
94 userDirs = {
95 enable = true;
96 desktop = "\$HOME/desktop";
97 documents = "\$HOME/docs";
98 download = "\$HOME/downloads";
99 pictures = "\$HOME/pics";
100 videos = "\$HOME/vids";
101 };
102 };
103
104}
105
106