unify overlays

We used to have overlay definitions in home/overlays and
packages/default. Let's unify them.
Using the exposed overlay from the flake required some changes in the
home-manager config though.
This commit is contained in:
Trolli Schmittlauch 2026-02-18 18:36:16 +01:00
parent 3160908c0b
commit eab86cf718
4 changed files with 168 additions and 159 deletions

View file

@ -109,6 +109,7 @@
# Optionally use extraSpecialArgs # Optionally use extraSpecialArgs
# to pass through arguments to home.nix # to pass through arguments to home.nix
extraSpecialArgs = { extraSpecialArgs = {
# XXX: can we use the inputInjection pattern here as well instead?
inherit inputs; inherit inputs;
}; };
}; };

View file

@ -1,123 +1,132 @@
{ {
pkgs, pkgs,
lib,
inputs, inputs,
config, config,
... ...
}: }:
with pkgs;
let let
cfg = config.schmittlauch.packages; cfg = config.schmittlauch.packages;
unstable = inputs.nixos-unstable.legacyPackages.${stdenv.hostPlatform.system}; unstable = inputs.nixos-unstable.legacyPackages.${pkgs.stdenv.hostPlatform.system};
nur = inputs.nur.legacyPackages.${stdenv.hostPlatform.system}; nur = inputs.nur.legacyPackages.${pkgs.stdenv.hostPlatform.system};
graphicsApps = [ graphicsApps =
inkscape with pkgs;
exiftool [
] inkscape
++ (with gimp3Plugins; [ exiftool
#fourier # broken ]
#lqrPlugin # broken ++ (with gimp3Plugins; [
]) #fourier # broken
++ lib.optionals pkgs.stdenv.isLinux [ #lqrPlugin # broken
darktable ])
gimp3 ++ lib.optionals pkgs.stdenv.isLinux [
hugin darktable
#luminanceHDR # FIXME, build failure gimp3
xournalpp hugin
] #luminanceHDR # FIXME, build failure
++ lib.optionals pkgs.stdenv.isDarwin [ xournalpp
gimp2 ]
]; ++ lib.optionals pkgs.stdenv.isDarwin [
gimp2
];
multimediaApps = [ multimediaApps =
mpv with pkgs;
] [
++ lib.optionals pkgs.stdenv.isDarwin [ vlc-bin ] mpv
++ lib.optionals pkgs.stdenv.isLinux [ ]
vlc ++ lib.optionals pkgs.stdenv.isDarwin [ vlc-bin ]
amarok ++ lib.optionals pkgs.stdenv.isLinux [
clementine vlc
kdePackages.elisa amarok
musescore clementine
tenacity kdePackages.elisa
#nur.repos.fooker.studio-link musescore
]; tenacity
#nur.repos.fooker.studio-link
];
cliApps = [ cliApps =
coreutils with pkgs;
myVim [
htop coreutils
tmux myVim
httpie htop
rsync tmux
ponysay httpie
gti rsync
tree ponysay
lsof gti
mosh tree
openssh lsof
sshfs-fuse mosh
sshuttle openssh
cryfs sshfs-fuse
gnupg sshuttle
unar cryfs
lzop gnupg
p7zip unar
pwgen lzop
pandoc p7zip
pdfgrep pwgen
# zig dependency breaks occasionally, stay on C version for now pandoc
ncdu_1 pdfgrep
dos2unix # zig dependency breaks occasionally, stay on C version for now
unzip ncdu_1
fswatch dos2unix
jq unzip
age fswatch
lnav jq
spacer age
lnav
spacer
nix-output-monitor # putting this here as a plain `nix` alternative nix-output-monitor # putting this here as a plain `nix` alternative
]
++ lib.optionals pkgs.stdenv.isLinux [
xclip
smbnetfs # for FUSE smb mounting
psmisc # for killall
torsocks
agrep
reptyr # re-bind running program to other tty
];
nixHelpers = [ ]
++ lib.optionals pkgs.stdenv.isLinux [
xclip
smbnetfs # for FUSE smb mounting
psmisc # for killall
torsocks
agrep
reptyr # re-bind running program to other tty
];
nixHelpers = with pkgs; [
nixpkgs-review nixpkgs-review
nixfmt nixfmt
nix-top nix-top
statix statix
]; ];
devTools = [ devTools =
curl with pkgs;
httpie [
gcc curl
shellcheck httpie
mtr gcc
ripgrep shellcheck
fd mtr
pre-commit ripgrep
scriv fd
pre-commit
scriv
# Haskell # Haskell
ghc ghc
cabal2nix cabal2nix
] ]
++ lib.optionals pkgs.stdenv.isLinux [ ++ lib.optionals pkgs.stdenv.isLinux [
gdb gdb
strace strace
ltrace ltrace
valgrind valgrind
zeal zeal
]; ];
pythonTools = with python3Packages; [ pythonTools = with pkgs.python3Packages; [
python # to shadow old macOS python python # to shadow old macOS python
ipython ipython
uv uv
@ -131,16 +140,16 @@ let
mypy mypy
]; ];
games = [ games = with pkgs; [
superTuxKart superTuxKart
#hedgewars #hedgewars
]; ];
desktopCommon = [ desktopCommon = with pkgs; [
keepassxc keepassxc
]; ];
desktopLinux = [ desktopLinux = with pkgs; [
firefox firefox
chromium chromium
kdePackages.falkon kdePackages.falkon
@ -187,31 +196,33 @@ let
chromedriver chromedriver
]; ];
kdeTools = [ kdeTools =
okteta with pkgs;
] [
++ (with kdePackages; [ okteta
okular ]
gwenview ++ (with kdePackages; [
yakuake okular
dolphin gwenview
spectacle yakuake
kate dolphin
kleopatra spectacle
qdirstat kate
ark kleopatra
kwalletmanager qdirstat
#ktouch # TODO: unbreak ark
kcharselect kwalletmanager
konversation #ktouch # TODO: unbreak
krdc kcharselect
skanlite konversation
akonadiconsole krdc
tokodon # mastodon client skanlite
networkmanager-qt akonadiconsole
kcrash tokodon # mastodon client
breeze-gtk networkmanager-qt
]); kcrash
breeze-gtk
]);
in in
{ {
options.schmittlauch.packages = { options.schmittlauch.packages = {
@ -248,7 +259,7 @@ in
++ (lib.optional cfg.kde kdeTools) ++ (lib.optional cfg.kde kdeTools)
); );
nixpkgs.overlays = import ../overlays.nix; nixpkgs.overlays = lib.attrValues inputs.self.overlays;
nixpkgs.config = { nixpkgs.config = {
permittedInsecurePackages = [ permittedInsecurePackages = [

View file

@ -1,31 +0,0 @@
[
(self: super: {
myVim = super.neovim.override {
configure = {
packages.myVimPackage = with self.pkgs.vimPlugins; {
# loaded on start
start = [
ale
base16-vim
LanguageClient-neovim
ctrlp
direnv-vim
fugitive
haskell-vim
jedi-vim
nerdtree
nerdtree-git-plugin
supertab
vim-dirdiff
vim-pandoc
vim-pandoc-syntax
vim-nix
vim-jinja
which-key-nvim
];
};
customRC = builtins.readFile ./vimrc;
};
};
})
]

View file

@ -5,4 +5,32 @@ final: prev: {
spsdk = python-prev.spsdk.overridePythonAttrs { doCheck = false; }; spsdk = python-prev.spsdk.overridePythonAttrs { doCheck = false; };
}; };
}; };
fc-scripts = final.callPackage ./fc-scripts.nix { };
myVim = prev.neovim.override {
configure = {
packages.myVimPackage = with final.pkgs.vimPlugins; {
# loaded on start
start = [
ale
base16-vim
LanguageClient-neovim
ctrlp
direnv-vim
fugitive
haskell-vim
jedi-vim
nerdtree
nerdtree-git-plugin
supertab
vim-dirdiff
vim-pandoc
vim-pandoc-syntax
vim-nix
vim-jinja
which-key-nvim
];
};
customRC = builtins.readFile ../home/vimrc;
};
};
} }