module: options -> devos/options
This commit is contained in:
parent
45f37db35c
commit
68f344acf0
1 changed files with 0 additions and 0 deletions
44
modules/devos/options.nix
Normal file
44
modules/devos/options.nix
Normal file
|
@ -0,0 +1,44 @@
|
|||
# Heavily inspired by hlissner: https://github.com/hlissner/dotfiles/blob/master/modules/options.nix
|
||||
{ config, options, lib, home-manager, ... }:
|
||||
with lib;
|
||||
with lib.hlissner;
|
||||
let
|
||||
mkAliasOpt = mkOpt types.attrs { };
|
||||
in
|
||||
{
|
||||
options = with types; {
|
||||
user = mkAliasOpt;
|
||||
home = mkAliasOpt;
|
||||
|
||||
dotfiles = {
|
||||
dir = mkOpt str "/etc/nixos";
|
||||
homeFile = mkAliasOpt;
|
||||
configFile = mkAliasOpt;
|
||||
dataFile = mkAliasOpt;
|
||||
};
|
||||
|
||||
env = mkAliasOpt;
|
||||
|
||||
info = {
|
||||
monitors = mkOpt int 1;
|
||||
graphical = mkBoolOpt config.services.xserver.enable;
|
||||
};
|
||||
};
|
||||
|
||||
config = {
|
||||
users.users.${config.user.name} = mkAliasDefinitions options.user;
|
||||
home-manager.users.${config.user.name} = mkAliasDefinitions options.home;
|
||||
|
||||
home = {
|
||||
home.file = mkAliasDefinitions options.dotfiles.homeFile;
|
||||
xdg = {
|
||||
configFile = mkAliasDefinitions options.dotfiles.configFile;
|
||||
dataFile = mkAliasDefinitions options.dotfiles.dataFile;
|
||||
};
|
||||
};
|
||||
|
||||
environment.variables = mkAliasDefinitions options.env;
|
||||
|
||||
bud.localFlakeClone = config.dotfiles.dir;
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue