add templates

This commit is contained in:
EdenQwQ 2025-03-22 23:18:27 +08:00
parent eac820e632
commit 36d96fd613
6 changed files with 205 additions and 9 deletions

View file

@ -17,6 +17,7 @@
flake = {
homeManagerModules = import ./modules/home-manager;
overlays = import ./overlays { inherit inputs self; };
templates = import ./templates;
};
perSystem =
{ pkgs, ... }:

View file

@ -25,7 +25,6 @@
$scala\
$conda\
$python\
$custom\
$container\
$nix_shell\
$time\n\
@ -180,14 +179,6 @@
disabled = false
symbol = ' '
[custom.flake]
command = "cat flake.nix | grep description | cut -d\" -f2"
style = "bg:overlay fg:pine"
format = " [](fg:overlay)[ $symbol$output ]($style)[](fg:overlay)"
disabled = false
symbol = "󱄅 "
detect_files = ["flake.nix"]
[nix_shell]
format = 'via [$symbol$state( \($name\))]($style) '
symbol = "󱄅 "

6
templates/default.nix Normal file
View file

@ -0,0 +1,6 @@
{
python-analyze = {
path = ./python-analyze;
description = "Python with modules for analyzing data";
};
}

96
templates/python-analyze/flake.lock generated Normal file
View file

@ -0,0 +1,96 @@
{
"nodes": {
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1741352980,
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1739451785,
"narHash": "sha256-3ebRdThRic9bHMuNi2IAA/ek9b32bsy8F5R4SvGTIog=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "1128e89fd5e11bb25aedbfc287733c6502202ea9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"lastModified": 1740877520,
"narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "147dee35aab2193b174e4c0868bd80ead5ce755c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1735554305,
"narHash": "sha256-zExSA1i/b+1NMRhGGLtNfFGXgLtgo+dcuzHzaWA6w3Q=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "0e82ab234249d8eee3e8c91437802b32c74bb3fd",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"root": {
"inputs": {
"flake-parts": "flake-parts",
"nixpkgs": "nixpkgs",
"treefmt-nix": "treefmt-nix"
}
},
"treefmt-nix": {
"inputs": {
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1742370146,
"narHash": "sha256-XRE8hL4vKIQyVMDXykFh4ceo3KSpuJF3ts8GKwh5bIU=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "adc195eef5da3606891cedf80c0d9ce2d3190808",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "treefmt-nix",
"type": "github"
}
}
},
"root": "root",
"version": 7
}

View file

@ -0,0 +1,51 @@
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixpkgs-unstable";
flake-parts.url = "github:hercules-ci/flake-parts";
treefmt-nix.url = "github:numtide/treefmt-nix";
};
outputs =
{ ... }@inputs:
inputs.flake-parts.lib.mkFlake { inherit inputs; } {
systems = [ "x86_64-linux" ];
imports = [
inputs.treefmt-nix.flakeModule
];
perSystem =
{ pkgs, ... }:
{
devShells = {
default =
let
packageOverrides = pkgs.callPackage ./python-packages.nix { };
python = pkgs.python312.override { inherit packageOverrides; };
in
pkgs.mkShellNoCC {
buildInputs = [
(python.withPackages (
ps: with ps; [
numpy
pandas
scipy
requests
matplotlib
scikit-learn
seaborn
pingouin
]
))
];
shellHook = ''
fish
'';
};
};
treefmt = {
projectRootFile = "flake.nix";
programs.nixfmt.enable = true;
programs.ruff-format.enable = true;
};
};
};
}

View file

@ -0,0 +1,51 @@
# Generated by pip2nix 0.8.0.dev1
# See https://github.com/nix-community/pip2nix
{
pkgs,
fetchurl,
}:
self: super: {
"pandas-flavor" = super.buildPythonPackage {
pname = "pandas-flavor";
version = "0.6.0";
src = fetchurl {
url = "https://files.pythonhosted.org/packages/67/1a/bfb5574b215f530c7ac5be684f33d60b299abbebd763c203aa31755f2fb2/pandas_flavor-0.6.0-py3-none-any.whl";
sha256 = "14wqi64h4srgabznb75w2dvq14gfih3x0ayg429mf0m71lp9wb53";
};
format = "wheel";
doCheck = false;
buildInputs = [ ];
checkInputs = [ ];
nativeBuildInputs = [ ];
propagatedBuildInputs = with pkgs.python312Packages; [
pandas
xarray
];
};
"pingouin" = super.buildPythonPackage {
pname = "pingouin";
version = "0.5.5";
src = fetchurl {
url = "https://files.pythonhosted.org/packages/eb/56/6d3607f3a78aee1de8e5466f5171722c8e344266a12dc44ccb73d024b3b3/pingouin-0.5.5-py3-none-any.whl";
sha256 = "1w8fwbad92j3v3paib0mnrbhg4rpb68fwj0840qi2m759vjaymii";
};
format = "wheel";
doCheck = false;
buildInputs = [ ];
checkInputs = [ ];
nativeBuildInputs = [ ];
propagatedBuildInputs = with pkgs.python312Packages; [
matplotlib
numpy
pandas
self."pandas-flavor"
scikit-learn
scipy
seaborn
statsmodels
tabulate
];
};
}