70 lines
1.3 KiB
Nix
70 lines
1.3 KiB
Nix
{ config, lib, pkgs, ... }:
|
|
|
|
{
|
|
imports = [
|
|
./emacs
|
|
./nix
|
|
./phone-push
|
|
./tmux
|
|
./wireguard
|
|
./zfs
|
|
./zsh
|
|
];
|
|
|
|
options.chvp = {
|
|
cachePrefix = lib.mkOption {
|
|
default = "";
|
|
example = "/cache";
|
|
};
|
|
dataPrefix = lib.mkOption {
|
|
default = "";
|
|
example = "/data";
|
|
};
|
|
stateVersion = lib.mkOption {
|
|
example = "20.09";
|
|
};
|
|
homeStateVersion = lib.mkOption {
|
|
default = config.chvp.stateVersion;
|
|
};
|
|
systemStateVersion = lib.mkOption {
|
|
default = config.chvp.stateVersion;
|
|
};
|
|
username = lib.mkOption {
|
|
default = "charlotte";
|
|
example = "charlotte.vanpetegem";
|
|
};
|
|
};
|
|
|
|
config =
|
|
let
|
|
username = config.chvp.username;
|
|
in
|
|
{
|
|
environment.systemPackages = with pkgs; [
|
|
coreutils
|
|
git
|
|
htop
|
|
moreutils
|
|
ncdu
|
|
ripgrep
|
|
unzip
|
|
zip
|
|
];
|
|
|
|
home-manager = {
|
|
useGlobalPkgs = true;
|
|
users = {
|
|
"${username}" = { ... }: {
|
|
home.stateVersion = config.chvp.homeStateVersion;
|
|
};
|
|
};
|
|
};
|
|
|
|
system.stateVersion = config.chvp.systemStateVersion;
|
|
|
|
users.users.${username} = {
|
|
description = "Charlotte Van Petegem";
|
|
shell = pkgs.zsh;
|
|
};
|
|
};
|
|
}
|