This commit is contained in:
Shelvacu
2025-04-19 12:59:24 -07:00
committed by Shelvacu on fw
parent 28d486ea19
commit 24657fcc90
8 changed files with 191 additions and 187 deletions

View File

@@ -48,7 +48,6 @@ else
./git.nix
./hpn.nix
./checks.nix
./ffmpeg.nix
];
options = {
vacu.rootCAs = mkOption { type = types.listOf types.str; };

View File

@@ -6,84 +6,179 @@
...
}:
lib.mkMerge [
(lib.mkIf (config.vacu.systemKind == "desktop") {
vacu.packages = with pkgs; [
acpi
anki
arduino-ide
bitwarden-desktop
brave
dino
filezilla
ghidra
gimp
haruna
iio-sensor-proxy
"inkscape-all"
jellyfin-media-player
josm
kdePackages.elisa
kdePackages.kdenlive
libreoffice-qt6-fresh
librewolf
makemkv
merkaartor
nextcloud-client
nheko
obsidian
openscad
openshot-qt
orca-slicer
OSCAR
prismlauncher
shotcut
signal-desktop
svp
thunderbird
tremotesf
vlc
wayland-utils
wev
winetricks
wineWowPackages.fonts
wineWowPackages.stableFull
wireshark
wl-clipboard
];
})
(lib.mkIf (config.vacu.systemKind != "minimal" && config.vacu.systemKind != "container") {
vacu.packages =
(with pkgs; [
home-manager
nix-index
rclone
termscp
man
neovim
nmap
ruby
(p7zip.override { enableUnfree = true; })
tcpdump
cargo
wayland-utils
kanidm_1_5
megatools
])
++ [
inputs.nix-search-cli.packages.${pkgs.system}.default
inputs.nix-inspect.packages.${pkgs.system}.default
];
vacu.packages = with pkgs; [
aircrack-ng
android-tools
bitwarden-cli
borgbackup
cargo
dmidecode
fido2-manage
flac
home-manager
imagemagickBig
kanidm_1_5
libsmi
man
megatools
mercurial
mkvtoolnix-cli
# neovim => see common/nixvim.nix
net-snmp
nix-index
"nix-inspect"
"nix-search-cli"
nmap
nvme-cli
proxmark3
radicle-node
rclone
ruby
smartmontools
tcpdump
termscp
];
})
{
vacu.packages.ffmpeg-vacu-full.enable = config.vacu.systemKind == "desktop";
vacu.packages.ffmpeg-vacu-headless.enable = config.vacu.systemKind != "minimal" && config.vacu.systemKind != "container" && config.vacu.systemKind != "desktop";
}
{
vacu.packages = {
ffmpeg-vacu-full = {
package = pkgs.ffmpeg-full;
overrides.libbluray = config.vacu.packges.libbluray-all.finalPackage;
};
ffmpeg-vacu-headless = {
package = pkgs.ffmpeg-headless;
overrides.libbluray = config.vacu.packages.libbluray-all.finalPackage;
};
libbluray-all = {
package = pkgs.libbluray;
overrides = {
withJava = true;
withAACS = true;
withBDplus = true;
};
};
inkscape-all = {
package = pkgs.inkscape-with-extensions;
# null actually means everything https://github.com/NixOS/nixpkgs/commit/5efd65b2d94b0ac0cf155e013b6747fa22bc04c3
overrides.inkscapeExtensions = null;
};
nix-search-cli.package = inputs.nix-search-cli.packages.${pkgs.system}.default;
nix-inspect.package = inputs.nix-inspect.packages.${pkgs.system}.default;
p7zip-unfree = {
package = pkgs.p7zip;
overrides.enableUnfree = true;
};
vacu-units.package = config.vacu.units.finalPackage;
};
}
{
vacu.packages =
(with pkgs; [
netcat-openbsd
nixos-rebuild
which
nano
vim
wget
screen
tmux
lsof
htop
mosh
dnsutils
iperf3
rsync
ethtool
sshfs
with pkgs; [
bash
bzip2
curl
ddrescue
pciutils
ncdu
pv
unzip
file
ripgrep
jq
tree
iputils
ssh-to-age
sops
inetutils
diffutils
dig
dnsutils
ethtool
file
findutils
util-linux
tzdata
hostname
gnugrep
gnused
gnutar
bzip2
gnutls
gzip
hostname
htop
inetutils
iperf3
iputils
jq
killall
lsof
mosh
nano
ncdu
netcat-openbsd
nixos-rebuild
openssh
"p7zip-unfree"
pciutils
progress
psutils
pv
ripgrep
rsync
screen
# sed => gnused
sops
sshfs
ssh-to-age
# tar => gnutar
tmux
tree
tzdata
# units => vacu-units
unzip
usbutils
util-linux
"vacu-units"
vim
wget
which
xz
zip
unzip
openssh
dig
bash
usbutils
psutils
killall
curl
gnutls
progress
])
++ [ config.vacu.units.finalPackage ];
];
}
]

