-
Notifications
You must be signed in to change notification settings - Fork 0
/
default.nix
124 lines (103 loc) · 2.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
{
self,
nixpkgs,
home-manager,
nixgl,
...
}: let
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
overlays = [nixgl.overlay];
};
inherit (nixpkgs) lib;
unfreePackages = [
"1password-gui"
"1password-cli"
"1password"
"discord"
];
allowUnfreePackages = pkg: builtins.elem (lib.getName pkg) unfreePackages;
in {
homeConfigurations."ncower@veles" = home-manager.lib.homeManagerConfiguration {
inherit pkgs;
modules = let
self' = self.homeManagerModules;
in [
({pkgs, ...}: {
nixpkgs.config.allowUnfreePredicate = allowUnfreePackages;
home.username = "ncower";
home.homeDirectory = "/home/ncower";
home.stateVersion = "23.11";
programs.firefox.enable = true;
home.packages = [
pkgs.nixgl.auto.nixGLDefault
pkgs.herbstluftwm
];
home.keyboard.options = [
"caps:escape"
];
})
self'.unstable-nix
{
imports = [
self'.afmt
self'.fmt
];
programs.afmt.enable = true;
programs.afmt.cmt.enable = true;
}
self'.ncrandr
self'.pact
# Miscellaneous packages
self'.packages-common
self'.packages-linux
self'.packages-local
self'.scr
{
imports = [self'.pbcopy];
programs.pbcopy.enable = true;
}
# Shells
self'.nushell
self'.fish
# Git scripts
(options @ {pkgs, ...}:
self'.git (options
// {
signingKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOzRhuWCCAdX/4cYxS44BoILW0Frwpkf8R32yoMg068f";
}))
self'.git-tools
# Helix build and configuration
self'.editors
# tmux configuration
self'.tmux
self'.ssh
self'.kitty
({pkgs, ...}: {
imports = [
self'.hlwm
];
programs.rofi = {
enable = true;
theme = "Arc-Dark";
};
# Use startx.
# Use systemctl to disable display manager on Ubuntu.
# $ systemctl set-default multi-user.target
xsession.enable = true;
programs.herbstluftwm = {
xsession = true;
extraSettings = let
xset = "${pkgs.xorg.xset}/bin/xset";
xss-lock = "${pkgs.xss-lock}/bin/xss-lock";
in ''
in_session ${xss-lock} -l -- /usr/bin/i3lock - -e -f -c 040108 &
${xset} +fp $HOME/.local/share/fonts
${xset} fp rehash
'';
};
})
];
};
}