_file solution and funny function arg reading

This commit is contained in:
Gerg-L 2024-06-12 23:05:45 -04:00
parent 6432f7b69e
commit e1a0456ee0
Signed by: gerg-l
SSH key fingerprint: SHA256:FPYDHIkvMocr4wdmZXpgpJjsb2Tw6rASs2ISPbOb0KI
32 changed files with 70 additions and 107 deletions

View file

@ -1,4 +1,3 @@
{ _file }:
{ pkgs, config, ... }:
{
programs.git = {
@ -30,5 +29,4 @@
commit.gpgsign = true;
};
};
inherit _file;
}

View file

@ -1,10 +1,12 @@
{
nix-index-database,
nvim-flake,
self,
_file,
self',
pkgs,
config,
...
}:
{ pkgs, config, ... }:
{
local = {
remoteBuild.isBuilder = true;
@ -97,7 +99,7 @@
#qmk
;
inherit (nvim-flake.packages) neovim;
inherit (self.packages) lint;
inherit (self'.packages) lint;
librewolf = pkgs.librewolf.override { cfg.speechSynthesisSupport = false; };
nixpkgs-review = pkgs.nixpkgs-review.override { nix = config.nix.package; };
@ -194,5 +196,4 @@
};
system.stateVersion = "23.05";
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{ config, pkgs, ... }:
{
sops.secrets.cloudflare = { };
@ -84,5 +83,4 @@
func "nix-fu.com" "cc2df9163c3730f58b866409ac5a108c"
'';
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
#{ config, ... }:
{
# users.users = {
@ -30,5 +29,4 @@
createDatabase = true;
};
};
inherit _file;
}

View file

@ -1,5 +1,4 @@
{ _file, self }:
{ lib, ... }:
{ self', lib, ... }:
{
# I manually switch this sometimes
config = lib.mkIf false {
@ -35,7 +34,7 @@
"network.target"
"minecraft-server.socket"
];
path = [ self.packages.papermc ];
path = [ self'.packages.papermc ];
script = ''
minecraft-server \
-Xms8G \
@ -100,5 +99,4 @@
'';
};
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{
config,
lib,
@ -97,5 +96,4 @@
${config.services.nginx.user}.extraGroups = [ "miniflux" ];
};
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{ pkgs, config, ... }:
{
sops.secrets.nextcloud.owner = "nextcloud";
@ -24,5 +23,4 @@
default_phone_region = "US";
};
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{ config, lib, ... }:
{
sops.secrets =
@ -65,5 +64,4 @@
80
443
];
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{
pkgs,
config,
@ -22,5 +21,4 @@
RestartSec = "30s";
};
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{ config, pkgs, ... }:
{
services.postgresql = {
@ -19,5 +18,4 @@
settings.unix_socket_permissions = "0770";
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{ config, pkgs, ... }:
{
sops.secrets.searxngenv = { };
@ -36,5 +35,4 @@
ui.theme_args.simple_style = "dark";
};
};
inherit _file;
}

View file

@ -1,4 +1,4 @@
{ spicetify-nix, _file }:
{ spicetify-nix, ... }:
let
spicePkgs = spicetify-nix.legacyPackages;
in
@ -37,5 +37,4 @@ in
misc = "282a36";
};
};
inherit _file;
}

View file

