This repository has been archived by the owner on Jan 20, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhome.nix
202 lines (165 loc) · 3.63 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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
{ pkgs, ... }:
{
home.username = "ayla";
home.homeDirectory = "/home/ayla";
# Let home manager install and manage itself
programs.home-manager.enable = true;
# #
### PACKAGES ###
# #
nixpkgs.config.allowUnfree = true;
home.packages = with pkgs; [
# CLI tools
btop # Resource monitoring
iotop # IO monitoring
iftop # Network monitoring
speedtest-cli # CLI tool for speedtest.net
p7zip
wootility # Keyboard customization software
qmk
qmk-udev-rules
# Utilities
feh # Image viewer
fastfetch # System info fetcher
rofi # Launcher
pavucontrol
flatpak
vlc # Media player
libreoffice
direnv # nix-shell stuff
networkmanager-openvpn
qbittorrent
ffmpeg
mako # notifications
# Chat
webcord-vencord
vesktop
pidgin # IRC client
abaddon # Non-electron Discord client
# Browsers
firefox
librewolf
# Music
sonata
# Terminals
kitty
alacritty
# Art
gimp
krita
# Games
vintagestory
prismlauncher
# Interpreters / Compilers
python3Full
clang
# Rust
rustc
rustfmt
rust-analyzer
clippy
cargo
# LSPs
nixd
python312Packages.python-lsp-server
];
# #
### ALIASES 'N STUFF ###
# #
home.shellAliases = {
ls = "lsd";
tree = "lsd --tree";
};
home.sessionVariables = {
EDITOR = "nvim";
};
home.sessionPath = [
"$HOME/.cargo/bin"
];
# #
### CONFIGS ###
# #
# Imported configs
imports = [
./programfiles/neovim/neovim.nix
./programfiles/sway/sway.nix
];
home.file = {
# FVWM
"fvwm" = {
target = ".fvwm/config";
source = ./programfiles/fvwm/config;
};
};
# Git
programs = {
git = {
enable = true;
userName = "ayla9885";
userEmail = "number1noah@gmail.com";
extraConfig = {
init.defaultBranch = "main";
core.editor = "nvim";
};
};
nushell = {
enable = true;
configFile.source = ./programfiles/nushell/config.nu;
envFile.source = ./programfiles/nushell/env.nu;
};
fish = {
enable = true;
};
# Starship
starship = {
enable = true;
};
# Alacritty
alacritty = {
enable = true;
settings = {
window = {
resize_increments = true; # Resize in cell increments
};
font = {
size = 14;
normal = {
# family = "BigBlueTermPlus Nerd Font Mono";
family = "UbuntuMono Nerd Font Mono";
# family = "Monofur Nerd Font Mono";
# family = "JetBrainsMono Nerd Font Mono";
style = "Bold";
};
};
};
};
# Pidgin
pidgin = {
enable = true;
#plugins = with pkgs; [
# purple-discord
# ];
};
# Librewolf
librewolf = {
#enable = true;
settings = {
"privacy.donottrackheader.enabled" = true; # Sends websites a "do not track" request
"privacy.globalprivacycontrol.enabled" = true; # Asks websites to not sell my data
"privacy.clearOnShutdown_v2.historyFormDataAndDownloads" = false; # Preserve history after closing
"layout.css.always_underline_links" = true;
};
};
};
# #
### FONTS ###
# #
fonts.fontconfig = {
enable = true;
defaultFonts = {
monospace = [ "UbuntuMono Nerd Font Mono Bold" ];
# serif = [ "BigBlueTermPlus Nerd Font Propo" ];
};
};
home.stateVersion = "24.05";
}