run deadnix on nixfiles
This commit is contained in:
parent
6f5832750a
commit
ce7165e391
|
@ -3,7 +3,6 @@
|
|||
pkgs,
|
||||
nixpkgs,
|
||||
config,
|
||||
tree,
|
||||
...
|
||||
}: let
|
||||
wifiInterface = "shenanigans0";
|
||||
|
@ -50,7 +49,7 @@ in {
|
|||
];
|
||||
|
||||
systemd.services.wifi-relay = let
|
||||
inherit (pkgs) iptables gnugrep;
|
||||
inherit (pkgs) iptables;
|
||||
in {
|
||||
description = "iptables rules for wifi-relay";
|
||||
after = ["dhcpd4.service"];
|
||||
|
|
|
@ -45,7 +45,6 @@
|
|||
menu = "${pkgs.rofi}/bin/rofi -show run";
|
||||
cfg = config.wayland.windowManager.sway.config;
|
||||
pactl = "${pkgs.pulseaudio}/bin/pactl";
|
||||
pacmd = "${pkgs.pulseaudio}/bin/pacmd";
|
||||
in {
|
||||
bars = [
|
||||
{
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
{config, ...}: {
|
||||
systemd.user.tmpfiles.rules = map (dir: "d ${config.home.homeDirectory}/${dir} - ${config.home.username} users") [
|
||||
"Projects"
|
||||
"Temp"
|
||||
|
|
|
@ -1,9 +1,4 @@
|
|||
{
|
||||
config,
|
||||
nixosConfig,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
{nixosConfig, ...}: let
|
||||
font-size =
|
||||
if nixosConfig.networking.hostName == "tablet"
|
||||
then 18
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{
|
||||
self,
|
||||
nixpkgs-unstable,
|
||||
nix-darwin-unstable,
|
||||
tree,
|
||||
|
|
|
@ -1,11 +1,4 @@
|
|||
{
|
||||
modulesPath,
|
||||
tree,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
{tree, ...}: {
|
||||
imports = with tree; [
|
||||
users.root
|
||||
|
||||
|
|
|
@ -50,11 +50,7 @@ in {
|
|||
|
||||
accounts = mkOption {
|
||||
# where name = email for login
|
||||
type = types.attrsOf (types.submodule ({
|
||||
config,
|
||||
name,
|
||||
...
|
||||
}: {
|
||||
type = types.attrsOf (types.submodule ({name, ...}: {
|
||||
options = {
|
||||
name = mkOption {
|
||||
type = types.str;
|
||||
|
|
|
@ -11,18 +11,7 @@
|
|||
passwdDir = "/run/dovecot2";
|
||||
passwdFile = "${passwdDir}/passwd";
|
||||
|
||||
bool2int = x:
|
||||
if x
|
||||
then "1"
|
||||
else "0";
|
||||
|
||||
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" ''
|
||||
#!${pkgs.stdenv.shell}
|
||||
|
@ -36,7 +25,7 @@
|
|||
|
||||
for f in ${
|
||||
builtins.toString
|
||||
(lib.mapAttrsToList (name: value: value.passwordFile)
|
||||
(lib.mapAttrsToList (_: value: value.passwordFile)
|
||||
mail_config.accounts)
|
||||
}; do
|
||||
if [ ! -f "$f" ]; then
|
||||
|
|
|
@ -5,7 +5,7 @@
|
|||
}: let
|
||||
mail_config = config.mailserver;
|
||||
in {
|
||||
config = lib.mkIf config.mailserver.enable {
|
||||
config = lib.mkIf mail_config.enable {
|
||||
networking.firewall = {
|
||||
allowedTCPPorts = [
|
||||
# SMTP
|
||||
|
|
|
@ -14,13 +14,10 @@
|
|||
/^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
|
||||
# - the key is an address (user@example.com) or a domain (@example.com)
|
||||
# - 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 = mergeLookupTables (lib.flatten (lib.mapAttrsToList
|
||||
|
@ -80,7 +77,9 @@ in {
|
|||
partOf = ["postfix.service"];
|
||||
before = ["postfix-setup.service"];
|
||||
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
|
||||
'';
|
||||
};
|
||||
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
|
|
|
@ -14,7 +14,7 @@ in {
|
|||
$config['username_domain_forced'] = true;
|
||||
'';
|
||||
|
||||
extra_aliases_file = "/tmp/e";
|
||||
extra_aliases_file = "${secrets.private_mail_aliases.path}";
|
||||
|
||||
accounts = {
|
||||
"chaos@owo.monster" = {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{pkgs, ...}: let
|
||||
sink_name = "roc-lappy";
|
||||
#sink_name = "roc-lappy";
|
||||
description = "Lappy ROC Output";
|
||||
ip_addr = "100.115.10.34";
|
||||
in {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{pkgs, ...}: let
|
||||
sink_name = "roc-raspberry";
|
||||
#sink_name = "roc-raspberry";
|
||||
description = "Raspberry ROC Output";
|
||||
ip_addr = "100.118.202.64";
|
||||
#ip_addr = "100.115.10.34";
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
pkgs,
|
||||
tree,
|
||||
...
|
||||
}: {
|
||||
{tree, ...}: {
|
||||
users.users.chaos = {
|
||||
name = "chaos";
|
||||
home = "/Users/chaos";
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
config,
|
||||
tree,
|
||||
modulesPath,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
self,
|
||||
nixpkgs-unstable,
|
||||
...
|
||||
} @ inputs: let
|
||||
{nixpkgs-unstable, ...} @ inputs: let
|
||||
mkTree = inputs.tree-input.tree;
|
||||
metaTree = mkTree ((import ../treeConfig.nix {}) // {inherit inputs;});
|
||||
tree = metaTree.impure;
|
||||
|
@ -42,12 +38,6 @@ in {
|
|||
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 {
|
||||
specialArgs = defaultSpecialArgs;
|
||||
system = "x86_64-linux";
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
tree,
|
||||
modulesPath,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
lib,
|
||||
tree,
|
||||
...
|
||||
}: let
|
||||
{tree, ...}: let
|
||||
externalInterface = "eth0";
|
||||
wifiInterface = "wlan0";
|
||||
ssid = "Test Wifi";
|
||||
|
|
|
@ -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";
|
||||
}
|
|
@ -1,10 +1,4 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
secrets = config.services.secrets.secrets;
|
||||
in {
|
||||
{lib, ...}: {
|
||||
services.rclone-sync = let
|
||||
sync_defaults = {
|
||||
serviceConfig = {after = ["secrets-init.service"];};
|
||||
|
|
|
@ -1,13 +1,10 @@
|
|||
{
|
||||
modulesPath,
|
||||
tree,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
secrets = config.services.secrets.secrets;
|
||||
ports = import ./ports.nix {};
|
||||
in {
|
||||
imports = with tree; [
|
||||
users.root
|
||||
|
@ -54,9 +51,6 @@ in {
|
|||
script = let
|
||||
vault_username = "storage";
|
||||
vault_password_file = "${secrets.vault_password.path}";
|
||||
|
||||
config_dir = "/home/storage/.config/rclone";
|
||||
config_file = "/home/storage/.config/rclone/rclone.conf";
|
||||
in ''
|
||||
VAULT_ADDR="https://vault.owo.monster" \
|
||||
vault login -no-print -method=userpass username=${vault_username} password=$(cat ${vault_password_file})
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
{tree, ...}: let
|
||||
usb_data = import ../../data/usb_data.nix {};
|
||||
drive_data = import ../../data/normal_drive_data.nix {};
|
||||
in {
|
||||
{tree, ...}: {
|
||||
boot = {
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
{...}: {
|
||||
services.postgresql = {
|
||||
enable = true;
|
||||
ensureUsers = [
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
{...}: {
|
||||
services.secrets = {
|
||||
enable = true;
|
||||
secrets = {
|
||||
|
|
|
@ -1,10 +1,4 @@
|
|||
{
|
||||
tree,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
{tree, ...}: {
|
||||
imports = with tree; [
|
||||
users.root
|
||||
users.chaos
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
{...}: {
|
||||
services.secrets = {
|
||||
enable = true;
|
||||
secrets = {
|
||||
|
|
|
@ -1,13 +1,4 @@
|
|||
{
|
||||
modulesPath,
|
||||
tree,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
secrets = config.services.secrets.secrets;
|
||||
in {
|
||||
{tree, ...}: {
|
||||
imports = with tree; [
|
||||
users.root
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
|
@ -59,11 +59,7 @@ in {
|
|||
};
|
||||
|
||||
secrets = mkOption {
|
||||
type = types.attrsOf (types.submodule ({
|
||||
config,
|
||||
name,
|
||||
...
|
||||
}: {
|
||||
type = types.attrsOf (types.submodule ({name, ...}: {
|
||||
options = {
|
||||
user = mkOption {
|
||||
type = types.str;
|
||||
|
@ -119,8 +115,8 @@ in {
|
|||
}
|
||||
'';
|
||||
|
||||
manualSecrets = filterAttrs (name: secret: secret.manual) cfg.secrets;
|
||||
nonManualSecrets = filterAttrs (name: secret: !secret.manual) cfg.secrets;
|
||||
manualSecrets = filterAttrs (_: secret: secret.manual) cfg.secrets;
|
||||
nonManualSecrets = filterAttrs (_: secret: !secret.manual) cfg.secrets;
|
||||
|
||||
initScript =
|
||||
''
|
||||
|
@ -141,7 +137,7 @@ in {
|
|||
|
||||
${cfg.extraFunctions}
|
||||
''
|
||||
+ (lib.concatStringsSep "\n" (lib.mapAttrsToList (name: secret: ''
|
||||
+ (lib.concatStringsSep "\n" (lib.mapAttrsToList (_name: secret: ''
|
||||
if [[ ! -f "${secret.path}" ]]; then
|
||||
echo "Initializing Secret ${secret.path}"
|
||||
else
|
||||
|
@ -156,7 +152,7 @@ in {
|
|||
'')
|
||||
nonManualSecrets))
|
||||
+ (lib.concatStringsSep "\n" (lib.mapAttrsToList
|
||||
(name: secret: ''
|
||||
(_name: secret: ''
|
||||
if [[ ! -f "${secret.path}" ]]; then
|
||||
echo "Manual Secret ${secret.path} Doesn't Exist"
|
||||
exit 1
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
final: prev: {
|
||||
final: _prev: {
|
||||
comic-sans = final.callPackage ./comic-sans {};
|
||||
comic-code = final.callPackage ./comic-code {};
|
||||
roc-toolkit-patched = final.callPackage ./roc-toolkit-patched {};
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
{
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
buildGoModule,
|
||||
lib,
|
||||
go,
|
||||
}:
|
||||
buildGoModule rec {
|
||||
pname = "gobar";
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
stdenv,
|
||||
runtimeShell,
|
||||
fetchFromGitHub,
|
||||
makeWrapper,
|
||||
jdk,
|
||||
jre,
|
||||
gradle,
|
||||
|
|
|
@ -1,7 +1,4 @@
|
|||
{
|
||||
stdenv,
|
||||
nodejs,
|
||||
nodePackages,
|
||||
mkYarnPackage,
|
||||
rsync,
|
||||
fetchFromGitHub,
|
||||
|
|
|
@ -1,9 +1,6 @@
|
|||
{
|
||||
fetchurl,
|
||||
fetchgit,
|
||||
linkFarm,
|
||||
runCommand,
|
||||
gnutar,
|
||||
}: rec {
|
||||
offline_cache = linkFarm "offline" packages;
|
||||
packages = [
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
{
|
||||
stdenv,
|
||||
fetchFromGitLab,
|
||||
lib,
|
||||
zig,
|
||||
}:
|
||||
stdenv.mkDerivation rec {
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
inputs,
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
nix = {
|
||||
|
|
|
@ -1,6 +1,4 @@
|
|||
{
|
||||
tree,
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
inputs,
|
||||
tree,
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
|
|
|
@ -1 +1 @@
|
|||
{config, ...}: {programs.mtr.enable = true;}
|
||||
{...}: {programs.mtr.enable = true;}
|
||||
|
|
|
@ -1,3 +0,0 @@
|
|||
{config, ...}: {
|
||||
#services.localtimed.enable = true;
|
||||
}
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
{lib, ...}: {
|
||||
networking = {
|
||||
networkmanager = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,9 +1,4 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
{...}: {
|
||||
networking = {
|
||||
resolvconf.useLocalResolver = true;
|
||||
networkmanager.dns = "none";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
{...}: {
|
||||
programs.steam = {
|
||||
enable = true;
|
||||
remotePlay.openFirewall = true;
|
||||
|
|
|
@ -1,5 +1 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {fonts.fonts = with pkgs; [comic-sans comic-code];}
|
||||
{pkgs, ...}: {fonts.fonts = with pkgs; [comic-sans comic-code];}
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
{...}: {
|
||||
programs.sway.enable = true;
|
||||
programs.xwayland.enable = true;
|
||||
#services.xserver.enable = true;
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
{config, ...}: {
|
||||
services.xserver.libinput.enable = true;
|
||||
services.tlp.enable = true;
|
||||
powerManagement.enable = true;
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
{pkgs, ...}: let
|
||||
usb_data = import ../data/usb_data.nix {};
|
||||
mapper_name = "usb_unencrypted_afterboot";
|
||||
mapper_path = "/dev/mapper/${mapper_name}";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{config, ...}: {
|
||||
{...}: {
|
||||
users.users.chaos = {
|
||||
uid = 1000;
|
||||
isNormalUser = true;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{config, ...}: {
|
||||
{...}: {
|
||||
users.users.root = {
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAeN3T1aZkTm5xS0b66cRDyKUbdEQCFyzVWXeW+eIbsa chaos@chaos"
|
||||
|
|
Loading…
Reference in a new issue