mirror of
https://github.com/daylinmorgan/oizys.git
synced 2024-12-22 14:20:44 -06:00
make nix-ld more modular
This commit is contained in:
parent
05b1c15ec1
commit
922fe7de73
4 changed files with 130 additions and 94 deletions
|
@ -1,28 +1,27 @@
|
||||||
{ enableAttrs, ... }:
|
{ enabled, ... }:
|
||||||
{
|
{
|
||||||
oizys =
|
oizys = {
|
||||||
(enableAttrs [
|
vpn = enabled;
|
||||||
"vpn"
|
desktop = enabled;
|
||||||
"desktop"
|
hyprland = enabled;
|
||||||
"hyprland"
|
chrome = enabled;
|
||||||
"chrome"
|
docker = enabled;
|
||||||
"docker"
|
nix-ld = enabled // {
|
||||||
"nix-ld"
|
overkill = enabled;
|
||||||
"vbox"
|
|
||||||
"backups"
|
|
||||||
])
|
|
||||||
// {
|
|
||||||
languages = [
|
|
||||||
"misc"
|
|
||||||
"nim"
|
|
||||||
"node"
|
|
||||||
"nushell"
|
|
||||||
"python"
|
|
||||||
"roc"
|
|
||||||
"tex"
|
|
||||||
"zig"
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
vbox = enabled;
|
||||||
|
backups = enabled;
|
||||||
|
languages = [
|
||||||
|
"misc"
|
||||||
|
"nim"
|
||||||
|
"node"
|
||||||
|
"nushell"
|
||||||
|
"python"
|
||||||
|
"roc"
|
||||||
|
"tex"
|
||||||
|
"zig"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
services.restic.backups.gdrive = {
|
services.restic.backups.gdrive = {
|
||||||
user = "daylin";
|
user = "daylin";
|
||||||
|
|
|
@ -29,13 +29,14 @@ let
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
];
|
];
|
||||||
specialArgs = {
|
specialArgs = {
|
||||||
inherit
|
inherit
|
||||||
inputs
|
inputs
|
||||||
lib
|
lib
|
||||||
self
|
self
|
||||||
enabled;
|
enabled
|
||||||
};
|
;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
mkSystem =
|
mkSystem =
|
||||||
hostName:
|
hostName:
|
||||||
|
|
|
@ -5,68 +5,109 @@
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
inherit (lib) mkEnableOption mkIf;
|
inherit (lib)
|
||||||
|
mkEnableOption
|
||||||
|
mkIf
|
||||||
|
mkOption
|
||||||
|
literalExpression
|
||||||
|
types
|
||||||
|
;
|
||||||
cfg = config.oizys.nix-ld;
|
cfg = config.oizys.nix-ld;
|
||||||
|
|
||||||
|
# https://github.com/NixOS/nixpkgs/blob/a4f437f0f5db62e6bcd7979c10eab177dd0fa188/nixos/modules/programs/nix-ld.nix#L44-L59
|
||||||
|
defaultLibraries = with pkgs; [
|
||||||
|
zlib
|
||||||
|
zstd
|
||||||
|
stdenv.cc.cc
|
||||||
|
curl
|
||||||
|
openssl
|
||||||
|
attr
|
||||||
|
libssh
|
||||||
|
bzip2
|
||||||
|
libxml2
|
||||||
|
acl
|
||||||
|
libsodium
|
||||||
|
util-linux
|
||||||
|
xz
|
||||||
|
systemd
|
||||||
|
];
|
||||||
|
|
||||||
|
# https://github.com/Mic92/dotfiles/blob/340152bdf4bd193269474426ca5d90c479aae0b7/nixos/modules/nix-ld.nix#L7-L58
|
||||||
|
overkillLibraries = with pkgs; [
|
||||||
|
alsa-lib
|
||||||
|
at-spi2-atk
|
||||||
|
at-spi2-core
|
||||||
|
atk
|
||||||
|
cairo
|
||||||
|
cups
|
||||||
|
curl
|
||||||
|
dbus
|
||||||
|
expat
|
||||||
|
fontconfig
|
||||||
|
freetype
|
||||||
|
fuse3
|
||||||
|
gdk-pixbuf
|
||||||
|
glib
|
||||||
|
gtk3
|
||||||
|
icu
|
||||||
|
libGL
|
||||||
|
libappindicator-gtk3
|
||||||
|
libdrm
|
||||||
|
libglvnd
|
||||||
|
libnotify
|
||||||
|
libpulseaudio
|
||||||
|
libunwind
|
||||||
|
libusb1
|
||||||
|
libuuid
|
||||||
|
libxkbcommon
|
||||||
|
mesa
|
||||||
|
nspr
|
||||||
|
nss
|
||||||
|
openssl
|
||||||
|
pango
|
||||||
|
pipewire
|
||||||
|
stdenv.cc.cc
|
||||||
|
systemd
|
||||||
|
vulkan-loader
|
||||||
|
xorg.libX11
|
||||||
|
xorg.libXScrnSaver
|
||||||
|
xorg.libXcomposite
|
||||||
|
xorg.libXcursor
|
||||||
|
xorg.libXdamage
|
||||||
|
xorg.libXext
|
||||||
|
xorg.libXfixes
|
||||||
|
xorg.libXi
|
||||||
|
xorg.libXrandr
|
||||||
|
xorg.libXrender
|
||||||
|
xorg.libXtst
|
||||||
|
xorg.libxcb
|
||||||
|
xorg.libxkbfile
|
||||||
|
xorg.libxshmfence
|
||||||
|
zlib
|
||||||
|
];
|
||||||
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.oizys.nix-ld.enable = mkEnableOption "enable nix-ld support";
|
options.oizys.nix-ld = {
|
||||||
config = mkIf cfg.enable {
|
enable = mkEnableOption "enable nix-ld support";
|
||||||
programs.nix-ld.enable = true;
|
extra-libraries = mkOption {
|
||||||
|
type = types.listOf types.package;
|
||||||
|
description = "Libraries that automatically become available to all programs.";
|
||||||
|
default = [ ];
|
||||||
|
defaultText = literalExpression "baseLibraries derived from systemd and nix dependencies.";
|
||||||
|
};
|
||||||
|
overkill.enable = mkEnableOption "enable overkill list of libraries";
|
||||||
|
|
||||||
# Packages that need at least something in this list:
|
|
||||||
# Geneious Prime
|
|
||||||
# list from https://github.com/Mic92/dotfiles/blob/cb180bdd3805b373e556a93ccb275b7f0f902a3b/nixos/modules/nix-ld.nix#L9C3-L60C5
|
|
||||||
programs.nix-ld.libraries = with pkgs; [
|
|
||||||
alsa-lib
|
|
||||||
at-spi2-atk
|
|
||||||
at-spi2-core
|
|
||||||
atk
|
|
||||||
cairo
|
|
||||||
cups
|
|
||||||
curl
|
|
||||||
dbus
|
|
||||||
expat
|
|
||||||
fontconfig
|
|
||||||
freetype
|
|
||||||
fuse3
|
|
||||||
gdk-pixbuf
|
|
||||||
glib
|
|
||||||
gtk3
|
|
||||||
icu
|
|
||||||
libGL
|
|
||||||
libappindicator-gtk3
|
|
||||||
libdrm
|
|
||||||
libglvnd
|
|
||||||
libnotify
|
|
||||||
libpulseaudio
|
|
||||||
libunwind
|
|
||||||
libusb1
|
|
||||||
libuuid
|
|
||||||
libxkbcommon
|
|
||||||
mesa
|
|
||||||
nspr
|
|
||||||
nss
|
|
||||||
openssl
|
|
||||||
pango
|
|
||||||
# pipewire
|
|
||||||
stdenv.cc.cc
|
|
||||||
systemd
|
|
||||||
vulkan-loader
|
|
||||||
xorg.libX11
|
|
||||||
xorg.libXScrnSaver
|
|
||||||
xorg.libXcomposite
|
|
||||||
xorg.libXcursor
|
|
||||||
xorg.libXdamage
|
|
||||||
xorg.libXext
|
|
||||||
xorg.libXfixes
|
|
||||||
xorg.libXi
|
|
||||||
xorg.libXrandr
|
|
||||||
xorg.libXrender
|
|
||||||
xorg.libXtst
|
|
||||||
xorg.libxcb
|
|
||||||
xorg.libxkbfile
|
|
||||||
xorg.libxshmfence
|
|
||||||
zlib
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
config =
|
||||||
|
mkIf cfg.enable
|
||||||
|
|
||||||
|
{
|
||||||
|
programs.nix-ld.enable = true;
|
||||||
|
programs.nix-ld.libraries =
|
||||||
|
|
||||||
|
defaultLibraries ++ cfg.extra-libraries ++ (if cfg.overkill.enable then overkillLibraries else [ ]);
|
||||||
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
5
todo.md
5
todo.md
|
@ -2,11 +2,6 @@
|
||||||
|
|
||||||
## oizys
|
## oizys
|
||||||
|
|
||||||
- [ ] make interoperable with a single command so first installation can be ran by root as:
|
|
||||||
```sh
|
|
||||||
nix --extra-experimental-features 'flakes nix-command' run "github:daylinmorgan/oiyzs" switch --host <host>
|
|
||||||
```
|
|
||||||
|
|
||||||
## software
|
## software
|
||||||
|
|
||||||
- [ ] lid closed does not engage hyprlock?
|
- [ ] lid closed does not engage hyprlock?
|
||||||
|
|
Loading…
Reference in a new issue