1

Nixos: Remove mkLink + mkEnableOpt and rename mkBoolOpt

This commit is contained in:
2024-10-12 17:31:01 +02:00
parent bd50e4539e
commit 4eddef07be
32 changed files with 156 additions and 172 deletions

View File

@ -5,5 +5,5 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Enable Alacritty";
enable = mkEnableOption "Enable Alacritty";
}

View File

@ -5,44 +5,44 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Audio module";
enable = mkEnableOption "Audio module";
# TODO: Group these in categories (like instruments/VSTs or sth)
# TODO: Make it easier to add many yes/no options, similar to the flatpak stuff
# Hosts/Editing
carla.enable = mkEnableOpt "Carla (VST host)";
bitwig.enable = mkEnableOpt "Bitwig (Digital audio workstation)";
tenacity.enable = mkEnableOpt "Tenacity (Audacity fork)";
carla.enable = mkEnableOption "Carla (VST host)";
bitwig.enable = mkEnableOption "Bitwig (Digital audio workstation)";
tenacity.enable = mkEnableOption "Tenacity (Audacity fork)";
# Instruments/Plugins
# vcvrack.enable = mkEnableOpt "VCV-Rack (Eurorack simulator)"; # Replaced by cardinal
cardinal.enable = mkEnableOpt "Open Source VCV-Rack plugin wrapper";
# vital.enable = mkEnableOpt "Vital (Wavetable synthesizer)"; # Replaced by distrho
distrho.enable = mkEnableOpt "Distrho (Linux VST ports)";
# vcvrack.enable = mkEnableOption "VCV-Rack (Eurorack simulator)"; # Replaced by cardinal
cardinal.enable = mkEnableOption "Open Source VCV-Rack plugin wrapper";
# vital.enable = mkEnableOption "Vital (Wavetable synthesizer)"; # Replaced by distrho
distrho.enable = mkEnableOption "Distrho (Linux VST ports)";
# Misc
faust.enable = mkEnableOpt "Faust (functional DSP language)";
bottles.enable = mkEnableOpt "Bottles (flatpak)";
faust.enable = mkEnableOption "Faust (functional DSP language)";
bottles.enable = mkEnableOption "Bottles (flatpak)";
# TODO: Automatically add the needed paths, depends on the bottle though
# /home/christoph/.var/app/com.usebottles.bottles/data/bottles/bottles/Audio/drive_c/Program Files/Common Files/VST3
# /home/christoph/.var/app/com.usebottles.bottles/data/bottles/bottles/Audio/drive_c/Program Files/VstPlugins
yabridge = {
enable = mkEnableOpt "Yabridge (Windows VST plugin manager)";
autoSync = mkBoolOpt false "Sync yabridge plugins on nixos-rebuild";
enable = mkEnableOption "Yabridge (Windows VST plugin manager)";
autoSync = mkBoolOption false "Sync yabridge plugins on nixos-rebuild";
};
noisesuppression = {
noisetorch = {
enable = mkEnableOpt "Noisetorch";
autostart = mkBoolOpt false "Autoload Noisetorch suppression";
enable = mkEnableOption "Noisetorch";
autostart = mkBoolOption false "Autoload Noisetorch suppression";
};
# TODO: Store easyeffects presets/config (dconf com/github/wwmm/easyeffects ?)
easyeffects = {
enable = mkEnableOpt "EasyEffects";
autostart = mkBoolOpt false "Autoload EasyEffects suppression profile";
enable = mkEnableOption "EasyEffects";
autostart = mkBoolOption false "Autoload EasyEffects suppression profile";
};
};
}

View File

@ -5,16 +5,16 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Emacs module";
enable = mkEnableOption "Emacs module";
# TODO: Use an enum for this not individual options
nixpkgs = mkBoolOpt false "Use Emacs from the official repositories";
nativeComp = mkBoolOpt false "Use Emacs 28.x branch with native comp support";
pgtkNativeComp = mkBoolOpt false "Use Emacs 29.x branch with native comp and pure gtk support";
nixpkgs = mkBoolOption false "Use Emacs from the official repositories";
nativeComp = mkBoolOption false "Use Emacs 28.x branch with native comp support";
pgtkNativeComp = mkBoolOption false "Use Emacs 29.x branch with native comp and pure gtk support";
doom = {
enable = mkEnableOpt "Doom Emacs framework";
autoSync = mkBoolOpt false "Sync Doom Emacs on nixos-rebuild";
autoUpgrade = mkBoolOpt false "Upgrade Doom Emacs on nixos-rebuild";
enable = mkEnableOption "Doom Emacs framework";
autoSync = mkBoolOption false "Sync Doom Emacs on nixos-rebuild";
autoUpgrade = mkBoolOption false "Upgrade Doom Emacs on nixos-rebuild";
};
}

View File

@ -5,12 +5,12 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Email";
autosync = mkEnableOpt "Automatically call \"notmuch new\" via systemd timer";
imapnotify = mkEnableOpt "Use imapnotify to sync and index mail automatically";
enable = mkEnableOption "Email";
autosync = mkEnableOption "Automatically call \"notmuch new\" via systemd timer";
imapnotify = mkEnableOption "Use imapnotify to sync and index mail automatically";
kmail = {
enable = mkEnableOpt "Kmail";
autostart = mkEnableOpt "Autostart Kmail";
enable = mkEnableOption "Kmail";
autostart = mkEnableOption "Autostart Kmail";
};
}

