further up modularization

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

View File

@ -22,6 +22,7 @@ in {
internet.enable = true;
multimedia.enable = true;
office.enable = true;
# misc.enable = true;
};
dev = {
haskell.enable = true;
@ -29,7 +30,11 @@ in {
python.enable = true;
gameDev.enable = true;
};
shell = { exercism.enable = true; };
shell = {
exercism.enable = true;
# multimedia.enable = true;
# tools.enable = true;
};
services = {
network.enable = true;
nvidia.enable = true;
@ -42,7 +47,6 @@ in {
hostName = "workstation";
firewall = let
openPorts = [
7860 # chatgpt
6674 # ns-usbloader
];
openPortRanges = [{
@ -75,12 +79,10 @@ in {
};
};
nixpkgs = {
config = {
nixpkgs.config = {
allowUnfree = true;
permittedInsecurePackages = [ ];
};
};
users = {
groups.nixremote.gid = 555;
@ -97,32 +99,8 @@ in {
};
jawz = {
packages = (with pkgs; [
obs-studio # screen recorder & streamer
pitivi # video editor
gocryptfs # encrypted filesystem! shhh!!!
# 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
ripgrep # modern grep
du-dust # rusty du similar to gdu
eza # like ls but with colors
fd # modern find, faster searches
ffmpeg # not ffmpreg, the coolest video conversion tool!
fzf # fuzzy finder! super cool and useful
gallery-dl # similar to yt-dlp but for most image gallery websites
gdu # disk-space utility checker, somewhat useful
imagemagick # photoshop what??
rmlint # probably my favourite app, amazing dupe finder that integrates well with BTRFS
tldr # man for retards
trash-cli # oop! did not meant to delete that
yt-dlp # downloads videos from most video websites
torrenttools # create torrent files from the terminal!
vcsi # video thumbnails for torrents, can I replace it with ^?
@ -137,16 +115,6 @@ in {
(writeScriptBin "pika-list"
(builtins.readFile ../../scripts/pika-list.sh))
# required (optionally) by doom emacs, but still are rather useful
tree-sitter # code parsing based on symbols and shit, I do not get it
graphviz # graphs
tetex
languagetool # proofreader for English
# these two are for doom everywhere
xorg.xwininfo
xdotool
xclip
# SH
bashdb # autocomplete
shellcheck # linting
@ -159,7 +127,8 @@ in {
nodejs # not as bad as I thought
jq # linting
]) ++ (with pkgs.python3Packages; [
]) ++ (with pkgs.python3Packages;
[
(buildPythonApplication rec {
pname = "download";
version = "1.5";
@ -168,17 +137,6 @@ in {
buildInputs = [ setuptools ];
propagatedBuildInputs = [ pyyaml types-pyyaml ];
})
(buildPythonApplication rec {
pname = "ffpb";
version = "0.4.1";
src = fetchPypi {
inherit pname version;
sha256 = "sha256-7eVqbLpMHS1sBw2vYS4cTtyVdnnknGtEI8190VlXflk=";
};
doCheck = false;
buildInputs = [ setuptools ];
propagatedBuildInputs = [ tqdm ];
})
]) ++ (with pkgs.nodePackages; [
# Language servers
@ -207,16 +165,17 @@ in {
'';
};
programs.kdeconnect = {
programs = {
kdeconnect = {
enable = true;
package = pkgs.gnomeExtensions.gsconnect;
};
# programs.nh = {
# nh = {
# enable = true;
# clean.enable = true;
# clean.extraArgs = "--keep-since 4d --keep 3";
# };
};
services.resilio = {
deviceName = "chichis";

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;

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
];
};
}