best practices: get rid of with pkgs;

This commit is contained in:
Danilo Reyes 2024-11-09 15:33:03 -06:00
parent ebcab67a6a
commit 120d485f28
33 changed files with 418 additions and 317 deletions

View File

@ -120,10 +120,12 @@
}; };
documentation.enable = false; documentation.enable = false;
environment = { environment = {
systemPackages = with pkgs; [ systemPackages = builtins.attrValues {
wget inherit (pkgs)
sops wget
]; sops
;
};
variables = variables =
let let
XDG_DATA_HOME = "\${HOME}/.local/share"; XDG_DATA_HOME = "\${HOME}/.local/share";

View File

@ -12,8 +12,10 @@
enable = true; enable = true;
style = "adwaita"; style = "adwaita";
}; };
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
adw-gtk3 # theme legacy applications inherit (pkgs)
papirus-icon-theme # icon theme adw-gtk3 # theme legacy applications
]; papirus-icon-theme # icon theme
;
};
} }

View File

@ -10,11 +10,13 @@
enable = true; enable = true;
style = "adwaita"; style = "adwaita";
}; };
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
# ffmpegthumbnailer # generate thumbnails inherit (pkgs)
adw-gtk3 # theme legacy applications # ffmpegthumbnailer # generate thumbnails
papirus-icon-theme # icon theme adw-gtk3 # theme legacy applications
# libgda # for pano shell extension papirus-icon-theme # icon theme
# gradience # theme customizer, allows you to modify adw-gtk3 themes # libgda # for pano shell extension
]; # gradience # theme customizer, allows you to modify adw-gtk3 themes
;
};
} }

View File

@ -16,43 +16,52 @@
}; };
}; };
}; };
environment.gnome.excludePackages = with pkgs; [ environment.gnome.excludePackages = builtins.attrValues {
# gnome-shell-extensions inherit (pkgs)
# totem # gnome-shell-extensions
baobab # totem
cheese baobab
epiphany cheese
gnome-characters epiphany
gnome-connections gnome-characters
gnome-font-viewer gnome-connections
gnome-music gnome-font-viewer
gnome-photos gnome-music
gnome-text-editor gnome-photos
gnome-tour gnome-text-editor
yelp gnome-tour
]; yelp
;
};
qt = { qt = {
enable = true; enable = true;
style = "adwaita"; style = "adwaita";
}; };
users.users.jawz.packages = users.users.jawz.packages =
(with pkgs; [ let
# ffmpegthumbnailer # generate thumbnails packages = builtins.attrValues {
adw-gtk3 # theme legacy applications inherit (pkgs)
gnome-tweaks # tweaks for the gnome desktop environment adw-gtk3 # theme legacy applications
papirus-icon-theme # icon theme gnome-tweaks # tweaks for the gnome desktop environment
libgda # for pano shell extension papirus-icon-theme # icon theme
# gradience # theme customizer, allows you to modify adw-gtk3 themes libgda # for pano shell extension
]) # ffmpegthumbnailer # generate thumbnails
++ (with pkgs.gnomeExtensions; [ # gradience # theme customizer, allows you to modify adw-gtk3 themes
appindicator # applets for open applications ;
reading-strip # like putting a finger on every line I read };
tactile # window manager extensions = builtins.attrValues {
pano # clipboard manager inherit (pkgs.gnomeExtensions)
freon # hardware temperature monitor appindicator # applets for open applications
gamemode-indicator-in-system-settings # I guess I'm a gamer now? reading-strip # like putting a finger on every line I read
# blur-my-shell # make the overview more visually appealing tactile # window manager
burn-my-windows pano # clipboard manager
# forge # window manager freon # hardware temperature monitor
]); gamemode-indicator-in-system-settings # I guess I'm a gamer now?
burn-my-windows
# blur-my-shell # make the overview more visually appealing
# forge # window manager
;
};
in
packages ++ extensions;
} }

View File

