1
0
mirror of https://github.com/kmein/niveum synced 2026-03-18 19:11:08 +01:00

remove specialArgs niveum and niveumLib, add overlay

This commit is contained in:
2025-12-25 14:00:03 +01:00
parent c490c81a32
commit 82b7ffd39f
59 changed files with 535 additions and 616 deletions

View File

@@ -1,6 +1,5 @@
{
pkgs,
niveumPackages,
lib,
...
}: let
@@ -37,12 +36,12 @@ in {
pkgs.bc # calculator
pkgs.pari # gp -- better calculator
pkgs.ts
niveumPackages.vimv
niveumPackages.vg
niveumPackages.fkill
niveumPackages.cyberlocker-tools
niveumPackages.untilport
niveumPackages.kpaste
pkgs.vimv
pkgs.vg
pkgs.fkill
pkgs.cyberlocker-tools
pkgs.untilport
pkgs.kpaste
# HARDWARE
pkgs.pciutils # for lspci
]

View File

@@ -2,12 +2,8 @@
pkgs,
config,
lib,
niveumPackages,
...
}:
let
inherit (import ../lib/email.nix) defaults thunderbirdProfile;
in
{
age.secrets = {
email-password-ical-ephemeris = {
@@ -45,7 +41,7 @@ in
extraConfig = {
database.path = config.home-manager.users.me.accounts.email.maildirBasePath;
new.tags = "";
user.name = defaults.realName;
user.name = pkgs.lib.niveum.email.defaults.realName;
user.primary_email = config.home-manager.users.me.accounts.email.accounts.posteo.address;
};
};
@@ -87,7 +83,7 @@ in
mailhost = "mail.cock.li";
address = "2210@cock.li";
in
lib.recursiveUpdate defaults {
lib.recursiveUpdate pkgs.lib.niveum.email.defaults {
address = address;
userName = address;
passwordCommand = "${pkgs.coreutils}/bin/cat ${config.age.secrets.email-password-cock.path}";
@@ -102,7 +98,7 @@ in
let
address = "ical.ephemeris@web.de";
in
lib.recursiveUpdate defaults {
lib.recursiveUpdate pkgs.lib.niveum.email.defaults {
userName = address;
realName = "Kieran from iCal Ephemeris";
address = address;
@@ -118,7 +114,7 @@ in
mailhost = "posteo.de";
address = "kieran.meinhardt@posteo.net";
in
lib.recursiveUpdate defaults {
lib.recursiveUpdate pkgs.lib.niveum.email.defaults {
address = address;
aliases = [ "kmein@posteo.de" ];
userName = address;
@@ -144,7 +140,7 @@ in
enable = true;
settings = {
};
profiles.${thunderbirdProfile} = {
profiles.${pkgs.lib.niveum.email.thunderbirdProfile} = {
isDefault = true;
settings = {
"mail.default_send_format" = 1;
@@ -215,7 +211,7 @@ in
"*" = ":filter -x Flagged<Enter>";
};
view = {
tr = ":pipe ${niveumPackages.trans}/bin/trans -show-original n -b -no-autocorrect<Enter>"; # https://man.sr.ht/~rjarry/aerc/integrations/translator.md
tr = ":pipe ${pkgs.trans}/bin/trans -show-original n -b -no-autocorrect<Enter>"; # https://man.sr.ht/~rjarry/aerc/integrations/translator.md
"/" = ":toggle-key-passthrough <Enter> /";
q = ":close<Enter>";
O = ":open<Enter>";

View File

@@ -1,13 +1,13 @@
{
pkgs,
config,
lib,
...
}: let
inherit (import ../lib) restic;
in {
}:
{
services.restic.backups.niveum = {
initialize = true;
inherit (restic) repository;
repository = pkgs.lib.niveum.restic.repository;
timerConfig = {
OnCalendar = "8:00";
RandomizedDelaySec = "1h";
@@ -38,7 +38,7 @@ in {
environment.systemPackages = [
(pkgs.writers.writeDashBin "restic-niveum" ''
${pkgs.restic}/bin/restic -r ${restic.repository} -p ${config.age.secrets.restic.path} "$@"
${pkgs.restic}/bin/restic -r ${pkgs.lib.niveum.restic.repository} -p ${config.age.secrets.restic.path} "$@"
'')
(pkgs.writers.writeDashBin "restic-mount" ''
mountdir=$(mktemp -d)
@@ -46,7 +46,7 @@ in {
clean() {
rm -r "$mountdir"
}
${pkgs.restic}/bin/restic -r ${restic.repository} -p ${config.age.secrets.restic.path} mount "$mountdir"
${pkgs.restic}/bin/restic -r ${pkgs.lib.niveum.restic.repository} -p ${config.age.secrets.restic.path} mount "$mountdir"
'')
];
}

View File

@@ -8,7 +8,6 @@
telebots = inputs.telebots.defaultPackage.x86_64-linux;
reverseDirectory = "/run/telegram-reverse";
proverbDirectory = "/run/telegram-proverb";
inherit (import ../../lib) tmpfilesConfig;
in {
imports = [
./logotheca.nix
@@ -27,7 +26,7 @@ in {
};
systemd.tmpfiles.rules = map (path:
tmpfilesConfig {
pkgs.lib.niveum.tmpfilesConfig {
type = "d";
mode = "0750";
age = "1h";

View File

@@ -1,8 +1,6 @@
{
pkgs,
config,
lib,
niveumPackages,
...
}: {
niveum.bots.logotheca = {
@@ -22,7 +20,7 @@
"!zlwCuPiCNMSxDviFzA:4d2.org"
];
};
command = "${niveumPackages.literature-quote}/bin/literature-quote";
command = "${pkgs.literature-quote}/bin/literature-quote";
};
age.secrets = {

View File

@@ -1,7 +1,6 @@
{
config,
pkgs,
niveumPackages,
...
}: {
niveum.bots.nietzsche = {
@@ -16,9 +15,9 @@
set -efu
random_number=$(( ($RANDOM % 10) + 1 ))
if [ "$random_number" -eq 1 ]; then
${niveumPackages.random-zeno}/bin/random-zeno "/Literatur/M/Nietzsche,+Friedrich"
${pkgs.random-zeno}/bin/random-zeno "/Literatur/M/Nietzsche,+Friedrich"
else
${niveumPackages.random-zeno}/bin/random-zeno "/Philosophie/M/Nietzsche,+Friedrich"
${pkgs.random-zeno}/bin/random-zeno "/Philosophie/M/Nietzsche,+Friedrich"
fi
'');
};

View File

@@ -1,9 +1,6 @@
{
pkgs,
lib,
config,
niveumPackages,
unstablePackages,
...
}: let
mastodonEndpoint = "https://social.krebsco.de";

View File

@@ -1,11 +1,10 @@
{
config,
pkgs,
niveumPackages,
...
}: {
environment.systemPackages = [
niveumPackages.cro
pkgs.cro
pkgs.tor-browser
pkgs.firefox
pkgs.brave

View File

@@ -3,9 +3,7 @@
lib,
pkgs,
...
}: let
inherit (import ../lib) tmpfilesConfig;
in {
}: {
systemd.user.services.systemd-tmpfiles-clean = {
enable = true;
wantedBy = [ "default.target" ];
@@ -16,7 +14,7 @@ in {
};
};
systemd.user.tmpfiles.users.me.rules = map tmpfilesConfig [
systemd.user.tmpfiles.users.me.rules = map pkgs.lib.niveum.tmpfilesConfig [
{
type = "d";
mode = "0755";
@@ -29,7 +27,7 @@ in {
age = "7d";
path = "${config.users.users.me.home}/cloud/nextcloud/tmp";
}
] ++ map (path: tmpfilesConfig {
] ++ map (path: pkgs.lib.niveum.tmpfilesConfig {
type = "L+";
user = config.users.users.me.name;
group = config.users.users.me.group;
@@ -121,7 +119,7 @@ in {
cert = config.age.secrets.syncthing-cert.path;
key = config.age.secrets.syncthing-key.path;
settings = {
inherit ((import ../lib).syncthing) devices;
devices = pkgs.lib.niveum.syncthingIds;
folders = {
"${config.users.users.me.home}/sync" = {
devices = ["kabsa" "manakish" "fatteh"];

View File

@@ -2,14 +2,11 @@
pkgs,
lib,
config,
niveumPackages,
inputs,
...
}:
let
inherit (lib.strings) makeBinPath;
inherit (import ../lib) localAddresses kieran remoteDir;
defaultApplications = (import ../lib).defaultApplications { inherit pkgs; };
in
{
imports = [
@@ -68,7 +65,7 @@ in
users.users.me = {
name = "kfm";
description = kieran.name;
description = pkgs.lib.niveum.kieran.name;
hashedPasswordFile = config.age.secrets.kfm-password.path;
isNormalUser = true;
uid = 1000;
@@ -90,7 +87,7 @@ in
environment.interactiveShellInit = "export PATH=$PATH";
environment.shellAliases =
let
swallow = command: "${niveumPackages.swallow}/bin/swallow ${command}";
swallow = command: "${pkgs.swallow}/bin/swallow ${command}";
in
{
o = "${pkgs.xdg-utils}/bin/xdg-open";
@@ -169,7 +166,7 @@ in
networking.hosts = lib.mapAttrs' (name: address: {
name = address;
value = [ "${name}.local" ];
}) localAddresses;
}) pkgs.lib.niveum.localAddresses;
}
{
home-manager.users.me.home.stateVersion = "22.05";
@@ -190,7 +187,7 @@ in
dconf.enable = true;
dconf.settings = {
# Change the default terminal for Nemo
"org/cinnamon/desktop/applications/terminal".exec = defaultApplications.terminal;
"org/cinnamon/desktop/applications/terminal".exec = pkgs.lib.niveum.defaultApplications.terminal;
};
};
}

View File

@@ -1,9 +1,8 @@
{
config,
lib,
pkgs,
...
}: let
inherit (import ../lib) defaultApplications theme;
sgr = code: string: ''\u001b[${code}m${string}\u001b[0m'';
in {
environment.systemPackages = [
@@ -18,7 +17,7 @@ in {
home-manager.users.me.services.dunst = {
enable = true;
iconTheme = (theme pkgs).icon;
iconTheme = pkgs.lib.niveum.theme.icon;
settings = {
global = {
transparency = 10;
@@ -44,7 +43,7 @@ in {
sticky_history = true;
history_length = 20;
dmenu = "${pkgs.rofi}/bin/rofi -display-run dunst -show run";
browser = (defaultApplications pkgs).browser;
browser = pkgs.lib.niveum.defaultApplications.browser;
verbosity = "mesg";
corner_radius = 0;
mouse_left_click = "do_action";

View File

@@ -1,6 +1,5 @@
{
pkgs,
niveumPackages,
...
}: let
zip-font = name: arguments: let
@@ -93,7 +92,6 @@ in {
font-awesome
galatia-sil
gentium
# niveumPackages.gfs-fonts
gyre-fonts
ibm-plex
jetbrains-mono
@@ -114,7 +112,7 @@ in {
source-sans-pro
source-serif-pro
theano
niveumPackages.tocharian-font
tocharian-font
vista-fonts
vollkorn
zilla-slab

View File

@@ -1,10 +1,9 @@
{
pkgs,
inputs,
lib,
...
}: let
inherit (import ../lib) kieran ignorePaths;
in {
}:
{
environment.systemPackages = [
pkgs.mr
pkgs.gitFull
@@ -41,9 +40,9 @@ in {
logs = "log --pretty=oneline";
graph = "log --graph --abbrev-commit --decorate --date=relative --format=format:'%C(bold blue)%h%C(reset) - %C(bold green)(%ar)%C(reset) %C(white)%s%C(reset) %C(dim white)- %an%C(reset)%C(bold yellow)%d%C(reset)' --all";
};
ignores = ignorePaths;
settings.user.name = kieran.name;
settings.user.email = kieran.email;
ignores = pkgs.lib.niveum.ignorePaths;
settings.user.name = pkgs.lib.niveum.kieran.name;
settings.user.email = pkgs.lib.niveum.kieran.email;
settings.pull.ff = "only";
settings.rebase.autoStash = true;
settings.merge.autoStash = true;

View File

@@ -2,13 +2,11 @@
config,
pkgs,
lib,
niveumPackages,
...
}: let
inherit (import ../lib) defaultApplications;
klem = niveumPackages.klem.override {
config.dmenu = "${pkgs.dmenu}/bin/dmenu -i -p klem";
config.scripts = {
klem = pkgs.klem.override {
options.dmenu = "${pkgs.dmenu}/bin/dmenu -i -p klem";
options.scripts = {
"p.r paste" = pkgs.writers.writeDash "p.r" ''
${pkgs.curl}/bin/curl -fSs http://p.r --data-binary @- \
| ${pkgs.coreutils}/bin/tail --lines=1 \
@@ -37,10 +35,10 @@
${pkgs.coreutils}/bin/tr '[A-Za-z]' '[N-ZA-Mn-za-m]'
'';
"ipa" = pkgs.writers.writeDash "ipa" ''
${niveumPackages.ipa}/bin/ipa
${pkgs.ipa}/bin/ipa
'';
"betacode" = pkgs.writers.writeDash "betacode" ''
${niveumPackages.betacode}/bin/betacode
${pkgs.betacode}/bin/betacode
'';
"curl" = pkgs.writers.writeDash "curl" ''
${pkgs.curl}/bin/curl -fSs "$(${pkgs.coreutils}/bin/cat)"
@@ -51,12 +49,6 @@
emojai = pkgs.writers.writeDash "emojai" ''
${pkgs.curl}/bin/curl https://www.emojai.app/api/generate -X POST -H 'Content-Type: application/json' --data-raw "$(${pkgs.jq}/bin/jq -sR '{emoji:.}')" | ${pkgs.jq}/bin/jq -r .result
'';
"gpt-3.5" = pkgs.writers.writeDash "gpt" ''
${niveumPackages.gpt35}/bin/gpt
'';
gpt-4 = pkgs.writers.writeDash "gpt" ''
${niveumPackages.gpt4}/bin/gpt
'';
};
};
in {
@@ -224,15 +216,15 @@ in {
"${modifier}+w" = "layout tabbed";
"${modifier}+q" = "exec ${config.services.clipmenu.package}/bin/clipmenu";
"${modifier}+Return" = "exec ${(defaultApplications pkgs).terminal}";
"${modifier}+t" = "exec ${(defaultApplications pkgs).fileManager}";
"${modifier}+y" = "exec ${(defaultApplications pkgs).browser}";
"${modifier}+Return" = "exec ${pkgs.lib.niveum.defaultApplications.terminal}";
"${modifier}+t" = "exec ${pkgs.lib.niveum.defaultApplications.fileManager}";
"${modifier}+y" = "exec ${pkgs.lib.niveum.defaultApplications.browser}";
"${modifier}+d" = "exec ${pkgs.writers.writeDash "run" ''exec rofi -modi run,ssh,window -show run''}";
"${modifier}+Shift+d" = "exec ${niveumPackages.notemenu}/bin/notemenu";
"${modifier}+Shift+d" = "exec ${pkgs.notemenu}/bin/notemenu";
"${modifier}+p" = "exec rofi-pass";
"${modifier}+Shift+p" = "exec rofi-pass --insert";
"${modifier}+u" = "exec ${niveumPackages.unicodmenu}/bin/unicodmenu";
"${modifier}+u" = "exec ${pkgs.unicodmenu}/bin/unicodmenu";
"${modifier}+Shift+u" = "exec ${pkgs.writers.writeDash "last-unicode" ''${pkgs.xdotool}/bin/xdotool type --delay 1000 "$(${pkgs.gawk}/bin/awk 'END{print $1}' ~/.cache/unicodmenu)"''}";
"${modifier}+F7" = "exec ${pkgs.writers.writeDash "showkeys-toggle" ''
@@ -252,7 +244,6 @@ in {
"XF86AudioNext" = "exec ${pkgs.playerctl}/bin/playerctl next";
"XF86AudioPrev" = "exec ${pkgs.playerctl}/bin/playerctl previous";
"XF86AudioStop" = "exec ${pkgs.playerctl}/bin/playerctl stop";
"XF86ScreenSaver" = "exec ${niveumPackages.k-lock}/bin/k-lock";
# key names detected with xorg.xev:
# XF86WakeUp (fn twice)
@@ -288,7 +279,6 @@ in {
config = {
inherit modifier gaps modes bars floating window colors;
keybindings = keybindings // {
"${modifier}+ß" = "exec ${niveumPackages.menu-calc}/bin/=";
"${modifier}+F6" = "exec ${pkgs.xorg.xkill}/bin/xkill";
"${modifier}+F9" = "exec ${pkgs.redshift}/bin/redshift -O 4000 -b 0.85";
"${modifier}+F10" = "exec ${pkgs.redshift}/bin/redshift -x";
@@ -296,7 +286,7 @@ in {
"Print" = "exec flameshot gui";
# "${modifier}+Shift+x" = "exec ${move-to-new-workspace}";
# "${modifier}+x" = "exec ${new-workspace}";
"XF86Display" = "exec ${niveumPackages.dmenu-randr}/bin/dmenu-randr";
"XF86Display" = "exec ${pkgs.dmenu-randr}/bin/dmenu-randr";
};
};
};

View File

@@ -2,10 +2,9 @@
pkgs,
lib,
config,
niveumPackages,
...
}: let
swallow = command: "${niveumPackages.swallow}/bin/swallow ${command}";
swallow = command: "${pkgs.swallow}/bin/swallow ${command}";
in {
environment.shellAliases.smpv = swallow "mpv";

View File

@@ -1,7 +1,4 @@
{ lib, ... }:
let
myceliumAddresses = import ../lib/mycelium-network.nix;
in
{ lib, pkgs, ... }:
{
services.mycelium = {
enable = true;
@@ -11,5 +8,5 @@ in
networking.hosts = lib.mapAttrs' (name: address: {
name = address;
value = [ "${name}.m" ];
}) myceliumAddresses;
}) pkgs.lib.niveum.myceliumAddresses;
}

View File

@@ -1,6 +1,5 @@
{
pkgs,
niveumPackages,
config,
...
}: {
@@ -36,7 +35,7 @@
environment.systemPackages = [
(pkgs.writers.writeDashBin "vim" ''neovim "$@"'')
(niveumPackages.vim.override {
(pkgs.vim-kmein.override {
# stylixColors = config.lib.stylix.colors;
colorscheme = "base16-gruvbox-dark-medium";
})

View File

@@ -3,13 +3,10 @@
pkgs,
lib,
inputs,
niveumPackages,
...
}: let
worldradio = pkgs.callPackage ../packages/worldradio.nix {};
externalNetwork = import ../lib/external-network.nix;
zoteroStyle = {
name,
sha256,
@@ -109,7 +106,7 @@ in {
calibre
electrum
inkscape
niveumPackages.gimp
gimp
gthumb
astrolog
obsidian
@@ -120,7 +117,7 @@ in {
zoom-us # video conferencing
(pkgs.writers.writeDashBin "im" ''
weechat_password=$(${pkgs.pass}/bin/pass weechat)
exec ${weechat}/bin/weechat -t -r '/mouse enable; /remote add makanek http://${externalNetwork.makanek}:8002 -password='"$weechat_password"'; /remote connect makanek'
exec ${weechat}/bin/weechat -t -r '/mouse enable; /remote add makanek http://${pkgs.lib.niveum.systems.makanek.externalIp}:8002 -password='"$weechat_password"'; /remote connect makanek'
'')
alejandra # nix formatter
pdfgrep # search in pdf
@@ -130,60 +127,59 @@ in {
kdePackages.okular # the word is nucular
xournalpp # for annotating pdfs
pdfpc # presenter console for pdf slides
niveumPackages.hc # print files as qr codes
hc # print files as qr codes
yt-dlp
espeak
rink # unit converter
niveumPackages.auc
niveumPackages.noise-waves
niveumPackages.stag
niveumPackages.cheat-sh
niveumPackages.polyglot
niveumPackages.qrpaste
niveumPackages.ttspaste
niveumPackages.new-mac # get a new mac address
niveumPackages.scanned
niveumPackages.default-gateway
niveumPackages.kirciuoklis
niveumPackages.image-convert-favicon
niveumPackages.heuretes
niveumPackages.ipa # XSAMPA to IPA converter
niveumPackages.pls
niveumPackages.mpv-tv
niveumPackages.mpv-iptv
niveumPackages.devanagari
niveumPackages.betacode # ancient greek betacode to unicode converter
pkgs.jq-lsp
niveumPackages.swallow # window swallowing
niveumPackages.literature-quote
niveumPackages.booksplit
niveumPackages.dmenu-randr
niveumPackages.manual-sort
niveumPackages.wttr
niveumPackages.unicodmenu
niveumPackages.emailmenu
niveumPackages.closest
niveumPackages.trans
(niveumPackages.mpv-radio.override {
auc
noise-waves
stag
cheat-sh
polyglot
qrpaste
ttspaste
new-mac # get a new mac address
scanned
default-gateway
kirciuoklis
image-convert-favicon
heuretes
ipa # XSAMPA to IPA converter
pls
mpv-tv
mpv-iptv
devanagari
betacode # ancient greek betacode to unicode converter
jq-lsp
swallow # window swallowing
literature-quote
booksplit
dmenu-randr
manual-sort
wttr
unicodmenu
emailmenu
closest
trans
(mpv-radio.override {
di-fm-key-file = config.age.secrets.di-fm-key.path;
})
(niveumPackages.mpv-radio.override {
(mpv-radio.override {
di-fm-key-file = config.age.secrets.di-fm-key.path;
executableName = "cro-radio";
mpvCommand = "${niveumPackages.cro}/bin/cro";
mpvCommand = "${cro}/bin/cro";
})
(niveumPackages.mpv-tuner.override {
(mpv-tuner.override {
di-fm-key-file = config.age.secrets.di-fm-key.path;
})
# kmein.slide
termdown
niveumPackages.image-convert-tolino
niveumPackages.rfc
niveumPackages.tag
niveumPackages.timer
niveumPackages.menu-calc
image-convert-tolino
rfc
tag
timer
nix-prefetch-git
niveumPackages.nix-git
nix-git
nixfmt-rfc-style
par
qrencode
@@ -239,7 +235,7 @@ in {
latexrun
(aspellWithDicts (dict: [dict.de dict.en dict.en-computers]))
# haskellPackages.pandoc-citeproc
niveumPackages.text2pdf
text2pdf
lowdown
glow # markdown to term
libreoffice
@@ -247,7 +243,7 @@ in {
dia
pandoc
librsvg # pandoc depends on this to include SVG in documents
# niveumPackages.man-pandoc
# man-pandoc
typst
# proselint
asciidoctor

View File

@@ -1,5 +1,4 @@
{pkgs, ...}: let
inherit (import ../lib) localAddresses;
{pkgs, lib, ...}: let
hp-driver = pkgs.hplip;
in {
services.printing = {
@@ -18,7 +17,7 @@ in {
{
name = "OfficeJet";
location = "Zimmer";
deviceUri = "https://${localAddresses.officejet}";
deviceUri = "https://${pkgs.lib.niveum.localAddresses.officejet}";
model = "drv:///hp/hpcups.drv/hp-officejet_4650_series.ppd";
ppdOptions = {
Duplex = "DuplexNoTumble"; # DuplexNoTumble DuplexTumble None

View File

@@ -1,8 +1,6 @@
{pkgs, ...}: let
inherit (import ../lib) sshPort kieran;
externalNetwork = import ../lib/external-network.nix;
in {
users.users.me.openssh.authorizedKeys.keys = kieran.sshKeys;
{ pkgs, lib, ... }:
{
users.users.me.openssh.authorizedKeys.keys = pkgs.lib.niveum.kieran.sshKeys;
programs.ssh.startAgent = true;
services.gnome.gcr-ssh-agent.enable = false;
@@ -25,42 +23,42 @@ in {
zaatar = {
hostname = "zaatar.r";
user = "root";
port = sshPort;
port = pkgs.lib.niveum.sshPort;
};
makanek = {
hostname = externalNetwork.makanek;
hostname = pkgs.lib.niveum.externalNetwork.makanek;
user = "root";
port = sshPort;
port = pkgs.lib.niveum.sshPort;
};
ful = {
hostname = externalNetwork.ful;
hostname = pkgs.lib.niveum.externalNetwork.ful;
user = "root";
port = sshPort;
port = pkgs.lib.niveum.sshPort;
};
tahina = {
hostname = "tahina.r";
user = "root";
port = sshPort;
port = pkgs.lib.niveum.sshPort;
};
tabula = {
hostname = "tabula.r";
user = "root";
port = sshPort;
port = pkgs.lib.niveum.sshPort;
};
manakish = {
hostname = "manakish.r";
user = "kfm";
port = sshPort;
port = pkgs.lib.niveum.sshPort;
};
kabsa = {
hostname = "kabsa.r";
user = "kfm";
port = sshPort;
port = pkgs.lib.niveum.sshPort;
};
fatteh = {
hostname = "fatteh.r";
user = "kfm";
port = sshPort;
port = pkgs.lib.niveum.sshPort;
};
};
};

View File

@@ -1,23 +1,21 @@
{
config,
lib,
pkgs,
...
}: let
inherit (import ../lib) sshPort kieran;
in {
}:
{
users.motd = "Welcome to ${config.networking.hostName}!";
services.openssh = {
enable = true;
ports = [sshPort];
ports = [ pkgs.lib.niveum.sshPort ];
settings = {
PasswordAuthentication = false;
X11Forwarding = true;
};
};
users.users.root.openssh.authorizedKeys.keys = kieran.sshKeys ++ [
users.users.root.openssh.authorizedKeys.keys = pkgs.lib.niveum.kieran.sshKeys ++ [
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPoiRIn1dBUtpApcUyGbZKN+m5KBSgKIDQjdnQ8vU0xU kfm@kibbeh" # travel laptop
];
}

View File

@@ -5,8 +5,6 @@
...
}: let
username = "meinhak99";
inherit (import ../lib/email.nix) defaults pronouns;
inherit (import ../lib) remoteDir;
fu-defaults = let mailhost = "mail.zedat.fu-berlin.de"; in {
imap.host = mailhost;
imap.port = 993;
@@ -31,7 +29,7 @@ in {
};
accounts.email.accounts = {
letos =
lib.recursiveUpdate defaults
lib.recursiveUpdate pkgs.lib.niveum.email.defaults
{
userName = "slfletos";
address = "letos.sprachlit@hu-berlin.de";
@@ -43,7 +41,7 @@ in {
smtp.tls.useStartTls = true;
};
fu =
lib.recursiveUpdate defaults
lib.recursiveUpdate pkgs.lib.niveum.email.defaults
(lib.recursiveUpdate fu-defaults
(let userName = "meinhak99"; in {
userName = userName;
@@ -100,7 +98,7 @@ in {
firstCharacter = lib.strings.substring 0 1;
home-directory-mount = user: {
"${remoteDir}/fu/${user}/home" = {
"${pkgs.lib.niveum.remoteDir}/fu/${user}/home" = {
device = "${user}@login.zedat.fu-berlin.de:/home/${firstCharacter user}/${user}";
fsType = "sshfs";
options = [