-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathhome.nix
More file actions
70 lines (63 loc) · 1.98 KB
/
Copy pathhome.nix
File metadata and controls
70 lines (63 loc) · 1.98 KB
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
{ config, pkgs, extra-packages ? [],
extra-files ? {},
emacs ? pkgs.emacs, enable_fontconfig ? false }:
with {
# Link some dotfiles to allow editing in place.
link = config.lib.file.mkOutOfStoreSymlink;
};
{
home.username = builtins.getEnv "USER";
home.homeDirectory = builtins.getEnv "HOME";
home.stateVersion = "23.11";
home.packages = [
pkgs.ruby
# pkgs.python3 # python doesn't really work in nix
pkgs.ncurses
pkgs.less # much newer than Ubuntu version; supports my terminals
pkgs.git # again for terminal support
pkgs.tmux
pkgs.ispell
pkgs.nix
pkgs.oath-toolkit
((import ./packages/config-version.nix) pkgs)
((import ./my-scripts.nix) pkgs)
(emacs.pkgs.withPackages (epkgs: with epkgs; [
use-package
nix-mode
bind-key
color-theme-sanityinc-solarized
multiple-cursors
expand-region
wgrep
# this seems to stall compilation forever on my server
# markdown-mode
ergoemacs-mode
bash-completion
clipetty
coterm
php-mode
graphviz-dot-mode
basic-mode
lua-mode
]))
] ++ extra-packages;
home.file = {
".nethackrc".source = dotfiles/nethackrc;
".bashrc".source = dotfiles/bashrc.sh;
".profile".source = dotfiles/profile.sh;
".irbrc".source = dotfiles/irbrc;
".tmux.conf".source = dotfiles/tmux.conf;
".emacs.d/init.el".source = link dotfiles/init.el;
".emacs.d/custom_file.el".source = link dotfiles/custom_file.el;
".config/htop/htoprc".source = dotfiles/htoprc;
".config/micro/settings.json".source = dotfiles/micro-settings.json;
".local/share/Anki2/gldriver6".source = dotfiles/anki-gldriver6;
} // extra-files;
# This seems silly. Is there a better way to get NIX_PATH set?
home.sessionVariables = {
NIX_PATH = builtins.getEnv "NIX_PATH";
};
fonts.fontconfig.enable = enable_fontconfig;
# Possibly required for some things like uv to magically work
# home.programs.nix-ld.enable = true;
}