@ -12,7 +12,7 @@
graphics = { graphics = {
enable = true; enable = true;
enable32Bit = true; enable32Bit = true;
extraPackages = with pkgs; [ vpl-gpu-rt ]; extraPackages = [ pkgs.vpl-gpu-rt ];
}; };
}; };
boot = { boot = {

View File

@ -90,7 +90,7 @@
users = { users = {
groups.nixremote.gid = 555; groups.nixremote.gid = 555;
users = { users = {
jawz.packages = with pkgs; [ stash ]; jawz.packages = [ pkgs.stash ];
nixremote = { nixremote = {
isNormalUser = true; isNormalUser = true;
createHome = true; createHome = true;

View File

@ -80,12 +80,14 @@
users = { users = {
groups.nixremote.gid = 555; groups.nixremote.gid = 555;
users = { users = {
jawz.packages = with pkgs; [ jawz.packages = builtins.attrValues {
distrobox # install packages from other os inherit (pkgs)
gocryptfs # encrypted filesystem! shhh!!! distrobox # install packages from other os
torrenttools # create torrent files from the terminal! gocryptfs # encrypted filesystem! shhh!!!
vcsi # video thumbnails for torrents, can I replace it with ^? torrenttools # create torrent files from the terminal!
]; vcsi # video thumbnails for torrents, can I replace it with ^?
;
};
nixremote = { nixremote = {
isNormalUser = true; isNormalUser = true;
createHome = true; createHome = true;
@ -116,14 +118,16 @@
obs-studio = { obs-studio = {
enable = true; enable = true;
enableVirtualCamera = true; enableVirtualCamera = true;
plugins = with pkgs.obs-studio-plugins; [ plugins = builtins.attrValues {
obs-vkcapture inherit (pkgs.obs-studio-plugins)
obs-vaapi obs-vkcapture
obs-tuna obs-vaapi
looking-glass-obs obs-tuna
input-overlay looking-glass-obs
droidcam-obs input-overlay
]; droidcam-obs
;
};
}; };
}; };
services = { services = {

View File

@ -11,25 +11,26 @@
}; };
config = lib.mkIf config.my.apps.art.enable { config = lib.mkIf config.my.apps.art.enable {
users.users.jawz.packages = users.users.jawz.packages =
(with pkgs; [ let
gimp # the coolest bestest art program to never exist gdPackages = builtins.attrValues {
krita # art to your heart desire! inherit (pkgs)
# mypaint # not the best art program
# mypaint-brushes # but it's got some
# mypaint-brushes1 # nice damn brushes
blender # cgi animation and sculpting
drawpile # arty party with friends!!
pureref # create inspiration/reference boards
])
++ (
if config.my.dev.gameDev.enable then
with pkgs;
[
godot_4 # game development godot_4 # game development
gdtoolkit_4 # gdscript language server gdtoolkit_4 # gdscript language server
] ;
else };
[ ] packages = builtins.attrValues {
); inherit (pkgs)
gimp # the coolest bestest art program to never exist
krita # art to your heart desire!
# mypaint # not the best art program
# mypaint-brushes # but it's got some
# mypaint-brushes1 # nice damn brushes
blender # cgi animation and sculpting
drawpile # arty party with friends!!
pureref # create inspiration/reference boards
;
};
in
packages ++ (if config.my.dev.gameDev.enable then gdPackages else [ ]);
}; };
} }

View File

@ -7,11 +7,15 @@
{ {
options.my.apps.dictionaries.enable = lib.mkEnableOption "enable"; options.my.apps.dictionaries.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.dictionaries.enable { config = lib.mkIf config.my.apps.dictionaries.enable {
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
hunspell inherit (pkgs)
hunspellDicts.it_IT hunspell
hunspellDicts.es_MX ;
hunspellDicts.en_CA-large inherit (pkgs.hunspellDicts)
]; it_IT
es_MX
en_CA-large
;
};
}; };
} }

View File

@ -7,11 +7,13 @@
{ {
options.my.apps.fonts.enable = lib.mkEnableOption "enable"; options.my.apps.fonts.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.fonts.enable { config = lib.mkIf config.my.apps.fonts.enable {
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
nerdfonts inherit (pkgs)
symbola nerdfonts
comic-neue symbola
cascadia-code comic-neue
]; cascadia-code
;
};
}; };
} }

View File

@ -19,26 +19,36 @@
platformOptimizations.enable = true; platformOptimizations.enable = true;
}; };
}; };
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages =
shipwright # zelda OoT port let
mangohud # fps & stats overlay packages = builtins.attrValues {
lutris # games launcher & emulator hub inherit (pkgs)
cartridges # games launcher shipwright # zelda OoT port
gamemode # optimizes linux to have better gaming performance mangohud # fps & stats overlay
heroic # install epic games lutris # games launcher & emulator hub
protonup-qt # update proton-ge cartridges # games launcher
ns-usbloader # load games into my switch gamemode # optimizes linux to have better gaming performance
(callPackage ../../pkgs/polymc/default.nix { }) # minecraft launcher heroic # install epic games
# minecraft # minecraft official launcher protonup-qt # update proton-ge
ns-usbloader # load games into my switch
# minecraft # minecraft official launcher
# emulators # emulators
rpcs3 # ps3 rpcs3 # ps3
pcsx2 # ps2 pcsx2 # ps2
cemu # wii u cemu # wii u
dolphin-emu # wii dolphin-emu # wii
snes9x-gtk # snes snes9x-gtk # snes
ryujinx # switch ryujinx # switch
(callPackage ../../pkgs/citra/default.nix { branch = "nightly"; }) # 3ds ;
]; };
customPackages = [
# minecraft launcher
(pkgs.callPackage ../../pkgs/polymc/default.nix { })
# 3Ds emulator
(pkgs.callPackage ../../pkgs/citra/default.nix { branch = "nightly"; })
];
in
packages ++ customPackages;
}; };
} }

