blob: 11a3152553b9432ab292b05cbf5ab8b501ccd648 (
plain)
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
|
{
lib,
pkgs,
config,
hostconfig,
...
}:
let
cfg = config.homeapps.presets;
in
{
imports = [
./floorp.nix
];
config = lib.mkIf hostconfig.addons.desktop.enable or false (
lib.mkMerge [
(lib.mkIf cfg.base.enable {
home.packages = with pkgs; [
# Base
evince
kitty
mpv
#Theme
qt6Packages.qt6ct
kdePackages.qtstyleplugin-kvantum
(catppuccin-kvantum.override {
accent = "pink";
variant = "mocha";
})
];
# Use fcitx
i18n.inputMethod = {
type = "fcitx5";
enable = true;
fcitx5 = {
waylandFrontend = true;
addons = with pkgs; [
fcitx5-gtk
fcitx5-lua
fcitx5-mozc
fcitx5-table-other
fcitx5-gtk
];
};
};
# Install the theme for fcitx
home.file."/.local/share/fcitx5/themes".source = "${pkgs.catppuccin-fcitx5}/share/fcitx5/themes";
})
(lib.mkIf cfg.email.enable {
home.packages = with pkgs; [
thunderbird
];
})
(lib.mkIf cfg.comms.enable {
home.packages = with pkgs; [
element-desktop
vesktop
];
})
(lib.mkIf cfg.utils.enable {
home.packages = with pkgs; [
kdePackages.filelight
qalculate-qt
gparted
];
})
(lib.mkIf cfg.note-taking.enable {
home.packages =
with pkgs;
[
obsidian
kdePackages.kdepim-runtime
]
++ (with pkgs.kdePackages; [
zanshin
kdepim-runtime
akonadi-calendar
]);
# Todo force synthing to be on here
})
(lib.mkIf cfg.art.enable {
home.packages = with pkgs; [
krita
inkscape
];
})
(lib.mkIf cfg.browser.enable {
home.packages = with pkgs; [
librewolf
];
})
(lib.mkIf cfg.work.enable {
home.packages = with pkgs; [
libreoffice-qt6-fresh
zotero
planify
];
})
(lib.mkIf cfg.dev.enable {
home.packages = with pkgs; [
hugo
];
})
(lib.mkIf cfg.connectivity.enable {
home.packages = with pkgs; [
kdePackages.kdeconnect-kde
eduvpn-client
];
services.syncthing = {
tray = {
enable = true;
command = "syncthingtray --wait";
};
};
})
(lib.mkIf cfg.multimedia.enable {
home.packages = with pkgs; [
ani-cli
vlc
# Spotify (The proprietary frontend)
riff
];
})
(lib.mkIf cfg.games.enable {
home.packages = with pkgs; [
# Games
prismlauncher
openttd
anki-bin
];
})
]
);
}
|