View File

@ -5,22 +5,22 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Flatpak module";
fontFix = mkBoolOpt true "Link fonts to ~/.local/share/fonts so flatpak apps can find them";
iconFix = mkBoolOpt true "Link icons to ~/.local/share/icons so flatpak apps can find them";
autoUpdate = mkBoolOpt false "Update flatpak apps on nixos-rebuild";
autoPrune = mkBoolOpt false "Remove unused packages on nixos-rebuild";
enable = mkEnableOption "Flatpak module";
fontFix = mkBoolOption true "Link fonts to ~/.local/share/fonts so flatpak apps can find them";
iconFix = mkBoolOption true "Link icons to ~/.local/share/icons so flatpak apps can find them";
autoUpdate = mkBoolOption false "Update flatpak apps on nixos-rebuild";
autoPrune = mkBoolOption false "Remove unused packages on nixos-rebuild";
# TODO: Add library function to make this easier
# TODO: The flatpak name should be included and a list of all enabled apps should be available
# TODO: Do this for strings + packages
discord.enable = mkEnableOpt "Discord";
spotify.enable = mkEnableOpt "Spotify";
flatseal.enable = mkEnableOpt "Flatseal";
bottles.enable = mkEnableOpt "Bottles";
obsidian.enable = mkEnableOpt "Obsidian";
jabref.enable = mkEnableOpt "Jabref";
# xwaylandvideobridge = mkEnableOpt "XWayland Video Bridge"; # TODO
discord.enable = mkEnableOption "Discord";
spotify.enable = mkEnableOption "Spotify";
flatseal.enable = mkEnableOption "Flatseal";
bottles.enable = mkEnableOption "Bottles";
obsidian.enable = mkEnableOption "Obsidian";
jabref.enable = mkEnableOption "Jabref";
# xwaylandvideobridge = mkEnableOption "XWayland Video Bridge"; # TODO
# TODO: Can I use extraInstall = { "com.valve.Steam" = true/false; } and pass the module option as value?
# This is mainly used by other modules to allow them to use flatpak packages

View File

@ -5,19 +5,19 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Gaming module";
enable = mkEnableOption "Gaming module";
# discordElectron.enable = mkEnableOpt "Discord (Electron) (nixpkgs)";
# discordChromium.enable = mkEnableOpt "Discord (Chromium)";
prism.enable = mkEnableOpt "PrismLauncher for Minecraft (flatpak)";
bottles.enable = mkEnableOpt "Bottles (flatpak)";
# dwarffortress.enable = mkEnableOpt "Dwarf Fortress";
cemu.enable = mkEnableOpt "Cemu (nixpkgs)";
# discordElectron.enable = mkEnableOption "Discord (Electron) (nixpkgs)";
# discordChromium.enable = mkEnableOption "Discord (Chromium)";
prism.enable = mkEnableOption "PrismLauncher for Minecraft (flatpak)";
bottles.enable = mkEnableOption "Bottles (flatpak)";
# dwarffortress.enable = mkEnableOption "Dwarf Fortress";
cemu.enable = mkEnableOption "Cemu (nixpkgs)";
steam = {
enable = mkEnableOpt "Steam (flatpak)";
gamescope = mkBoolOpt false "Enable the gamescope micro compositor (flatpak)";
adwaita = mkBoolOpt false "Enable the adwaita-for-steam skin";
protonup = mkBoolOpt false "Enable ProtonUP-QT";
enable = mkEnableOption "Steam (flatpak)";
gamescope = mkBoolOption false "Enable the gamescope micro compositor (flatpak)";
adwaita = mkBoolOption false "Enable the adwaita-for-steam skin";
protonup = mkBoolOption false "Enable ProtonUP-QT";
};
}

View File

@ -5,5 +5,5 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Helix Editor";
enable = mkEnableOption "Helix Editor";
}

View File

@ -5,15 +5,15 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Misc module";
enable = mkEnableOption "Misc module";
keepass = {
enable = mkEnableOpt "KeePassXC";
autostart = mkBoolOpt false "Autostart KeePassXC";
enable = mkEnableOption "KeePassXC";
autostart = mkBoolOption false "Autostart KeePassXC";
};
protonmail = {
enable = mkEnableOpt "ProtonMail";
autostart = mkBoolOpt false "Autostart ProtonMail Bridge";
enable = mkEnableOption "ProtonMail";
autostart = mkBoolOption false "Autostart ProtonMail Bridge";
};
}

View File

@ -5,6 +5,6 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Nextcloud Client";
autostart = mkBoolOpt false "Autostart the Nextcloud client (systemd)";
enable = mkEnableOption "Nextcloud Client";
autostart = mkBoolOption false "Autostart the Nextcloud client (systemd)";
}

View File

@ -5,6 +5,6 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Ranger";
preview = mkBoolOpt false "Enable Ranger image preview";
enable = mkEnableOption "Ranger";
preview = mkBoolOption false "Enable Ranger image preview";
}

View File

@ -5,5 +5,5 @@
}:
with lib;
with mylib.modules; {
enable = mkEnableOpt "Visual Studio Code";
enable = mkEnableOption "Visual Studio Code";
}