Compare commits

..

3 commits

Author SHA1 Message Date
87f08c462a fc-scripts: init at 20260202
collection of useful scripts from the FlyingCircus crew
2026-02-18 18:36:47 +01:00
eab86cf718 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.
2026-02-18 18:36:16 +01:00
3160908c0b darwin: regularly run angrr as timer job 2026-02-18 16:39:25 +01:00
6 changed files with 197 additions and 159 deletions

View file

@ -27,6 +27,7 @@ in
sandbox = "relaxed"; sandbox = "relaxed";
}; };
}; };
services.angrr.timer.enable = true;
# List packages installed in system profile. To search by name, run: # List packages installed in system profile. To search by name, run:
# $ nix-env -qaP | grep wget # $ nix-env -qaP | grep wget

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,17 +1,19 @@
{ {
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 =
with pkgs;
[
inkscape inkscape
exiftool exiftool
] ]
@ -30,7 +32,9 @@ let
gimp2 gimp2
]; ];
multimediaApps = [ multimediaApps =
with pkgs;
[
mpv mpv
] ]
++ lib.optionals pkgs.stdenv.isDarwin [ vlc-bin ] ++ lib.optionals pkgs.stdenv.isDarwin [ vlc-bin ]
@ -44,7 +48,9 @@ let
#nur.repos.fooker.studio-link #nur.repos.fooker.studio-link
]; ];
cliApps = [ cliApps =
with pkgs;
[
coreutils coreutils
myVim myVim
htop htop
@ -78,6 +84,8 @@ let
spacer spacer
nix-output-monitor # putting this here as a plain `nix` alternative nix-output-monitor # putting this here as a plain `nix` alternative
fc-scripts # this might turn out to be useful even in non-work environments?
] ]
++ lib.optionals pkgs.stdenv.isLinux [ ++ lib.optionals pkgs.stdenv.isLinux [
xclip xclip
@ -88,13 +96,15 @@ let
reptyr # re-bind running program to other tty reptyr # re-bind running program to other tty
]; ];
nixHelpers = [ nixHelpers = with pkgs; [
nixpkgs-review nixpkgs-review
nixfmt nixfmt
nix-top nix-top
statix statix
]; ];
devTools = [ devTools =
with pkgs;
[
curl curl
httpie httpie
gcc gcc
@ -117,7 +127,7 @@ let
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 +141,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,7 +197,9 @@ let
chromedriver chromedriver
]; ];
kdeTools = [ kdeTools =
with pkgs;
[
okteta okteta
] ]
++ (with kdePackages; [ ++ (with kdePackages; [
@ -248,7 +260,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;
};
};
} }

27
packages/fc-scripts.nix Normal file
View file

@ -0,0 +1,27 @@
{
fetchFromGitHub,
runCommand,
python3,
stdenvNoCC,
}:
stdenvNoCC.mkDerivation {
pname = "fc-scripts";
version = "20260202";
src = fetchFromGitHub {
owner = "flyingcircusio";
repo = "scripts";
rev = "887f066006829fc3ee44b3cfbe748c578ea2e7c1";
hash = "sha256-mrL/dULb0NKw8cH9ferzfDdRjhWANrWQg/u7FNCtzWw=";
};
buildInputs = [ python3 ];
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
cp *.py $out/bin/
runHook postInstall
'';
}