-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhome.nix
106 lines (101 loc) · 2.51 KB
/
home.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
{ config, username, pkgs, ... }:
let
homeDirectory = if pkgs.stdenv.isDarwin then "/Users/${username}" else "/home/${username}";
in
{
home.username = username;
home.homeDirectory = homeDirectory;
home.stateVersion = "24.05";
home.packages = with pkgs; [
asdf-vm
autorestic
bat
delta
devbox
direnv
eza
fzf
ffmpeg
git
gh
glab
harper
helix
htop
hyperfine
imagemagick
jq
lazygit
neovim
pandoc
restic
ripgrep
starship
tealdeer
wget
yq
zoxide
# LSP & DAP servers for IDE
astro-language-server
gdtoolkit_4
gopls
helm-ls
lua-language-server
marksman
nil
prettierd
pyright
ruby-lsp
ruff-lsp
starlark-rust
stylua
typescript-language-server
vscode-langservers-extracted
vscode-js-debug
vue-language-server
yaml-language-server
# C compiler for Treesitter
gcc
];
xdg.configFile = {
"starship.toml" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/data/code/homelab/dotfiles/starship/starship.toml";
};
"nvim" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/data/code/homelab/dotfiles/nvim";
};
"wezterm" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/data/code/homelab/dotfiles/wezterm";
};
"fish" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/data/code/homelab/dotfiles/fish";
};
"autorestic" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/data/code/homelab/dotfiles/autorestic";
};
"karabiner" = {
source = config.lib.file.mkOutOfStoreSymlink "${config.home.homeDirectory}/data/code/homelab/dotfiles/karabiner";
};
};
launchd = {
agents = {
autorestic = {
enable = true;
config = {
ProgramArguments = [
"${pkgs.autorestic}/bin/autorestic"
"backup" "--all" "--ci"
"--restic-bin" "${pkgs.restic}/bin/restic"
];
StartCalendarInterval = [{
Hour = 5;
Minute = 0;
}];
StandardErrorPath = "${config.home.homeDirectory}/Library/Logs/org.nix-community.home.autorestic/stderr.log";
StandardOutPath = "${config.home.homeDirectory}/Library/Logs/org.nix-community.home.autorestic/stdout.log";
};
};
};
};
programs.home-manager.enable = true;
}