mirror of
https://github.com/Gerg-L/nixos.git
synced 2025-12-10 00:43:56 -05:00
cleaned up lib and modules/misc
This commit is contained in:
parent
f2974e6b13
commit
da8e226c3a
7 changed files with 55 additions and 52 deletions
|
|
@ -5,29 +5,31 @@ inputs @ {
|
||||||
}: let
|
}: let
|
||||||
inherit (unstable) lib;
|
inherit (unstable) lib;
|
||||||
|
|
||||||
|
listNixFilesRecursive = path:
|
||||||
|
builtins.filter (lib.hasSuffix "nix")
|
||||||
|
(lib.filesystem.listFilesRecursive path);
|
||||||
|
|
||||||
importAll = path:
|
importAll = path:
|
||||||
map
|
map
|
||||||
(module: (import module inputs))
|
(module: (import module inputs))
|
||||||
(
|
(listNixFilesRecursive path);
|
||||||
builtins.filter (lib.hasSuffix ".nix")
|
|
||||||
(lib.filesystem.listFilesRecursive path)
|
|
||||||
);
|
|
||||||
|
|
||||||
mkModules = path:
|
mkModules = path:
|
||||||
lib.listToAttrs (
|
lib.listToAttrs (
|
||||||
map (
|
map (
|
||||||
name: {
|
name: {
|
||||||
name = lib.removePrefix (toString path + "/") (lib.removeSuffix ".nix" (toString name));
|
name = lib.pipe name [
|
||||||
|
toString
|
||||||
|
(lib.removePrefix "${path}/")
|
||||||
|
(lib.removeSuffix ".nix")
|
||||||
|
];
|
||||||
value = import name inputs;
|
value = import name inputs;
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
(
|
(listNixFilesRecursive path)
|
||||||
builtins.filter (lib.hasSuffix ".nix")
|
|
||||||
(lib.filesystem.listFilesRecursive path)
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
in {
|
in {
|
||||||
inherit importAll mkModules;
|
inherit importAll mkModules listNixFilesRecursive;
|
||||||
|
|
||||||
withSystem = f:
|
withSystem = f:
|
||||||
lib.fold lib.recursiveUpdate {}
|
lib.fold lib.recursiveUpdate {}
|
||||||
|
|
@ -39,12 +41,13 @@ in {
|
||||||
lib.nixosSystem {
|
lib.nixosSystem {
|
||||||
inherit system;
|
inherit system;
|
||||||
modules =
|
modules =
|
||||||
builtins.attrValues self.nixosModules ++ importAll (self + "/hosts/" + name);
|
builtins.attrValues self.nixosModules
|
||||||
|
++ importAll "${self}/hosts/${name}";
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
mkDisko = names:
|
mkDisko = names:
|
||||||
lib.genAttrs names (
|
lib.genAttrs names (
|
||||||
name: (import (self + "/hosts/" + name + "/disko.nix") inputs)
|
name: (import "${self}/hosts/${name}/disko.nix" inputs)
|
||||||
);
|
);
|
||||||
|
|
||||||
mkPkgs = pkgs: path:
|
mkPkgs = pkgs: path:
|
||||||
|
|
@ -53,9 +56,6 @@ in {
|
||||||
name = lib.removeSuffix ".nix" (builtins.baseNameOf module);
|
name = lib.removeSuffix ".nix" (builtins.baseNameOf module);
|
||||||
value = pkgs.callPackage module {};
|
value = pkgs.callPackage module {};
|
||||||
})
|
})
|
||||||
(
|
(listNixFilesRecursive path)
|
||||||
builtins.filter (lib.hasSuffix ".nix")
|
|
||||||
(lib.filesystem.listFilesRecursive path)
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
displayManager = {
|
displayManager = {
|
||||||
sessionCommands = ''
|
sessionCommands = ''
|
||||||
${lib.getExe pkgs.feh} --bg-center ${self.packages.${pkgs.system}.images + /recursion.png}
|
${lib.getExe pkgs.feh} --bg-center "${self.packages.${pkgs.system}.images}/recursion.png"
|
||||||
${lib.getExe pkgs.numlockx}
|
${lib.getExe pkgs.numlockx}
|
||||||
${lib.getExe pkgs.picom} &
|
${lib.getExe pkgs.picom} &
|
||||||
'';
|
'';
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@
|
||||||
displayManager = {
|
displayManager = {
|
||||||
lightdm = {
|
lightdm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
background = self.packages.${pkgs.system}.images + /recursion.png;
|
background = "${self.packages.${pkgs.system}.images}/recursion.png";
|
||||||
extraConfig = "minimum-vt=1";
|
extraConfig = "minimum-vt=1";
|
||||||
greeters.mini = {
|
greeters.mini = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@
|
||||||
plymouth = {
|
plymouth = {
|
||||||
enable = lib.mkDefault true;
|
enable = lib.mkDefault true;
|
||||||
theme = "breeze";
|
theme = "breeze";
|
||||||
logo = self.packages.${pkgs.system}.images + /logo.png;
|
logo = "${self.packages.${pkgs.system}.images}/logo.png";
|
||||||
};
|
};
|
||||||
loader = {
|
loader = {
|
||||||
grub.configurationLimit = 10;
|
grub.configurationLimit = 10;
|
||||||
|
|
|
||||||
|
|
@ -15,35 +15,35 @@ _: {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = lib.mkMerge [
|
config = {
|
||||||
(lib.mkIf (config.nixpkgs.allowedUnfree != []) {
|
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.nixpkgs.allowedUnfree;
|
||||||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) config.nixpkgs.allowedUnfree;
|
|
||||||
})
|
|
||||||
{
|
|
||||||
environment.defaultPackages = lib.mkForce [
|
|
||||||
pkgs.efibootmgr #efi editor
|
|
||||||
pkgs.pciutils #lspci
|
|
||||||
pkgs.alsa-utils #volume control
|
|
||||||
pkgs.xclip #commandline clipboard access
|
|
||||||
pkgs.bottom #view tasks
|
|
||||||
pkgs.nix-tree #view packages
|
|
||||||
pkgs.nix-output-monitor #nom nom nom nom];
|
|
||||||
];
|
|
||||||
|
|
||||||
#enable ssh
|
environment.defaultPackages = lib.mkForce (builtins.attrValues {
|
||||||
programs.mtr.enable = true; #ping and traceroute
|
inherit
|
||||||
services.openssh = {
|
(pkgs)
|
||||||
enable = true;
|
alsa-utils #volume control
|
||||||
hostKeys = lib.mkForce [];
|
bottom #view tasks
|
||||||
settings = {
|
efibootmgr #efi editor
|
||||||
PermitRootLogin = "yes";
|
nix-output-monitor #nom nom nom nom;
|
||||||
PasswordAuthentication = false;
|
nix-tree #view packages
|
||||||
KbdInteractiveAuthentication = false;
|
pciutils #lspci
|
||||||
};
|
xclip #commandline clipboard access
|
||||||
|
;
|
||||||
|
});
|
||||||
|
|
||||||
|
#enable ssh
|
||||||
|
programs.mtr.enable = true; #ping and traceroute
|
||||||
|
services.openssh = {
|
||||||
|
enable = true;
|
||||||
|
hostKeys = lib.mkForce [];
|
||||||
|
settings = {
|
||||||
|
PermitRootLogin = "yes";
|
||||||
|
PasswordAuthentication = false;
|
||||||
|
KbdInteractiveAuthentication = false;
|
||||||
};
|
};
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
};
|
||||||
#time settings
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
time.timeZone = "America/New_York";
|
#time settings
|
||||||
}
|
time.timeZone = "America/New_York";
|
||||||
];
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,11 @@ inputs: {pkgs, ...}: {
|
||||||
nix = {
|
nix = {
|
||||||
package = inputs.nix.packages.${pkgs.system}.default;
|
package = inputs.nix.packages.${pkgs.system}.default;
|
||||||
settings = {
|
settings = {
|
||||||
experimental-features = ["nix-command" "flakes" "repl-flake"];
|
experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
"repl-flake"
|
||||||
|
];
|
||||||
auto-optimise-store = true;
|
auto-optimise-store = true;
|
||||||
warn-dirty = false;
|
warn-dirty = false;
|
||||||
#ignore global registry
|
#ignore global registry
|
||||||
|
|
@ -14,8 +18,7 @@ inputs: {pkgs, ...}: {
|
||||||
"root"
|
"root"
|
||||||
"@wheel"
|
"@wheel"
|
||||||
];
|
];
|
||||||
allowed-users = [
|
allowed-users = [];
|
||||||
];
|
|
||||||
use-xdg-base-directories = true;
|
use-xdg-base-directories = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,7 @@
|
||||||
pkgs.sops
|
pkgs.sops
|
||||||
];
|
];
|
||||||
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"];
|
age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue