diff options
Diffstat (limited to 'modules/default.nix')
-rw-r--r-- | modules/default.nix | 180 |
1 files changed, 0 insertions, 180 deletions
diff --git a/modules/default.nix b/modules/default.nix deleted file mode 100644 index 9aed9be..0000000 --- a/modules/default.nix +++ /dev/null @@ -1,180 +0,0 @@ -{ config, lib, pkgs, ... }: - -{ - - imports = [ - ./programs - ./home.nix - ./system.nix - ]; - - options = { - - # Primary user of the system - user = lib.mkOption { - type = lib.types.str; - description = "Primary user of the system"; - }; - fullName = lib.mkOption { - type = lib.types.str; - description = "Human readable name of the user"; - }; - homePath = lib.mkOption { - type = lib.types.str; - description = "Home directory path of the user"; - default = "/home/${config.user}"; - }; - dotfilesPath = lib.mkOption { - type = lib.types.str; - description = "Dotfiles path inside the users home dir"; - default = "${config.homePath}/.config/nix"; - }; - email = lib.mkOption { - type = lib.types.str; - description = "Primary email of the user"; - }; - - # Toggable components - desktop = { - enable = lib.mkEnableOption { - description = "Enable the gui."; - default = false; - }; - }; - system = { - enable = lib.mkEnableOption { - description = "Enable system services."; - default = false; - }; - }; - - # Monitor - monitor = { - name = lib.mkOption { - type = lib.types.str; - description = "Name of the primary monitor."; - default = ""; - }; - scale = lib.mkOption { - type = lib.types.float; - description = "Scale of the primary monitor."; - default = 1.0; - }; - }; - - # Theme of the system - theme = { - colors = lib.mkOption { - type = lib.types.attrs; - description = "base16 color scheme"; - default = (import ./themes).catppuccin.mocha; - }; - - accentColor = lib.mkOption { - type = lib.types.str; - description = "Theme accent color."; - default = config.theme.colors.base0D; - }; - - opacity = lib.mkOption { - type = lib.types.float; - description = "Window opacity."; - default = 1.0; - }; - - font = lib.mkOption { - type = lib.types.str; - description = "Theme primary font."; - default = "JetBrains Mono"; - }; - - fontSize = lib.mkOption { - type = lib.types.int; - description = "Theme primary font size."; - default = 14; - }; - - headerFont = lib.mkOption { - type = lib.types.str; - description = "Theme header font."; - default = "JetBrains Mono ExtraBold"; - }; - - monospaceFont = lib.mkOption { - type = lib.types.str; - description = "Theme monospace font."; - default = "monospace"; - }; - - iconFont = lib.mkOption { - type = lib.types.str; - description = "Theme icon font."; - default = "Font Awesome 6 Pro"; - }; - - borderWidth = lib.mkOption { - type = lib.types.int; - description = "Theme border width"; - default = 3; - }; - - outerRadius = lib.mkOption { - type = lib.types.int; - description = "Theme outer border radius."; - default = 5; - }; - - innerRadius = lib.mkOption { - type = lib.types.int; - description = "Theme inner border radius."; - default = 2; - }; - - outerGap = lib.mkOption { - type = lib.types.int; - description = "Theme outer gap/spacing."; - default = 10; - }; - - innerGap = lib.mkOption { - type = lib.types.int; - description = "Theme inner gap/spacing."; - default = 3; - }; - }; - - wallpaper = lib.mkOption { - type = lib.types.str; - description = "Path to wallpaper image"; - default = ""; - }; - - avatar = lib.mkOption { - type = lib.types.str; - description = "Path to avatar image"; - default = ""; - }; - }; - - config = { - - # use system packages in home manager - home-manager.useGlobalPkgs = true; - - # install user packages to /etc/profiles and not home directory - home-manager.useUserPackages = true; - - # allow flakes - nix.settings.experimental-features = [ "nix-command" "flakes" ]; - - # allow unfree packages - nixpkgs.config.allowUnfree = true; - - # set state version - home-manager.users.${config.user}.home.stateVersion = "25.05"; - home-manager.users.root.home.stateVersion = "25.05"; - system.stateVersion = "25.05"; - - }; - -} |