@ -1,8 +1,7 @@
{ _dir, _file }:
{
_dir,
pkgs,
lib,
config,
...
}:
/*
@ -187,5 +186,4 @@ in
);
};
};
inherit _file;
}

View file

@ -1,5 +1,5 @@
{ lanzaboote, _file }:
{
lanzaboote,
config,
lib,
pkgs,
@ -86,5 +86,4 @@
efi.efiSysMountPoint = "/efi";
};
};
inherit _file;
}

View file

@ -1,9 +1,6 @@
{
disko,
nixos-generators,
_file,
}:
{
lib,
modulesPath,
pkgs,
@ -43,5 +40,4 @@
edition = lib.mkForce "gerg-minimal";
isoName = lib.mkForce "NixOS";
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{
lib,
pkgs,
@ -84,5 +83,4 @@
size = 8 * 1024;
}
];
inherit _file;
}

View file

@ -78,34 +78,53 @@ rec {
importWithArgs = map (
x:
let
allArgs = (constructInputs' system inputs) // {
inherit inputs;
imported = import x;
inputs' = constructInputs' system inputs;
self' = inputs'.self;
allArgs = inputs' // {
inherit
inputs
inputs'
self
self'
;
_dir =
let
dir = builtins.dirOf x;
in
if (dir != builtins.storeDir) then dir else null;
_file = x;
};
imported = import x;
funcArgs = lib.functionArgs imported;
in
lib.pipe imported [
lib.functionArgs
builtins.attrNames
(map (
x:
if allArgs ? ${x} then
{
name = x;
value = allArgs.${x};
}
else
null
))
(builtins.filter builtins.isAttrs)
builtins.listToAttrs
imported
]
if !lib.isFunction imported then
x
else
lib.pipe funcArgs [
builtins.attrNames
(map (
a:
if allArgs ? ${a} then
{
name = a;
value = allArgs.${a};
}
else
null
))
(builtins.filter builtins.isAttrs)
builtins.listToAttrs
(vals: {
__functor = _: args: imported (args // vals);
__functionArgs = removeAttrs funcArgs (builtins.attrNames vals);
})
(m: {
imports = [ m ];
_file = x;
})
]
);
in
builtins.concatLists [

View file

@ -1,12 +1,9 @@
{
suckless,
self,
_file,
}:
{
pkgs,
config,
lib,
suckless,
self',
...
}:
{
@ -43,7 +40,7 @@
enable = true;
displayManager = {
sessionCommands = ''
feh --bg-center "${self.packages.images}/recursion.png"
feh --bg-center "${self'.packages.images}/recursion.png"
numlockx
systemctl --user start sxhkd
systemctl --user start picom
@ -125,5 +122,4 @@
};
};
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{
config,
lib,
@ -50,5 +49,4 @@
};
};
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{
config,
lib,
@ -21,5 +20,4 @@
displayManager.defaultSession = "xfce";
};
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{ config, lib, ... }:
{
options.local.DM = {
@ -17,5 +16,4 @@
};
};
};
inherit _file;
}

View file

@ -1,5 +1,9 @@
{ self, _file }:
{ config, lib, ... }:
{
self',
config,
lib,
...
}:
{
options.local.DM.lightdm.enable = lib.mkEnableOption "";
@ -7,7 +11,7 @@
services.xserver.displayManager = {
lightdm = {
enable = true;
background = "${self.packages.images}/recursion.png";
background = "${self'.packages.images}/recursion.png";
extraConfig = "minimum-vt=1";
greeters.mini = {
enable = true;
@ -41,5 +45,4 @@
};
};
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{ pkgs, lib, ... }:
{
services.xserver = {
@ -9,5 +8,4 @@
excludePackages = [ pkgs.xterm ];
desktopManager.xterm.enable = false;
};
inherit _file;
}

View file

@ -1,5 +1,5 @@
{ self, _file }:
{
self',
lib,
pkgs,
config,
@ -34,7 +34,7 @@
plymouth = {
enable = lib.mkDefault true;
theme = "breeze";
logo = "${self.packages.images}/logo.png";
logo = "${self'.packages.images}/logo.png";
};
loader = {
grub = {
@ -68,5 +68,4 @@
'';
};
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{ config, lib, ... }:
{
options.local.remoteBuild = {
@ -97,5 +96,4 @@
}
)
];
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{ config, lib, ... }:
let
cfg = config.local.hardware;
@ -41,5 +40,4 @@ in
};
}
];
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{ lib, ... }:
{
options.local.keys = lib.mkOption { };
@ -12,5 +11,4 @@
gerg-desktop_fingerprint = "BQxvBOWsTw1gdNDR0KzrSRmbVhDrJdG05vYXkVmw8yA";
gerg_gerg-desktop = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJWbwkFJmRBgyWyWU+w3ksZ+KuFw9uXJN3PwqqE7Z/i8";
};
inherit _file;
}

View file

@ -1,5 +1,5 @@
{ _file, self }:
{
self',
lib,
config,
pkgs,
@ -33,7 +33,7 @@
nix-tree # view packages
pciutils # lspci
;
inherit (self.packages) nix-janitor;
inherit (self'.packages) nix-janitor;
}
);
@ -69,5 +69,4 @@
# Useless with flakes (without configuring)
programs.command-not-found.enable = false;
};
inherit _file;
}

View file

@ -1,9 +1,7 @@
{
nix,
inputs,
_file,
}:
{
lib,
config,
pkgs,
@ -73,5 +71,4 @@
#
reject-flake-config = true;
};
inherit _file;
}

View file

@ -1,5 +1,5 @@
{ fetch-rs, _file }:
{
fetch-rs,
pkgs,
config,
lib,
@ -160,5 +160,4 @@
};
};
};
inherit _file;
}

View file

@ -1,12 +1,9 @@
{
sops-nix,
self,
_file,
}:
{
pkgs,
config,
lib,
sops-nix,
self',
...
}:
{
@ -15,9 +12,8 @@
config = lib.mkIf (!config.local.sops.disable) {
environment.systemPackages = [ pkgs.sops ];
sops = {
defaultSopsFile = "${self}/hosts/${config.networking.hostName}/secrets.yaml";
defaultSopsFile = "${self'}/hosts/${config.networking.hostName}/secrets.yaml";
age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];
};
};
inherit _file;
}

View file

@ -1,4 +1,3 @@
{ _file }:
{
pkgs,
config,
@ -98,5 +97,4 @@ in
};
})
];
inherit _file;
}