further up modularization
This commit is contained in:
parent
71a33608d9
commit
0380c32b9a
@ -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";
|
||||
|
||||
@ -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
14
modules/apps/misc.nix
Normal 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
|
||||
];
|
||||
};
|
||||
}
|
||||
@ -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
|
||||
|
||||
@ -6,6 +6,7 @@
|
||||
nix-output-monitor # autistic nix builds
|
||||
nixfmt # linting
|
||||
cachix # why spend time compiling?
|
||||
nixd # language server
|
||||
]);
|
||||
};
|
||||
}
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
22
modules/shell/multimedia.nix
Normal file
22
modules/shell/multimedia.nix
Normal 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
16
modules/shell/tools.nix
Normal 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
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user