dotfiles/packages/default.nix

178 lines
4.1 KiB
Nix
Raw Normal View History

{ config, lib, pkgs, inputs, ... }:
2023-08-05 21:03:24 -07:00
let
artPkgs = lib.attrVals [
#"armorpaint"
"blender"
"gimp"
"inkscape"
"krita"
#"prusa-slicer"
] pkgs;
handheldPkgs = lib.attrVals [
"chatty"
"gnome-text-editor"
"megapixels"
] pkgs;
pcPkgs = lib.attrVals [
"brightnessctl"
"clipman"
2024-11-03 04:23:54 -08:00
"cyrus-sasl-xoauth2"
"dracula-theme"
"easyeffects"
"gamescope"
"libnotify"
2024-11-03 04:23:54 -08:00
"mutt-wizard"
"powertop"
"wl-clipboard"
2024-01-20 17:53:24 -08:00
# temporary home manager things
2024-11-03 04:23:54 -08:00
"eww"
"ifuse"
2024-07-13 00:52:09 -07:00
"img2pdf"
"inotify-tools"
"jq"
"libimobiledevice"
2024-11-03 04:23:54 -08:00
"socat"
"typst"
] pkgs ++ [ pkgs.wineWowPackages.stableFull ];
serverPkgs = lib.attrVals [
#"package"
] pkgs;
2024-11-03 04:23:54 -08:00
spaceman-nvim = pkgs.vimUtils.buildVimPlugin {
name = "spaceman-nvim";
src = pkgs.fetchFromGitHub {
owner = "FireIsGood";
repo = "spaceman.nvim";
rev = "7910d202073bcc5f567481426f771b3737451dd9";
hash = "sha256-VvKce2uiFzv0TjoJfEX461p9tY9aE237Xr1q/Lw3Utw=";
};
};
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 [
2024-11-27 02:46:06 -08:00
"black"
"btop"
"clang-tools"
"eza"
"fd"
2024-11-27 02:46:06 -08:00
"fzf"
"git"
"glib"
"gnumake"
"gnupg"
2024-11-27 02:46:06 -08:00
"mypy"
2024-11-03 04:23:54 -08:00
"neofetch"
2024-05-03 02:39:40 -07:00
"p7zip"
"pinentry"
2024-11-03 04:23:54 -08:00
"typst-lsp"
"unzip"
2024-11-03 04:23:54 -08:00
"vhdl-ls"
"wget"
2024-11-03 04:23:54 -08:00
"zip"
"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)
++ [ pkgs.nodePackages.prettier ];
2023-08-05 21:03:24 -07:00
# 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 = [
2024-11-27 02:46:06 -08:00
conform-nvim
2024-11-03 04:23:54 -08:00
bufferline-nvim
cmp-nvim-lsp
cmp_luasnip
2024-11-03 04:23:54 -08:00
gitsigns-nvim
indent-blankline-nvim
lazy-nvim
luasnip
2024-11-07 16:07:26 -08:00
mini-nvim
2024-11-03 04:23:54 -08:00
neo-tree-nvim
nvim-cmp
nvim-lspconfig
(nvim-treesitter.withPlugins (
plugins: with plugins; [
markdown
]
))
nvim-web-devicons
render-markdown-nvim
2024-11-03 04:23:54 -08:00
spaceman-nvim
telescope-nvim
telescope-undo-nvim
2024-11-07 16:07:26 -08:00
toggleterm-nvim
tokyonight-nvim
typst-vim
2024-11-03 04:23:54 -08:00
vim-lsp-cxx-highlight
which-key-nvim
];
};
};
};
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=";
};
});
})
];
2023-08-05 21:03:24 -07:00
fonts.packages = lib.attrVals [
"noto-fonts"
"noto-fonts-emoji"
"liberation_ttf"
"ipafont"
2024-12-15 17:29:58 -08:00
] pkgs ++ builtins.filter lib.attrsets.isDerivation (builtins.attrValues pkgs.nerd-fonts);
fonts.fontconfig.defaultFonts = {
monospace = [
"Noto Sans Mono"
"IPAGothic"
];
sansSerif = [
"Noto Sans"
"IPAPGothic"
];
serif = [
"Noto Serif"
"IPAPMincho"
];
};
};
2023-08-05 21:03:24 -07:00
}