idk
This commit is contained in:
parent
da7459efbb
commit
cf260a566e
6 changed files with 2 additions and 2 deletions
25
options/system/default.nix
Normal file
25
options/system/default.nix
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
./programs.nix
|
||||
./file.nix
|
||||
./environment.nix
|
||||
./programs.nix
|
||||
./hardware.nix
|
||||
];
|
||||
|
||||
options.device = {
|
||||
flatpak.enable = lib.mkEnableOption "flatpak";
|
||||
flake-name = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "desktop";
|
||||
description = "Flake name for quick rebuild";
|
||||
};
|
||||
|
||||
cursors = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "aemeath";
|
||||
description = "Cursor theme to use for the desktop";
|
||||
};
|
||||
};
|
||||
}
|
||||
34
options/system/environment.nix
Normal file
34
options/system/environment.nix
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
options.device = {
|
||||
dm = {
|
||||
sddm = {
|
||||
enable = lib.mkEnableOption "sddm";
|
||||
theme = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "hyprland_kath";
|
||||
description = "astronaut theme name";
|
||||
};
|
||||
};
|
||||
|
||||
gdm.enable = lib.mkEnableOption "gdm";
|
||||
};
|
||||
|
||||
de = {
|
||||
kdePlasma.enable = lib.mkEnableOption "kde plasma";
|
||||
gnome.enable = lib.mkEnableOption "gnome";
|
||||
};
|
||||
|
||||
wm = {
|
||||
niri.enable = lib.mkEnableOption "niri";
|
||||
hyprland = {
|
||||
enable = lib.mkEnableOption "hyprland";
|
||||
monitors = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.attrs;
|
||||
default = [];
|
||||
description = "Monitors settings";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
24
options/system/file.nix
Normal file
24
options/system/file.nix
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
options.device.files = {
|
||||
symlink = lib.mkOption {
|
||||
default = { };
|
||||
type = lib.types.attrsOf lib.types.str;
|
||||
};
|
||||
|
||||
source = lib.mkOption {
|
||||
default = { };
|
||||
type = lib.types.attrsOf lib.types.path;
|
||||
};
|
||||
|
||||
force = lib.mkOption {
|
||||
default = { };
|
||||
type = lib.types.attrsOf lib.types.bool;
|
||||
};
|
||||
|
||||
mkForce = lib.mkOption {
|
||||
default = { };
|
||||
type = lib.types.attrsOf lib.types.bool;
|
||||
};
|
||||
};
|
||||
}
|
||||
5
options/system/hardware.nix
Normal file
5
options/system/hardware.nix
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
{ lib, ... }: {
|
||||
options.device = {
|
||||
bluetooth.enable = lib.mkEnableOption "bluetooth";
|
||||
};
|
||||
}
|
||||
135
options/system/programs.nix
Normal file
135
options/system/programs.nix
Normal file
|
|
@ -0,0 +1,135 @@
|
|||
{ lib, pkgs, ... }:
|
||||
{
|
||||
options.device.programs = {
|
||||
terminal = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
default = "ghostty";
|
||||
description = "Terminal";
|
||||
};
|
||||
|
||||
nixcord.enable = lib.mkEnableOption "nixcord";
|
||||
tmux.enable = lib.mkEnableOption "tmux";
|
||||
starship.enable = lib.mkEnableOption "starship";
|
||||
fastfetch.enable = lib.mkEnableOption "fastfetch";
|
||||
steam.enable = lib.mkEnableOption "steam";
|
||||
|
||||
obs-studio.enable = lib.mkEnableOption "Obs Studio";
|
||||
cider-2.enable = lib.mkEnableOption "Cider 2";
|
||||
};
|
||||
|
||||
options.programs = {
|
||||
wget = {
|
||||
enable = lib.mkEnableOption "wget";
|
||||
package = lib.mkPackageOption pkgs "wget" { };
|
||||
};
|
||||
tree = {
|
||||
enable = lib.mkEnableOption "tree";
|
||||
package = lib.mkPackageOption pkgs "tree" { };
|
||||
};
|
||||
ffmpeg = {
|
||||
enable = lib.mkEnableOption "ffmpeg";
|
||||
package = lib.mkPackageOption pkgs "ffmpeg-full" { };
|
||||
};
|
||||
nodejs = {
|
||||
enable = lib.mkEnableOption "nodejs";
|
||||
package = lib.mkPackageOption pkgs "nodejs" { };
|
||||
};
|
||||
bun = {
|
||||
enable = lib.mkEnableOption "bun";
|
||||
package = lib.mkPackageOption pkgs "bun" { };
|
||||
};
|
||||
brightnessctl = {
|
||||
enable = lib.mkEnableOption "brightnessctl";
|
||||
package = lib.mkPackageOption pkgs "brightnessctl" { };
|
||||
};
|
||||
php = {
|
||||
enable = lib.mkEnableOption "php";
|
||||
package = lib.mkPackageOption pkgs "php" { };
|
||||
};
|
||||
ntfs3g = {
|
||||
enable = lib.mkEnableOption "ntfs3g";
|
||||
package = lib.mkPackageOption pkgs "ntfs3g" { };
|
||||
};
|
||||
zip = {
|
||||
enable = lib.mkEnableOption "zip";
|
||||
package = lib.mkPackageOption pkgs "zip" { };
|
||||
};
|
||||
unzip = {
|
||||
enable = lib.mkEnableOption "unzip";
|
||||
package = lib.mkPackageOption pkgs "unzip" { };
|
||||
};
|
||||
python = {
|
||||
enable = lib.mkEnableOption "python";
|
||||
package = lib.mkPackageOption pkgs "python3" { };
|
||||
};
|
||||
jdk = {
|
||||
enable = lib.mkEnableOption "jdk-25";
|
||||
package = lib.mkPackageOption pkgs "jdk25" { };
|
||||
};
|
||||
nixfmt = {
|
||||
enable = lib.mkEnableOption "nixfmt";
|
||||
package = lib.mkPackageOption pkgs "nixfmt" { };
|
||||
};
|
||||
winepackages = {
|
||||
enable = lib.mkEnableOption "Wine and Proton utilities";
|
||||
packages = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.package;
|
||||
default = with pkgs; [
|
||||
wine
|
||||
wine64
|
||||
winetricks
|
||||
protontricks
|
||||
];
|
||||
};
|
||||
};
|
||||
quickshell = {
|
||||
enable = lib.mkEnableOption "quickshell";
|
||||
package = lib.mkPackageOption pkgs "quickshell" { };
|
||||
};
|
||||
papirus-icons = {
|
||||
enable = lib.mkEnableOption "papirus-icon-theme";
|
||||
package = lib.mkPackageOption pkgs "papirus-icon-theme" { };
|
||||
};
|
||||
kde-packages = {
|
||||
enable = lib.mkEnableOption "KDE utility packages";
|
||||
packages = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.package;
|
||||
default = with pkgs.kdePackages; [
|
||||
kservice
|
||||
dolphin
|
||||
kate
|
||||
qt5compat
|
||||
qtdeclarative
|
||||
qtimageformats
|
||||
qtsvg
|
||||
qtmultimedia
|
||||
kde-gtk-config
|
||||
kirigami
|
||||
ksvg
|
||||
qtbase
|
||||
plasma5support
|
||||
qttools
|
||||
plasma-sdk
|
||||
];
|
||||
};
|
||||
};
|
||||
r-tensorflow = {
|
||||
enable = lib.mkEnableOption "R tensorflow";
|
||||
package = lib.mkOption {
|
||||
type = lib.types.package;
|
||||
default = pkgs.rPackages.tensorflow;
|
||||
};
|
||||
};
|
||||
hyprland-portals = {
|
||||
enable = lib.mkEnableOption "XDGP for hyprland";
|
||||
packages = lib.mkOption {
|
||||
type = lib.types.listOf lib.types.package;
|
||||
default = with pkgs; [
|
||||
xdg-desktop-portal
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-hyprland
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in a new issue