further up modularization

This commit is contained in:
2024-05-11 19:30:43 -06:00
parent 71a33608d9
commit 0380c32b9a
9 changed files with 114 additions and 88 deletions

View File

@@ -7,6 +7,7 @@
./apps/internet.nix
./apps/multimedia.nix
./apps/office.nix
./apps/misc.nix
];
my = {
dev.gameDev.enable = lib.mkDefault false;
@@ -18,6 +19,7 @@
internet.enable = lib.mkDefault false;
multimedia.enable = lib.mkDefault false;
office.enable = lib.mkDefault false;
misx.enable = lib.mkDefault false;
};
};
}

14
modules/apps/misc.nix Normal file
View File

@@ -0,0 +1,14 @@
{ config, lib, pkgs, ... }: {
options.my.apps.misc.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.misc.enable {
users.users.jawz.packages = with pkgs; [
# celeste # sync tool for any cloud provider
# czkawka # duplicate finder
# sequeler # friendly SQL client
blanket # background noise
metadata-cleaner # remove any metadata and geolocation from files
pika-backup # backups
gnome-obfuscate # censor private information
];
};
}

View File

@@ -2,6 +2,8 @@
options.my.apps.multimedia.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.multimedia.enable {
users.users.jawz.packages = with pkgs; [
obs-studio # screen recorder & streamer
pitivi # video editor
celluloid # video player
curtail # image compressor
easyeffects # equalizer

View File

@@ -6,6 +6,7 @@
nix-output-monitor # autistic nix builds
nixfmt # linting
cachix # why spend time compiling?
nixd # language server
]);
};
}

View File

@@ -3,7 +3,17 @@
config = lib.mkIf config.my.emacs.enable {
users.users.jawz.packages = with pkgs; ([
fd # modern find, faster searches
fzf # fuzzy finder! super cool and useful
ripgrep # modern grep
tree-sitter # code parsing based on symbols and shit, I do not get it
graphviz # graphs
tetex # export pdf
languagetool # proofreader for English
# doom everywhere
xorg.xwininfo
xdotool
xclip
]);
services.emacs = {
enable = true;
@@ -17,8 +27,8 @@
nix-shell -p cmake sqlite --command "doom sync &&
sc restart emacs &&
emacsclient -e '(org-roam-db-sync)'" &&
doom sync
}
doom sync
}
'';
};
}

View File

@@ -1,10 +1,10 @@
{ config, lib, pkgs, ... }: {
imports = [ ./shell/exercism.nix ./dev/python.nix ./dev/haskell.nix ];
imports = [ ./shell/exercism.nix ./shell/multimedia.nix ./shell/tools.nix ];
my = {
shell = { exercism.enable = lib.mkDefault false; };
dev = {
haskell.enable = lib.mkDefault false;
python.enable = lib.mkDefault false;
shell = {
exercism.enable = lib.mkDefault false;
multimedia.enable = lib.mkDefault false;
tools.enable = lib.mkDefault false;
};
};
}

View File

@@ -0,0 +1,22 @@
{ config, lib, pkgs, ... }: {
options.my.shell.multimedia.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.shell.multimedia.enable {
users.users.jawz.packages = with pkgs; [
gallery-dl # similar to yt-dlp but for most image gallery websites
yt-dlp # downloads videos from most video websites
ffmpeg # not ffmpreg, the coolest video conversion tool!
imagemagick # photoshop what??
(buildPythonApplication rec {
pname = "ffpb";
version = "0.4.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-7eVqbLpMHS1sBw2vYS4cTtyVdnnknGtEI8190VlXflk=";
};
doCheck = false;
buildInputs = [ setuptools ];
propagatedBuildInputs = [ tqdm ];
})
];
};
}

16
modules/shell/tools.nix Normal file
View File

@@ -0,0 +1,16 @@
{ config, lib, pkgs, ... }: {
options.my.shell.tools.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.shell.tools.enable {
users.users.jawz.packages = with pkgs; [
ripgrep # modern grep
du-dust # rusty du similar to gdu
eza # like ls but with colors
fd # modern find, faster searches
fzf # fuzzy finder! super cool and useful
gdu # disk-space utility checker, somewhat useful
rmlint # amazing dupe finder that integrates well with BTRFS
tldr # man for retards
trash-cli # oop! did not meant to delete that
];
};
}