View File

@ -23,22 +23,25 @@
users.users.jawz.packages = users.users.jawz.packages =
let let
vdhcoapp = pkgs.callPackage ../../pkgs/vdhcoapp/default.nix { }; vdhcoapp = pkgs.callPackage ../../pkgs/vdhcoapp/default.nix { };
packages = builtins.attrValues {
inherit (pkgs)
warp # transfer files with based ppl
brave # crypto-browser that at least somewhat integrates with gtk
nextcloud-client # self-hosted google-drive alternative
fragments # beautiful torrent client
protonmail-bridge # bridge for protonmail
tor-browser-bundle-bin # dark web, so dark!
chromium # web browser with spyware included
telegram-desktop # furry chat
nicotine-plus # remember Ares?
vesktop # screen share with audio discord
discord # :3
teamspeak5_client # ppl say they will use this...?
# hugo # website engine
;
};
in in
(with pkgs; [ packages
warp # transfer files with based ppl
brave # crypto-browser that at least somewhat integrates with gtk
nextcloud-client # self-hosted google-drive alternative
fragments # beautiful torrent client
protonmail-bridge # bridge for protonmail
tor-browser-bundle-bin # dark web, so dark!
chromium # web browser with spyware included
telegram-desktop # furry chat
nicotine-plus # remember Ares?
vesktop # screen share with audio discord
discord # :3
teamspeak5_client # ppl say they will use this...?
# hugo # website engine
])
++ [ ++ [
vdhcoapp # video download helper assistant vdhcoapp # video download helper assistant
inputs.zen-browser.packages.x86_64-linux.default inputs.zen-browser.packages.x86_64-linux.default

View File

@ -7,15 +7,17 @@
{ {
options.my.apps.misc.enable = lib.mkEnableOption "enable"; options.my.apps.misc.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.misc.enable { config = lib.mkIf config.my.apps.misc.enable {
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
# celeste # sync tool for any cloud provider inherit (pkgs)
# czkawka # duplicate finder # celeste # sync tool for any cloud provider
# sequeler # friendly SQL client # czkawka # duplicate finder
collector # stores things and throws them anywhere # sequeler # friendly SQL client
blanket # background noise collector # stores things and throws them anywhere
metadata-cleaner # remove any metadata and geolocation from files blanket # background noise
pika-backup # backups metadata-cleaner # remove any metadata and geolocation from files
gnome-obfuscate # censor private information pika-backup # backups
]; gnome-obfuscate # censor private information
;
};
}; };
} }

