run deadnix on nixfiles

This commit is contained in:
Chaos 2022-12-04 16:10:00 +00:00
parent 6f5832750a
commit ce7165e391
No known key found for this signature in database
49 changed files with 41 additions and 228 deletions

View file

@ -3,7 +3,6 @@
pkgs, pkgs,
nixpkgs, nixpkgs,
config, config,
tree,
... ...
}: let }: let
wifiInterface = "shenanigans0"; wifiInterface = "shenanigans0";
@ -50,7 +49,7 @@ in {
]; ];
systemd.services.wifi-relay = let systemd.services.wifi-relay = let
inherit (pkgs) iptables gnugrep; inherit (pkgs) iptables;
in { in {
description = "iptables rules for wifi-relay"; description = "iptables rules for wifi-relay";
after = ["dhcpd4.service"]; after = ["dhcpd4.service"];

View file

@ -45,7 +45,6 @@
menu = "${pkgs.rofi}/bin/rofi -show run"; menu = "${pkgs.rofi}/bin/rofi -show run";
cfg = config.wayland.windowManager.sway.config; cfg = config.wayland.windowManager.sway.config;
pactl = "${pkgs.pulseaudio}/bin/pactl"; pactl = "${pkgs.pulseaudio}/bin/pactl";
pacmd = "${pkgs.pulseaudio}/bin/pacmd";
in { in {
bars = [ bars = [
{ {

View file

@ -1,8 +1,4 @@
{ {config, ...}: {
config,
lib,
...
}: {
systemd.user.tmpfiles.rules = map (dir: "d ${config.home.homeDirectory}/${dir} - ${config.home.username} users") [ systemd.user.tmpfiles.rules = map (dir: "d ${config.home.homeDirectory}/${dir} - ${config.home.username} users") [
"Projects" "Projects"
"Temp" "Temp"

View file

@ -1,9 +1,4 @@
{ {nixosConfig, ...}: let
config,
nixosConfig,
pkgs,
...
}: let
font-size = font-size =
if nixosConfig.networking.hostName == "tablet" if nixosConfig.networking.hostName == "tablet"
then 18 then 18

View file

@ -1,5 +1,4 @@
{ {
self,
nixpkgs-unstable, nixpkgs-unstable,
nix-darwin-unstable, nix-darwin-unstable,
tree, tree,

View file

@ -1,11 +1,4 @@
{ {tree, ...}: {
modulesPath,
tree,
config,
pkgs,
lib,
...
}: {
imports = with tree; [ imports = with tree; [
users.root users.root

View file

@ -50,11 +50,7 @@ in {
accounts = mkOption { accounts = mkOption {
# where name = email for login # where name = email for login
type = types.attrsOf (types.submodule ({ type = types.attrsOf (types.submodule ({name, ...}: {
config,
name,
...
}: {
options = { options = {
name = mkOption { name = mkOption {
type = types.str; type = types.str;

View file

@ -11,18 +11,7 @@
passwdDir = "/run/dovecot2"; passwdDir = "/run/dovecot2";
passwdFile = "${passwdDir}/passwd"; passwdFile = "${passwdDir}/passwd";
bool2int = x:
if x
then "1"
else "0";
postfixCfg = config.services.postfix; postfixCfg = config.services.postfix;
dovecot2Cfg = config.services.dovecot2;
stateDir = "/var/lib/dovecot";
passwordFiles =
lib.mapAttrs (name: value: value.passwordFile) mail_config.accounts;
genPasswdScript = pkgs.writeScript "generate-password-file" '' genPasswdScript = pkgs.writeScript "generate-password-file" ''
#!${pkgs.stdenv.shell} #!${pkgs.stdenv.shell}
@ -36,7 +25,7 @@
for f in ${ for f in ${
builtins.toString builtins.toString
(lib.mapAttrsToList (name: value: value.passwordFile) (lib.mapAttrsToList (_: value: value.passwordFile)
mail_config.accounts) mail_config.accounts)
}; do }; do
if [ ! -f "$f" ]; then if [ ! -f "$f" ]; then

View file

@ -5,7 +5,7 @@
}: let }: let
mail_config = config.mailserver; mail_config = config.mailserver;
in { in {
config = lib.mkIf config.mailserver.enable { config = lib.mkIf mail_config.enable {
networking.firewall = { networking.firewall = {
allowedTCPPorts = [ allowedTCPPorts = [
# SMTP # SMTP

View file

@ -14,13 +14,10 @@
/^Message-ID:\s+<(.*?)@.*?>/ REPLACE Message-ID: <$1@${mail_config.fqdn}> /^Message-ID:\s+<(.*?)@.*?>/ REPLACE Message-ID: <$1@${mail_config.fqdn}>
''; '';
inetSocket = addr: port: "inet:[${toString port}@${addr}]";
unixSocket = sock: "unix:${sock}";
# Merge several lookup tables. A lookup table is a attribute set where # Merge several lookup tables. A lookup table is a attribute set where
# - the key is an address (user@example.com) or a domain (@example.com) # - the key is an address (user@example.com) or a domain (@example.com)
# - the value is a list of addresses # - the value is a list of addresses
mergeLookupTables = tables: lib.zipAttrsWith (n: v: lib.flatten v) tables; mergeLookupTables = tables: lib.zipAttrsWith (_: v: lib.flatten v) tables;
# valiases_postfix :: Map String [String] # valiases_postfix :: Map String [String]
valiases_postfix = mergeLookupTables (lib.flatten (lib.mapAttrsToList valiases_postfix = mergeLookupTables (lib.flatten (lib.mapAttrsToList
@ -80,7 +77,9 @@ in {
partOf = ["postfix.service"]; partOf = ["postfix.service"];
before = ["postfix-setup.service"]; before = ["postfix-setup.service"];
script = '' script = ''
cat ${aliases_accounts_file} ${mail_config.extra_aliases_file} > /run/postfix_extra_aliases cat ${aliases_accounts_file} > /run/postfix_extra_aliases
echo >> /run/postfix_extra_aliases
cat ${mail_config.extra_aliases_file} >> /run/postfix_extra_aliases
''; '';
}; };

View file

@ -1,7 +1,6 @@
{ {
config, config,
lib, lib,
pkgs,
... ...
}: }:
with lib; let with lib; let

View file

@ -14,7 +14,7 @@ in {
$config['username_domain_forced'] = true; $config['username_domain_forced'] = true;
''; '';
extra_aliases_file = "/tmp/e"; extra_aliases_file = "${secrets.private_mail_aliases.path}";
accounts = { accounts = {
"chaos@owo.monster" = { "chaos@owo.monster" = {

View file

@ -1,5 +1,5 @@
{pkgs, ...}: let {pkgs, ...}: let
sink_name = "roc-lappy"; #sink_name = "roc-lappy";
description = "Lappy ROC Output"; description = "Lappy ROC Output";
ip_addr = "100.115.10.34"; ip_addr = "100.115.10.34";
in { in {

View file

@ -1,5 +1,5 @@
{pkgs, ...}: let {pkgs, ...}: let
sink_name = "roc-raspberry"; #sink_name = "roc-raspberry";
description = "Raspberry ROC Output"; description = "Raspberry ROC Output";
ip_addr = "100.118.202.64"; ip_addr = "100.118.202.64";
#ip_addr = "100.115.10.34"; #ip_addr = "100.115.10.34";

View file

@ -1,8 +1,4 @@
{ {tree, ...}: {
pkgs,
tree,
...
}: {
users.users.chaos = { users.users.chaos = {
name = "chaos"; name = "chaos";
home = "/Users/chaos"; home = "/Users/chaos";

View file

@ -2,7 +2,6 @@
config, config,
tree, tree,
modulesPath, modulesPath,
pkgs,
lib, lib,
... ...
}: { }: {

View file

@ -1,8 +1,4 @@
{ {nixpkgs-unstable, ...} @ inputs: let
self,
nixpkgs-unstable,
...
} @ inputs: let
mkTree = inputs.tree-input.tree; mkTree = inputs.tree-input.tree;
metaTree = mkTree ((import ../treeConfig.nix {}) // {inherit inputs;}); metaTree = mkTree ((import ../treeConfig.nix {}) // {inherit inputs;});
tree = metaTree.impure; tree = metaTree.impure;
@ -42,12 +38,6 @@ in {
modules = defaultModules ++ [./tablet/tablet.nix ./tablet/hardware.nix]; modules = defaultModules ++ [./tablet/tablet.nix ./tablet/hardware.nix];
}; };
rescue-x86_64 = nixosUnstableSystem {
specialArgs = defaultSpecialArgs;
system = "x86_64-linux";
modules = defaultModules ++ [./rescue/rescue.nix];
};
hetzner-vm = nixosUnstableSystem { hetzner-vm = nixosUnstableSystem {
specialArgs = defaultSpecialArgs; specialArgs = defaultSpecialArgs;
system = "x86_64-linux"; system = "x86_64-linux";

View file

@ -1,7 +1,6 @@
{ {
tree, tree,
modulesPath, modulesPath,
config,
pkgs, pkgs,
lib, lib,
... ...

View file

@ -1,8 +1,4 @@
{ {tree, ...}: let
lib,
tree,
...
}: let
externalInterface = "eth0"; externalInterface = "eth0";
wifiInterface = "wlan0"; wifiInterface = "wlan0";
ssid = "Test Wifi"; ssid = "Test Wifi";

View file

@ -1,54 +0,0 @@
{
tree,
modulesPath,
config,
pkgs,
lib,
...
}: {
imports = with tree; [
users.root
users.chaos
profiles.base
profiles.gui
profiles.gui.environments.sway
profiles.connectivity.network_manager
profiles.connectivity.ios
profiles.tor
(modulesPath + "/installer/cd-dvd/installation-cd-base.nix")
];
home-manager.users.root = {
imports = with tree; [home.base home.dev.all];
};
home-manager.users.chaos = {
imports = with tree; [
home.base
home.gui
home.gui.environments.sway
home.dev.all
home.network_manager
home.apps.vivaldi
home.programming
home.programming.languages.nix
];
};
isoImage.squashfsCompression = "zstd -Xcompression-level 1";
users.users.root.initialPassword = "password";
users.users.chaoticryptidz.initialPassword = "password";
# let vscode, vivaldi, etc work.
security.unprivilegedUsernsClone = true;
networking = {
hostName = "rescue";
networkmanager.enable = true;
wireless.enable = lib.mkForce false;
};
time.timeZone = "Europe/London";
system.stateVersion = "21.11";
}

View file

@ -1,10 +1,4 @@
{ {lib, ...}: {
config,
lib,
...
}: let
secrets = config.services.secrets.secrets;
in {
services.rclone-sync = let services.rclone-sync = let
sync_defaults = { sync_defaults = {
serviceConfig = {after = ["secrets-init.service"];}; serviceConfig = {after = ["secrets-init.service"];};

View file

@ -1,13 +1,10 @@
{ {
modulesPath,
tree, tree,
config, config,
pkgs, pkgs,
lib,
... ...
}: let }: let
secrets = config.services.secrets.secrets; secrets = config.services.secrets.secrets;
ports = import ./ports.nix {};
in { in {
imports = with tree; [ imports = with tree; [
users.root users.root
@ -54,9 +51,6 @@ in {
script = let script = let
vault_username = "storage"; vault_username = "storage";
vault_password_file = "${secrets.vault_password.path}"; vault_password_file = "${secrets.vault_password.path}";
config_dir = "/home/storage/.config/rclone";
config_file = "/home/storage/.config/rclone/rclone.conf";
in '' in ''
VAULT_ADDR="https://vault.owo.monster" \ VAULT_ADDR="https://vault.owo.monster" \
vault login -no-print -method=userpass username=${vault_username} password=$(cat ${vault_password_file}) vault login -no-print -method=userpass username=${vault_username} password=$(cat ${vault_password_file})

View file

@ -1,7 +1,4 @@
{tree, ...}: let {tree, ...}: {
usb_data = import ../../data/usb_data.nix {};
drive_data = import ../../data/normal_drive_data.nix {};
in {
boot = { boot = {
loader = { loader = {
systemd-boot.enable = true; systemd-boot.enable = true;

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { {...}: {
services.postgresql = { services.postgresql = {
enable = true; enable = true;
ensureUsers = [ ensureUsers = [

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { {...}: {
services.secrets = { services.secrets = {
enable = true; enable = true;
secrets = { secrets = {

View file

@ -1,10 +1,4 @@
{ {tree, ...}: {
tree,
config,
pkgs,
lib,
...
}: {
imports = with tree; [ imports = with tree; [
users.root users.root
users.chaos users.chaos

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { {...}: {
services.secrets = { services.secrets = {
enable = true; enable = true;
secrets = { secrets = {

View file

@ -1,13 +1,4 @@
{ {tree, ...}: {
modulesPath,
tree,
config,
pkgs,
lib,
...
}: let
secrets = config.services.secrets.secrets;
in {
imports = with tree; [ imports = with tree; [
users.root users.root

View file

@ -1,7 +1,7 @@
{ {
config,
lib, lib,
pkgs, pkgs,
config,
... ...
}: }:
with lib; let with lib; let
@ -59,11 +59,7 @@ in {
}; };
secrets = mkOption { secrets = mkOption {
type = types.attrsOf (types.submodule ({ type = types.attrsOf (types.submodule ({name, ...}: {
config,
name,
...
}: {
options = { options = {
user = mkOption { user = mkOption {
type = types.str; type = types.str;
@ -119,8 +115,8 @@ in {
} }
''; '';
manualSecrets = filterAttrs (name: secret: secret.manual) cfg.secrets; manualSecrets = filterAttrs (_: secret: secret.manual) cfg.secrets;
nonManualSecrets = filterAttrs (name: secret: !secret.manual) cfg.secrets; nonManualSecrets = filterAttrs (_: secret: !secret.manual) cfg.secrets;
initScript = initScript =
'' ''
@ -141,7 +137,7 @@ in {
${cfg.extraFunctions} ${cfg.extraFunctions}
'' ''
+ (lib.concatStringsSep "\n" (lib.mapAttrsToList (name: secret: '' + (lib.concatStringsSep "\n" (lib.mapAttrsToList (_name: secret: ''
if [[ ! -f "${secret.path}" ]]; then if [[ ! -f "${secret.path}" ]]; then
echo "Initializing Secret ${secret.path}" echo "Initializing Secret ${secret.path}"
else else
@ -156,7 +152,7 @@ in {
'') '')
nonManualSecrets)) nonManualSecrets))
+ (lib.concatStringsSep "\n" (lib.mapAttrsToList + (lib.concatStringsSep "\n" (lib.mapAttrsToList
(name: secret: '' (_name: secret: ''
if [[ ! -f "${secret.path}" ]]; then if [[ ! -f "${secret.path}" ]]; then
echo "Manual Secret ${secret.path} Doesn't Exist" echo "Manual Secret ${secret.path} Doesn't Exist"
exit 1 exit 1

View file

@ -1,4 +1,4 @@
final: prev: { final: _prev: {
comic-sans = final.callPackage ./comic-sans {}; comic-sans = final.callPackage ./comic-sans {};
comic-code = final.callPackage ./comic-code {}; comic-code = final.callPackage ./comic-code {};
roc-toolkit-patched = final.callPackage ./roc-toolkit-patched {}; roc-toolkit-patched = final.callPackage ./roc-toolkit-patched {};

View file

@ -1,9 +1,6 @@
{ {
stdenv,
fetchFromGitLab, fetchFromGitLab,
buildGoModule, buildGoModule,
lib,
go,
}: }:
buildGoModule rec { buildGoModule rec {
pname = "gobar"; pname = "gobar";

View file

@ -2,7 +2,6 @@
stdenv, stdenv,
runtimeShell, runtimeShell,
fetchFromGitHub, fetchFromGitHub,
makeWrapper,
jdk, jdk,
jre, jre,
gradle, gradle,

View file

@ -1,7 +1,4 @@
{ {
stdenv,
nodejs,
nodePackages,
mkYarnPackage, mkYarnPackage,
rsync, rsync,
fetchFromGitHub, fetchFromGitHub,

View file

@ -1,9 +1,6 @@
{ {
fetchurl, fetchurl,
fetchgit,
linkFarm, linkFarm,
runCommand,
gnutar,
}: rec { }: rec {
offline_cache = linkFarm "offline" packages; offline_cache = linkFarm "offline" packages;
packages = [ packages = [

View file

@ -1,7 +1,6 @@
{ {
stdenv, stdenv,
fetchFromGitLab, fetchFromGitLab,
lib,
zig, zig,
}: }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {

View file

@ -2,7 +2,6 @@
inputs, inputs,
pkgs, pkgs,
config, config,
lib,
... ...
}: { }: {
nix = { nix = {

View file

@ -1,6 +1,4 @@
{ {
tree,
config,
lib, lib,
pkgs, pkgs,
... ...

View file

@ -2,7 +2,6 @@
inputs, inputs,
tree, tree,
config, config,
pkgs,
lib, lib,
... ...
}: }:

View file

@ -1 +1 @@
{config, ...}: {programs.mtr.enable = true;} {...}: {programs.mtr.enable = true;}

View file

@ -1,3 +0,0 @@
{config, ...}: {
#services.localtimed.enable = true;
}

View file

@ -1,8 +1,4 @@
{ {lib, ...}: {
config,
lib,
...
}: {
networking = { networking = {
networkmanager = { networkmanager = {
enable = true; enable = true;

View file

@ -1,9 +1,4 @@
{ {...}: {
config,
lib,
pkgs,
...
}: {
networking = { networking = {
resolvconf.useLocalResolver = true; resolvconf.useLocalResolver = true;
networkmanager.dns = "none"; networkmanager.dns = "none";

View file

@ -1,4 +1,4 @@
{pkgs, ...}: { {...}: {
programs.steam = { programs.steam = {
enable = true; enable = true;
remotePlay.openFirewall = true; remotePlay.openFirewall = true;

View file

@ -1,5 +1 @@
{ {pkgs, ...}: {fonts.fonts = with pkgs; [comic-sans comic-code];}
config,
pkgs,
...
}: {fonts.fonts = with pkgs; [comic-sans comic-code];}

View file

@ -1,8 +1,4 @@
{ {...}: {
config,
pkgs,
...
}: {
programs.sway.enable = true; programs.sway.enable = true;
programs.xwayland.enable = true; programs.xwayland.enable = true;
#services.xserver.enable = true; #services.xserver.enable = true;

View file

@ -1,8 +1,4 @@
{ {config, ...}: {
config,
pkgs,
...
}: {
services.xserver.libinput.enable = true; services.xserver.libinput.enable = true;
services.tlp.enable = true; services.tlp.enable = true;
powerManagement.enable = true; powerManagement.enable = true;

View file

@ -1,8 +1,4 @@
{ {pkgs, ...}: let
lib,
pkgs,
...
}: let
usb_data = import ../data/usb_data.nix {}; usb_data = import ../data/usb_data.nix {};
mapper_name = "usb_unencrypted_afterboot"; mapper_name = "usb_unencrypted_afterboot";
mapper_path = "/dev/mapper/${mapper_name}"; mapper_path = "/dev/mapper/${mapper_name}";

View file

@ -1,4 +1,4 @@
{config, ...}: { {...}: {
users.users.chaos = { users.users.chaos = {
uid = 1000; uid = 1000;
isNormalUser = true; isNormalUser = true;

View file

@ -1,4 +1,4 @@
{config, ...}: { {...}: {
users.users.root = { users.users.root = {
openssh.authorizedKeys.keys = [ openssh.authorizedKeys.keys = [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAeN3T1aZkTm5xS0b66cRDyKUbdEQCFyzVWXeW+eIbsa chaos@chaos" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAeN3T1aZkTm5xS0b66cRDyKUbdEQCFyzVWXeW+eIbsa chaos@chaos"