159 lines
3.3 KiB
Nix
159 lines
3.3 KiB
Nix
{
|
|
outputs,
|
|
pkgs,
|
|
pkgs-edge,
|
|
lib,
|
|
config,
|
|
...
|
|
}:
|
|
let cfg = config.sharedPackages; in {
|
|
options = {
|
|
sharedPackages.enable = lib.mkEnableOption "Whether or not to install shared packages and settings";
|
|
global.desktopPackages = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Whether or not to install shared desktop packages and settings.";
|
|
};
|
|
global.serverPackages = lib.mkOption {
|
|
type = lib.types.bool;
|
|
default = false;
|
|
description = "Whether or not to install shared server packages and settings.";
|
|
};
|
|
};
|
|
|
|
config = lib.mkIf cfg.enable {
|
|
imports = [] ++ lib.mkIf (cfg.desktopPackages == true) [
|
|
./desktop-settings
|
|
] ++ lib.mkIf (cfg.serverPackages == true) [
|
|
./server-settings
|
|
];
|
|
nixpkgs = {
|
|
# You can add overlays here
|
|
overlays = [
|
|
# Add overlays your own flake exports (from overlays and pkgs dir):
|
|
outputs.overlays.additions
|
|
outputs.overlays.modifications
|
|
];
|
|
};
|
|
|
|
environment.systemPackages =
|
|
(with pkgs; [
|
|
# Custom tools
|
|
rebuild
|
|
rebuild-no-inhibit
|
|
install-nix
|
|
install-nix-no-inhibit
|
|
update
|
|
upgrade
|
|
simple-completion-language-server
|
|
|
|
# System tools
|
|
age
|
|
alejandra
|
|
e2fsprogs
|
|
# uutils-findutils
|
|
git
|
|
git-filter-repo
|
|
pre-commit
|
|
helix
|
|
home-manager
|
|
htop
|
|
just
|
|
killall
|
|
oh-my-zsh
|
|
rsync
|
|
tre-command
|
|
wget
|
|
zsh
|
|
tldr
|
|
nmap
|
|
knot-dns
|
|
libressl
|
|
nettools
|
|
starship
|
|
|
|
# System libraries
|
|
] ++ lib.mkIf (cfg.desktop == true) [
|
|
# Custom tools
|
|
dvd
|
|
dvt
|
|
servo
|
|
restart
|
|
|
|
# System tools
|
|
aha
|
|
ttf-ms-win10
|
|
wineWow64Packages.stable
|
|
bottles
|
|
tpm2-abrmd
|
|
jdk21_headless
|
|
#bcachefs-tools
|
|
clinfo
|
|
direnv
|
|
exfat
|
|
exfatprogs
|
|
gamemode
|
|
git-filter-repo
|
|
gnupg
|
|
pciutils
|
|
podman
|
|
podman-compose
|
|
python3Minimal
|
|
sbctl
|
|
tpm2-tools
|
|
tpm2-tss
|
|
virtualgl
|
|
vulkan-tools
|
|
# waydroid
|
|
waypipe
|
|
wayland-utils
|
|
yubikey-personalization
|
|
zsh
|
|
|
|
# KDE/QT
|
|
kdePackages.plasma-desktop
|
|
kdePackages.plasma-wayland-protocols
|
|
kdePackages.libplasma
|
|
kdePackages.plasma-integration
|
|
kdePackages.plasma-activities
|
|
kdePackages.plasma-workspace
|
|
kdePackages.discover
|
|
kdePackages.filelight
|
|
kdePackages.kcalc
|
|
kdePackages.kdepim-addons
|
|
kdePackages.kirigami
|
|
kdePackages.kdeconnect-kde
|
|
kdePackages.konsole
|
|
# kdePackages.krunner-ssh
|
|
# kdePackages.krunner-symbols
|
|
kdePackages.packagekit-qt
|
|
kdePackages.plasma-pa
|
|
kdePackages.sddm-kcm
|
|
kdePackages.dolphin-plugins
|
|
kdePackages.qtstyleplugin-kvantum
|
|
kdePackages.krdc
|
|
kdePackages.krfb
|
|
kdePackages.kate
|
|
kdePackages.qrca
|
|
libportal-qt5
|
|
libportal
|
|
|
|
# User tools
|
|
freetube
|
|
noisetorch
|
|
qjackctl
|
|
wireplumber
|
|
intiface-central
|
|
#rustdesk
|
|
]
|
|
|
|
)
|
|
++ (with pkgs-edge; [
|
|
# list of latest packages from nixpkgs master
|
|
# Can be used to install latest version of some packages
|
|
] ++ lib.mkIf (cfg.desktop == true) [
|
|
kdePackages.plasma-vault
|
|
]
|
|
);
|
|
};
|
|
}
|