View File

@ -7,19 +7,21 @@
{ {
options.my.apps.multimedia.enable = lib.mkEnableOption "enable"; options.my.apps.multimedia.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.multimedia.enable { config = lib.mkIf config.my.apps.multimedia.enable {
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
pitivi # video editor inherit (pkgs)
celluloid # video player pitivi # video editor
curtail # image compressor celluloid # video player
easyeffects # equalizer curtail # image compressor
handbrake # video converter, may be unnecessary easyeffects # equalizer
identity # compare images or videos handbrake # video converter, may be unnecessary
mousai # poor man shazam identity # compare images or videos
shortwave # listen to world radio mousai # poor man shazam
tagger # tag music files shortwave # listen to world radio
# cozy # audiobooks player tagger # tag music files
# gnome-podcasts # podcast player # cozy # audiobooks player
# hakuneko # manga & comic GUI downloader # gnome-podcasts # podcast player
]; # hakuneko # manga & comic GUI downloader
;
};
}; };
} }

View File

@ -8,15 +8,17 @@
options.my.apps.office.enable = lib.mkEnableOption "enable"; options.my.apps.office.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.apps.office.enable { config = lib.mkIf config.my.apps.office.enable {
environment.variables.CALIBRE_USE_SYSTEM_THEME = "1"; environment.variables.CALIBRE_USE_SYSTEM_THEME = "1";
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
libreoffice # office, but based inherit (pkgs)
calibre # ugly af eBook library manager libreoffice # office, but based
newsflash # feed reader, syncs with nextcloud calibre # ugly af eBook library manager
furtherance # I packaged this one tehee track time utility newsflash # feed reader, syncs with nextcloud
planify # let's pretend I will organize my tasks furtherance # I packaged this one tehee track time utility
# foliate # gtk eBook reader planify # let's pretend I will organize my tasks
# wike # gtk wikipedia wow! # foliate # gtk eBook reader
# denaro # manage your finances # wike # gtk wikipedia wow!
]; # denaro # manage your finances
;
};
}; };
} }

View File

@ -8,9 +8,9 @@
options.my.dev.docker.enable = lib.mkEnableOption "enable"; options.my.dev.docker.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.docker.enable { config = lib.mkIf config.my.dev.docker.enable {
environment.variables.DOCKER_CONFIG = "\${XDG_CONFIG_HOME}/docker"; environment.variables.DOCKER_CONFIG = "\${XDG_CONFIG_HOME}/docker";
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
dockfmt inherit (pkgs) dockfmt;
nodePackages.dockerfile-language-server-nodejs inherit (pkgs.nodePackages) dockerfile-language-server-nodejs;
]; };
}; };
} }

View File

@ -25,34 +25,45 @@
}; };
}; };
users.users.jawz.packages = users.users.jawz.packages =
(with pkgs; [ let
fd # modern find, faster searches packagesDoomEverywhere = builtins.attrValues {
fzf # fuzzy finder! super cool and useful inherit (pkgs.xorg) xwininfo;
ripgrep # modern grep inherit (pkgs)
tree-sitter # code parsing based on symbols and shit, I do not get it xdotool
graphviz # graphs xclip
tetex # export pdf wl-clipboard-rs
languagetool # proofreader for English ;
};
packages = builtins.attrValues {
inherit (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 # lsps
xorg.xwininfo yaml-language-server
xdotool markdownlint-cli
xclip ;
};
# lsps packagesNode = builtins.attrValues {
yaml-language-server inherit (pkgs.nodePackages)
markdownlint-cli vscode-json-languageserver
]) prettier # multi-language linter
++ (with pkgs.nodePackages; [ ;
vscode-json-languageserver };
# linters in
prettier packages ++ packagesDoomEverywhere ++ packagesNode;
]);
services.emacs = { services.emacs = {
enable = true; enable = true;
package = package =
with pkgs; let
((emacsPackagesFor emacs-gtk).emacsWithPackages (epkgs: with epkgs; [ vterm ])); emacsPackages = (pkgs.emacsPackagesFor pkgs.emacs-gtk).emacsWithPackages;
in
emacsPackages (epkgs: [ epkgs.vterm ]);
defaultEditor = true; defaultEditor = true;
}; };
environment.variables.PATH = [ "\${XDG_CONFIG_HOME}/emacs/bin" ]; environment.variables.PATH = [ "\${XDG_CONFIG_HOME}/emacs/bin" ];

