Modularize nixos and home-manager packages
This commit is contained in:
parent
b0979afa53
commit
51d2c2aa7c
32 changed files with 713 additions and 482 deletions
93
modules/programs/home_packages.nix
Normal file
93
modules/programs/home_packages.nix
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
{ lib, options, config, pkgs, inputs, ... }: {
|
||||
options.mods.home_packages = {
|
||||
enable = lib.mkOption {
|
||||
default = true;
|
||||
example = false;
|
||||
type = lib.types.bool;
|
||||
description = "Home manager packages";
|
||||
};
|
||||
additional_packages = lib.mkOption {
|
||||
default = [ ];
|
||||
example = [ pkgs.flatpak ];
|
||||
type = lib.types.str;
|
||||
description = ''
|
||||
Additional Home manager packages.
|
||||
Will be installed regardless of default home manager packages are installed.
|
||||
'';
|
||||
};
|
||||
};
|
||||
config =
|
||||
let
|
||||
callPackage = lib.callPackageWith pkgs;
|
||||
in
|
||||
(lib.optionalAttrs (options?home.packages)
|
||||
{
|
||||
home.packages = config.mods.home_packages.additional_packages;
|
||||
} // (lib.mkIf config.mods.home_packages.enable (lib.optionalAttrs (options?home.packages) {
|
||||
home.packages = with pkgs; [
|
||||
keepassxc
|
||||
nheko
|
||||
nextcloud-client
|
||||
xournalpp
|
||||
vesktop
|
||||
kitty
|
||||
fish
|
||||
ripgrep
|
||||
rm-improved
|
||||
bat
|
||||
fd
|
||||
lsd
|
||||
(nerdfonts.override { fonts = [ "JetBrainsMono" ]; })
|
||||
noto-fonts
|
||||
flatpak
|
||||
networkmanager
|
||||
zoxide
|
||||
fastfetch
|
||||
gnome-keyring
|
||||
dbus
|
||||
killall
|
||||
adw-gtk3
|
||||
qt5ct
|
||||
qt6ct
|
||||
gnutar
|
||||
fishPlugins.tide
|
||||
nix-index
|
||||
libnotify
|
||||
zenith
|
||||
nh
|
||||
amberol
|
||||
pulseaudio
|
||||
playerctl
|
||||
ncspot
|
||||
poppler_utils
|
||||
brave
|
||||
greetd.regreet
|
||||
sops
|
||||
flake-checker
|
||||
ffmpeg
|
||||
system-config-printer
|
||||
brightnessctl
|
||||
(callPackage
|
||||
../../override/cambalache.nix
|
||||
{ })
|
||||
];
|
||||
|
||||
#my own programs
|
||||
programs.oxicalc.enable = true;
|
||||
programs.oxinoti.enable = true;
|
||||
programs.oxidash.enable = true;
|
||||
programs.oxishut.enable = true;
|
||||
programs.oxipaste.enable = true;
|
||||
programs.hyprdock.enable = true;
|
||||
programs.ReSet.enable = true;
|
||||
programs.ReSet.config.plugins = [
|
||||
inputs.reset-plugins.packages."x86_64-linux".monitor
|
||||
inputs.reset-plugins.packages."x86_64-linux".keyboard
|
||||
];
|
||||
programs.ReSet.config.plugin_config = {
|
||||
Keyboard = {
|
||||
path = "/home/${config.conf.username}/.config/reset/keyboard.conf";
|
||||
};
|
||||
};
|
||||
})));
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue