-
Notifications
You must be signed in to change notification settings - Fork 0
/
home.nix
60 lines (56 loc) · 2.14 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
{ pkgs, wayland, helix, ... } @ inputs: let
listImport = path: modules: (map (module: import (./. + "/${path}/${module}") inputs) modules);
attrImport = path: modules: pkgs.lib.genAttrs modules (module: import (./. + "/${path}/${module}") inputs);
in {
home = {
username = "josephd";
homeDirectory = "/home/josephd";
stateVersion = "23.05";
packages = with pkgs; [
nitch lsd # CLI tools
maim xclip # Screenshot tools
pcmanfm pavucontrol blueberry insomnia floorp dmenu # GUI
buildkit docker-compose # Docker
(helix.packages."${pkgs.system}".default)
(st.override {
conf = builtins.readFile ./st.h;
extraLibs = with pkgs; [ harfbuzz ];
patches = [
(pkgs.fetchurl {
url = "https://st.suckless.org/patches/ligatures/0.9/st-ligatures-20240105-0.9.diff";
hash = "sha256-Wcm2RTPlokGFlCsG/GmBEMrwNFpAxgEcqDaTEqKRhL0=";
})
];
})
] ++ listImport "pkgs" [ "gdlauncher" ];
file = attrImport "config" [ "discord" "helix" "wallpaper" "mullvad-browser" ];
};
gtk = import ./gtk inputs;
# wayland.windowManager.hyprland = import ./hyprland inputs;
programs = attrImport "programs" [ "git" "starship" "rofi" "zsh" ];
services = attrImport "services" [ "mako" "gammastep" "syncthing" ];
sops = import ./keys;
xdg.userDirs.enable = true;
xdg.desktopEntries = let
chromium-flags = if wayland then "--enable-features=UseOzonePlatform --ozone-platform=wayland" else "";
in {
i2p-browser = {
name = "I2P Browser";
genericName = "Web Browser";
exec = "${pkgs.mullvad-browser}/bin/mullvad-browser -P i2p";
categories = [ "Application" "Network" "WebBrowser" ];
};
tor-browser = {
name = "Tor Browser";
genericName = "Web Browser";
exec = "${pkgs.mullvad-browser}/bin/mullvad-browser -P tor";
categories = [ "Application" "Network" "WebBrowser" ];
};
discord = {
name = "Discord";
genericName = "Chatting";
exec = "${(pkgs.discord.override { withOpenASAR = true; })}/bin/discord ${chromium-flags}";
categories = [ "Application" "Network" ];
};
};
}