-
Notifications
You must be signed in to change notification settings - Fork 1
/
home-conf.nix
120 lines (113 loc) · 2.5 KB
/
home-conf.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
{
inputs,
system,
...
}:
with inputs; let
fishOverlay = f: p: {
inherit fish-bobthefish-theme fish-keytool-completions;
};
pkgs = import nixpkgs {
inherit system;
config.allowUnfree = true;
config = {
packageOverrides = pkgs: {
espanso = pkgs.espanso.override {
x11Support = false;
waylandSupport = true;
};
};
};
overlays = [
fishOverlay
(import ../overlay.nix)
nurpkgs.overlays.default
#neovim-flake.overlays.${system}.default
(f: p: {tex2nix = tex2nix.defaultPackage.${system};})
((import ../home/overlays/md-toc) {inherit (inputs) gh-md-toc;})
(import ../home/overlays/ranger)
];
};
nur = import nurpkgs {
inherit pkgs;
nurpkgs = pkgs;
};
commonImports = [
homeage.homeManagerModules.homeage
neovim-flake.homeManagerModules.default
];
mkHome = {
hidpi ? false,
username,
gui ? false,
full ? true,
homed,
}: (
home-manager.lib.homeManagerConfiguration {
inherit pkgs;
extraSpecialArgs = {
inherit hidpi;
inherit full;
inherit gui;
addons = nur.repos.rycee.firefox-addons;
};
modules = let
homeDirectory = homed;
in [
{
imports =
commonImports
++ [../home/home.nix]
++ pkgs.lib.optional gui inputs.stylix.homeManagerModules.stylix;
}
{
home = {
inherit username;
inherit homeDirectory;
};
programs.git.signing.signByDefault = gui;
xdg = {
configHome = "${homeDirectory}/.config";
enable = true;
};
}
];
}
);
in {
kosumi = let
username = "kosumi";
in
mkHome {
hidpi = false;
gui = true;
full = true;
inherit username;
homed = "/home/${username}";
};
shellhome = let
username = "kosumic";
in
mkHome {
hidpi = false;
inherit username;
gui = false;
full = false;
homed = "/users/${username}";
};
shellhomeForWork = let
username = "kchen";
in
mkHome {
hidpi = false;
inherit username;
gui = false;
full = false;
homed = "/home/${username}";
};
# Continuous Integration automation
# ci = {
# metals = pkgs.callPackage ../home/programs/neovim-ide/metals.nix { };
# metals-updater = pkgs.callPackage ../home/programs/neovim-ide/update-metals.nix { };
# };
}