View File

@ -7,10 +7,12 @@
{ {
options.my.dev.haskell.enable = lib.mkEnableOption "enable"; options.my.dev.haskell.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.haskell.enable { config = lib.mkIf config.my.dev.haskell.enable {
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
ghc # compiler inherit (pkgs)
haskell-language-server # lsp ghc # compiler
]; haskell-language-server # lsp
;
};
environment.variables = { environment.variables = {
CABAL_DIR = "\${XDG_CACHE_HOME}/cabal"; CABAL_DIR = "\${XDG_CACHE_HOME}/cabal";
STACK_ROOT = "\${XDG_DATA_HOME}/stack"; STACK_ROOT = "\${XDG_DATA_HOME}/stack";

View File

@ -11,10 +11,10 @@
"npm/npmrc".source = ../../dotfiles/npm/npmrc; "npm/npmrc".source = ../../dotfiles/npm/npmrc;
"configstore/update-notifier-npm-check.json".source = ../../dotfiles/npm/update-notifier-npm-check.json; "configstore/update-notifier-npm-check.json".source = ../../dotfiles/npm/update-notifier-npm-check.json;
}; };
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
nodejs inherit (pkgs) nodejs;
nodePackages.pnpm inherit (pkgs.nodePackages) pnpm;
]; };
environment.variables = { environment.variables = {
NPM_CONFIG_USERCONFIG = "\${XDG_CONFIG_HOME}/npm/npmrc"; NPM_CONFIG_USERCONFIG = "\${XDG_CONFIG_HOME}/npm/npmrc";
PNPM_HOME = "\${XDG_DATA_HOME}/pnpm"; PNPM_HOME = "\${XDG_DATA_HOME}/pnpm";

View File

@ -7,11 +7,13 @@
{ {
options.my.dev.nix.enable = lib.mkEnableOption "enable"; options.my.dev.nix.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.nix.enable { config = lib.mkIf config.my.dev.nix.enable {
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
nixfmt-rfc-style # formating inherit (pkgs)
cachix # why spend time compiling? nixfmt-rfc-style # formating
nixd # language server cachix # why spend time compiling?
statix # linter nixd # language server
]; statix # linter
;
};
}; };
} }

View File

@ -9,23 +9,32 @@
config = lib.mkIf config.my.dev.python.enable { config = lib.mkIf config.my.dev.python.enable {
home-manager.users.jawz.xdg.configFile."python/pythonrc".source = ../../dotfiles/pythonrc; home-manager.users.jawz.xdg.configFile."python/pythonrc".source = ../../dotfiles/pythonrc;
environment.variables.PYTHONSTARTUP = "\${XDG_CONFIG_HOME}/python/pythonrc"; environment.variables.PYTHONSTARTUP = "\${XDG_CONFIG_HOME}/python/pythonrc";
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages =
pipenv # python development workflow for humans let
pyright # LSP packages = builtins.attrValues {
(python3.withPackages ( inherit (pkgs)
ps: with ps; [ pipenv # python development workflow for humans
black # Python code formatter pyright # LSP
editorconfig # follow rules of contributin ;
flake8 # wraper for pyflakes, pycodestyle and mccabe };
isort # sort Python imports pythonPackages = builtins.attrValues {
pyflakes # checks source code for errors inherit (pkgs.python3Packages)
pylint # bug and style checker for python black # Python code formatter
speedtest-cli # check internet speed from the comand line editorconfig # follow rules of contributin
# nose # testing and running python scripts flake8 # wraper for pyflakes, pycodestyle and mccabe
# poetry # dependency management made easy isort # sort Python imports
# pytest # framework for writing tests pyflakes # checks source code for errors
] pylint # bug and style checker for python
)) speedtest-cli # check internet speed from the comand line
]; # nose # testing and running python scripts
# poetry # dependency management made easy
# pytest # framework for writing tests
;
};
in
packages
++ [
(pkgs.python3.withPackages (ps: pythonPackages))
];
}; };
} }

