-
Notifications
You must be signed in to change notification settings - Fork 0
/
default.nix
129 lines (124 loc) · 3.55 KB
/
default.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
121
122
123
124
125
126
127
128
129
{ inputs, pkgs, lib, config, ... }: {
home.stateVersion = "23.05";
imports = [
inputs.nix-index-database.hmModules.nix-index
{ programs.nix-index-database.comma.enable = true; }
];
home.packages = [
pkgs.obsidian
pkgs.songrec
pkgs.helvum
pkgs.eyedropper
pkgs.ffmpeg_7-headless
pkgs.nodePackages_latest.pnpm
(pkgs.androidStudioPackages.canary.override {
libGL = pkgs.symlinkJoin {
name = "libGL-plus-wayland-because-its-the-only-way-i-can-insert-stuff-into-android-studio";
paths = [ pkgs.libGL pkgs.wayland ];
};
})
pkgs.nodePackages_latest.nodejs
pkgs.audacity
pkgs.whois
pkgs.gpu-screen-recorder-gtk
pkgs.showtime
# pkgs.transmission_4-gtk
pkgs.git-absorb
# GIMP and Inkscape intentionally removed: I use the beta versions of both. Re-add when inkscape 1.4 and gimp 3.0 are released.
pkgs.tor-browser
pkgs.thunderbird
pkgs.piper
# inputs.nix-software-center.packages.${pkgs.system}.nix-software-center # I don't seriously use this
pkgs.prismlauncher
pkgs.kdePackages.kdenlive
pkgs.me.vesktop-with-sane-icon
pkgs.nix-output-monitor
pkgs.breeze-icons # for 24.02+ gear apps when i dont have plasma
pkgs.superTuxKart
];
programs = {
nushell = {
enable = true;
package = pkgs.nushell;
shellAliases = {
switch = "sudo nixos-rebuild switch --fast --print-build-logs";
nx = "nix develop --command hx";
nv = "nix develop --command code";
};
extraConfig = "$env.config.show_banner = false;";
};
bun.enable = true;
obs-studio.enable = true;
vscode.enable = true;
firefox.enable = true;
git = {
enable = true;
userName = "Jack W.";
userEmail = "git@jack.cab";
extraConfig = {
core.editor = "code --wait";
init.defaultBranch = "main";
commit.gpgsign = true;
user.signingkey = "~/.ssh/id_ed25519.pub";
gpg.format = "ssh";
};
};
helix = {
enable = true;
defaultEditor = true;
ignores = [
"!.gitignore"
"!.prettierrc"
"!.markdownlint.json"
"!.gitattributes"
"!.github/"
"!.vscode/"
# "~/.vscode/"
# "~/go/"
"node_modules/"
];
settings = {
theme = "github_dark";
editor = {
bufferline = "multiple";
auto-save = true;
gutters = [ "diagnostics" "line-numbers" "diff" ];
cursorline = true;
color-modes = true;
indent-guides.render = true;
lsp.display-messages = true;
};
};
};
};
services.syncthing = {
enable = true;
extraOptions = [
"--config=${config.xdg.configHome}/syncthing"
"--data=${config.home.homeDirectory}/Documents"
];
};
# https://github.com/nix-community/home-manager/issues/4672
systemd.user.services.expire-hm-profiles = {
Unit.Description = "Clean up HM user profiles.";
Service = {
Type = "oneshot";
ExecStart = lib.getExe (pkgs.writeShellApplication {
name = "expire-hm-profiles-start-script";
text = ''
${lib.getExe config.nix.package} profile wipe-history \
--profile "${config.xdg.stateHome}/nix/profiles/home-manager" \
--older-than '7d'
'';
});
};
};
systemd.user.timers.expire-hm-profiles = {
Unit.Description = "Clean up HM user profiles.";
Timer = {
OnCalendar = "weekly";
Persistent = true;
};
Install.WantedBy = [ "timers.target" ];
};
}