-
Notifications
You must be signed in to change notification settings - Fork 2
/
home.nix
149 lines (144 loc) · 3.34 KB
/
home.nix
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
{ lib, inputs, pkgs, ... }:
let
emacsConfig = import ./config/emacs.nix { inherit inputs pkgs; };
packages = [
pkgs.eza
pkgs.keepassxc
pkgs.slack
pkgs.cachix
pkgs.gnumake
pkgs.imagemagick
pkgs.nixpkgs-review
pkgs.nmap
pkgs.git-crypt
pkgs.obsidian
pkgs.pciutils
pkgs.unzip
pkgs.xclip
pkgs.aspellDicts.en
pkgs.aspellDicts.en-computers
pkgs.aspell
pkgs.xsel
pkgs.silver-searcher
pkgs.awscli
pkgs.bc
pkgs.coreutils-full
pkgs.dnsutils
pkgs.neofetch
pkgs.nix-prefetch-github
pkgs.pv
pkgs.ripgrep
pkgs.shellcheck
pkgs.terminator
pkgs.tree
pkgs.yq
(pkgs.emacsWithPackagesFromUsePackage (emacsConfig))
pkgs.sqlite
pkgs.pgcli
pkgs.rlwrap
# all other packages
pkgs.alsa-utils
pkgs.pulseaudio
pkgs.xorg.xdpyinfo
pkgs.gnome-screenshot
pkgs.google-chrome
pkgs.xarchiver
pkgs.xfce.thunar
pkgs.xfce.thunar-volman
pkgs.xfce.thunar-archive-plugin
pkgs.xfce.tumbler # For image previews in Thunar. Can be handled with a dependency derivation I assume(?)
pkgs.xfce.xfconf # For saving preferences of Thunar.
pkgs.libnotify # To use dunst
pkgs.libsForQt5.qtstyleplugins
pkgs.lshw
pkgs.spotify
pkgs.vlc
pkgs.ffmpeg-full
pkgs.pavucontrol
pkgs.playerctl
pkgs.xdotool
pkgs.libsForQt5.qt5ct
pkgs.acpi
pkgs.arandr
pkgs.discord
pkgs.dunst
pkgs.dconf
pkgs.nautilus
inputs.keepmenu
pkgs.lsof
pkgs.netcat-gnu
pkgs.nix-diff
pkgs.nixfmt-classic
pkgs.pgcli
pkgs.rclone
pkgs.signing-party
pkgs.ssh-to-pgp
pkgs.xfce.xfconf
pkgs.xorg.xkill
pkgs.lxappearance
pkgs.arc-theme
pkgs.adwaita-icon-theme
pkgs.papirus-icon-theme
pkgs.paper-icon-theme
pkgs.ranger
pkgs.nodejs
(lib.hiPrio pkgs.insomnia)
pkgs.gh
pkgs.openvpn
pkgs.xorg.libxcvt
pkgs.nil
pkgs.dconf-editor
pkgs.transmission_4-gtk
pkgs.nvd
pkgs.btop
];
in {
home-manager = {
backupFileExtension = "hm-backup";
users = {
iammrinal0 = { pkgs, ... }: {
xdg.configFile."pgcli/config".text = builtins.readFile ./config/pgcli;
dconf.settings."gnome/desktop/sound" = { event-sounds = false; };
services = {
gpg-agent = {
enable = true;
pinentryPackage = pkgs.pinentry-qt;
};
kdeconnect = {
enable = true;
indicator = true;
};
playerctld = { enable = true; };
udiskie = { enable = true; };
};
programs = {
atuin = {
enable = true;
enableZshIntegration = true;
};
broot = { enable = false; };
command-not-found = { enable = true; };
direnv = {
enable = true;
enableZshIntegration = true;
};
fzf = {
enable = true;
enableZshIntegration = true;
};
gpg = { enable = true; };
home-manager = { enable = true; };
jq = { enable = true; };
};
home = {
inherit packages;
stateVersion = "24.05";
};
imports = [ ./modules/home-manager ];
};
};
useUserPackages = true;
useGlobalPkgs = true;
extraSpecialArgs = { inherit inputs; };
};
}