blob: f4530a1265bfe846577794731cd7055470c4a95e (
plain) (
blame)
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
|
# This file contains common configuration applied to every host.
# It should only `enable` options defined in the `modules` directory.
{
config,
pkgs,
...
}: {
soispha = {
boot.enable = true;
cleanup.enable = true;
documentation.enable = true;
fonts = {
enable = true;
enableEmoji = true;
};
home-manager.enable = true;
impermanence = {
enable = true;
directories = [
"/etc/nixos"
"/var/log"
"/var/lib/systemd"
"/var/lib/nixos"
];
};
polkit.enable = true;
power.enable = true;
services = {
adb = {
enable = true;
user = "soispha";
};
fwupd.enable = true;
mpd = {
enable = true;
directories = let
data = "${config.home-manager.users.soispha.xdg.dataHome}/mpd";
in {
inherit data;
playlists = "${data}/playlists";
runtime = "/run/user/${builtins.toString config.users.users.soispha.uid}/mpd";
music = config.home-manager.users.soispha.programs.beets.settings.directory;
};
mpc = {
enable = true;
beetsPkg = config.home-manager.users.soispha.programs.beets.package;
};
};
ollama.enable = true;
postgresql.enable = false;
printing.enable = true;
scanning.enable = true;
snapper.enable = true;
steam.enable = false;
systemDiff.enable = true;
unison = {
enable = true;
foreign.userName = "soispha";
dataDir = "${config.home-manager.users.soispha.xdg.dataHome}/unison";
userSourceDir = "/srv/home/soispha";
pathsToIgnore = let
extractTarget = attr: "~/${attr.target}";
homeManagerSymlinks =
builtins.map extractTarget
(builtins.attrValues
config.home-manager.users.soispha.home.file);
in
[
# already synchronized by the taskserver
"~/.local/share/task"
# Should not be synchronized
"~/.local/share/unison"
# Is just to big to be synchronized (# TODO: Work around that <2024-08-31> )
"~/media/music"
]
++ homeManagerSymlinks;
pathsToSync = [
"~/.local/state/mpv"
"~/.local/state/nvim"
"~/.local/share"
"~/.local/.Trash-1000"
"~/.mozilla/.Trash-1000"
"~/.mozilla/firefox"
"~/media"
"~/school"
"~/repos"
];
};
};
programs = {
nvim = {
enable = true;
shell = pkgs.zsh;
};
atuin.enable = true;
git.enable = true;
imv.enable = true;
less.enable = true;
lf.enable = true;
taskwarrior.enable = true;
yambar.enable = true;
zathura.enable = true;
zsh.enable = true;
};
sound.enable = true;
version.enable = true;
};
}
|