add enable function

This commit is contained in:
Daylin Morgan 2024-03-19 07:24:30 -05:00
parent 13b42e2511
commit 5e49f286e6
Signed by: daylin
GPG key ID: 950D13E9719334AD
4 changed files with 81 additions and 63 deletions

View file

@ -1,18 +1,17 @@
{ {
pkgs, pkgs,
self, self,
lib,
... ...
}: { }: let
inherit (lib) enabled;
in {
imports = with self.nixosModules; [ imports = with self.nixosModules; [
nix-ld
restic restic
docker docker
]; ];
oizys = { oizys = {
vbox.enable = true;
desktop.enable = true;
vpn.enable = true;
languages = [ languages = [
"misc" "misc"
"python" "python"
@ -20,7 +19,11 @@
"tex" "tex"
"node" "node"
]; ];
chrome.enable = true; nix-ld = enabled;
vbox = enabled;
desktop = enabled;
vpn = enabled;
chrome = enabled;
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [

View file

@ -2,6 +2,8 @@ final: prev: let
inherit (final) hasSuffix; inherit (final) hasSuffix;
runes = import ../modules/runes; runes = import ../modules/runes;
in { in {
enabled = {enable = true;};
disabled = {enable = false;};
isNixFile = path: hasSuffix ".nix" path; isNixFile = path: hasSuffix ".nix" path;
mkIfIn = name: list: prev.mkIf (builtins.elem name list); mkIfIn = name: list: prev.mkIf (builtins.elem name list);
mkRune = { mkRune = {

View file

@ -28,6 +28,8 @@
# programs # programs
chrome chrome
vscode vscode
nix-ld
]; ];
options.oizys.desktop.enable = lib.mkEnableOption "is desktop"; options.oizys.desktop.enable = lib.mkEnableOption "is desktop";

View file

@ -1,59 +1,70 @@
{pkgs, ...}: { {
programs.nix-ld.enable = true; pkgs,
lib,
config,
...
}: let
inherit (lib) mkEnableOption mkIf;
cfg = config.oizys.nix-ld;
in {
options.oizys.nix-ld.enable = mkEnableOption "enable nix-ld support";
config = mkIf cfg.enable {
programs.nix-ld.enable = true;
# Packages that need at least something in this list: # Packages that need at least something in this list:
# Geneious Prime # Geneious Prime
# https://github.com/Mic92/dotfiles/blob/cb180bdd3805b373e556a93ccb275b7f0f902a3b/nixos/modules/nix-ld.nix#L9C3-L60C5 # https://github.com/Mic92/dotfiles/blob/cb180bdd3805b373e556a93ccb275b7f0f902a3b/nixos/modules/nix-ld.nix#L9C3-L60C5
programs.nix-ld.libraries = with pkgs; [ programs.nix-ld.libraries = with pkgs; [
alsa-lib alsa-lib
at-spi2-atk at-spi2-atk
at-spi2-core at-spi2-core
atk atk
cairo cairo
cups cups
curl curl
dbus dbus
expat expat
fontconfig fontconfig
freetype freetype
fuse3 fuse3
gdk-pixbuf gdk-pixbuf
glib glib
gtk3 gtk3
icu icu
libGL libGL
libappindicator-gtk3 libappindicator-gtk3
libdrm libdrm
libglvnd libglvnd
libnotify libnotify
libpulseaudio libpulseaudio
libunwind libunwind
libusb1 libusb1
libuuid libuuid
libxkbcommon libxkbcommon
mesa mesa
nspr nspr
nss nss
openssl openssl
pango pango
pipewire pipewire
stdenv.cc.cc stdenv.cc.cc
systemd systemd
vulkan-loader vulkan-loader
xorg.libX11 xorg.libX11
xorg.libXScrnSaver xorg.libXScrnSaver
xorg.libXcomposite xorg.libXcomposite
xorg.libXcursor xorg.libXcursor
xorg.libXdamage xorg.libXdamage
xorg.libXext xorg.libXext
xorg.libXfixes xorg.libXfixes
xorg.libXi xorg.libXi
xorg.libXrandr xorg.libXrandr
xorg.libXrender xorg.libXrender
xorg.libXtst xorg.libXtst
xorg.libxcb xorg.libxcb
xorg.libxkbfile xorg.libxkbfile
xorg.libxshmfence xorg.libxshmfence
zlib zlib
]; ];
};
} }