nix: refactor package presets into modules

This commit is contained in:
Primrose 2024-11-14 18:44:13 +01:00
parent ff7a2975b6
commit 05148f6afe
Signed by: primrose
GPG key ID: 4E887A4CA9714ADA
7 changed files with 101 additions and 91 deletions

View file

@ -1,94 +1,33 @@
{
pkgs,
config,
lib,
...
}:
let
inherit (pkgs) myPkgs;
in
{ pkgs, lib, ... }:
{
options.extraPackages = {
utilities.enable = lib.mkEnableOption "utility packages";
workflow.enable = lib.mkEnableOption "worflow packages";
};
config = {
home = {
username = lib.mkDefault "leana";
homeDirectory = lib.mkMerge [
(lib.mkIf pkgs.stdenv.isLinux (lib.mkDefault "/home/leana"))
(lib.mkIf pkgs.stdenv.isDarwin (lib.mkDefault "/Users/leana"))
];
};
programs = {
btop.enable = true;
direnv.enable = true;
fish.enable = true;
fzf.enable = true;
git.enable = true;
gpg.enable = true;
neovim.enable = true;
ripgrep.enable = true;
starship.enable = true;
tmux.enable = true;
vim.enable = true;
};
services.gpg-agent.enable = lib.mkIf pkgs.stdenv.isLinux true;
home.packages = lib.mkMerge [
[
# nix
pkgs.nixfmt-rfc-style
pkgs.nix-output-monitor
pkgs.nh
# utils
pkgs.gnused
pkgs.stow
pkgs.tree
pkgs.tldr
pkgs.parallel
pkgs.findutils # xargs and more
pkgs.du-dust
pkgs.file
]
(lib.mkIf pkgs.stdenv.isDarwin [
# coreutils for darwin
pkgs.uutils-coreutils-noprefix
])
(lib.mkIf config.extraPackages.utilities.enable [
pkgs.rsync
pkgs.jq
pkgs.hyperfine
pkgs.watchexec
pkgs.onefetch
pkgs.ghostscript
myPkgs.tokei
pkgs.gnumake
pkgs.just
pkgs.nurl
pkgs.tea
pkgs.nvd
pkgs.nix-tree
])
(lib.mkIf config.extraPackages.workflow.enable [
pkgs.act
pkgs.forgejo-actions-runner
])
home = {
username = lib.mkDefault "leana";
homeDirectory = lib.mkMerge [
(lib.mkIf pkgs.stdenv.isLinux (lib.mkDefault "/home/leana"))
(lib.mkIf pkgs.stdenv.isDarwin (lib.mkDefault "/Users/leana"))
];
};
programs = {
fish.enable = true;
git.enable = true;
vim.enable = true;
};
services.gpg-agent.enable = lib.mkIf pkgs.stdenv.isLinux true;
home.packages = lib.mkMerge [
[
pkgs.file
pkgs.gnused
pkgs.tree
pkgs.findutils # xargs and more
]
# coreutils for darwin
(lib.mkIf pkgs.stdenv.isDarwin [ pkgs.uutils-coreutils-noprefix ])
];
}

View file

@ -0,0 +1,22 @@
{ pkgs, ... }:
let
inherit (pkgs) myPkgs;
in
{
programs = {
ripgrep.enable = true;
direnv.enable = true;
btop.enable = true;
};
home.packages = [
pkgs.du-dust
pkgs.tldr
myPkgs.tokei
pkgs.hyperfine
pkgs.watchexec
pkgs.onefetch
];
}

View file

@ -0,0 +1,14 @@
{ pkgs, ... }:
{
programs.direnv.enable = true;
home.packages = [
pkgs.nixfmt-rfc-style
pkgs.nh
pkgs.nix-output-monitor
pkgs.nix-tree
pkgs.nurl
pkgs.nvd
];
}

View file

@ -0,0 +1,11 @@
{ pkgs, ... }:
{
home.packages = [
pkgs.rsync
pkgs.parallel
pkgs.jq
pkgs.gnumake
pkgs.just
];
}

View file

@ -0,0 +1,12 @@
{ pkgs, ... }:
{
programs = {
starship.enable = true;
gpg.enable = true;
neovim.enable = true;
tmux.enable = true;
};
home.packages = [ pkgs.stow ];
}

View file

@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = [ pkgs.tea ];
}