options follow my.schema to avoid conflicts

This commit is contained in:
2024-04-19 23:19:21 -06:00
parent f1a1656155
commit 36f4b83c82
30 changed files with 1502 additions and 1657 deletions

View File

@@ -1,11 +1,15 @@
{ config, pkgs, lib, unstable, ... }:
{
options = {
myArt.enable = lib.mkEnableOption "enable";
myGameDev.enable = lib.mkEnableOption "enable";
let
unstable = import
(builtins.fetchTarball "https://github.com/nixos/nixpkgs/tarball/master") {
config = config.nixpkgs.config;
};
in {
options.my = {
apps.art.enable = lib.mkEnableOption "enable";
dev.gameDev.enable = lib.mkEnableOption "enable";
};
config = lib.mkIf config.myArt.enable {
config = lib.mkIf config.my.apps.art.enable {
users.users.jawz.packages = with pkgs;
([
gimp # the coolest bestest art program to never exist
@@ -16,7 +20,7 @@
# drawpile # arty party with friends!!
pureref # create inspiration/reference boards
blender # cgi animation and sculpting
]) ++ (if config.myGameDev.enable then [
]) ++ (if config.my.dev.gameDev.enable then [
godot_4 # game development
unstable.gdtoolkit # gdscript language server
] else

View File

@@ -1,11 +1,14 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, unstable, ... }:
{
users.users.jawz.packages = with pkgs; ([
hunspell
hunspellDicts.it_IT
hunspellDicts.es_MX
hunspellDicts.es_ES
hunspellDicts.en_CA-large
]);
options.my.apps.dictionaries.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.dictionaries.enable {
users.users.jawz.packages = with pkgs; ([
hunspell
hunspellDicts.it_IT
hunspellDicts.es_MX
hunspellDicts.es_ES
hunspellDicts.en_CA-large
]);
};
}

View File

@@ -1,10 +1,13 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, unstable, ... }:
{
users.users.jawz.packages = with pkgs; ([
(nerdfonts.override {
fonts = [ "CascadiaCode" "ComicShannsMono" "Iosevka" ];
})
symbola
]);
options.my.apps.fonts.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.fonts.enable {
users.users.jawz.packages = with pkgs; ([
(nerdfonts.override {
fonts = [ "CascadiaCode" "ComicShannsMono" "Iosevka" ];
})
symbola
]);
};
}

View File

@@ -1,14 +1,12 @@
{ config, pkgs, lib, ... }:
{
options = { myGaming.enable = lib.mkEnableOption "enable"; };
config = lib.mkIf config.myGaming.enable {
programs = {
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
options.my.apps.gaming.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.gaming.enable {
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
users.users.jawz.packages = with pkgs; ([
(lutris.override {

View File

@@ -1,27 +1,30 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, unstable, ... }:
{
programs = {
geary.enable = true;
firefox = {
enable = true;
languagePacks = [ "en-CA" "es-MX" "it" ];
options.my.apps.internet.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.internet.enable {
programs = {
geary.enable = true;
firefox = {
enable = true;
languagePacks = [ "en-CA" "es-MX" "it" ];
};
};
services = { psd.enable = true; };
users.users.jawz.packages = with pkgs; ([
nextcloud-client # self-hosted google-drive alternative
fragments # beautiful torrent client
protonmail-bridge # bridge for protonmail
tor-browser-bundle-bin # dark web, so dark!
chromium # web browser with spyware included
telegram-desktop # furry chat
nicotine-plus # remember Ares?
vesktop
(pkgs.discord.override {
withOpenASAR = true;
# withVencord = true;
})
# hugo # website engine
]);
};
services = { psd.enable = true; };
users.users.jawz.packages = with pkgs; ([
nextcloud-client # self-hosted google-drive alternative
fragments # beautiful torrent client
protonmail-bridge # bridge for protonmail
tor-browser-bundle-bin # dark web, so dark!
chromium # web browser with spyware included
telegram-desktop # furry chat
nicotine-plus # remember Ares?
vesktop
(pkgs.discord.override {
withOpenASAR = true;
# withVencord = true;
})
# hugo # website engine
]);
}

View File

@@ -1,13 +1,16 @@
{ config, pkgs, ... }:
{ config, pkgs, lib, unstable, ... }:
{
users.users.jawz.packages = with pkgs; ([
libreoffice # office, but based
calibre # ugly af eBook library manager
newsflash # feed reader, syncs with nextcloud
furtherance # I packaged this one tehee track time utility
# foliate # gtk eBook reader
# wike # gtk wikipedia wow!
# denaro # manage your finances
]);
options.my.apps.office.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.office.enable {
users.users.jawz.packages = with pkgs; ([
libreoffice # office, but based
calibre # ugly af eBook library manager
newsflash # feed reader, syncs with nextcloud
furtherance # I packaged this one tehee track time utility
# foliate # gtk eBook reader
# wike # gtk wikipedia wow!
# denaro # manage your finances
]);
};
}