Compare commits
1 Commits
e2e97ac31e
...
592632c068
Author | SHA1 | Date |
---|---|---|
Oystein Kristoffer Tveit | 592632c068 |
|
@ -190,7 +190,6 @@
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
extraSpecialArgs = {
|
extraSpecialArgs = {
|
||||||
inherit inputs;
|
inherit inputs;
|
||||||
inherit unstable-pkgs;
|
|
||||||
inherit (self) extendedLib;
|
inherit (self) extendedLib;
|
||||||
inherit (config) machineVars;
|
inherit (config) machineVars;
|
||||||
secrets = secrets.outputs.settings;
|
secrets = secrets.outputs.settings;
|
||||||
|
|
|
@ -99,7 +99,6 @@ in {
|
||||||
sessionVariables = {
|
sessionVariables = {
|
||||||
CARGO_NET_GIT_FETCH_WITH_CLI = "true";
|
CARGO_NET_GIT_FETCH_WITH_CLI = "true";
|
||||||
PYTHONSTARTUP = "${config.xdg.configHome}/python/pyrc";
|
PYTHONSTARTUP = "${config.xdg.configHome}/python/pyrc";
|
||||||
_JAVA_AWT_WM_NONREPARENTING = "1";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -17,7 +17,6 @@
|
||||||
gpg-tui
|
gpg-tui
|
||||||
gping
|
gping
|
||||||
graphviz
|
graphviz
|
||||||
hexyl
|
|
||||||
httpie
|
httpie
|
||||||
imagemagick
|
imagemagick
|
||||||
jq
|
jq
|
||||||
|
@ -25,7 +24,6 @@
|
||||||
# keybase
|
# keybase
|
||||||
keymapviz
|
keymapviz
|
||||||
libwebp
|
libwebp
|
||||||
lnav
|
|
||||||
lolcat
|
lolcat
|
||||||
mdcat
|
mdcat
|
||||||
mediainfo
|
mediainfo
|
||||||
|
@ -46,7 +44,6 @@
|
||||||
pandoc
|
pandoc
|
||||||
parallel
|
parallel
|
||||||
progress
|
progress
|
||||||
pwntools
|
|
||||||
python3
|
python3
|
||||||
rclone
|
rclone
|
||||||
ripgrep
|
ripgrep
|
||||||
|
@ -92,12 +89,10 @@
|
||||||
discord
|
discord
|
||||||
element-desktop
|
element-desktop
|
||||||
geogebra
|
geogebra
|
||||||
ghidra
|
|
||||||
gimp
|
gimp
|
||||||
gnome.gnome-font-viewer
|
gnome.gnome-font-viewer
|
||||||
gnome.seahorse
|
gnome.seahorse
|
||||||
google-chrome
|
google-chrome
|
||||||
imhex
|
|
||||||
inkscape
|
inkscape
|
||||||
insomnia
|
insomnia
|
||||||
iwgtk
|
iwgtk
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
gitProtocol = "ssh";
|
gitProtocol = "ssh";
|
||||||
pager = "${pkgs.bat}/bin/bat";
|
pager = "${pkgs.bat}/git/bat";
|
||||||
aliases = {
|
aliases = {
|
||||||
co = "pr checkout";
|
co = "pr checkout";
|
||||||
pv = "pr view";
|
pv = "pr view";
|
||||||
|
|
|
@ -10,35 +10,26 @@ let
|
||||||
proxyJump = lib.mkDefault null;
|
proxyJump = lib.mkDefault null;
|
||||||
addressFamily = "inet";
|
addressFamily = "inet";
|
||||||
}
|
}
|
||||||
|
"dagali"
|
||||||
|
"drolsum"
|
||||||
|
"demiurgen"
|
||||||
|
"eirin"
|
||||||
[ "bekkalokk" "pvv-web" "pvv-wiki" "pvv-webmail" ]
|
[ "bekkalokk" "pvv-web" "pvv-wiki" "pvv-webmail" ]
|
||||||
|
"ildkule"
|
||||||
|
"shark"
|
||||||
|
"buskerud"
|
||||||
[ "bicep" "pvv-databases" ]
|
[ "bicep" "pvv-databases" ]
|
||||||
"bob"
|
"bob"
|
||||||
[ "brzeczyszczykiewicz" "brez" "bokhylle" ]
|
|
||||||
"buskerud"
|
|
||||||
"dagali"
|
|
||||||
"demiurgen"
|
|
||||||
"drolsum"
|
|
||||||
"eirin"
|
|
||||||
"georg"
|
|
||||||
"ildkule"
|
|
||||||
"isvegg"
|
|
||||||
"knutsen"
|
"knutsen"
|
||||||
[ "microbel" "pvv-users" "pvv-mail" ]
|
"isvegg"
|
||||||
"orchid"
|
|
||||||
"shark"
|
|
||||||
"tallulah"
|
|
||||||
"tom"
|
"tom"
|
||||||
"venture"
|
[ "microbel" "pvv-users" "pvv-mail" ]
|
||||||
];
|
];
|
||||||
|
|
||||||
rootMachines = [
|
rootMachines = [
|
||||||
[ "ameno" "pvv-dns" ]
|
[ "sleipner" "pvv-salt" ]
|
||||||
[ "balduzius" "pvv-krb" ]
|
[ "balduzius" "pvv-krb" ]
|
||||||
[ "innovation" "pvv-minecraft" ]
|
[ "innovation" "pvv-minecraft" ]
|
||||||
"ludvigsen"
|
|
||||||
[ "principal" "pvv-backup" ]
|
|
||||||
[ "skrott" "dibbler" ]
|
|
||||||
[ "sleipner" "pvv-salt" ]
|
|
||||||
];
|
];
|
||||||
|
|
||||||
# Either( String [String] AttrSet{String} ) -> AttrSet{String}
|
# Either( String [String] AttrSet{String} ) -> AttrSet{String}
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{ config, pkgs, unstable-pkgs, lib, ... }:
|
{ config, pkgs, lib, ... }:
|
||||||
{
|
{
|
||||||
home.packages = with unstable-pkgs; [ zed-editor ];
|
home.packages = with pkgs; [ zed-editor ];
|
||||||
|
|
||||||
xdg.configFile."zed/settings.json".source = let
|
xdg.configFile."zed/settings.json".source = let
|
||||||
format = pkgs.formats.json { };
|
format = pkgs.formats.json { };
|
||||||
|
|
|
@ -12,9 +12,7 @@ in {
|
||||||
./programs/ssh.nix
|
./programs/ssh.nix
|
||||||
./programs/usbtop.nix
|
./programs/usbtop.nix
|
||||||
|
|
||||||
./services/cups.nix
|
|
||||||
./services/dbus.nix
|
./services/dbus.nix
|
||||||
./services/logrotate.nix
|
|
||||||
./services/openssh.nix
|
./services/openssh.nix
|
||||||
./services/pcscd.nix
|
./services/pcscd.nix
|
||||||
./services/pipewire.nix
|
./services/pipewire.nix
|
||||||
|
|
|
@ -1,71 +0,0 @@
|
||||||
{ config, lib, ... }:
|
|
||||||
{
|
|
||||||
systemd.services = lib.mkIf config.services.printing.enable {
|
|
||||||
cups.serviceConfig = {
|
|
||||||
PrivateTmp = true;
|
|
||||||
ProtectSystem = "strict";
|
|
||||||
ProtectHome = true;
|
|
||||||
ProtectClock= true;
|
|
||||||
ProtectControlGroups = true;
|
|
||||||
ProtectHostname = true;
|
|
||||||
ProtectKernelLogs = true;
|
|
||||||
ProtectKernelModules = true;
|
|
||||||
ProtectKernelTunables = true;
|
|
||||||
ProtectProc = "invisible";
|
|
||||||
PrivateDevices = true;
|
|
||||||
NoNewPrivileges = true;
|
|
||||||
# User =
|
|
||||||
AmbientCapabilities = [ "" ];
|
|
||||||
CapabilityBoundingSet = [ "" ];
|
|
||||||
DevicePolicy = "closed";
|
|
||||||
KeyringMode = "private";
|
|
||||||
LockPersonality = true;
|
|
||||||
MemoryDenyWriteExecute = true;
|
|
||||||
PrivateUsers = true;
|
|
||||||
RemoveIPC = true;
|
|
||||||
# RestrictAddressFamilies = [ "" ];
|
|
||||||
RestrictNamespaces=true;
|
|
||||||
RestrictRealtime=true;
|
|
||||||
RestrictSUIDSGID=true;
|
|
||||||
SystemCallArchitectures = "native";
|
|
||||||
SystemCallFilter = [
|
|
||||||
"@system-service"
|
|
||||||
"~@privileged"
|
|
||||||
];
|
|
||||||
UMask = "0077";
|
|
||||||
};
|
|
||||||
cups-browsed.serviceConfig = {
|
|
||||||
PrivateTmp = true;
|
|
||||||
ProtectSystem = "strict";
|
|
||||||
ProtectHome = true;
|
|
||||||
ProtectClock= true;
|
|
||||||
ProtectControlGroups = true;
|
|
||||||
ProtectHostname = true;
|
|
||||||
ProtectKernelLogs = true;
|
|
||||||
ProtectKernelModules = true;
|
|
||||||
ProtectKernelTunables = true;
|
|
||||||
ProtectProc = "invisible";
|
|
||||||
PrivateDevices = true;
|
|
||||||
NoNewPrivileges = true;
|
|
||||||
# User =
|
|
||||||
AmbientCapabilities = [ "" ];
|
|
||||||
CapabilityBoundingSet = [ "" ];
|
|
||||||
DevicePolicy = "closed";
|
|
||||||
KeyringMode = "private";
|
|
||||||
LockPersonality = true;
|
|
||||||
MemoryDenyWriteExecute = true;
|
|
||||||
PrivateUsers = true;
|
|
||||||
RemoveIPC = true;
|
|
||||||
# RestrictAddressFamilies = [ "" ];
|
|
||||||
RestrictNamespaces=true;
|
|
||||||
RestrictRealtime=true;
|
|
||||||
RestrictSUIDSGID=true;
|
|
||||||
SystemCallArchitectures = "native";
|
|
||||||
SystemCallFilter = [
|
|
||||||
"@system-service"
|
|
||||||
"~@privileged"
|
|
||||||
];
|
|
||||||
UMask = "0077";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,42 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
# source: https://github.com/logrotate/logrotate/blob/main/examples/logrotate.service
|
|
||||||
systemd.services.logrotate = {
|
|
||||||
documentation = [ "man:logrotate(8)" "man:logrotate.conf(5)" ];
|
|
||||||
unitConfig.RequiresMountsFor = "/var/log";
|
|
||||||
serviceConfig = {
|
|
||||||
Nice = 19;
|
|
||||||
IOSchedulingClass = "best-effort";
|
|
||||||
IOSchedulingPriority = 7;
|
|
||||||
|
|
||||||
ReadWritePaths = [ "/var/log" ];
|
|
||||||
|
|
||||||
AmbientCapabilities = [ "" ];
|
|
||||||
CapabilityBoundingSet = [ "" ];
|
|
||||||
DeviceAllow = [ "" ];
|
|
||||||
LockPersonality = true;
|
|
||||||
MemoryDenyWriteExecute = true;
|
|
||||||
NoNewPrivileges = true; # disable for third party rotate scripts
|
|
||||||
PrivateDevices = true;
|
|
||||||
PrivateNetwork = true; # disable for mail delivery
|
|
||||||
PrivateTmp = true;
|
|
||||||
ProtectClock = true;
|
|
||||||
ProtectControlGroups = true;
|
|
||||||
ProtectHome = true; # disable for userdir logs
|
|
||||||
ProtectHostname = true;
|
|
||||||
ProtectKernelLogs = true;
|
|
||||||
ProtectKernelModules = true;
|
|
||||||
ProtectKernelTunables = true;
|
|
||||||
ProtectProc = "invisible";
|
|
||||||
ProtectSystem = "full";
|
|
||||||
RestrictNamespaces = true;
|
|
||||||
RestrictRealtime = true;
|
|
||||||
RestrictSUIDSGID = true; # disable for creating setgid directories
|
|
||||||
SocketBindDeny = [ "any" ];
|
|
||||||
SystemCallArchitectures = "native";
|
|
||||||
SystemCallFilter = [
|
|
||||||
"@system-service"
|
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
|
@ -1,19 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
# TODO: Reproducible certificates
|
|
||||||
services.journald.remote = {
|
|
||||||
enable = true;
|
|
||||||
settings.Remote = {
|
|
||||||
# ServerKeyFile = "/run/credentials/systemd-journald-remote.service/key.pem";
|
|
||||||
# ServerCertificateFile = "/run/credentials/systemd-journald-remote.service/.pem";
|
|
||||||
ServerKeyFile = "/etc/journald-remote-certs/key.pem";
|
|
||||||
ServerCertificateFile = "/etc/journald-remote-certs/cert.pem";
|
|
||||||
TrustedCertificateFile = "-";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# systemd.services.systemd-journal-remote.serviceConfig.LoadCredential = [
|
|
||||||
# "key.pem:/etc/journald-remote-certs/key.pem"
|
|
||||||
# "cert.pem:/etc/journald-remote-certs/cert.pem"
|
|
||||||
# ];
|
|
||||||
}
|
|
|
@ -5,7 +5,6 @@
|
||||||
|
|
||||||
./services/avahi.nix
|
./services/avahi.nix
|
||||||
./services/docker.nix
|
./services/docker.nix
|
||||||
./services/journald-remote.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
{ ... }:
|
|
||||||
{
|
|
||||||
services.journald.upload = {
|
|
||||||
enable = true;
|
|
||||||
settings.Upload = {
|
|
||||||
URL = "https://10.250.14.105:19532";
|
|
||||||
# ServerKeyFile = toString ./key.pem;
|
|
||||||
# ServerCertificateFile = toString ./cert.pem;
|
|
||||||
ServerKeyFile = "-";
|
|
||||||
ServerCertificateFile = "-";
|
|
||||||
TrustedCertificateFile = "-";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
Loading…
Reference in New Issue