View File

@@ -1,13 +0,0 @@
{ pkgs, lib, ... }:
{
vacu.packages.ffmpeg-allvrything = {
enable = lib.mkDefault false;
package = pkgs.ffmpeg_7-full.override (old: {
libbluray = old.libbluray.override {
withJava = true;
withAACS = true;
withBDplus = true;
};
});
};
}

View File

@@ -8,14 +8,15 @@ let
inherit (lib) mkOption types;
pkgOptions = builtins.attrValues config.vacu.packages;
enabledOptions = builtins.filter (o: o.enable) pkgOptions;
enabledPkgs = builtins.map (o: o.package) enabledOptions;
enabledPkgs = builtins.map (o: o.finalPackage) enabledOptions;
packagesSetType = types.attrsOf (
types.submodule (
{ name, ... }:
{ name, config, ... }:
{
options = {
enable = mkOption {
type = types.bool;
default = false;
description = "Will this package be installed (included in environment.systemPackages)";
};
package = mkOption {
@@ -23,7 +24,16 @@ let
default = pkgs.${name};
defaultText = "pkgs.${name}";
};
overrides = mkOption {
type = types.nullOr (types.attrsOf types.anything);
default = null;
};
finalPackage = mkOption {
type = types.package;
readOnly = true;
};
};
config.finalPackage = if config.overrides == null then config.package else config.package.override config.overrides;
}
)
);

View File

@@ -28,72 +28,13 @@
programs.steam.extraCompatPackages = [ pkgs.proton-ge-bin ];
vacu.packages =
(with pkgs; [
bitwarden-desktop
nheko
librewolf
brave
thunderbird
wl-clipboard
nextcloud-client
signal-desktop
fw-ectool
framework-tool
iio-sensor-proxy
power-profiles-daemon
acpi
jellyfin-media-player
vlc
dmidecode
prismlauncher
"ffmpeg-allvrything"
wireshark
obsidian
dino
aircrack-ng
libreoffice-qt6-fresh
gimp
# null actually means everything https://github.com/NixOS/nixpkgs/commit/5efd65b2d94b0ac0cf155e013b6747fa22bc04c3
(inkscape-with-extensions.override { inkscapeExtensions = null; })
libsmi
net-snmp
android-tools
ghidra
wineWowPackages.stableFull
wineWowPackages.fonts
winetricks
tremotesf
smartmontools
nvme-cli
arduino-ide
headsetcontrol
OSCAR
# makemkv
mkvtoolnix-cli
flac
imagemagickBig
anki
openshot-qt
kdePackages.kdenlive
shotcut
radicle-node
josm
merkaartor
kaffeine
kdePackages.elisa
haruna
kdePackages.dragon
wev
svp
filezilla
mercurial
orca-slicer
ghidra
openscad
fido2-manage
])
++ [ ];
vacu.packages = with pkgs; [
framework-tool
fw-ectool
headsetcontrol
];
services.power-profiles-daemon.enable = true;
networking.firewall.enable = false;

View File

@@ -16,46 +16,8 @@
system.stateVersion = "24.05";
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
services.power-profiles-daemon.enable = true;
networking.networkmanager.enable = true;
vacu.packages =
(with pkgs; [
bitwarden-desktop
nheko
# librewolf
brave
thunderbird
wl-clipboard
nextcloud-client
signal-desktop
iio-sensor-proxy
power-profiles-daemon
acpi
jellyfin-media-player
vlc
dmidecode
prismlauncher
ffmpeg_7-full
wireshark
obsidian
dino
aircrack-ng
libreoffice-qt6-fresh
gimp
# null actually means everything https://github.com/NixOS/nixpkgs/commit/5efd65b2d94b0ac0cf155e013b6747fa22bc04c3
(inkscape-with-extensions.override { inkscapeExtensions = null; })
libsmi
net-snmp
android-tools
ghidra
wineWowPackages.stableFull
wineWowPackages.fonts
winetricks
lutris
radicle-node
proxmark3
ghidra
])
++ [ ];
services.openssh.enable = true;

View File

@@ -13,6 +13,7 @@
./sops.nix
# ./disko.nix
./docker.nix
./dovecot-backup.nix
];
boot.loader.systemd-boot.enable = true;

View File

@@ -0,0 +1,9 @@
{
...
}:
{
# systemd.services.dovecot-backup-sftp-server = {
# enable = true;
#
# };
}