meat
This commit is contained in:
parent
c8ee397794
commit
7f3dc64568
10 changed files with 302 additions and 47 deletions
127
flake.lock
generated
127
flake.lock
generated
|
@ -216,11 +216,11 @@
|
|||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723657484,
|
||||
"narHash": "sha256-oSxczvhDKCc/ilTPiMz46RmTLhyBoVxhGWhp7Ee54eA=",
|
||||
"lastModified": 1724110726,
|
||||
"narHash": "sha256-d4vqblq6e5LOowA6OBro3w0sLsT7HOUYBwV6Wa6zLS8=",
|
||||
"owner": "helix-editor",
|
||||
"repo": "helix",
|
||||
"rev": "ff33b07756548935577aefc15cf48a1beb27b162",
|
||||
"rev": "9e7c488ee33eaabab6ee7c3436f4c58b8c647b4f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -236,11 +236,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723621879,
|
||||
"narHash": "sha256-7/VysfDaFfmFJ7zgt2H8J04PkSO2bMjoN7e0wwUu6Ek=",
|
||||
"lastModified": 1723954948,
|
||||
"narHash": "sha256-TViNzTQdc1BfUftqKTPePwDL0NqliTcX5GyDHM5IHQQ=",
|
||||
"owner": "n-hass",
|
||||
"repo": "home-manager",
|
||||
"rev": "639ab4410badd2a7a4c28b678452e1dc2d30450a",
|
||||
"rev": "774b50e0b28c9654cfbcb78584ec4819629f6541",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -269,11 +269,11 @@
|
|||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1723577950,
|
||||
"narHash": "sha256-kOpGI9WPmte1L4QWHviuXsr8jxmGn27zwi82jtzYObM=",
|
||||
"rev": "b016eb0895bb6714a4f6530d9a2bb6577ac6c3cf",
|
||||
"lastModified": 1724058824,
|
||||
"narHash": "sha256-WkRs8plqBYxIgrcz1jenmxbcLVVpo9Z9Waot9qIlqmI=",
|
||||
"rev": "e727dbc3a3d59d7742a24a2b394b63a04ecb4d24",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/b016eb0895bb6714a4f6530d9a2bb6577ac6c3cf.tar.gz"
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/e727dbc3a3d59d7742a24a2b394b63a04ecb4d24.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
|
@ -318,16 +318,32 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-index-database": {
|
||||
"meat": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"src": "src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723352546,
|
||||
"narHash": "sha256-WTIrvp0yV8ODd6lxAq4F7EbrPQv0gscBnyfn559c3k8=",
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-7X+B0Gt3ns9QlI0sanZm+dst0UIpc3OH7HmbMf/ixE4=",
|
||||
"path": "flakes/meat",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "flakes/meat",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
"nix-index-database": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723950649,
|
||||
"narHash": "sha256-dHMkGjwwCGj0c2MKyCjRXVBXq2Sz3TWbbM23AS7/5Hc=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "ec78079a904d7d55e81a0468d764d0fffb50ac06",
|
||||
"rev": "392828aafbed62a6ea6ccab13728df2e67481805",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -362,15 +378,15 @@
|
|||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-root": "flake-root",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723381807,
|
||||
"narHash": "sha256-tBvNlNvI3xRjmfUuzwgwWFrk+SO50wlrmAGRuG3Yzi4=",
|
||||
"lastModified": 1724075735,
|
||||
"narHash": "sha256-w9MlAKAdcfSR9t3oasYj8L+XJ3r81f8MWSw9e0NCPpk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixd",
|
||||
"rev": "c9d8970a646dbaa82981d050d905637a29bbdd21",
|
||||
"rev": "c37ef77223d819eb673b9be828a2450271e3f08a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -382,16 +398,16 @@
|
|||
"nixos-cosmic": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_3",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2",
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723599342,
|
||||
"narHash": "sha256-4eUNZxze/tMkKzfAJSS+o3o4LcMH1znWfCUICO/Sw4A=",
|
||||
"lastModified": 1724031331,
|
||||
"narHash": "sha256-X1SK0Xrty5yo5DyihYtM7NFyOoO+dnkz9uhywjntiqY=",
|
||||
"owner": "lilyinstarlight",
|
||||
"repo": "nixos-cosmic",
|
||||
"rev": "5e861c29989be12691f90bda3a7b97891a629ed3",
|
||||
"rev": "1c1b4a675c4c1b5ccf04f2112ad34a7622cfca7d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -467,11 +483,11 @@
|
|||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1723556749,
|
||||
"narHash": "sha256-+CHVZnTnIYRLYsARInHYoWkujzcRkLY/gXm3s5bE52o=",
|
||||
"lastModified": 1723938990,
|
||||
"narHash": "sha256-9tUadhnZQbWIiYVXH8ncfGXGvkNq3Hag4RCBEMUk7MI=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "4a92571f9207810b559c9eac203d1f4d79830073",
|
||||
"rev": "c42fcfbdfeae23e68fc520f9182dde9f38ad1890",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -483,11 +499,24 @@
|
|||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1723175592,
|
||||
"narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=",
|
||||
"lastModified": 1723362943,
|
||||
"narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=",
|
||||
"path": "/nix/store/h60m1fwahjd2mv6gsg77ji3vb4gpj4dk-source",
|
||||
"rev": "a58bc8ad779655e790115244571758e8de055e3d",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1723637854,
|
||||
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "5e0ca22929f3342b19569b21b2f3462f053e497b",
|
||||
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -497,7 +526,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681303793,
|
||||
"narHash": "sha256-JEdQHsYuCfRL2PICHlOiH/2ue3DwoxUX7DJ6zZxZXFk=",
|
||||
|
@ -513,7 +542,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1714562304,
|
||||
"narHash": "sha256-Mr3U37Rh6tH0FbaDFu0aZDwk9mPAe7ASaqDOGgLqqLU=",
|
||||
|
@ -529,13 +558,13 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1723362943,
|
||||
"narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=",
|
||||
"lastModified": 1723637854,
|
||||
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a58bc8ad779655e790115244571758e8de055e3d",
|
||||
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -547,11 +576,11 @@
|
|||
},
|
||||
"nur": {
|
||||
"locked": {
|
||||
"lastModified": 1723664702,
|
||||
"narHash": "sha256-ErRJ3oUHFOzUXoDAzws/h5u7c6dCExETjmm5uIFL/QY=",
|
||||
"lastModified": 1724103901,
|
||||
"narHash": "sha256-yupLp7tv5yu3KvrWQ9mLpCKyVks8RyEvNQVCFToyxdw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "NUR",
|
||||
"rev": "7bcbb0362c92f230ba4a2c5ad227e04f84fc1ce0",
|
||||
"rev": "7d49736b4409f42a795a9129f66e1fc02983221b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -568,7 +597,7 @@
|
|||
"flake-utils"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs-stable": "nixpkgs-stable"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -593,6 +622,7 @@
|
|||
"lix": "lix",
|
||||
"lix-module": "lix-module",
|
||||
"madness": "madness",
|
||||
"meat": "meat",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nix-rice": "nix-rice",
|
||||
"nixd": "nixd",
|
||||
|
@ -641,11 +671,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723515680,
|
||||
"narHash": "sha256-nHdKymsHCVIh0Wdm4MvSgxcTTg34FJIYHRQkQYaSuvk=",
|
||||
"lastModified": 1723947704,
|
||||
"narHash": "sha256-TcVf66N2NgGhxORFytzgqWcg0XJ+kk8uNLNsTRI5sYM=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "4ee3d9e9569f70d7bb40f28804d6fe950c81eab3",
|
||||
"rev": "456e78a55feade2c3bc6d7bc0bf5e710c9d86120",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -654,6 +684,19 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-driDd0H33lcvEb5fnsUnLZ9Df+m7MNJvBvqQ7KB4+iA=",
|
||||
"path": "src",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "src",
|
||||
"type": "path"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
|
|
|
@ -33,6 +33,8 @@
|
|||
|
||||
madness.url = "github:antithesishq/madness";
|
||||
|
||||
nh.url = "github:viperML/nh";
|
||||
|
||||
lix = {
|
||||
url = "https://git.lix.systems/lix-project/lix/archive/main.tar.gz";
|
||||
flake = false;
|
||||
|
@ -43,6 +45,8 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
inputs.lix.follows = "lix";
|
||||
};
|
||||
|
||||
meat.url = "path:flakes/meat";
|
||||
};
|
||||
|
||||
outputs = {
|
||||
|
@ -54,14 +58,16 @@
|
|||
flatpaks,
|
||||
nix-index-database,
|
||||
madness,
|
||||
lix,
|
||||
lix-module,
|
||||
nh,
|
||||
meat,
|
||||
...
|
||||
} @ inputs: let
|
||||
inherit (self) outputs;
|
||||
inherit (nixpkgs) lib;
|
||||
inherit (lib) mapAttrs;
|
||||
sharedModules = [
|
||||
meat.nixosModules.meat
|
||||
lix-module.nixosModules.default
|
||||
madness.nixosModules.madness
|
||||
nur.nixosModules.nur
|
||||
|
|
38
flakes/meat/flake.lock
generated
Normal file
38
flakes/meat/flake.lock
generated
Normal file
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"nodes": {
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1723362943,
|
||||
"narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=",
|
||||
"path": "/nix/store/h60m1fwahjd2mv6gsg77ji3vb4gpj4dk-source",
|
||||
"rev": "a58bc8ad779655e790115244571758e8de055e3d",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"id": "nixpkgs",
|
||||
"type": "indirect"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs",
|
||||
"src": "src"
|
||||
}
|
||||
},
|
||||
"src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1,
|
||||
"narHash": "sha256-driDd0H33lcvEb5fnsUnLZ9Df+m7MNJvBvqQ7KB4+iA=",
|
||||
"path": "src",
|
||||
"type": "path"
|
||||
},
|
||||
"original": {
|
||||
"path": "src",
|
||||
"type": "path"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
74
flakes/meat/flake.nix
Normal file
74
flakes/meat/flake.nix
Normal file
|
@ -0,0 +1,74 @@
|
|||
{
|
||||
description = "the meat (package) manager";
|
||||
|
||||
inputs = {
|
||||
# use registry nixpkgs
|
||||
# nixpkgs.url = "nixpkgs/nixos-unstable";
|
||||
|
||||
src = {
|
||||
url = "path:src";
|
||||
flake = false;
|
||||
};
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
src,
|
||||
}: let
|
||||
# System types to support.
|
||||
supportedSystems = ["x86_64-linux" "x86_64-darwin" "aarch64-linux" "aarch64-darwin"];
|
||||
|
||||
# Helper function to generate an attrset '{ x86_64-linux = f "x86_64-linux"; ... }'.
|
||||
forAllSystems = nixpkgs.lib.genAttrs supportedSystems;
|
||||
|
||||
# Nixpkgs instantiated for supported system types.
|
||||
nixpkgsFor = forAllSystems (system:
|
||||
import nixpkgs {
|
||||
inherit system;
|
||||
# overlays = [self.overlay];
|
||||
});
|
||||
in {
|
||||
# Provide some binary packages for selected system types.
|
||||
packages = forAllSystems (system: let
|
||||
pkgs = nixpkgsFor.${system};
|
||||
in {
|
||||
meat = pkgs.callPackage ./meat.nix {
|
||||
inherit src;
|
||||
};
|
||||
});
|
||||
|
||||
# The default package for 'nix build'. This makes sense if the
|
||||
# flake provides only one package or there is a clear "main"
|
||||
# package.
|
||||
defaultPackage = forAllSystems (system: self.packages.${system}.meat);
|
||||
|
||||
# A NixOS module, if applicable (e.g. if the package provides a system service).
|
||||
nixosModules.meat = {
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
options.programs.meat = with pkgs.lib; {
|
||||
flake = mkOption {
|
||||
type = with types; nullOr (either path str);
|
||||
default = null;
|
||||
description = "path to your system flake";
|
||||
};
|
||||
};
|
||||
config = {
|
||||
environment.systemPackages = [self.defaultPackage.${pkgs.system}];
|
||||
environment.sessionVariables = let
|
||||
cfg = config.programs.meat;
|
||||
in {
|
||||
FLAKE =
|
||||
if (cfg.flake == null)
|
||||
then throw "Please set the programs.meat.flake option to your system flake."
|
||||
else config.programs.meat.flake;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Tests run by 'nix flake check' and by Hydra.
|
||||
};
|
||||
}
|
39
flakes/meat/meat.nix
Normal file
39
flakes/meat/meat.nix
Normal file
|
@ -0,0 +1,39 @@
|
|||
{
|
||||
lib,
|
||||
src,
|
||||
stdenvNoCC,
|
||||
bash,
|
||||
nix,
|
||||
nh,
|
||||
git,
|
||||
sudo,
|
||||
makeWrapper,
|
||||
}: let
|
||||
deps = [
|
||||
bash
|
||||
nix
|
||||
nh
|
||||
git
|
||||
sudo
|
||||
];
|
||||
in
|
||||
stdenvNoCC.mkDerivation {
|
||||
inherit src;
|
||||
name = "meat";
|
||||
version = "0.0.1";
|
||||
nativeBuildInputs = [
|
||||
makeWrapper
|
||||
];
|
||||
buildInputs = deps;
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp meat $out/bin
|
||||
'';
|
||||
postFixup = ''
|
||||
wrapProgram $out/bin/meat \
|
||||
--set PATH ${lib.makeBinPath deps}
|
||||
'';
|
||||
meta = {
|
||||
mainProgram = "meat";
|
||||
};
|
||||
}
|
54
flakes/meat/src/meat
Executable file
54
flakes/meat/src/meat
Executable file
|
@ -0,0 +1,54 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
cmd=${1:help}
|
||||
shift
|
||||
|
||||
|
||||
call_nix() {
|
||||
cd $(dirname $0)
|
||||
nixpkgs_pin=$(nix eval --raw -f npins/default.nix nixpkgs)
|
||||
nix_path="nixpkgs=${nixpkgs_pin}:nixos-config=${HOME}/.nix/entry.nix"
|
||||
local cmd=$1
|
||||
shift
|
||||
env NIX_PATH="${nix_path}" nixos-rebuild "$cmd" --fast "$@"
|
||||
}
|
||||
|
||||
cd $FLAKE
|
||||
case $cmd in
|
||||
look)
|
||||
nix flake show
|
||||
;;
|
||||
|
||||
fresh)
|
||||
nix flake update "$@"
|
||||
;;
|
||||
|
||||
yum)
|
||||
nh os switch -- "$@"
|
||||
# call_nix switch "$@"
|
||||
;;
|
||||
|
||||
cook)
|
||||
nh os build "$@"
|
||||
# call_nix build "$@"
|
||||
;;
|
||||
|
||||
poke)
|
||||
nh os build -- --show-trace "$@"
|
||||
# call_nix build --show-trace "$@"
|
||||
;;
|
||||
|
||||
help|*)
|
||||
printf "
|
||||
--- MEAT ---------------------------------------------
|
||||
|
||||
FRESH \t\t| GET LATEST MEAT
|
||||
YUM \t\t| CONSUME DELICIOUS MEAT
|
||||
COOK \t\t| ONLY PREPARE MEAT
|
||||
POKE \t\t| TRY COOK SUSPICIOUS MEAT
|
||||
LOOK \t\t| INSPECT MEATS
|
||||
|
||||
------------------------------------------------------\n"
|
||||
;;
|
||||
esac
|
||||
cd $PWD
|
|
@ -5,13 +5,12 @@
|
|||
./util/containers.nix
|
||||
# ./programs/stable-diffusion.nix
|
||||
# ./programs/openwebui.nix
|
||||
./programs/sillytavern.nix
|
||||
./programs/anything-llm.nix
|
||||
];
|
||||
|
||||
home = rec {
|
||||
home = {
|
||||
username = "bolt";
|
||||
homeDirectory = "/home/bolt";
|
||||
sessionVariables.FLAKE = "${homeDirectory}/.nix";
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
mpv
|
||||
imv
|
||||
strawberry
|
||||
termusic
|
||||
zathura
|
||||
playerctl
|
||||
];
|
||||
|
|
|
@ -17,6 +17,7 @@
|
|||
outputs.overlays.rice
|
||||
inputs.helix.overlays.default
|
||||
inputs.nixd.overlays.default
|
||||
inputs.nh.overlays.default
|
||||
];
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
|
|
|
@ -20,6 +20,8 @@
|
|||
];
|
||||
};
|
||||
|
||||
programs.meat.flake = "/home/bolt/.nix";
|
||||
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "ahci" "usbcore" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.initrd.systemd.enable = true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue