reformat --> alejandra
This commit is contained in:
parent
f4e15b7e90
commit
e6e258feeb
89 changed files with 875 additions and 901 deletions
|
@ -6,8 +6,7 @@
|
|||
osConfig,
|
||||
...
|
||||
}:
|
||||
with lib.hm.gvariant;
|
||||
{
|
||||
with lib.hm.gvariant; {
|
||||
config = lib.mkIf osConfig.mySystem.de.gnome.enable {
|
||||
# add user packages
|
||||
home.packages = with pkgs; [
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
config = {
|
||||
networking.hostId = "ad4380db";
|
||||
networking.hostName = "durincore";
|
||||
|
@ -48,6 +47,5 @@
|
|||
"wlp4s0"
|
||||
];
|
||||
};
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
config = {
|
||||
"core.https_address" = "10.1.1.15:8445"; # Need quotes around key
|
||||
};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
global = {
|
||||
"workgroup" = "WORKGROUP";
|
||||
"server string" = "gandalf";
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
outputs = {
|
||||
# ZFS automated snapshots
|
||||
templates = {
|
||||
|
|
|
@ -6,9 +6,7 @@
|
|||
lib,
|
||||
modulesPath,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
app = "lego-auto";
|
||||
image = "ghcr.io/bjw-s/lego-auto:v0.3.0";
|
||||
user = "999"; # string
|
||||
|
@ -8,8 +11,7 @@ let
|
|||
port = 9898; # int
|
||||
cfg = config.mySystem.services.${app};
|
||||
appFolder = "/eru/containers/volumes/${app}";
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.${app} = {
|
||||
enable = mkEnableOption "${app}";
|
||||
dnsimpleTokenPath = mkOption {
|
||||
|
@ -56,9 +58,11 @@ in
|
|||
DNSIMPLE_OAUTH_TOKEN_FILE = "/config/dnsimple-token";
|
||||
};
|
||||
|
||||
volumes = [
|
||||
volumes =
|
||||
[
|
||||
"${appFolder}/cert:/cert"
|
||||
] ++ optionals (cfg.provider == "dnsimple") [ "${cfg.dnsimpleTokenPath}:/config/dnsimple-token" ];
|
||||
]
|
||||
++ optionals (cfg.provider == "dnsimple") ["${cfg.dnsimpleTokenPath}:/config/dnsimple-token"];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
app = "unifi";
|
||||
# renovate: depName=goofball222/unifi datasource=github-releases
|
||||
version = "8.4.62";
|
||||
|
|
|
@ -3,24 +3,27 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.mySystem.de.gnome;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options = {
|
||||
mySystem.de.gnome = {
|
||||
enable = lib.mkEnableOption "GNOME" // {
|
||||
enable =
|
||||
lib.mkEnableOption "GNOME"
|
||||
// {
|
||||
default = false;
|
||||
};
|
||||
systrayicons = lib.mkEnableOption "Enable systray icons" // {
|
||||
systrayicons =
|
||||
lib.mkEnableOption "Enable systray icons"
|
||||
// {
|
||||
default = true;
|
||||
};
|
||||
gsconnect = lib.mkEnableOption "Enable gsconnect (KDEConnect for GNOME)" // {
|
||||
gsconnect =
|
||||
lib.mkEnableOption "Enable gsconnect (KDEConnect for GNOME)"
|
||||
// {
|
||||
default = true;
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
@ -55,8 +58,7 @@ in
|
|||
# systyray icons
|
||||
# extra pkgs and extensions
|
||||
environment = {
|
||||
systemPackages =
|
||||
with pkgs;
|
||||
systemPackages = with pkgs;
|
||||
[
|
||||
wl-clipboard # ls ~/Downloads | wl-copy or wl-paste > clipboard.txt
|
||||
playerctl # gsconnect play/pause command
|
||||
|
|
|
@ -3,15 +3,15 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.mySystem.de.kde;
|
||||
flameshotOverride = pkgs.unstable.flameshot.override {enableWlrSupport = true;};
|
||||
in
|
||||
{
|
||||
in {
|
||||
options = {
|
||||
mySystem.de.kde = {
|
||||
enable = lib.mkEnableOption "KDE" // {
|
||||
enable =
|
||||
lib.mkEnableOption "KDE"
|
||||
// {
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.cockpit;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.cockpit.enable = mkEnableOption "Cockpit";
|
||||
|
||||
config.services.cockpit = mkIf cfg.enable {
|
||||
|
|
|
@ -3,11 +3,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.mySystem.services.vault;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.vault = {
|
||||
enable = lib.mkEnableOption "vault";
|
||||
address = lib.mkOption {
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
{ lib, pkgs, ... }:
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# Support windows partition
|
||||
mySystem = {
|
||||
security.wheelNeedsSudoPassword = false;
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
{ config, lib, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
boot = {
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
loader = {
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
{ lib, pkgs, ... }:
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# Enable module for NVIDIA graphics
|
||||
mySystem = {
|
||||
hardware.nvidia.enable = true;
|
||||
|
@ -35,5 +38,4 @@
|
|||
pulse.enable = true;
|
||||
jack.enable = true;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
imports = [
|
||||
./global.nix
|
||||
];
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
imports = [
|
||||
./firefox
|
||||
];
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.myHome.programs.thunderbird;
|
||||
|
||||
policies = {
|
||||
|
@ -25,8 +24,7 @@ let
|
|||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.myHome.programs.thunderbird.enable = lib.mkEnableOption "Thunderbird";
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
imports = [
|
||||
./ssh
|
||||
];
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ config, lib, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.myHome.security.ssh;
|
||||
in
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.myHome.security.ssh;
|
||||
in {
|
||||
options.myHome.security.ssh = {
|
||||
enable = mkEnableOption "ssh";
|
||||
matchBlocks = mkOption {
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.myHome.shell.atuind;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.myHome.shell.atuind = {
|
||||
enable = mkEnableOption "atuind";
|
||||
};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
imports = [
|
||||
./atuind
|
||||
./fish
|
||||
|
|
|
@ -3,11 +3,9 @@
|
|||
config,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.myHome.shell.starship;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.myHome.shell.starship = {
|
||||
enable = mkEnableOption "starship";
|
||||
};
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.myHome.shell.wezterm;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.myHome.shell.wezterm = {
|
||||
enable = mkEnableOption "wezterm";
|
||||
configPath = mkOption {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
config = {
|
||||
"core.https_address" = "10.1.1.61:8443"; # Need quotes around key
|
||||
};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
outputs = {
|
||||
# ZFS automated snapshots
|
||||
templates = {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ config, ... }:
|
||||
''
|
||||
{config, ...}: ''
|
||||
include "${config.sops.secrets."bind/rndc-keys/externaldns".path}";
|
||||
|
||||
acl trusted {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
''
|
||||
{...}: ''
|
||||
global
|
||||
log /dev/log local0
|
||||
log /dev/log local1 notice
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
modulesPath,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
{
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
|
|
@ -1,11 +1,8 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
{pkgs, ...}: let
|
||||
cleanupScript = pkgs.writeShellScriptBin "cleanup-backups.sh" (
|
||||
builtins.readFile ./prune-backups.sh
|
||||
);
|
||||
in
|
||||
{
|
||||
in {
|
||||
systemd.timers.cleanup-backups = {
|
||||
wantedBy = ["timers.target"];
|
||||
timerConfig = {
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
app = "scrutiny";
|
||||
# renovate: depName=AnalogJ/scrutiny datasource=github-releases
|
||||
version = "v0.8.1";
|
||||
cfg = config.mySystem.services.${app};
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.${app} = {
|
||||
enable = mkEnableOption "${app}";
|
||||
|
||||
|
|
|
@ -3,15 +3,15 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.mySystem.de.kde;
|
||||
flameshotOverride = pkgs.unstable.flameshot.override {enableWlrSupport = true;};
|
||||
in
|
||||
{
|
||||
in {
|
||||
options = {
|
||||
mySystem.de.kde = {
|
||||
enable = lib.mkEnableOption "KDE" // {
|
||||
enable =
|
||||
lib.mkEnableOption "KDE"
|
||||
// {
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
# /home/jahanson/projects/mochi/nixos/modules/nixos/editor/vim.nix
|
||||
|
||||
{ config, lib, ... }:
|
||||
with lib;
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.mySystem.editor.vim;
|
||||
users = ["jahanson"];
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.editor.vim.enable = mkEnableOption "vim";
|
||||
config = mkIf cfg.enable {
|
||||
# Enable vim and set as default editor
|
||||
|
@ -27,7 +28,8 @@ in
|
|||
map (u: {
|
||||
name = u;
|
||||
value = {};
|
||||
}) users
|
||||
})
|
||||
users
|
||||
)
|
||||
);
|
||||
};
|
||||
|
|
|
@ -3,11 +3,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.mySystem.games.steam;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.games.steam = {
|
||||
enable = lib.mkEnableOption "Steam";
|
||||
};
|
||||
|
@ -24,6 +22,5 @@ in
|
|||
environment.systemPackages = with pkgs; [
|
||||
protonup-qt
|
||||
];
|
||||
|
||||
};
|
||||
}
|
||||
|
|
|
@ -4,15 +4,12 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.hardware.nvidia;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.hardware.nvidia.enable = mkEnableOption "NVIDIA config";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
environment.sessionVariables.NIXOS_OZONE_WL = "1";
|
||||
# ref: https://nixos.wiki/wiki/Nvidia
|
||||
# Enable OpenGL
|
||||
|
@ -30,7 +27,6 @@ in
|
|||
# This is for the benefit of VSCODE running natively in wayland
|
||||
|
||||
nvidia = {
|
||||
|
||||
# Modesetting is required.
|
||||
modesetting.enable = true;
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mySystem.shell.fish;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.mySystem.shell.fish;
|
||||
in {
|
||||
options.mySystem.shell.fish = {
|
||||
enable = mkEnableOption "Fish";
|
||||
enablePlugins = mkOption {
|
||||
|
@ -22,5 +24,4 @@ in
|
|||
functions.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -1,10 +1,12 @@
|
|||
{ config, lib, ... }:
|
||||
with lib;
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.mySystem.security._1password;
|
||||
user = "jahanson";
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.security._1password = {
|
||||
enable = mkEnableOption "_1password";
|
||||
};
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mySystem.security.acme;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.mySystem.security.acme;
|
||||
in {
|
||||
options.mySystem.security.acme.enable = mkEnableOption "acme";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
imports = [
|
||||
./1password
|
||||
./acme
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.bind;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.bind = {
|
||||
enable = mkEnableOption "bind";
|
||||
package = mkPackageOption pkgs "bind" {};
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.dnsmasq;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.dnsmasq = {
|
||||
enable = mkEnableOption "dnsmasq";
|
||||
package = mkPackageOption pkgs "dnsmasq" {};
|
||||
|
|
|
@ -5,11 +5,9 @@
|
|||
inputs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.libvirt-qemu;
|
||||
in
|
||||
{
|
||||
in {
|
||||
imports = [inputs.nixvirt-git.nixosModules.default];
|
||||
options.mySystem.services.libvirt-qemu = {
|
||||
enable = mkEnableOption "libvirt-qemu";
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.matchbox;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.matchbox = {
|
||||
enable = mkEnableOption "matchbox";
|
||||
package = mkPackageOption pkgs "matchbox-server" {};
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mySystem.services.nginx;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.nginx;
|
||||
in {
|
||||
options.mySystem.services.nginx.enable = mkEnableOption "nginx";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
||||
services.nginx = {
|
||||
enable = true;
|
||||
|
||||
|
|
|
@ -3,11 +3,9 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.mySystem.services.nix-index-daily;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.nix-index-daily = {
|
||||
enable = lib.mkEnableOption "Automatic daily nix-index database updates";
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mySystem.services.onepassword-connect;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.onepassword-connect;
|
||||
in {
|
||||
options.mySystem.services.onepassword-connect = {
|
||||
enable = mkEnableOption "onepassword-connect";
|
||||
apiVersion = lib.mkOption {
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.podman;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.podman.enable = mkEnableOption "Podman";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.qbittorrent;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.qbittorrent = {
|
||||
enable = mkEnableOption "qBittorrent";
|
||||
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mySystem.services.rebootRequiredCheck;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.rebootRequiredCheck;
|
||||
in {
|
||||
options.mySystem.services.rebootRequiredCheck.enable = mkEnableOption "Reboot required check";
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
|
|
|
@ -4,11 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.sanoid;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.sanoid = {
|
||||
enable = mkEnableOption "sanoid";
|
||||
package = mkPackageOption pkgs "sanoid" {};
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ sops, ... }:
|
||||
{
|
||||
{sops, ...}: {
|
||||
gui = {
|
||||
user = sops.secrets.username;
|
||||
password = sops.secrets.password;
|
||||
|
|
|
@ -2,11 +2,9 @@
|
|||
config,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.mySystem.services.syncthing;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.syncthing = {
|
||||
enable = lib.mkEnableOption "Syncthing";
|
||||
publicCertPath = lib.mkOption {
|
||||
|
|
|
@ -4,13 +4,9 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.unpackerr;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.services.unpackerr = {
|
||||
enable = mkEnableOption "Unpackerr";
|
||||
|
||||
|
@ -66,9 +62,11 @@ in
|
|||
]
|
||||
);
|
||||
|
||||
EnvironmentFile = lib.optional (
|
||||
EnvironmentFile =
|
||||
lib.optional (
|
||||
cfg.extraEnvVarsFile != null && cfg.extraEnvVarsFile != ""
|
||||
) cfg.extraEnvVarsFile;
|
||||
)
|
||||
cfg.extraEnvVarsFile;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{ lib, config, ... }:
|
||||
let
|
||||
cfg = config.mySystem.system.borgbackup;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.mySystem.system.borgbackup;
|
||||
in {
|
||||
options.mySystem.system.borgbackup = {
|
||||
enable = lib.mkEnableOption "borgbackup";
|
||||
paths = lib.mkOption {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
imports = [
|
||||
./borgbackup
|
||||
./pikabackup
|
||||
|
|
|
@ -3,12 +3,10 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.mySystem.system.borg.pika-backup;
|
||||
user = "jahanson";
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.system.borg.pika-backup = {
|
||||
enable = lib.mkEnableOption "pika-backup";
|
||||
};
|
||||
|
|
|
@ -3,12 +3,10 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.mySystem.system.incus;
|
||||
user = "jahanson";
|
||||
in
|
||||
{
|
||||
in {
|
||||
# sops.secrets.secret-domain-0 = {
|
||||
# sopsFile = ./secret.sops.yaml;
|
||||
# };
|
||||
|
@ -27,7 +25,6 @@ in
|
|||
};
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
|
||||
virtualisation.incus = {
|
||||
inherit (cfg) preseed;
|
||||
enable = true;
|
||||
|
|
|
@ -3,8 +3,7 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
motd = pkgs.writeShellScriptBin "motd" ''
|
||||
#! /usr/bin/env bash
|
||||
source /etc/os-release
|
||||
|
@ -41,8 +40,7 @@ let
|
|||
printf "\n"
|
||||
${lib.strings.concatStrings (
|
||||
lib.lists.forEach cfg.networkInterfaces (
|
||||
x:
|
||||
"printf \"$BOLD * %-20s$ENDCOLOR %s\\n\" \"IPv4 ${x}\" \"$(ip -4 addr show ${x} | grep -oP '(?<=inet\\s)\\d+(\\.\\d+){3}')\"\n"
|
||||
x: "printf \"$BOLD * %-20s$ENDCOLOR %s\\n\" \"IPv4 ${x}\" \"$(ip -4 addr show ${x} | grep -oP '(?<=inet\\s)\\d+(\\.\\d+){3}')\"\n"
|
||||
)
|
||||
)}
|
||||
printf "$BOLD * %-20s$ENDCOLOR %s\n" "Release" "$PRETTY_NAME"
|
||||
|
@ -82,8 +80,7 @@ let
|
|||
fi
|
||||
'';
|
||||
cfg = config.mySystem.system.motd;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.system.motd = {
|
||||
enable = lib.mkEnableOption "MOTD";
|
||||
networkInterfaces = lib.mkOption {
|
||||
|
@ -92,7 +89,6 @@ in
|
|||
# default = lib.mapAttrsToList (_: val: val.interface)
|
||||
default = [];
|
||||
};
|
||||
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
environment.systemPackages = [
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{ lib, config, ... }:
|
||||
let
|
||||
cfg = config.mySystem.system.nfs;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.mySystem.system.nfs;
|
||||
in {
|
||||
options.mySystem.system.nfs = {
|
||||
enable = lib.mkEnableOption "nfs";
|
||||
exports = lib.mkOption {
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mySystem.nix;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.mySystem.nix;
|
||||
in {
|
||||
options.mySystem.nix = {
|
||||
autoOptimiseStore = mkOption {
|
||||
type = lib.types.bool;
|
||||
|
@ -11,7 +13,9 @@ in
|
|||
default = true;
|
||||
};
|
||||
gc = {
|
||||
enable = mkEnableOption "automatic garbage collection" // {
|
||||
enable =
|
||||
mkEnableOption "automatic garbage collection"
|
||||
// {
|
||||
default = true;
|
||||
};
|
||||
persistent = mkOption {
|
||||
|
|
|
@ -1,11 +1,15 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mySystem.services.openssh;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.mySystem.services.openssh;
|
||||
in {
|
||||
options.mySystem.services.openssh = {
|
||||
enable = mkEnableOption "openssh" // {
|
||||
enable =
|
||||
mkEnableOption "openssh"
|
||||
// {
|
||||
default = true;
|
||||
};
|
||||
passwordAuthentication = mkOption {
|
||||
|
|
|
@ -4,19 +4,16 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.system.systemd.pushover-alerts;
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.system.systemd.pushover-alerts.enable =
|
||||
mkEnableOption "Pushover alerts for systemd failures"
|
||||
// {
|
||||
default = true;
|
||||
};
|
||||
options.systemd.services = mkOption {
|
||||
type =
|
||||
with types;
|
||||
type = with types;
|
||||
attrsOf (submodule {
|
||||
config.onFailure = ["notify-pushover@%n.service"];
|
||||
});
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mySystem.security;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.mySystem.security;
|
||||
in {
|
||||
options.mySystem.security = {
|
||||
sshAgentAuth.enable = lib.mkEnableOption "openssh";
|
||||
wheelNeedsSudoPassword = lib.mkOption {
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{ lib, config, ... }:
|
||||
with lib;
|
||||
let
|
||||
cfg = config.mySystem.system;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}:
|
||||
with lib; let
|
||||
cfg = config.mySystem.system;
|
||||
in {
|
||||
options.mySystem.system = {
|
||||
packages = mkOption {
|
||||
type = with types; listOf package;
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{ lib, config, ... }:
|
||||
let
|
||||
cfg = config.mySystem.time;
|
||||
in
|
||||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
cfg = config.mySystem.time;
|
||||
in {
|
||||
options.mySystem.time = {
|
||||
timeZone = lib.mkOption {
|
||||
type = lib.types.str;
|
||||
|
|
|
@ -5,8 +5,7 @@
|
|||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
let
|
||||
with lib; let
|
||||
cfg = config.mySystem.framework_wifi_swap;
|
||||
wifiSwap = pkgs.writeShellScriptBin "wifi_swap" ''
|
||||
#! /usr/bin/env bash
|
||||
|
@ -34,10 +33,11 @@ let
|
|||
;;
|
||||
esac
|
||||
'';
|
||||
in
|
||||
{
|
||||
in {
|
||||
options.mySystem.framework_wifi_swap = {
|
||||
enable = mkEnableOption "framework_wifi_swap" // {
|
||||
enable =
|
||||
mkEnableOption "framework_wifi_swap"
|
||||
// {
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
|
|
|
@ -3,12 +3,10 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
}: let
|
||||
cfg = config.mySystem.system.zfs;
|
||||
in
|
||||
with lib;
|
||||
{
|
||||
with lib; {
|
||||
options.mySystem.system.zfs = {
|
||||
enable = lib.mkEnableOption "zfs";
|
||||
mountPoolsAtBoot = lib.mkOption {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
let
|
||||
{...}: let
|
||||
finalVersion = "tauri-v2.0.4";
|
||||
in
|
||||
final: prev: {
|
||||
|
|
|
@ -8,9 +8,7 @@
|
|||
stdenvNoCC,
|
||||
unzip,
|
||||
nixosTests,
|
||||
}:
|
||||
|
||||
let
|
||||
}: let
|
||||
inherit (stdenvNoCC.hostPlatform) system;
|
||||
|
||||
channels = {
|
||||
|
@ -40,8 +38,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
src = fetchurl {
|
||||
hash = (channels.${channel}.hash).${system};
|
||||
|
||||
url =
|
||||
let
|
||||
url = let
|
||||
systemName =
|
||||
{
|
||||
x86_64-linux = "linux_amd64";
|
||||
|
@ -59,8 +56,7 @@ stdenvNoCC.mkDerivation (finalAttrs: {
|
|||
aarch64-darwin = "zip";
|
||||
}
|
||||
.${system};
|
||||
in
|
||||
"https://github.com/coder/coder/releases/download/v${finalAttrs.version}/coder_${finalAttrs.version}_${systemName}.${ext}";
|
||||
in "https://github.com/coder/coder/releases/download/v${finalAttrs.version}/coder_${finalAttrs.version}_${systemName}.${ext}";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
let
|
||||
{...}: let
|
||||
dbrev = "5613";
|
||||
drivedbBranch = "RELEASE_7_4";
|
||||
in
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
installShellFiles,
|
||||
git,
|
||||
}:
|
||||
|
||||
buildGoModule rec {
|
||||
pname = "talosctl";
|
||||
version = "1.9.0";
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
udev,
|
||||
wrapGAppsHook3,
|
||||
}:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "termius";
|
||||
version = "9.5.0";
|
||||
|
|
|
@ -62,11 +62,15 @@
|
|||
libpulseaudio,
|
||||
kerberosSupport ? true,
|
||||
libkrb5,
|
||||
}:
|
||||
|
||||
let
|
||||
branch = if isSnapshot then "snapshot" else "stable";
|
||||
vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
|
||||
}: let
|
||||
branch =
|
||||
if isSnapshot
|
||||
then "snapshot"
|
||||
else "stable";
|
||||
vivaldiName =
|
||||
if isSnapshot
|
||||
then "vivaldi-snapshot"
|
||||
else "vivaldi";
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "vivaldi";
|
||||
|
@ -77,7 +81,8 @@ stdenv.mkDerivation rec {
|
|||
aarch64-linux = "arm64";
|
||||
x86_64-linux = "amd64";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
.${stdenv.hostPlatform.system}
|
||||
or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}-1_${suffix}.deb";
|
||||
|
@ -86,7 +91,8 @@ stdenv.mkDerivation rec {
|
|||
aarch64-linux = "sha256-kYTnWad/jrJt9z+AhjXzHYxVSIwIIO3RKD7szuPEg2s=";
|
||||
x86_64-linux = "sha256-+h7SHci8gZ+epKFHD0PiXyME2xT+loD2KXpJGFCfIFg=";
|
||||
}
|
||||
.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
.${stdenv.hostPlatform.system}
|
||||
or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
|
||||
};
|
||||
|
||||
unpackPhase = ''
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
lib,
|
||||
stdenv,
|
||||
}:
|
||||
|
||||
# This derivation roughly follows the update-ffmpeg script that ships with the official Vivaldi
|
||||
# downloads at https://vivaldi.com/download/
|
||||
stdenv.mkDerivation rec {
|
||||
|
|
|
@ -25,9 +25,7 @@
|
|||
util-linux,
|
||||
socat,
|
||||
hicolor-icon-theme,
|
||||
}:
|
||||
|
||||
let
|
||||
}: let
|
||||
inherit (stdenvNoCC.hostPlatform) system;
|
||||
throwSystem = throw "Unsupported system: ${system}";
|
||||
|
||||
|
@ -36,17 +34,18 @@ let
|
|||
x86_64-linux = "x86_64";
|
||||
aarch64-linux = "arm64";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
.${system}
|
||||
or throwSystem;
|
||||
|
||||
hash =
|
||||
{
|
||||
x86_64-linux = "sha256-O4gl0WulhDyqL9lDwqR1oxNAzVjHn+3q0UB8KP0/sBk=";
|
||||
aarch64-linux = "";
|
||||
}
|
||||
.${system} or throwSystem;
|
||||
.${system}
|
||||
or throwSystem;
|
||||
|
||||
displayname = "XPipe PTB";
|
||||
|
||||
in
|
||||
stdenvNoCC.mkDerivation rec {
|
||||
pname = "xpipe-ptb";
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
let
|
||||
{...}: let
|
||||
finalVersion = "0.149.3";
|
||||
in
|
||||
final: prev: {
|
||||
|
|
|
@ -1,8 +1,4 @@
|
|||
{
|
||||
disks ? [ "/dev/sda" ],
|
||||
...
|
||||
}:
|
||||
{
|
||||
{disks ? ["/dev/sda"], ...}: {
|
||||
disko.devices = {
|
||||
disk = {
|
||||
main = {
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
{ lib, nixpkgs, ... }:
|
||||
{
|
||||
lib,
|
||||
nixpkgs,
|
||||
...
|
||||
}: {
|
||||
## Below is to align shell/system to flake's nixpkgs
|
||||
## ref: https://nixos-and-flakes.thiscute.world/best-practices/nix-path-and-flake-registry
|
||||
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ ... }:
|
||||
{
|
||||
{...}: {
|
||||
sops.age.sshKeyPaths = ["/etc/ssh/ssh_host_ed25519_key"];
|
||||
# Secret for machine-specific pushover
|
||||
sops.secrets = {
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
{ lib, pkgs, ... }:
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
system = {
|
||||
# Enable printing changes on nix build etc with nvd
|
||||
activationScripts.report-changes = ''
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
{ lib, pkgs, ... }:
|
||||
with lib;
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; {
|
||||
boot = {
|
||||
|
||||
initrd.availableKernelModules = [
|
||||
"nvme"
|
||||
"xhci_pci"
|
||||
|
@ -21,10 +23,8 @@ with lib;
|
|||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
grub.memtest86.enable = true;
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
{lib, ...}: {
|
||||
imports = [];
|
||||
|
||||
boot = {
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
{ lib, ... }:
|
||||
{
|
||||
{lib, ...}: {
|
||||
mySystem = {
|
||||
security.wheelNeedsSudoPassword = false;
|
||||
};
|
||||
|
|
|
@ -1,5 +1,8 @@
|
|||
{ lib, pkgs, ... }:
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
boot = {
|
||||
# for managing/mounting nfs
|
||||
supportedFilesystems = ["nfs"];
|
||||
|
|
|
@ -1,7 +1,10 @@
|
|||
{ lib, pkgs, ... }:
|
||||
# Role for headless servers
|
||||
with lib;
|
||||
{
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
# Role for headless servers
|
||||
with lib; {
|
||||
config = {
|
||||
mySystem = {
|
||||
services.rebootRequiredCheck.enable = true;
|
||||
|
|
Loading…
Add table
Reference in a new issue