View File

@ -7,11 +7,14 @@
{ {
options.my.dev.sh.enable = lib.mkEnableOption "enable"; options.my.dev.sh.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.dev.sh.enable { config = lib.mkIf config.my.dev.sh.enable {
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
bashdb # autocomplete inherit (pkgs)
shellcheck # linting bashdb # autocomplete
shfmt # a shell parser and formatter shellcheck # linting
nodePackages.bash-language-server # LSP shfmt # a shell parser and formatter
]; ;
#LSP
inherit (pkgs.nodePackages) bash-language-server;
};
}; };
} }

View File

@ -39,25 +39,31 @@ in
users.users.nextcloud = { users.users.nextcloud = {
isSystemUser = true; isSystemUser = true;
extraGroups = [ "render" ]; extraGroups = [ "render" ];
packages = with pkgs; [ packages =
mediainfo let
nodejs packages = builtins.attrValues {
perl inherit (pkgs) mediainfo nodejs perl;
(python311.withPackages (ps: with ps; [ tensorflow ])) };
(perlPackages.buildPerlPackage (
let pythonPackages = [
version = "12.70"; (pkgs.python311.withPackages (ps: [ ps.tensorflow ]))
in ];
{
pname = "Image-ExifTool"; perlPackages = pkgs.perlPackages.buildPerlPackage (
inherit version; let
src = fetchurl { version = "12.70";
url = "https://exiftool.org/Image-ExifTool-${version}.tar.gz"; in
hash = "sha256-TLJSJEXMPj870TkExq6uraX8Wl4kmNerrSlX3LQsr/4="; {
}; pname = "Image-ExifTool";
} inherit version;
)) src = pkgs.fetchurl {
]; url = "https://exiftool.org/Image-ExifTool-${version}.tar.gz";
hash = "sha256-TLJSJEXMPj870TkExq6uraX8Wl4kmNerrSlX3LQsr/4=";
};
}
);
in
packages ++ pythonPackages ++ [ perlPackages ];
}; };
programs.msmtp = { programs.msmtp = {
enable = true; enable = true;

View File

@ -16,7 +16,7 @@ let
hash = "sha256-ISiMNTrA4J8NYUQSmdVFaro1RxkSqvXhz6LpoSn/fLQ="; hash = "sha256-ISiMNTrA4J8NYUQSmdVFaro1RxkSqvXhz6LpoSn/fLQ=";
fetchSubmodules = true; fetchSubmodules = true;
}; };
build-system = with pkgs.python3Packages; [ setuptools ]; build-system = [ pkgs.python3Packages.setuptools ];
}; };
qbit_manage_env = pkgs.python3.withPackages ( qbit_manage_env = pkgs.python3.withPackages (
ps: ps:

View File

@ -13,13 +13,15 @@
graphics = { graphics = {
enable = true; enable = true;
enable32Bit = true; enable32Bit = true;
extraPackages = with pkgs; [ extraPackages = builtins.attrValues {
nvidia-vaapi-driver inherit (pkgs)
vaapiVdpau nvidia-vaapi-driver
libvdpau-va-gl vaapiVdpau
vulkan-loader libvdpau-va-gl
mesa vulkan-loader
]; mesa
;
};
}; };
nvidia = { nvidia = {
open = (config.networking.hostName == "workstation"); open = (config.networking.hostName == "workstation");

View File

@ -7,9 +7,11 @@
{ {
options.my.shell.exercism.enable = lib.mkEnableOption "enable"; options.my.shell.exercism.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.shell.exercism.enable { config = lib.mkIf config.my.shell.exercism.enable {
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
exercism # learn to code inherit (pkgs)
bats # testing system, required by Exercism exercism # learn to code
]; bats # testing system, required by Exercism
;
};
}; };
} }

View File

@ -8,14 +8,16 @@
options.my.shell.multimedia.enable = lib.mkEnableOption "enable"; options.my.shell.multimedia.enable = lib.mkEnableOption "enable";
config = lib.mkIf config.my.shell.multimedia.enable { config = lib.mkIf config.my.shell.multimedia.enable {
users.users.jawz.packages = users.users.jawz.packages =
(with pkgs; [ let
gallery-dl # similar to yt-dlp but for most image gallery websites packages = builtins.attrValues {
yt-dlp # downloads videos from most video websites inherit (pkgs)
ffmpeg # not ffmpreg, the coolest video conversion tool! gallery-dl # similar to yt-dlp but for most image gallery websites
imagemagick # photoshop what?? yt-dlp # downloads videos from most video websites
]) ffmpeg # not ffmpreg, the coolest video conversion tool!
++ [ imagemagick # photoshop what??
(pkgs.python3Packages.buildPythonApplication ( ;
};
ffpb = pkgs.python3Packages.buildPythonApplication (
let let
pname = "ffpb"; pname = "ffpb";
version = "0.4.1"; version = "0.4.1";
@ -29,7 +31,11 @@
buildInputs = [ pkgs.python3Packages.setuptools ]; buildInputs = [ pkgs.python3Packages.setuptools ];
propagatedBuildInputs = [ pkgs.python3Packages.tqdm ]; propagatedBuildInputs = [ pkgs.python3Packages.tqdm ];
} }
)) );
in
packages
++ [
ffpb
]; ];
}; };
} }

View File

@ -45,14 +45,16 @@
pager = "less -FR"; pager = "less -FR";
theme = "base16"; theme = "base16";
}; };
extraPackages = with pkgs.bat-extras; [ extraPackages = builtins.attrValues {
batman # man pages inherit (pkgs.bat-extras)
batpipe # piping batman # man pages
batgrep # ripgrep batpipe # piping
batdiff # this is getting crazy! batgrep # ripgrep
batwatch # probably my next best friend batdiff # this is getting crazy!
prettybat # trans your sourcecode! batwatch # probably my next best friend
]; prettybat # trans your sourcecode!
;
};
}; };
}; };
}; };
@ -65,19 +67,21 @@
vimAlias = true; vimAlias = true;
}; };
}; };
users.users.jawz.packages = with pkgs; [ users.users.jawz.packages = builtins.attrValues {
ripgrep # modern grep inherit (pkgs)
du-dust # rusty du similar to gdu ripgrep # modern grep
eza # like ls but with colors du-dust # rusty du similar to gdu
fd # modern find, faster searches eza # like ls but with colors
fzf # fuzzy finder! super cool and useful fd # modern find, faster searches
gdu # disk-space utility checker, somewhat useful fzf # fuzzy finder! super cool and useful
rmlint # amazing dupe finder that integrates well with BTRFS gdu # disk-space utility checker, somewhat useful
tldr # man for retards rmlint # amazing dupe finder that integrates well with BTRFS
trash-cli # oop! did not meant to delete that tldr # man for retards
jq # linting trash-cli # oop! did not meant to delete that
smartmontools # check hard drie health jq # linting
]; smartmontools # check hard drie health
;
};
environment.variables = { environment.variables = {
TEST = "AHHH"; TEST = "AHHH";
HISTFILE = "\${XDG_STATE_HOME}/bash/history"; HISTFILE = "\${XDG_STATE_HOME}/bash/history";

View File

@ -5,24 +5,31 @@ _self: super: {
nautilus = gPrev.nautilus.overrideAttrs (nsuper: { nautilus = gPrev.nautilus.overrideAttrs (nsuper: {
buildInputs = buildInputs =
nsuper.buildInputs nsuper.buildInputs
++ (with pkgs.gst_all_1; [ ++ builtins.attrValues {
gst-libav inherit (pkgs.gst_all_1)
gst-plugins-good gst-libav
gst-plugins-bad gst-plugins-good
gst-plugins-ugly gst-plugins-bad
gst-plugins-base gst-plugins-ugly
]); gst-plugins-base
;
};
}); });
} }
); );
lutris = super.lutris.override { lutris = super.lutris.override {
extraPkgs = extraPkgs =
pkgs: with pkgs; [ pkgs:
pango let
winetricks corePackages = builtins.attrValues {
wine64Packages.stable inherit (pkgs) pango winetricks;
wineWowPackages.stable };
]; winePackages = [
pkgs.wine64Packages.stable
pkgs.wineWowPackages.stable
];
in
corePackages ++ winePackages;
}; };
nerdfonts = super.nerdfonts.override { nerdfonts = super.nerdfonts.override {
fonts = [ fonts = [

View File

@ -9,11 +9,13 @@ python3Packages.buildPythonApplication {
version = "2.5"; version = "2.5";
src = ../../scripts/download/.; src = ../../scripts/download/.;
build-system = [ python3Packages.setuptools ]; build-system = [ python3Packages.setuptools ];
dependencies = with python3Packages; [ dependencies = builtins.attrValues {
pyyaml inherit (python3Packages)
types-pyyaml pyyaml
yt-dlp types-pyyaml
]; yt-dlp
;
};
propagatedBuildInputs = [ propagatedBuildInputs = [
gallery-dl gallery-dl
ffmpeg ffmpeg

View File

@ -168,7 +168,7 @@ let
} }
); );
}; };
meta = with lib; { meta = {
homepage = "https://polymc.org/"; homepage = "https://polymc.org/";
downloadPage = "https://polymc.org/download/"; downloadPage = "https://polymc.org/download/";
changelog = "https://github.com/PolyMC/PolyMC/releases"; changelog = "https://github.com/PolyMC/PolyMC/releases";
@ -179,7 +179,7 @@ let
their associated options with a simple interface. their associated options with a simple interface.
''; '';
platforms = [ "x86_64-linux" ]; platforms = [ "x86_64-linux" ];
license = licenses.gpl3Only; license = lib.licenses.gpl3Only;
}; };
} }
); );

View File

@ -66,11 +66,11 @@ buildNpmPackage (
--add-flags $out/opt/vdhcoapp/src/main.js --add-flags $out/opt/vdhcoapp/src/main.js
''; '';
meta = with lib; { meta = {
description = "Companion application for the Video DownloadHelper browser add-on"; description = "Companion application for the Video DownloadHelper browser add-on";
homepage = "https://www.downloadhelper.net/"; homepage = "https://www.downloadhelper.net/";
license = licenses.gpl2; license = lib.licenses.gpl2;
maintainers = with maintainers; [ wolfangaukang ]; maintainers = [ lib.maintainers.wolfangaukang ];
mainProgram = "vdhcoapp"; mainProgram = "vdhcoapp";
}; };
} }

View File

@ -33,12 +33,12 @@ rustPlatform.buildRustPackage (
nativeBuildInputs = [ pkg-config ]; nativeBuildInputs = [ pkg-config ];
meta = with lib; { meta = {
description = "File picker used by VDHCoApp"; description = "File picker used by VDHCoApp";
homepage = "https://github.com/paulrouget/static-filepicker"; homepage = "https://github.com/paulrouget/static-filepicker";
license = licenses.gpl2; license = lib.licenses.gpl2;
mainProgram = "filepicker"; mainProgram = "filepicker";
maintainers = with maintainers; [ hannesgith ]; maintainers = [ lib.maintainers.hannesgith ];
}; };
} }
) )