blob: 597eb160bdc83f38c840f2321e099d46cc24701e (
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
|
{ lib, config, pkgs, ... }:
{
sops = import ./sops.nix;
home = {
activation.startup-files = lib.hm.dag.entryAfter [ "installPackages" ] ''
if [ ! -d "/home/${config.monorepo.vars.userName}/email/ret2pop/" ]; then
mkdir -p /home/${config.monorepo.vars.userName}/email/ret2pop/
fi
if [ ! -d "/home/${config.monorepo.vars.userName}/music" ]; then
mkdir -p /home/${config.monorepo.vars.userName}/music
fi
if [ ! -d "/home/${config.monorepo.vars.userName}/sounds" ]; then
mkdir -p /home/${config.monorepo.vars.userName}/sounds
fi
touch /home/${config.monorepo.vars.userName}/org/agenda.org
touch /home/${config.monorepo.vars.userName}/org/notes.org
touch /home/${config.monorepo.vars.userName}/.monorepo
'';
enableNixpkgsReleaseCheck = false;
username = config.monorepo.vars.userName;
homeDirectory = "/home/${config.monorepo.vars.userName}";
stateVersion = "24.11";
packages = with pkgs; [
# passwords
age sops
# formatting
ghostscript texliveFull pandoc
# Emacs Deps
graphviz jq
# Apps
octaveFull vesktop grim swww
# Sound/media
pavucontrol alsa-utils imagemagick ffmpeg vim
# Net
curl rsync git
# fonts
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
fira-code
font-awesome_6
(aspellWithDicts
(dicts: with dicts; [ en en-computers en-science ]))
(nerdfonts.override { fonts = [ "Iosevka" ]; })
# Misc.
pinentry
x11_ssh_askpass
xdg-utils
acpilight
pfetch
libnotify
# Shell script
(writeShellScriptBin "post-install" ''
cd $HOME
ping -q -c1 google.com &>/dev/null && echo "online! Proceeding with the post-install..." || nmtui
sudo chown -R "$(whoami)":users ./monorepo
sudo nixos-rebuild switch --flake ./monorepo/nix#continuity
echo "Post install done! Now install your ssh and gpg keys. Log in again."
sleep 3
exit
'')
];
};
services = {
mako = import ./mako.nix;
gpg-agent = {
pinentryPackage = pkgs.pinentry-emacs;
enable = true;
extraConfig = ''
allow-emacs-pinentry
allow-loopback-pinentry
'';
};
gammastep = import ./gammastep.nix;
mpd = import ./mpd.nix;
};
programs = {
mpv = import ./mpv.nix;
yt-dlp = import ./yt-dlp.nix;
wofi = import ./wofi.nix;
kitty = import ./kitty.nix;
firefox = import ./firefox.nix;
waybar = import ./waybar.nix;
zsh = import ./zsh.nix;
emacs = import ./emacs.nix;
mbsync = import ./mbsync.nix;
msmtp = import ./msmtp.nix;
bash.enable = true;
git = import ./git.nix;
home-manager.enable = lib.mkDefault config.monorepo.profiles.home.enable;
};
wayland.windowManager.hyprland = import ./hyprland.nix;
gtk = {
enable = true;
theme = null;
iconTheme = null;
};
i18n.inputMethod = {
enabled = "fcitx5";
fcitx5.addons = with pkgs; [
fcitx5-gtk
fcitx5-chinese-addons
fcitx5-configtool
fcitx5-mozc
fcitx5-rime
];
};
fonts.fontconfig.enable = true;
nixpkgs.config.cudaSupport = false;
}
|