feat: introduce treefmt and fmt all
This commit is contained in:
parent
80250b0179
commit
27c6c4f9fa
237 changed files with 5440 additions and 5214 deletions
|
@ -1,10 +1,7 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
# required for running blueman-applet in user sessions
|
||||
services.dbus.packages = with pkgs; [blueman];
|
||||
services.dbus.packages = with pkgs; [ blueman ];
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
}
|
||||
|
|
|
@ -1,48 +1,48 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
{ config, lib, ... }:
|
||||
let
|
||||
cfg = config.steveej.holo-zerotier;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options.steveej.holo-zerotier = {
|
||||
enable = lib.mkEnableOption "Enable holo-zerotier";
|
||||
autostart = lib.mkOption {default = false;};
|
||||
autostart = lib.mkOption { default = false; };
|
||||
};
|
||||
|
||||
config = {
|
||||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) ["zerotierone"];
|
||||
nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (lib.getName pkg) [ "zerotierone" ];
|
||||
|
||||
services.zerotierone = {
|
||||
enable = cfg.enable;
|
||||
inherit (cfg) enable;
|
||||
joinNetworks = [
|
||||
# moved to the service below as it's now secret
|
||||
];
|
||||
};
|
||||
|
||||
systemd.services.zerotierone.wantedBy = lib.mkIf (!cfg.autostart) (lib.mkForce []);
|
||||
systemd.services.zerotierone.wantedBy = lib.mkIf (!cfg.autostart) (lib.mkForce [ ]);
|
||||
|
||||
systemd.services.zerotieroneSecretNetworks = {
|
||||
enable = cfg.enable;
|
||||
requiredBy = ["zerotierone.service"];
|
||||
partOf = ["zerotierone.service"];
|
||||
inherit (cfg) enable;
|
||||
requiredBy = [ "zerotierone.service" ];
|
||||
partOf = [ "zerotierone.service" ];
|
||||
|
||||
serviceConfig.Type = "oneshot";
|
||||
serviceConfig.RemainAfterExit = true;
|
||||
|
||||
script = let
|
||||
secret = config.sops.secrets.zerotieroneNetworks;
|
||||
in ''
|
||||
# include the secret's hash to trigger a restart on change
|
||||
# ${builtins.hashString "sha256" (builtins.toJSON secret)}
|
||||
script =
|
||||
let
|
||||
secret = config.sops.secrets.zerotieroneNetworks;
|
||||
in
|
||||
''
|
||||
# include the secret's hash to trigger a restart on change
|
||||
# ${builtins.hashString "sha256" (builtins.toJSON secret)}
|
||||
|
||||
${config.systemd.services.zerotierone.preStart}
|
||||
${config.systemd.services.zerotierone.preStart}
|
||||
|
||||
rm -rf /var/lib/zerotier-one/networks.d/*.conf
|
||||
for network in `grep -v '#' ${secret.path}`; do
|
||||
touch /var/lib/zerotier-one/networks.d/''${network}.conf
|
||||
done
|
||||
'';
|
||||
rm -rf /var/lib/zerotier-one/networks.d/*.conf
|
||||
for network in `grep -v '#' ${secret.path}`; do
|
||||
touch /var/lib/zerotier-one/networks.d/''${network}.conf
|
||||
done
|
||||
'';
|
||||
};
|
||||
|
||||
sops.secrets.zerotieroneNetworks = {
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
repoFlakeInputs',
|
||||
packages',
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
# TODO: make this configurable
|
||||
homeUser = "steveej";
|
||||
commonHomeImports = [
|
||||
|
@ -14,10 +14,9 @@
|
|||
../../home-manager/programs/neovim.nix
|
||||
../../home-manager/programs/zsh.nix
|
||||
];
|
||||
in {
|
||||
imports = [
|
||||
nodeFlake.inputs.home-manager.nixosModules.home-manager
|
||||
];
|
||||
in
|
||||
{
|
||||
imports = [ nodeFlake.inputs.home-manager.nixosModules.home-manager ];
|
||||
|
||||
# TODO: investigate an issue with the "name" arg contained here, which causes problems with home-manager
|
||||
# home-manager.extraSpecialArgs = specialArgs;
|
||||
|
@ -34,15 +33,11 @@ in {
|
|||
home-manager.useGlobalPkgs = false;
|
||||
home-manager.useUserPackages = true;
|
||||
|
||||
home-manager.users.root = _: {
|
||||
imports = commonHomeImports;
|
||||
};
|
||||
home-manager.users.root = _: { imports = commonHomeImports; };
|
||||
|
||||
home-manager.users."${homeUser}" = _: {
|
||||
imports = commonHomeImports;
|
||||
};
|
||||
home-manager.users."${homeUser}" = _: { imports = commonHomeImports; };
|
||||
|
||||
programs.zsh.enable = true;
|
||||
users.defaultUserShell = pkgs.zsh;
|
||||
environment.pathsToLink = ["/share/zsh"];
|
||||
environment.pathsToLink = [ "/share/zsh" ];
|
||||
}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
# experiment with k3s, nix-snapshotter, and nixos images
|
||||
{
|
||||
nodeFlake,
|
||||
nodeFlakeInputs',
|
||||
pkgs,
|
||||
lib,
|
||||
system,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
cfg = config.steveej.k3s;
|
||||
|
||||
# TODO: make this configurable
|
||||
homeUser = "steveej";
|
||||
in {
|
||||
in
|
||||
# TODO: make this configurable
|
||||
{
|
||||
options.steveej.k3s = {
|
||||
enable = lib.mkOption {
|
||||
description = "steveej's k3s distro";
|
||||
|
@ -22,13 +22,11 @@ in {
|
|||
};
|
||||
|
||||
# (1) Import nixos module.
|
||||
imports = [
|
||||
nodeFlake.inputs.nix-snapshotter.nixosModules.default
|
||||
];
|
||||
imports = [ nodeFlake.inputs.nix-snapshotter.nixosModules.default ];
|
||||
|
||||
config = lib.mkIf cfg.enable {
|
||||
# (2) Add overlay.
|
||||
nixpkgs.overlays = [nodeFlake.inputs.nix-snapshotter.overlays.default];
|
||||
nixpkgs.overlays = [ nodeFlake.inputs.nix-snapshotter.overlays.default ];
|
||||
|
||||
# (3) Enable service.
|
||||
virtualisation.containerd = {
|
||||
|
|
|
@ -1,16 +1,15 @@
|
|||
{
|
||||
repoFlake,
|
||||
nodeFlake,
|
||||
nodeName,
|
||||
config,
|
||||
system,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
cfg.autostart = false;
|
||||
in {
|
||||
imports = [
|
||||
];
|
||||
in
|
||||
{
|
||||
imports = [ ];
|
||||
|
||||
sops.secrets.mycelium-key = {
|
||||
format = "binary";
|
||||
|
@ -22,14 +21,12 @@ in {
|
|||
# package = nodeFlake.inputs.mycelium.packages.${system}.myceliumd;
|
||||
keyFile = config.sops.secrets.mycelium-key.path;
|
||||
addHostedPublicNodes = true;
|
||||
peers = [
|
||||
];
|
||||
peers = [ ];
|
||||
|
||||
# tunName = "mycelium-pub";
|
||||
|
||||
extraArgs = [
|
||||
];
|
||||
extraArgs = [ ];
|
||||
};
|
||||
|
||||
systemd.services.mycelium.wantedBy = lib.mkIf (!cfg.autostart) (lib.mkForce []);
|
||||
systemd.services.mycelium.wantedBy = lib.mkIf (!cfg.autostart) (lib.mkForce [ ]);
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
_: {
|
||||
nix.settings = {
|
||||
substituters = [
|
||||
"https://holochain-ci.cachix.org"
|
||||
|
|
|
@ -3,17 +3,17 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
pkgsUnstable = import nodeFlake.inputs.nixpkgs-unstable {inherit (pkgs) system config;};
|
||||
in {
|
||||
}:
|
||||
let
|
||||
pkgsUnstable = import nodeFlake.inputs.nixpkgs-unstable { inherit (pkgs) system config; };
|
||||
in
|
||||
{
|
||||
nix.daemonCPUSchedPolicy = "idle";
|
||||
nix.daemonIOSchedClass = "idle";
|
||||
nix.settings.max-jobs = lib.mkDefault "auto";
|
||||
nix.settings.cores = lib.mkDefault 0;
|
||||
nix.settings.sandbox = true;
|
||||
nix.nixPath = [
|
||||
"nixpkgs=${pkgs.path}"
|
||||
];
|
||||
nix.nixPath = [ "nixpkgs=${pkgs.path}" ];
|
||||
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
|
@ -32,7 +32,7 @@ in {
|
|||
nix.registry.nixpkgs.to = {
|
||||
type = "path";
|
||||
path = nodeFlake.inputs.nixpkgs.outPath;
|
||||
narHash = nodeFlake.inputs.nixpkgs.narHash;
|
||||
inherit (nodeFlake.inputs.nixpkgs) narHash;
|
||||
};
|
||||
|
||||
nix.package = pkgsUnstable.nixVersions.latest;
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
{config, ...}: let
|
||||
{ config, ... }:
|
||||
let
|
||||
# TODO: make configurable
|
||||
homeUser = "steveej";
|
||||
in {
|
||||
boot.extraModulePackages = [
|
||||
config.boot.kernelPackages.v4l2loopback.out
|
||||
];
|
||||
in
|
||||
{
|
||||
boot.extraModulePackages = [ config.boot.kernelPackages.v4l2loopback.out ];
|
||||
|
||||
# Activate kernel modules (choose from built-ins and extra ones)
|
||||
boot.kernelModules = [
|
||||
|
@ -23,9 +23,5 @@ in {
|
|||
|
||||
security.polkit.enable = true;
|
||||
|
||||
home-manager.users.${homeUser} = _: {
|
||||
imports = [
|
||||
../../home-manager/programs/obs-studio.nix
|
||||
];
|
||||
};
|
||||
home-manager.users.${homeUser} = _: { imports = [ ../../home-manager/programs/obs-studio.nix ]; };
|
||||
}
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
repoFlakeInputs',
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
# TODO: make configurable
|
||||
homeUser = "steveej";
|
||||
in {
|
||||
in
|
||||
{
|
||||
sops.secrets.radicale_htpasswd = {
|
||||
sopsFile = ../../../secrets/desktop/radicale_htpasswd;
|
||||
format = "binary";
|
||||
|
@ -19,11 +20,13 @@ in {
|
|||
# TODO: bump these to latest and make it work
|
||||
(
|
||||
args:
|
||||
import ../../home-manager/programs/radicale.nix (args
|
||||
// {
|
||||
osConfig = config;
|
||||
pkgs = repoFlakeInputs'.radicalePkgs.legacyPackages;
|
||||
})
|
||||
import ../../home-manager/programs/radicale.nix (
|
||||
args
|
||||
// {
|
||||
osConfig = config;
|
||||
pkgs = repoFlakeInputs'.radicalePkgs.legacyPackages;
|
||||
}
|
||||
)
|
||||
)
|
||||
];
|
||||
};
|
||||
|
|
|
@ -3,10 +3,12 @@
|
|||
lib,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
# TODO: make this configurable
|
||||
homeUser = "steveej";
|
||||
in {
|
||||
in
|
||||
{
|
||||
services.xserver.serverFlagsSection = ''
|
||||
Option "BlankTime" "0"
|
||||
Option "StandbyTime" "0"
|
||||
|
@ -28,7 +30,7 @@ in {
|
|||
|
||||
# required by swaywm
|
||||
security.polkit.enable = true;
|
||||
security.pam.services.swaylock = {};
|
||||
security.pam.services.swaylock = { };
|
||||
|
||||
# test these on https://mozilla.github.io/webrtc-landing/gum_test.html
|
||||
xdg.portal = {
|
||||
|
@ -44,18 +46,20 @@ in {
|
|||
screencast = {
|
||||
chooser_type = "dmenu";
|
||||
# display the output as a list in favor of the default mouse selection
|
||||
chooser_cmd = lib.getExe (pkgs.writeShellApplication {
|
||||
name = "chooser_cmd";
|
||||
runtimeInputs = [
|
||||
pkgs.sway
|
||||
pkgs.jq
|
||||
pkgs.fuzzel
|
||||
pkgs.gnused
|
||||
];
|
||||
text = ''
|
||||
swaymsg -t get_outputs | jq '.[] | "\(.name)@\(.current_mode.width)x\(.current_mode.height) on \(.model)"' | sed 's/"//g' | fuzzel -d | sed 's/@.*//'
|
||||
'';
|
||||
});
|
||||
chooser_cmd = lib.getExe (
|
||||
pkgs.writeShellApplication {
|
||||
name = "chooser_cmd";
|
||||
runtimeInputs = [
|
||||
pkgs.sway
|
||||
pkgs.jq
|
||||
pkgs.fuzzel
|
||||
pkgs.gnused
|
||||
];
|
||||
text = ''
|
||||
swaymsg -t get_outputs | jq '.[] | "\(.name)@\(.current_mode.width)x\(.current_mode.height) on \(.model)"' | sed 's/"//g' | fuzzel -d | sed 's/@.*//'
|
||||
'';
|
||||
}
|
||||
);
|
||||
max_fps = 30;
|
||||
};
|
||||
};
|
||||
|
@ -101,8 +105,8 @@ in {
|
|||
# autologin steveej on tty1
|
||||
# TODO: make user configurable
|
||||
systemd.services."autovt@tty1".description = "Autologin at the TTY1";
|
||||
systemd.services."autovt@tty1".after = ["systemd-logind.service"]; # without it user session not started and xorg can't be run from this tty
|
||||
systemd.services."autovt@tty1".wantedBy = ["multi-user.target"];
|
||||
systemd.services."autovt@tty1".after = [ "systemd-logind.service" ]; # without it user session not started and xorg can't be run from this tty
|
||||
systemd.services."autovt@tty1".wantedBy = [ "multi-user.target" ];
|
||||
systemd.services."autovt@tty1".serviceConfig = {
|
||||
ExecStart = [
|
||||
"" # override upstream default with an empty ExecStart
|
||||
|
@ -112,21 +116,21 @@ in {
|
|||
Type = "idle";
|
||||
};
|
||||
|
||||
programs = let
|
||||
steveejSwayOnTty1 = ''
|
||||
if test $(id --user steveej) = $(id -u) && test $(tty) = "/dev/tty1"; then
|
||||
exec sway
|
||||
fi
|
||||
'';
|
||||
in {
|
||||
bash.loginShellInit = steveejSwayOnTty1;
|
||||
# TODO: only do this when zsh is enabled. first naiv attempt lead infinite recursion
|
||||
zsh.loginShellInit = steveejSwayOnTty1;
|
||||
};
|
||||
programs =
|
||||
let
|
||||
steveejSwayOnTty1 = ''
|
||||
if test $(id --user steveej) = $(id -u) && test $(tty) = "/dev/tty1"; then
|
||||
exec sway
|
||||
fi
|
||||
'';
|
||||
in
|
||||
{
|
||||
bash.loginShellInit = steveejSwayOnTty1;
|
||||
# TODO: only do this when zsh is enabled. first naiv attempt lead infinite recursion
|
||||
zsh.loginShellInit = steveejSwayOnTty1;
|
||||
};
|
||||
|
||||
home-manager.users."${homeUser}" = _: {
|
||||
imports = [
|
||||
../../home-manager/profiles/sway-desktop.nix
|
||||
];
|
||||
imports = [ ../../home-manager/profiles/sway-desktop.nix ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{lib, ...}: {
|
||||
{ lib, ... }:
|
||||
{
|
||||
networking.nameservers = [
|
||||
# https://dnsforge.de/
|
||||
"176.9.93.198"
|
||||
|
@ -12,12 +13,12 @@
|
|||
services.resolved = {
|
||||
enable = true;
|
||||
dnssec = "true";
|
||||
domains = ["~."];
|
||||
domains = [ "~." ];
|
||||
|
||||
# TODO: figure out why "true" doesn't work
|
||||
dnsovertls = "opportunistic";
|
||||
|
||||
fallbackDns = lib.mkForce [];
|
||||
fallbackDns = lib.mkForce [ ];
|
||||
|
||||
# TODO: IPv6
|
||||
# extraConfig = ''
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
{lib, ...}: let
|
||||
{ lib, ... }:
|
||||
let
|
||||
passwords = import ../../variables/passwords.crypt.nix;
|
||||
in {
|
||||
in
|
||||
{
|
||||
time.timeZone = lib.mkDefault passwords.timeZone.stefan;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue