dotfiles/packages/default.nix

144 lines
3.2 KiB
Nix

{ config, lib, pkgs, inputs, ... }:
let
artPkgs = lib.attrVals [
#"armorpaint"
"blender"
"gimp"
"inkscape"
"krita"
#"prusa-slicer"
] pkgs;
handheldPkgs = lib.attrVals [
"chatty"
"gnome-text-editor"
"megapixels"
] pkgs;
pcPkgs = lib.attrVals [
#osu-lazer
"dracula-theme"
"wl-clipboard"
"brightnessctl"
"clipman"
"powertop"
"easyeffects"
"mutt-wizard"
"gamescope"
"cyrus-sasl-xoauth2"
"libnotify"
"networkmanager-openvpn"
# temporary home manager things
"img2pdf"
"inotify-tools"
"eww"
"jq"
"pandoc"
#"texliveFull"
"typst"
"socat"
"libimobiledevice"
"ifuse"
] pkgs ++ [ inputs.osu-nixos pkgs.wineWowPackages.stableFull ];
serverPkgs = lib.attrVals [
#"package"
] pkgs;
in
{
options = {
stitchyconf = {
form = lib.mkOption {
default = "pc";
description = "Add moar packages I don't need";
type = lib.types.enum [ "pc" "handheld" "server" ];
};
artPkgs.enable = lib.mkEnableOption "Standard Linux Creative Suite";
};
};
config = {
environment.systemPackages = (lib.attrVals [
"btop"
"eza"
"fd"
"git"
"glib"
"gnumake"
"gnupg"
"p7zip"
"pinentry"
"neofetch"
"unzip"
"wget"
"zoxide"
] pkgs)
++ (lib.optionals config.stitchyconf.artPkgs.enable artPkgs)
++ (lib.optionals (config.stitchyconf.form == "pc") pcPkgs)
++ (lib.optionals (config.stitchyconf.form == "handheld") handheldPkgs)
++ (lib.optionals (config.stitchyconf.form == "server") serverPkgs);
# To-do figure out how to section these off
programs = {
neovim = {
enable = true;
viAlias = true;
vimAlias = true;
defaultEditor = true;
configure = {
customRC = builtins.readFile ../config/nvim/init.vim;
packages.myVimPackage = with pkgs.vimPlugins; {
start = [
nvim-lspconfig
nvim-cmp
cmp-nvim-lsp
luasnip
cmp_luasnip
tokyonight-nvim
vim-lsp-cxx-highlight
typst-vim
];
};
};
};
nix-ld.enable = true;
virt-manager.enable = true;
zsh.enable = true;
};
nixpkgs.overlays = [
(final: prev: {
# Because Luck Smith hasn't released in 2 years
mutt-wizard = prev.mutt-wizard.overrideAttrs (old: {
src = prev.fetchFromGitHub {
owner = "LukeSmithxyz";
repo = "mutt-wizard";
rev = "a8863a750a360bad6759f5f2c4df5d2001b31e18";
hash = "sha256-8zPkzQ1Tt9t8G+uCKybBm4yMqfF2y4L7nmuaWWz9t6s=";
};
});
})
];
fonts.packages = lib.attrVals [
"noto-fonts"
"noto-fonts-emoji"
"liberation_ttf"
"nerdfonts"
"ipafont"
] pkgs;
fonts.fontconfig.defaultFonts = {
monospace = [
"Noto Sans Mono"
"IPAGothic"
];
sansSerif = [
"Noto Sans"
"IPAPGothic"
];
serif = [
"Noto Serif"
"IPAPMincho"
];
};
};
}