mirror of
https://github.com/TheWanderingCrow/CrOS.git
synced 2026-01-12 10:14:09 -05:00
175 lines
4.6 KiB
Nix
175 lines
4.6 KiB
Nix
{
|
|
config,
|
|
lib,
|
|
pkgs,
|
|
...
|
|
}: {
|
|
options = {
|
|
module = {
|
|
enable = lib.mkEnableOption "enables packages";
|
|
core.enable = lib.mkEnableOption "enables required packages";
|
|
gui.enable = lib.mkEnableOption "enables gui+DE packages";
|
|
wayland.enable = lib.mkEnableOption "enables wayland packages";
|
|
x11.enable = lib.mkEnableOption "enables x11 packages";
|
|
programming.enable = lib.mkEnableOption "enables programming packages";
|
|
hacking.enable = lib.mkEnableOption "enables hacking packages";
|
|
mudding.enable = lib.mkEnableOption "enables mudding packages";
|
|
gaming.enable = lib.mkEnableOption "enables gaming packages";
|
|
};
|
|
|
|
user = {
|
|
enable = lib.mkEnableOption "enables users";
|
|
crow = {
|
|
enable = lib.mkEnableOption "enable crow";
|
|
home.enable = lib.mkEnableOption "enable home configuration";
|
|
};
|
|
overseer = {
|
|
enable = lib.mkEnableOption "enable container overseer user";
|
|
};
|
|
};
|
|
};
|
|
|
|
config = {
|
|
system.stateVersion = "24.05";
|
|
time.timeZone = "America/New_York";
|
|
nix.settings.experimental-features = ["flakes" "nix-command"];
|
|
|
|
environment.variables = {
|
|
EDITOR = "nvim";
|
|
VISUAL = "nvim";
|
|
};
|
|
|
|
user = {
|
|
enable = lib.mkDefault true;
|
|
crow = {
|
|
enable = lib.mkDefault false;
|
|
home.enable = lib.mkDefault config.user.crow.enable;
|
|
};
|
|
overseer = {
|
|
enable = lib.mkDefault false;
|
|
};
|
|
};
|
|
|
|
fonts.packages = with pkgs; [
|
|
font-awesome
|
|
nerdfonts
|
|
];
|
|
|
|
|
|
module = {
|
|
enable = lib.mkDefault true;
|
|
core.enable = lib.mkDefault true;
|
|
gui.enable = lib.mkDefault false;
|
|
programming.enable = lib.mkDefault false;
|
|
wayland.enable = lib.mkDefault false;
|
|
x11.enable = lib.mkDefault false;
|
|
hacking.enable = lib.mkDefault false;
|
|
mudding.enable = lib.mkDefault false;
|
|
gaming.enable = lib.mkDefault false;
|
|
};
|
|
|
|
desktop = {
|
|
sway.enable = lib.mkDefault false;
|
|
i3.enable = lib.mkDefault false;
|
|
};
|
|
|
|
# Configure pulseaudio
|
|
hardware.graphics.enable32Bit = config.module.gaming.enable;
|
|
hardware.pulseaudio.support32Bit = config.module.gaming.enable;
|
|
hardware.pulseaudio.enable = lib.mkDefault true;
|
|
services.pipewire.enable = false;
|
|
services.keyd = {
|
|
enable = true;
|
|
keyboards.default = {
|
|
ids = [ "*" ];
|
|
extraConfig = ''
|
|
[global]
|
|
|
|
default_layout = main
|
|
|
|
[main:layout]
|
|
|
|
capslock = layer(standardL2)
|
|
|
|
[control+shift]
|
|
|
|
m = setlayout(main)
|
|
c = setlayout(colemak)
|
|
|
|
[standardL2]
|
|
|
|
w = up
|
|
s = down
|
|
a = left
|
|
d = right
|
|
|
|
b = C-b
|
|
|
|
space = playpause
|
|
. = nextsong
|
|
, = previoussong
|
|
|
|
[ = delete
|
|
] = end
|
|
escape = ~
|
|
|
|
home = end
|
|
|
|
[colemakL2]
|
|
w = up
|
|
r = down
|
|
a = left
|
|
s = right
|
|
|
|
b = C-b
|
|
|
|
space = playpause
|
|
. = nextsong
|
|
, = previoussong
|
|
|
|
[ = delete
|
|
] = end
|
|
escape = ~
|
|
|
|
home = end
|
|
|
|
[colemak:layout]
|
|
capslock = layer(colemakL2)
|
|
w = w
|
|
, = ,
|
|
s = r
|
|
a = a
|
|
c = c
|
|
g = d
|
|
q = q
|
|
e = f
|
|
] = ]
|
|
d = s
|
|
/ = /
|
|
; = o
|
|
' = '
|
|
r = p
|
|
f = t
|
|
t = g
|
|
u = l
|
|
. = .
|
|
j = n
|
|
k = e
|
|
p = ;
|
|
o = y
|
|
z = z
|
|
h = h
|
|
i = u
|
|
[ = [
|
|
v = v
|
|
l = i
|
|
m = m
|
|
n = k
|
|
x = x
|
|
b = b
|
|
y = j
|
|
'';
|
|
};
|
|
};
|
|
};
|
|
}
|