2021-12-30 16:19:49 +01:00
|
|
|
{
|
|
|
|
|
description = "niveum: packages, modules, systems";
|
|
|
|
|
|
|
|
|
|
inputs = {
|
2023-02-22 10:02:55 +01:00
|
|
|
agenix.url = "github:ryantm/agenix";
|
2024-11-15 09:48:11 +01:00
|
|
|
# alew-web.url = "git+ssh://gitea@code.kmein.de:22022/kfm/alew-web.git?ref=refs/heads/master";
|
2023-08-07 13:26:53 +02:00
|
|
|
coptic-dictionary.url = "github:kmein/coptic-dictionary";
|
2021-12-30 16:19:49 +01:00
|
|
|
flake-utils.url = "github:numtide/flake-utils";
|
2025-06-03 14:55:03 +02:00
|
|
|
home-manager.url = "github:nix-community/home-manager/release-25.05";
|
2023-02-22 10:02:55 +01:00
|
|
|
menstruation-backend.url = "github:kmein/menstruation.rs";
|
|
|
|
|
menstruation-telegram.url = "github:kmein/menstruation-telegram";
|
2025-07-10 06:51:51 +02:00
|
|
|
centerpiece.url = "github:friedow/centerpiece";
|
2023-07-22 23:42:39 +02:00
|
|
|
nix-on-droid.url = "github:t184256/nix-on-droid/release-23.05";
|
2024-01-09 08:49:55 +01:00
|
|
|
nixinate.url = "github:matthewcroughan/nixinate";
|
2023-05-07 19:36:00 +02:00
|
|
|
nixpkgs-old.url = "github:NixOS/nixpkgs/50fc86b75d2744e1ab3837ef74b53f103a9b55a0";
|
2023-05-17 11:16:05 +02:00
|
|
|
nixpkgs-unstable.url = "github:NixOS/nixpkgs/master";
|
2025-06-03 14:55:03 +02:00
|
|
|
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.05";
|
2023-02-22 10:02:55 +01:00
|
|
|
nur.url = "github:nix-community/NUR";
|
|
|
|
|
recht.url = "github:kmein/recht";
|
2025-02-26 10:13:28 +01:00
|
|
|
retiolum.url = "github:krebs/retiolum";
|
2023-05-07 19:36:00 +02:00
|
|
|
rust-overlay.url = "github:oxalica/rust-overlay";
|
2023-07-22 23:42:39 +02:00
|
|
|
scripts.url = "github:kmein/scripts";
|
2024-11-15 09:48:11 +01:00
|
|
|
stockholm.url = "github:krebs/stockholm";
|
2025-06-03 14:55:03 +02:00
|
|
|
stylix.url = "github:danth/stylix/release-25.05";
|
2023-02-22 10:02:55 +01:00
|
|
|
telebots.url = "github:kmein/telebots";
|
|
|
|
|
tinc-graph.url = "github:kmein/tinc-graph";
|
2023-02-24 23:10:45 +01:00
|
|
|
voidrice.url = "github:Lukesmithxyz/voidrice";
|
2023-07-27 17:05:41 +02:00
|
|
|
wallpaper-generator.url = "github:pinpox/wallpaper-generator/v1.1";
|
2023-07-26 07:38:52 +02:00
|
|
|
wallpapers.url = "github:kmein/wallpapers";
|
2023-02-22 10:02:55 +01:00
|
|
|
|
2023-05-17 11:16:05 +02:00
|
|
|
agenix.inputs.home-manager.follows = "home-manager";
|
2023-07-22 23:42:39 +02:00
|
|
|
agenix.inputs.nixpkgs.follows = "nixpkgs";
|
2023-08-07 13:26:53 +02:00
|
|
|
coptic-dictionary.inputs.nixpkgs.follows = "nixpkgs";
|
2023-02-22 10:02:55 +01:00
|
|
|
home-manager.inputs.nixpkgs.follows = "nixpkgs";
|
2023-12-06 14:41:49 +01:00
|
|
|
# menstruation-backend.inputs.flake-utils.follows = "flake-utils";
|
|
|
|
|
# menstruation-backend.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
# menstruation-backend.inputs.rust-overlay.follows = "rust-overlay";
|
2023-05-07 19:36:00 +02:00
|
|
|
menstruation-telegram.inputs.flake-utils.follows = "flake-utils";
|
|
|
|
|
menstruation-telegram.inputs.menstruation-backend.follows = "menstruation-backend";
|
|
|
|
|
menstruation-telegram.inputs.nixpkgs.follows = "nixpkgs-old";
|
2023-07-22 23:49:06 +02:00
|
|
|
nix-on-droid.inputs.home-manager.follows = "home-manager";
|
2023-07-27 17:05:41 +02:00
|
|
|
nix-on-droid.inputs.nixpkgs.follows = "nixpkgs";
|
2023-05-07 19:36:00 +02:00
|
|
|
recht.inputs.flake-utils.follows = "flake-utils";
|
|
|
|
|
recht.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
rust-overlay.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
scripts.inputs.flake-utils.follows = "flake-utils";
|
|
|
|
|
scripts.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
|
scripts.inputs.rust-overlay.follows = "rust-overlay";
|
2023-07-26 08:55:50 +02:00
|
|
|
stylix.inputs.home-manager.follows = "home-manager";
|
2023-07-27 17:05:41 +02:00
|
|
|
stylix.inputs.nixpkgs.follows = "nixpkgs";
|
2023-02-22 10:02:55 +01:00
|
|
|
tinc-graph.inputs.flake-utils.follows = "flake-utils";
|
|
|
|
|
tinc-graph.inputs.nixpkgs.follows = "nixpkgs";
|
2023-05-07 19:36:00 +02:00
|
|
|
tinc-graph.inputs.rust-overlay.follows = "rust-overlay";
|
2023-02-24 23:10:45 +01:00
|
|
|
voidrice.flake = false;
|
2023-07-27 17:05:41 +02:00
|
|
|
wallpaper-generator.inputs.flake-utils.follows = "flake-utils";
|
2023-07-26 07:38:52 +02:00
|
|
|
wallpapers.flake = false;
|
2021-12-30 16:19:49 +01:00
|
|
|
};
|
|
|
|
|
|
2024-05-16 22:10:17 +02:00
|
|
|
nixConfig = {
|
|
|
|
|
extra-substituters = [ "https://kmein.cachix.org" ];
|
|
|
|
|
extra-trusted-public-keys = [ "kmein.cachix.org-1:rsJ2b6++VQHJ1W6rGuDUYsK/qUkFA3bNpO6PyEyJ9Ls=" ];
|
|
|
|
|
};
|
|
|
|
|
|
2023-02-22 10:02:55 +01:00
|
|
|
outputs = inputs @ {
|
2022-03-10 21:52:12 +01:00
|
|
|
self,
|
2023-02-22 10:02:55 +01:00
|
|
|
nixpkgs,
|
2023-05-17 11:16:05 +02:00
|
|
|
nixpkgs-unstable,
|
2023-02-22 10:02:55 +01:00
|
|
|
nur,
|
2022-03-10 21:52:12 +01:00
|
|
|
home-manager,
|
2023-02-22 10:02:55 +01:00
|
|
|
agenix,
|
2022-03-10 21:52:12 +01:00
|
|
|
retiolum,
|
2024-01-09 08:49:55 +01:00
|
|
|
nixinate,
|
2023-02-24 23:10:45 +01:00
|
|
|
flake-utils,
|
2023-07-22 23:42:39 +02:00
|
|
|
nix-on-droid,
|
2025-07-10 06:51:51 +02:00
|
|
|
centerpiece,
|
2023-07-26 07:38:52 +02:00
|
|
|
stylix,
|
2023-02-22 10:02:55 +01:00
|
|
|
...
|
2023-03-24 17:00:44 +01:00
|
|
|
}:
|
2023-02-24 23:10:45 +01:00
|
|
|
{
|
2023-12-28 11:46:45 +01:00
|
|
|
apps = {
|
2024-02-27 11:30:54 +01:00
|
|
|
x86_64-darwin = let
|
2024-02-27 20:59:54 +01:00
|
|
|
pkgs = nixpkgs.legacyPackages.x86_64-darwin;
|
2024-02-27 11:30:54 +01:00
|
|
|
in {
|
|
|
|
|
deploy-maakaron = {
|
|
|
|
|
type = "app";
|
|
|
|
|
program = toString (pkgs.writers.writeDash "deploy-maakaron" ''
|
|
|
|
|
exec $(nix build .#homeConfigurations.maakaron.activationPackage --no-link --print-out-paths)/activate
|
|
|
|
|
'');
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-12-28 11:46:45 +01:00
|
|
|
x86_64-linux = let
|
|
|
|
|
pkgs = nixpkgs.legacyPackages.x86_64-linux;
|
|
|
|
|
lib = nixpkgs.lib;
|
|
|
|
|
in
|
2024-01-09 08:49:55 +01:00
|
|
|
nixinate.nixinate.x86_64-linux self
|
|
|
|
|
// {
|
2023-06-27 17:57:42 +02:00
|
|
|
mock-secrets = {
|
|
|
|
|
type = "app";
|
|
|
|
|
program = toString (pkgs.writers.writeDash "mock-secrets" ''
|
2023-08-23 17:42:26 +02:00
|
|
|
${pkgs.findutils}/bin/find secrets -not -path '*/.*' -type f | ${pkgs.coreutils}/bin/sort > secrets.txt
|
2023-06-27 17:57:42 +02:00
|
|
|
'');
|
|
|
|
|
};
|
2023-12-28 11:46:45 +01:00
|
|
|
}
|
2023-12-28 21:31:50 +01:00
|
|
|
# the following error prevents remote building of ful: https://github.com/NixOS/nixpkgs/issues/177873
|
2023-12-28 11:46:45 +01:00
|
|
|
// builtins.listToAttrs (map (hostname: let
|
|
|
|
|
externalNetwork = import ./lib/external-network.nix;
|
|
|
|
|
targets = {
|
|
|
|
|
ful = "root@ful";
|
|
|
|
|
zaatar = "root@zaatar";
|
|
|
|
|
makanek = "root@makanek";
|
|
|
|
|
manakish = "root@manakish";
|
2024-06-20 15:06:00 +02:00
|
|
|
tahina = "root@tahina";
|
|
|
|
|
tabula = "root@tabula";
|
2023-12-28 11:46:45 +01:00
|
|
|
kabsa = "root@kabsa";
|
2024-03-19 20:31:02 +01:00
|
|
|
fatteh = "root@fatteh";
|
2025-02-11 21:04:02 +01:00
|
|
|
kibbeh = "root@kibbeh";
|
2023-12-28 11:46:45 +01:00
|
|
|
};
|
|
|
|
|
in
|
|
|
|
|
lib.attrsets.nameValuePair "deploy-${hostname}" {
|
2023-06-27 17:57:42 +02:00
|
|
|
type = "app";
|
2023-12-28 11:46:45 +01:00
|
|
|
program = toString (pkgs.writers.writeDash "deploy-${hostname}" ''
|
2024-06-03 07:27:01 +02:00
|
|
|
exec ${pkgs.nixos-rebuild}/bin/nixos-rebuild switch \
|
|
|
|
|
--max-jobs 2 \
|
|
|
|
|
--log-format internal-json \
|
|
|
|
|
--flake .?submodules=1#${hostname} \
|
|
|
|
|
--target-host ${targets.${hostname}} 2>&1 \
|
|
|
|
|
| ${pkgs.nix-output-monitor}/bin/nom --json
|
2023-06-27 17:57:42 +02:00
|
|
|
'');
|
2024-01-09 08:49:55 +01:00
|
|
|
}) (builtins.attrNames self.nixosConfigurations))
|
|
|
|
|
// {
|
|
|
|
|
deploy-ful = {
|
|
|
|
|
type = "app";
|
|
|
|
|
program = toString (pkgs.writers.writeDash "deploy-ful" ''
|
2024-06-03 07:27:01 +02:00
|
|
|
exec ${pkgs.nix}/bin/nix run .?submodules=1#nixinate.ful \
|
|
|
|
|
--log-format internal-json 2>&1 \
|
|
|
|
|
| ${pkgs.nix-output-monitor}/bin/nom --json
|
2024-01-09 08:49:55 +01:00
|
|
|
'');
|
|
|
|
|
};
|
|
|
|
|
};
|
2023-12-28 11:46:45 +01:00
|
|
|
};
|
2023-02-22 10:02:55 +01:00
|
|
|
|
2023-02-24 23:41:01 +01:00
|
|
|
nixosModules = {
|
2023-03-26 19:24:38 +02:00
|
|
|
htgen = import modules/htgen.nix;
|
2023-02-24 23:41:01 +01:00
|
|
|
moodle-dl = import modules/moodle-dl.nix;
|
|
|
|
|
networkmanager-declarative = import modules/networkmanager-declarative.nix;
|
|
|
|
|
passport = import modules/passport.nix;
|
2023-03-24 17:00:44 +01:00
|
|
|
panoptikon = import modules/panoptikon.nix;
|
2023-03-26 19:24:38 +02:00
|
|
|
power-action = import modules/power-action.nix;
|
2023-02-24 23:41:01 +01:00
|
|
|
system-dependent = import modules/system-dependent.nix;
|
|
|
|
|
telegram-bot = import modules/telegram-bot.nix;
|
|
|
|
|
};
|
|
|
|
|
|
2023-03-30 19:13:25 +02:00
|
|
|
lib = {
|
|
|
|
|
panoptikon = import lib/panoptikon.nix;
|
|
|
|
|
};
|
|
|
|
|
|
2023-07-22 23:42:39 +02:00
|
|
|
nixOnDroidConfigurations = {
|
2023-07-23 23:12:25 +02:00
|
|
|
moto = nix-on-droid.lib.nixOnDroidConfiguration {
|
|
|
|
|
modules = [systems/moto/configuration.nix];
|
2023-07-22 23:49:06 +02:00
|
|
|
pkgs = import nixpkgs {
|
|
|
|
|
system = "aarch64-linux";
|
|
|
|
|
overlays = [nix-on-droid.overlays.default];
|
|
|
|
|
};
|
2023-07-25 16:17:40 +02:00
|
|
|
extraSpecialArgs = {
|
2023-07-24 06:29:51 +00:00
|
|
|
niveumPackages = inputs.self.packages.aarch64-linux;
|
2023-07-25 16:17:40 +02:00
|
|
|
niveumLib = inputs.self.lib;
|
|
|
|
|
inherit inputs;
|
2023-07-24 06:29:51 +00:00
|
|
|
};
|
2023-07-22 23:49:06 +02:00
|
|
|
home-manager-path = home-manager.outPath;
|
2023-07-22 23:42:39 +02:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2024-02-27 11:30:54 +01:00
|
|
|
homeConfigurations = {
|
|
|
|
|
maakaron = let
|
|
|
|
|
system = "x86_64-darwin";
|
|
|
|
|
pkgs = nixpkgs.legacyPackages.${system};
|
2024-02-27 20:59:54 +01:00
|
|
|
in
|
|
|
|
|
home-manager.lib.homeManagerConfiguration {
|
|
|
|
|
inherit pkgs;
|
|
|
|
|
modules = [./systems/maakaron/home.nix];
|
|
|
|
|
extraSpecialArgs = {
|
|
|
|
|
inherit inputs;
|
|
|
|
|
niveumPackages = inputs.self.packages.${system};
|
|
|
|
|
};
|
2024-02-27 11:30:54 +01:00
|
|
|
};
|
|
|
|
|
};
|
|
|
|
|
|
2023-05-17 11:16:05 +02:00
|
|
|
nixosConfigurations = let
|
|
|
|
|
niveumSpecialArgs = system: {
|
2023-06-04 15:43:08 +02:00
|
|
|
unstablePackages = import nixpkgs-unstable {
|
|
|
|
|
inherit system;
|
|
|
|
|
config.allowUnfreePredicate = pkg:
|
|
|
|
|
builtins.elem (nixpkgs-unstable.lib.getName pkg) [
|
|
|
|
|
"obsidian"
|
2024-05-08 06:37:29 +02:00
|
|
|
"zoom"
|
2023-06-04 15:43:08 +02:00
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
|
2023-05-17 11:16:05 +02:00
|
|
|
niveumPackages = inputs.self.packages.${system};
|
|
|
|
|
niveumLib = inputs.self.lib;
|
|
|
|
|
inherit inputs;
|
|
|
|
|
};
|
|
|
|
|
in {
|
2023-02-24 23:10:45 +01:00
|
|
|
ful = nixpkgs.lib.nixosSystem rec {
|
|
|
|
|
system = "aarch64-linux";
|
2023-05-17 11:16:05 +02:00
|
|
|
specialArgs = niveumSpecialArgs system;
|
2023-02-24 23:10:45 +01:00
|
|
|
modules = [
|
|
|
|
|
systems/ful/configuration.nix
|
|
|
|
|
agenix.nixosModules.default
|
2023-03-20 13:14:02 +01:00
|
|
|
inputs.self.nixosModules.passport
|
2023-03-24 17:00:44 +01:00
|
|
|
inputs.self.nixosModules.panoptikon
|
2024-07-10 12:57:07 +02:00
|
|
|
inputs.self.nixosModules.htgen
|
2024-08-14 06:40:24 +02:00
|
|
|
inputs.stockholm.nixosModules.reaktor2
|
2023-02-24 23:10:45 +01:00
|
|
|
retiolum.nixosModules.retiolum
|
2024-12-13 13:42:16 +01:00
|
|
|
nur.modules.nixos.default
|
2024-08-14 06:40:24 +02:00
|
|
|
{ nixpkgs.overlays = [ inputs.stockholm.overlays.default ]; }
|
2024-01-09 08:49:55 +01:00
|
|
|
{
|
|
|
|
|
_module.args.nixinate = {
|
|
|
|
|
host = "ful";
|
|
|
|
|
sshUser = "root";
|
|
|
|
|
buildOn = "remote";
|
|
|
|
|
substituteOnTarget = true;
|
|
|
|
|
hermetic = false;
|
|
|
|
|
};
|
|
|
|
|
}
|
2023-02-24 23:10:45 +01:00
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
zaatar = nixpkgs.lib.nixosSystem rec {
|
|
|
|
|
system = "x86_64-linux";
|
2023-05-17 11:16:05 +02:00
|
|
|
specialArgs = niveumSpecialArgs system;
|
2023-02-24 23:10:45 +01:00
|
|
|
modules = [
|
|
|
|
|
systems/zaatar/configuration.nix
|
2025-02-11 15:51:06 +01:00
|
|
|
agenix.nixosModules.default
|
|
|
|
|
retiolum.nixosModules.retiolum
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
kibbeh = nixpkgs.lib.nixosSystem rec {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
specialArgs = niveumSpecialArgs system;
|
|
|
|
|
modules = [
|
|
|
|
|
systems/kibbeh/configuration.nix
|
2023-02-24 23:10:45 +01:00
|
|
|
agenix.nixosModules.default
|
|
|
|
|
retiolum.nixosModules.retiolum
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
makanek = nixpkgs.lib.nixosSystem rec {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
# for using inputs in other config files
|
2023-05-17 11:16:05 +02:00
|
|
|
specialArgs = niveumSpecialArgs system;
|
2023-02-24 23:10:45 +01:00
|
|
|
modules = [
|
|
|
|
|
systems/makanek/configuration.nix
|
2023-02-24 23:41:01 +01:00
|
|
|
inputs.self.nixosModules.telegram-bot
|
2023-03-26 19:24:38 +02:00
|
|
|
inputs.self.nixosModules.htgen
|
2023-02-24 23:41:01 +01:00
|
|
|
inputs.self.nixosModules.passport
|
2023-02-24 23:10:45 +01:00
|
|
|
agenix.nixosModules.default
|
|
|
|
|
retiolum.nixosModules.retiolum
|
2024-12-13 13:42:16 +01:00
|
|
|
nur.modules.nixos.default
|
2023-02-24 23:10:45 +01:00
|
|
|
];
|
|
|
|
|
};
|
2024-06-20 15:06:00 +02:00
|
|
|
tahina = nixpkgs.lib.nixosSystem rec {
|
2023-02-24 23:10:45 +01:00
|
|
|
system = "x86_64-linux";
|
2024-06-20 15:06:00 +02:00
|
|
|
specialArgs = niveumSpecialArgs system;
|
2023-02-24 23:10:45 +01:00
|
|
|
modules = [
|
|
|
|
|
systems/tahina/configuration.nix
|
|
|
|
|
agenix.nixosModules.default
|
|
|
|
|
retiolum.nixosModules.retiolum
|
|
|
|
|
];
|
|
|
|
|
};
|
2024-06-20 15:06:00 +02:00
|
|
|
tabula = nixpkgs.lib.nixosSystem rec {
|
2023-02-24 23:10:45 +01:00
|
|
|
system = "x86_64-linux";
|
2024-06-20 15:06:00 +02:00
|
|
|
specialArgs = niveumSpecialArgs system;
|
2023-02-24 23:10:45 +01:00
|
|
|
modules = [
|
|
|
|
|
systems/tabula/configuration.nix
|
|
|
|
|
agenix.nixosModules.default
|
|
|
|
|
retiolum.nixosModules.retiolum
|
|
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
manakish = nixpkgs.lib.nixosSystem rec {
|
|
|
|
|
system = "x86_64-linux";
|
2023-05-17 11:16:05 +02:00
|
|
|
specialArgs = niveumSpecialArgs system;
|
2023-02-24 23:10:45 +01:00
|
|
|
modules = [
|
|
|
|
|
systems/manakish/configuration.nix
|
|
|
|
|
agenix.nixosModules.default
|
|
|
|
|
retiolum.nixosModules.retiolum
|
|
|
|
|
home-manager.nixosModules.home-manager
|
2024-12-13 13:42:16 +01:00
|
|
|
nur.modules.nixos.default
|
2023-07-26 07:38:52 +02:00
|
|
|
stylix.nixosModules.stylix
|
2023-02-24 23:10:45 +01:00
|
|
|
];
|
|
|
|
|
};
|
|
|
|
|
kabsa = nixpkgs.lib.nixosSystem rec {
|
|
|
|
|
system = "x86_64-linux";
|
2023-05-17 11:16:05 +02:00
|
|
|
specialArgs = niveumSpecialArgs system;
|
2023-02-24 23:10:45 +01:00
|
|
|
modules = [
|
|
|
|
|
systems/kabsa/configuration.nix
|
|
|
|
|
agenix.nixosModules.default
|
|
|
|
|
retiolum.nixosModules.retiolum
|
|
|
|
|
home-manager.nixosModules.home-manager
|
2024-12-13 13:42:16 +01:00
|
|
|
nur.modules.nixos.default
|
2023-07-26 07:38:52 +02:00
|
|
|
stylix.nixosModules.stylix
|
2023-02-24 23:10:45 +01:00
|
|
|
];
|
|
|
|
|
};
|
2024-03-19 20:31:02 +01:00
|
|
|
fatteh = nixpkgs.lib.nixosSystem rec {
|
|
|
|
|
system = "x86_64-linux";
|
|
|
|
|
specialArgs = niveumSpecialArgs system;
|
|
|
|
|
modules = [
|
|
|
|
|
systems/fatteh/configuration.nix
|
|
|
|
|
agenix.nixosModules.default
|
|
|
|
|
retiolum.nixosModules.retiolum
|
|
|
|
|
home-manager.nixosModules.home-manager
|
2024-12-13 13:42:16 +01:00
|
|
|
nur.modules.nixos.default
|
2024-03-19 20:31:02 +01:00
|
|
|
stylix.nixosModules.stylix
|
|
|
|
|
];
|
|
|
|
|
};
|
2023-02-22 10:02:55 +01:00
|
|
|
};
|
2023-02-24 23:10:45 +01:00
|
|
|
}
|
2024-02-27 11:30:54 +01:00
|
|
|
// flake-utils.lib.eachSystem [flake-utils.lib.system.x86_64-linux flake-utils.lib.system.x86_64-darwin flake-utils.lib.system.aarch64-linux] (system: let
|
2023-02-24 23:10:45 +01:00
|
|
|
pkgs = import nixpkgs {
|
|
|
|
|
inherit system;
|
2023-03-30 19:16:44 +02:00
|
|
|
overlays = [
|
2024-12-13 13:42:16 +01:00
|
|
|
nur.overlays.default
|
2023-03-30 19:16:44 +02:00
|
|
|
(self: super: {
|
2023-10-10 13:06:26 +02:00
|
|
|
mpv = super.mpv.override {scripts = [inputs.self.packages.${system}.mpv-visualizer super.mpvScripts.mpris];};
|
2025-07-09 09:23:41 +02:00
|
|
|
dmenu = super.writers.writeDashBin "dmenu" ''exec ${pkgs.fuzzel}/bin/fuzzel --dmenu "$@"'';
|
2023-03-30 19:16:44 +02:00
|
|
|
})
|
|
|
|
|
];
|
2023-02-22 10:02:55 +01:00
|
|
|
};
|
2023-08-23 15:51:56 +02:00
|
|
|
unstablePackages = import nixpkgs-unstable {
|
|
|
|
|
inherit system;
|
|
|
|
|
};
|
2023-02-24 23:10:45 +01:00
|
|
|
wrapScript = {
|
|
|
|
|
packages ? [],
|
|
|
|
|
name,
|
|
|
|
|
script,
|
|
|
|
|
}:
|
|
|
|
|
pkgs.writers.writeDashBin name ''PATH=$PATH:${nixpkgs.lib.makeBinPath (packages ++ [pkgs.findutils pkgs.coreutils pkgs.gnused pkgs.gnugrep])} ${script} "$@"'';
|
|
|
|
|
in {
|
2023-03-20 12:23:25 +01:00
|
|
|
packages = rec {
|
2023-02-24 23:10:45 +01:00
|
|
|
auc = pkgs.callPackage packages/auc.nix {};
|
|
|
|
|
betacode = pkgs.callPackage packages/betacode.nix {};
|
2025-05-14 06:57:06 +02:00
|
|
|
brainmelter = pkgs.callPackage packages/brainmelter.nix {};
|
2024-03-17 21:41:25 +01:00
|
|
|
brassica = pkgs.callPackage packages/brassica.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
cheat-sh = pkgs.callPackage packages/cheat-sh.nix {};
|
|
|
|
|
closest = pkgs.callPackage packages/closest {};
|
2024-06-09 22:42:50 +02:00
|
|
|
cro = pkgs.callPackage packages/cro.nix {};
|
2023-03-26 19:24:38 +02:00
|
|
|
cyberlocker-tools = pkgs.callPackage packages/cyberlocker-tools.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
default-gateway = pkgs.callPackage packages/default-gateway.nix {};
|
|
|
|
|
depp = pkgs.callPackage packages/depp.nix {};
|
2024-03-13 09:01:42 +01:00
|
|
|
dashboard = pkgs.callPackage packages/dashboard {};
|
2023-02-24 23:10:45 +01:00
|
|
|
devanagari = pkgs.callPackage packages/devanagari {};
|
|
|
|
|
devour = pkgs.callPackage packages/devour.nix {};
|
|
|
|
|
dic = pkgs.callPackage packages/dic.nix {};
|
|
|
|
|
dirmir = pkgs.callPackage packages/dirmir.nix {};
|
|
|
|
|
dmenu-bluetooth = pkgs.callPackage packages/dmenu-bluetooth.nix {};
|
|
|
|
|
dmenu-scrot = pkgs.callPackage packages/dmenu-scrot.nix {};
|
|
|
|
|
dns-sledgehammer = pkgs.callPackage packages/dns-sledgehammer.nix {};
|
|
|
|
|
fkill = pkgs.callPackage packages/fkill.nix {};
|
|
|
|
|
fzfmenu = pkgs.callPackage packages/fzfmenu.nix {};
|
|
|
|
|
genius = pkgs.callPackage packages/genius.nix {};
|
|
|
|
|
gfs-fonts = pkgs.callPackage packages/gfs-fonts.nix {};
|
|
|
|
|
git-preview = pkgs.callPackage packages/git-preview.nix {};
|
2023-11-28 16:11:23 +01:00
|
|
|
gpt35 = pkgs.callPackage packages/gpt.nix {model = "gpt-3.5-turbo";};
|
|
|
|
|
gpt4 = pkgs.callPackage packages/gpt.nix {model = "gpt-4";};
|
2023-03-26 19:24:38 +02:00
|
|
|
hc = pkgs.callPackage packages/hc.nix {};
|
2023-09-15 10:52:27 +02:00
|
|
|
jq-lsp = pkgs.callPackage packages/jq-lsp.nix {};
|
2023-09-15 10:59:14 +02:00
|
|
|
stardict-tools = pkgs.callPackage packages/stardict-tools.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
heuretes = pkgs.callPackage packages/heuretes.nix {};
|
2023-03-26 19:24:38 +02:00
|
|
|
htgen = pkgs.callPackage packages/htgen.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
image-convert-favicon = pkgs.callPackage packages/image-convert-favicon.nix {};
|
|
|
|
|
image-convert-tolino = pkgs.callPackage packages/image-convert-tolino.nix {};
|
|
|
|
|
infschmv = pkgs.callPackage packages/infschmv.nix {};
|
|
|
|
|
iolanguage = pkgs.callPackage packages/iolanguage.nix {};
|
|
|
|
|
ipa = pkgs.writers.writePython3Bin "ipa" {flakeIgnore = ["E501"];} (builtins.readFile packages/ipa.py);
|
|
|
|
|
ix = pkgs.callPackage packages/ix.nix {};
|
|
|
|
|
jsesh = pkgs.callPackage packages/jsesh.nix {};
|
|
|
|
|
k-lock = pkgs.callPackage packages/k-lock.nix {};
|
|
|
|
|
kirciuoklis = pkgs.callPackage packages/kirciuoklis.nix {};
|
|
|
|
|
klem = pkgs.callPackage packages/klem.nix {};
|
2023-03-26 19:24:38 +02:00
|
|
|
kpaste = pkgs.callPackage packages/kpaste.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
literature-quote = pkgs.callPackage packages/literature-quote.nix {};
|
|
|
|
|
mahlzeit = pkgs.haskellPackages.callPackage packages/mahlzeit.nix {};
|
|
|
|
|
man-pandoc = pkgs.callPackage packages/man/pandoc.nix {};
|
|
|
|
|
man-pdf = pkgs.callPackage packages/man-pdf.nix {};
|
|
|
|
|
mansplain = pkgs.callPackage packages/mansplain.nix {};
|
|
|
|
|
manual-sort = pkgs.callPackage packages/manual-sort.nix {};
|
|
|
|
|
menu-calc = pkgs.callPackage packages/menu-calc.nix {};
|
|
|
|
|
meteo = pkgs.callPackage packages/meteo.nix {};
|
2024-09-18 09:20:26 +02:00
|
|
|
noise-waves = pkgs.callPackage packages/noise-waves.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
mpv-radio = pkgs.callPackage packages/mpv-radio.nix {di-fm-key-file = "/dev/null";};
|
2023-07-15 22:33:35 +02:00
|
|
|
mpv-tuner = pkgs.callPackage packages/mpv-tuner.nix {di-fm-key-file = "/dev/null";};
|
2023-02-24 23:10:45 +01:00
|
|
|
mpv-tv = pkgs.callPackage packages/mpv-tv.nix {};
|
2023-09-15 14:37:30 +02:00
|
|
|
mpv-iptv = pkgs.callPackage packages/mpv-iptv.nix {};
|
2023-08-23 15:51:56 +02:00
|
|
|
mpv-visualizer = unstablePackages.mpvScripts.visualizer;
|
2023-02-24 23:10:45 +01:00
|
|
|
new-mac = pkgs.callPackage packages/new-mac.nix {};
|
|
|
|
|
nix-git = pkgs.callPackage packages/nix-git.nix {};
|
|
|
|
|
nix-index-update = pkgs.callPackage packages/nix-index-update.nix {inherit system;};
|
2023-07-09 23:26:49 +02:00
|
|
|
notemenu = pkgs.callPackage packages/notemenu.nix {niveumPackages = self.packages.${system};};
|
2023-02-24 23:10:45 +01:00
|
|
|
opustags = pkgs.callPackage packages/opustags.nix {};
|
|
|
|
|
pls = pkgs.callPackage packages/pls.nix {};
|
2024-03-15 08:39:34 +01:00
|
|
|
polyglot = pkgs.callPackage packages/polyglot.nix {};
|
2025-05-21 10:45:44 +02:00
|
|
|
q = pkgs.callPackage packages/q.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
qrpaste = pkgs.callPackage packages/qrpaste.nix {};
|
2024-10-11 09:36:39 +02:00
|
|
|
random-zeno = pkgs.callPackage packages/random-zeno.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
rfc = pkgs.callPackage packages/rfc.nix {};
|
2024-10-25 21:09:24 +02:00
|
|
|
gimp = pkgs.callPackage packages/gimp.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
scanned = pkgs.callPackage packages/scanned.nix {};
|
|
|
|
|
swallow = pkgs.callPackage packages/swallow.nix {};
|
|
|
|
|
text2pdf = pkgs.callPackage packages/text2pdf.nix {};
|
|
|
|
|
timer = pkgs.callPackage packages/timer.nix {};
|
|
|
|
|
tocharian-font = pkgs.callPackage packages/tocharian-font.nix {};
|
|
|
|
|
trans = pkgs.callPackage packages/trans.nix {};
|
|
|
|
|
ttspaste = pkgs.callPackage packages/ttspaste.nix {};
|
|
|
|
|
unicodmenu = pkgs.callPackage packages/unicodmenu.nix {};
|
2023-10-06 12:29:11 +02:00
|
|
|
emailmenu = pkgs.callPackage packages/emailmenu.nix {};
|
2023-03-26 19:24:38 +02:00
|
|
|
untilport = pkgs.callPackage packages/untilport.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
vg = pkgs.callPackage packages/vg.nix {};
|
2023-06-22 21:00:51 +02:00
|
|
|
vim = pkgs.callPackage packages/vim.nix {niveumPackages = self.packages.${system};};
|
2023-07-09 16:32:57 +02:00
|
|
|
obsidian-vim = pkgs.callPackage packages/obsidian-vim.nix {};
|
2025-06-03 20:07:49 +02:00
|
|
|
radio-news = pkgs.callPackage packages/radio-news.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
vimPlugins-cheat-sh-vim = pkgs.callPackage packages/vimPlugins/cheat-sh.nix {};
|
|
|
|
|
vimPlugins-icalendar-vim = pkgs.callPackage packages/vimPlugins/icalendar-vim.nix {};
|
|
|
|
|
vimPlugins-jq-vim = pkgs.callPackage packages/vimPlugins/jq-vim.nix {};
|
2023-05-07 19:36:00 +02:00
|
|
|
vimPlugins-typst-vim = pkgs.callPackage packages/vimPlugins/typst-vim.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
vimPlugins-vim-256noir = pkgs.callPackage packages/vimPlugins/vim-256noir.nix {};
|
|
|
|
|
vimPlugins-vim-colors-paramount = pkgs.callPackage packages/vimPlugins/vim-colors-paramount.nix {};
|
|
|
|
|
vimPlugins-vim-fetch = pkgs.callPackage packages/vimPlugins/vim-fetch.nix {};
|
|
|
|
|
vimPlugins-vim-fsharp = pkgs.callPackage packages/vimPlugins/vim-fsharp.nix {};
|
|
|
|
|
vimPlugins-vim-mail = pkgs.callPackage packages/vimPlugins/vim-mail.nix {};
|
|
|
|
|
vimPlugins-vim-reason-plus = pkgs.callPackage packages/vimPlugins/vim-reason-plus.nix {};
|
|
|
|
|
vimv = pkgs.callPackage packages/vimv.nix {};
|
2023-03-26 19:24:38 +02:00
|
|
|
weechat-declarative = pkgs.callPackage packages/weechat-declarative.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
weechatScripts-hotlist2extern = pkgs.callPackage packages/weechatScripts/hotlist2extern.nix {};
|
|
|
|
|
wttr = pkgs.callPackage packages/wttr.nix {};
|
|
|
|
|
|
2023-03-20 12:23:25 +01:00
|
|
|
itl = pkgs.callPackage packages/itl.nix {};
|
|
|
|
|
itools = pkgs.callPackage packages/itools.nix {itl = itl;};
|
|
|
|
|
|
2023-02-24 23:10:45 +01:00
|
|
|
booksplit = wrapScript {
|
|
|
|
|
script = inputs.voidrice.outPath + "/.local/bin/booksplit";
|
|
|
|
|
name = "booksplit";
|
|
|
|
|
packages = [pkgs.ffmpeg pkgs.glibc.bin];
|
|
|
|
|
};
|
2024-02-02 09:07:41 +01:00
|
|
|
dmenu-randr = pkgs.callPackage packages/dmenu-randr.nix {};
|
2023-02-24 23:10:45 +01:00
|
|
|
tag = wrapScript {
|
|
|
|
|
script = inputs.voidrice.outPath + "/.local/bin/tag";
|
|
|
|
|
name = "tag";
|
|
|
|
|
packages = [pkgs.ffmpeg];
|
|
|
|
|
};
|
2023-02-22 10:02:55 +01:00
|
|
|
};
|
2023-02-24 23:10:45 +01:00
|
|
|
});
|
2021-12-30 16:19:49 +01:00
|
|
|
}
|