1
0
Fork 0
This commit is contained in:
Lukas Wurzinger 2025-05-18 01:08:10 +02:00
parent b8af0e9761
commit 8164e92af6
No known key found for this signature in database
84 changed files with 674 additions and 567 deletions

View file

@ -1,5 +0,0 @@
{
programs.bash.interactiveShellInit = ''
shopt -s autocd globstar nullglob extglob checkwinsize
'';
}

View file

@ -1,28 +1,22 @@
{ config, ... }:
{
{config, inputs, ...}: {
imports = [
inputs.lanzaboote.nixosModules.lanzaboote
];
fileSystems.${config.boot.loader.efi.efiSysMountPoint} = {
label = "BOOT";
fsType = "vfat";
};
boot = {
loader = {
systemd-boot = {
enable = true;
consoleMode = "max";
};
efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
lanzaboote = {
enable = true;
pkiBundle = "/var/lib/sbctl";
};
# TODO
tmp = {
useTmpfs = true;
tmpfsSize = "50%";
cleanOnBoot = true;
loader.efi = {
canTouchEfiVariables = true;
efiSysMountPoint = "/boot";
};
};
}

View file

@ -1,4 +1,6 @@
{ pkgs, ... }:
{
environment.systemPackages = [ pkgs.bottom ];
environment.systemPackages = [
pkgs.bottom
];
}

View file

@ -1,3 +1,8 @@
{ inputs, ... }:
{
imports = [
inputs.nix-index-database.nixosModules.nix-index
];
programs.nix-index-database.comma.enable = true;
}

View file

@ -1,4 +0,0 @@
{
# TODO
programs.command-not-found.enable = false;
}

View file

@ -1,3 +0,0 @@
{
services.dbus.implementation = "broker";
}

23
common/editor.nix Normal file
View file

@ -0,0 +1,23 @@
{
inputs,
lib,
pkgs,
...
}:
let
package = inputs.hxwrap.packages.${pkgs.system}.default;
in
{
environment = {
systemPackages = [ package ];
sessionVariables =
let
exe = builtins.baseNameOf (lib.getExe package);
in
{
EDITOR = exe;
VISUAL = exe;
};
};
}

View file

@ -1,6 +0,0 @@
{ pkgs, ... }:
{
programs.fish.enable = true;
users.defaultUserShell = pkgs.fish;
}

9
common/gc.nix Normal file
View file

@ -0,0 +1,9 @@
{
nix.gc = {
automatic = true;
dates = "daily";
options = "--delete-older-than 30d";
};
boot.loader.systemd-boot.configurationLimit = 5;
}

View file

@ -1,6 +1,10 @@
{
{pkgs, ...}: {
programs.git = {
enable = true;
lfs.enable = true;
};
environment.systemPackages = [
pkgs.gitui
];
}

View file

@ -1,6 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.gitui
];
}

View file

@ -1,21 +0,0 @@
{
inputs,
lib,
pkgs,
...
}:
let
package = inputs.hxwrap.packages.${pkgs.system}.default;
in
{
environment.systemPackages = [ package ];
environment.sessionVariables =
let
exe = builtins.baseNameOf (lib.getExe package);
in
{
EDITOR = exe;
VISUAL = exe;
};
}

View file

@ -1,17 +0,0 @@
{
pkgs,
self,
...
}:
{
programs.nh = {
enable = true;
clean = {
enable = true;
extraArgs = "--keep 5 --keep-since 1w";
dates = "weekly";
};
};
environment.sessionVariables.NH_FLAKE = "git+https://forgejo@forgejo.helveticanonstandard.net/helvetica/puter.git"; # TODO
}

10
common/nini.nix Normal file
View file

@ -0,0 +1,10 @@
{inputs, ...}: {
imports = [
inputs.nini.nixosModules.default
];
programs.nini = {
enable = true;
flakeref = "git+https://forgejo.helveticanonstandard.net/helvetica/puter.git";
};
}

View file

@ -1,6 +0,0 @@
{ inputs, ... }:
{
imports = [
inputs.nix-index-database.nixosModules.nix-index
];
}

View file

@ -1,19 +0,0 @@
{
lib,
self,
...
}:
{
options.pubkeys =
let
inherit (lib) types;
in
lib.mkOption {
type = types.attrsOf (types.attrsOf types.str);
description = ''
Public keys.
'';
};
config.pubkeys = lib.mkForce (import (self + /pubkeys.nix));
}

View file

@ -1,25 +0,0 @@
{
lib,
pkgs,
...
}:
{
#services.rsync = {
# enable = true;
# commonArgs = let
# rsh = "${lib.getExe pkgs.openssh} -i /etc/ssh/ssh_host_ed25519_key -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null";
# in [
# "--verbose"
# "--verbose"
# "--archive"
# "--update"
# "--delete"
# "--mkpath"
# "--exclude"
# "lost+found"
# "--rsh"
# rsh
# ];
#};
}

12
common/secure-boot.nix Normal file
View file

@ -0,0 +1,12 @@
{self, attrName, config, lib, pkgs, ...}: let
inherit (config.age) secrets;
in{
age.secrets.secure-boot.file = self + /secrets/secure-boot/${attrName}.tar.age;
system.activationScripts.secureboot = let
target = config.boot.lanzaboote.pkiBundle;
in ''
mkdir --parents ${target}
${lib.getExe pkgs.gnutar} --extract --file ${secrets.secure-boot.path} --directory ${target}
'';
}

18
common/shell.nix Normal file
View file

@ -0,0 +1,18 @@
{ config, ... }:
{
programs = {
fish.enable = true;
bash.interactiveShellInit = ''
shopt -s autocd globstar nullglob extglob checkwinsize
'';
starship = {
enable = true;
interactiveOnly = true;
settings.format = "$all";
};
};
users.defaultUserShell = config.programs.fish.package;
}

View file

@ -1,7 +0,0 @@
{
programs.starship = {
enable = true;
interactiveOnly = true;
settings.format = "$all";
};
}

View file

@ -3,6 +3,8 @@
enable = true;
execWheelOnly = true;
wheelNeedsPassword = true;
extraConfig = "Defaults lecture=\"never\"";
extraConfig = ''
Defaults lecture="never"
'';
};
}

View file

@ -1,3 +1,6 @@
{
zramSwap.enable = true;
zramSwap = {
enable = true;
memoryPercent = 50;
};
}

View file

@ -3,13 +3,10 @@
services.tailscale = {
enable = true;
openFirewall = true;
useRoutingFeatures = "both"; # TODO
};
networking.firewall = {
trustedInterfaces = [
config.services.tailscale.interfaceName
];
# Required to connect to Tailscale exit nodes
checkReversePath = "loose";
};
networking.firewall.trustedInterfaces = [
config.services.tailscale.interfaceName
];
}

6
common/tmp.nix Normal file
View file

@ -0,0 +1,6 @@
{
boot.tmp = {
useTmpfs = true;
tmpfsSize = "50%";
};
}

View file

@ -1,13 +1,13 @@
{
self,
config,
lib,
...
}:
let
inherit (config.users) mainUser;
in
{
age.secrets = lib.mkSecrets { "user-${mainUser}" = { }; };
age.secrets."user-${mainUser}".file = self + /secrets/users/${mainUser}.age;
users = {
mutableUsers = false;

View file

@ -1,3 +0,0 @@
{
programs.yazi.enable = true;
}

View file

@ -1,6 +0,0 @@
{ pkgs, ... }:
{
environment.systemPackages = [
pkgs.zellij
];
}