summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-11-02 19:55:32 +0100
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2026-11-05 22:47:43 +0100
commit83f0daa6c54c26ad240c46722d3ad84f853f517a (patch)
tree64ea00623691af7ba27d36a8bb3d0faa9a67096f /modules
parentpkgs/*: Use a `stable`/`unstable` marker in the filename (diff)
downloadnixos-config-83f0daa6c54c26ad240c46722d3ad84f853f517a.zip
modules/*: Fix various name mistakes and other issues
Diffstat (limited to 'modules')
-rw-r--r--modules/by-name/ad/adb/module.nix2
-rw-r--r--modules/by-name/at/atuin/module.nix9
-rw-r--r--modules/by-name/au/ausweisapp/module.nix2
-rw-r--r--modules/by-name/ba/backup/module.nix29
-rw-r--r--modules/by-name/bl/bluetooth/module.nix2
-rw-r--r--modules/by-name/bo/boot/module.nix2
-rw-r--r--modules/by-name/ca/calibre/module.nix2
-rw-r--r--modules/by-name/co/constants/module.nix4
-rw-r--r--modules/by-name/di/direnv/module.nix4
-rw-r--r--modules/by-name/fi/fish/keymappings.nix22
-rw-r--r--modules/by-name/fw/fwupd/module.nix4
-rw-r--r--modules/by-name/ia/iamb/module.nix2
-rw-r--r--modules/by-name/im/impermanence/module.nix12
-rw-r--r--modules/by-name/lu/lutris/module.nix5
-rw-r--r--modules/by-name/ma/mandb/module.nix4
-rw-r--r--modules/by-name/mp/mpv/module.nix2
-rw-r--r--modules/by-name/ms/msr/module.nix2
-rw-r--r--modules/by-name/ne/networking/module.nix8
-rw-r--r--modules/by-name/ni/nixpkgs/module.nix9
-rw-r--r--modules/by-name/nv/nvim/module.nix2
-rw-r--r--modules/by-name/nv/nvim/plgs/lsp/servers/servers/ltex.nix2
-rw-r--r--modules/by-name/ol/ollama/module.nix2
-rw-r--r--modules/by-name/pi/pipewire/module.nix2
-rw-r--r--modules/by-name/po/polkit/module.nix2
-rw-r--r--modules/by-name/pr/printing/module.nix8
-rw-r--r--modules/by-name/ri/river/keymap.nix6
-rw-r--r--modules/by-name/ri/river/module.nix4
-rw-r--r--modules/by-name/si/signal/module.nix2
-rw-r--r--modules/by-name/so/sound/module.nix4
-rw-r--r--modules/by-name/ss/ssh/module.nix52
-rw-r--r--modules/by-name/us/users/module.nix4
-rw-r--r--modules/by-name/wa/waydroid/module.nix2
-rw-r--r--modules/by-name/xd/xdg/module.nix2
-rw-r--r--modules/common/soispha/default.nix (renamed from modules/common/default.nix)55
-rw-r--r--modules/common/soispha/hooks/default.nix (renamed from modules/common/hooks/default.nix)0
-rwxr-xr-xmodules/common/soispha/hooks/scripts/sync-git-repo.sh (renamed from modules/common/hooks/scripts/sync-git-repo.sh)0
-rw-r--r--modules/common/soispha/projects.json (renamed from modules/common/projects.json)0
-rw-r--r--modules/common/soispha/projects.json.license (renamed from modules/common/projects.json.license)0
38 files changed, 140 insertions, 135 deletions
diff --git a/modules/by-name/ad/adb/module.nix b/modules/by-name/ad/adb/module.nix
index 89cb1439..9d07a5be 100644
--- a/modules/by-name/ad/adb/module.nix
+++ b/modules/by-name/ad/adb/module.nix
@@ -32,7 +32,7 @@ in {
users = {
users."${cfg.user}".extraGroups = ["adbusers"];
- groups.adbusers.gid = config.soispha.constants.ids.gids.adbusers;
+ groups.adbusers.gid = config.vhack.constants.ids.gids.adbusers;
};
};
}
diff --git a/modules/by-name/at/atuin/module.nix b/modules/by-name/at/atuin/module.nix
index d68e830c..b9e9645a 100644
--- a/modules/by-name/at/atuin/module.nix
+++ b/modules/by-name/at/atuin/module.nix
@@ -10,12 +10,15 @@
{
config,
lib,
- externalBinaries,
- system,
+ extra_modules,
...
}: let
cfg = config.soispha.programs.atuin;
in {
+ imports = [
+ extra_modules.nixos.turtle
+ ];
+
options.soispha.programs.atuin = {
enable = lib.mkEnableOption "atuin";
@@ -47,7 +50,7 @@ in {
home-manager.users.soispha = {
imports = [
- externalBinaries.turtle.nixosModules.home-manager
+ extra_modules.home.turtle
];
programs.turtle = {
diff --git a/modules/by-name/au/ausweisapp/module.nix b/modules/by-name/au/ausweisapp/module.nix
index 93716ed9..ee3e8917 100644
--- a/modules/by-name/au/ausweisapp/module.nix
+++ b/modules/by-name/au/ausweisapp/module.nix
@@ -11,7 +11,7 @@ in {
};
config = lib.mkIf cfg.enable {
- soispha.impermanence.userDirectories = [
+ vhack.persist.userDirectories.soispha = [
".config/AusweisApp"
];
soispha.services.unison.pathsToSync = [
diff --git a/modules/by-name/ba/backup/module.nix b/modules/by-name/ba/backup/module.nix
index ca7a469c..7ac6e081 100644
--- a/modules/by-name/ba/backup/module.nix
+++ b/modules/by-name/ba/backup/module.nix
@@ -113,10 +113,31 @@ in {
};
};
- vhack.programs.ssh = lib.mkIf cfg.storagebox.enable {
- enable = true;
- rootKnownHosts = {
- "[${cfg.storagebox.user}.your-storagebox.de]:23" = cfg.storagebox.sshHostKey;
+ systemd.tmpfiles.settings = lib.mkIf cfg.storagebox.enable {
+ "10-backup-module" = {
+ "/root/.ssh/config".f = let
+ knownHostsFile = pkgs.writeTextFile {
+ name = "known-hosts-file";
+ text = ''
+ [${cfg.storagebox.user}.your-storagebox.de]:23 ${cfg.storagebox.sshHostKey}
+ '';
+ };
+ in {
+ group = "root";
+ user = "root";
+ mode = "0755";
+
+ # Don't try to authenticate via password for these, because we need to use the
+ # forced commands, and they are only provided via the ssh key login.
+ # So password login is a footgun (it is, however, valid to use it for non-root
+ # use-cases)
+ argument = ''
+ Host *.your-storagebox.de
+ PasswordAuthentication no
+ Port 23
+ UserKnownHostsFile ${knownHostsFile}
+ '';
+ };
};
};
diff --git a/modules/by-name/bl/bluetooth/module.nix b/modules/by-name/bl/bluetooth/module.nix
index 7750e70d..14f47129 100644
--- a/modules/by-name/bl/bluetooth/module.nix
+++ b/modules/by-name/bl/bluetooth/module.nix
@@ -19,7 +19,7 @@ in {
};
config = lib.mkIf cfg.enable {
- soispha.impermanence.directories = [
+ vhack.persist.directories = [
"/var/lib/bluetooth"
];
diff --git a/modules/by-name/bo/boot/module.nix b/modules/by-name/bo/boot/module.nix
index 8d3cbe5f..f26ce8f7 100644
--- a/modules/by-name/bo/boot/module.nix
+++ b/modules/by-name/bo/boot/module.nix
@@ -100,7 +100,7 @@ in {
config = lib.mkIf cfg.enable {
# This should only be necessary for `lanzaboote`, but that is the current default in
# this module.
- soispha.impermanence.directories = [
+ vhack.persist.directories = [
"/var/lib/sbctl"
];
diff --git a/modules/by-name/ca/calibre/module.nix b/modules/by-name/ca/calibre/module.nix
index 76b245e0..f56c8490 100644
--- a/modules/by-name/ca/calibre/module.nix
+++ b/modules/by-name/ca/calibre/module.nix
@@ -20,7 +20,7 @@ in {
};
config = lib.mkIf cfg.enable {
- soispha.impermanence.userDirectories = [
+ vhack.persist.userDirectories.soispha = [
".config/calibre"
];
soispha.services.unison.pathsToSync = [
diff --git a/modules/by-name/co/constants/module.nix b/modules/by-name/co/constants/module.nix
index de094cdd..51bf68b7 100644
--- a/modules/by-name/co/constants/module.nix
+++ b/modules/by-name/co/constants/module.nix
@@ -68,6 +68,10 @@
nm-iodine = 354;
fwupd-refresh = 355;
avahi = 356;
+ adbusers = 357;
+ lpadmin = 358;
+ msr = 359;
+ polkituser = 360;
# As per the NixOS file, the uids should not be greater or equal to 400;
};
diff --git a/modules/by-name/di/direnv/module.nix b/modules/by-name/di/direnv/module.nix
index 97e56827..e868ebba 100644
--- a/modules/by-name/di/direnv/module.nix
+++ b/modules/by-name/di/direnv/module.nix
@@ -17,14 +17,14 @@
cfg = config.soispha.programs.direnv;
direnvCfg = config.home-manager.users.soispha.programs.direnv;
- inherit (sources) devshells nixpkgs;
+ inherit (sources) devshells nixpkgs-unstable;
pre-cache = pkgs.runCommand "pre-cache.sh" {} ''
cat "${./pre-cache.sh}" > $out
substituteInPlace $out \
--replace-fail "%DEVSHELLS_REPO%" "${devshells}" \
- --replace-fail "%DEVSHELLS_REPO_REF%" "${devshells.sourceInfo.rev}.${builtins.readFile "${nixpkgs}/.git-revision"}"
+ --replace-fail "%DEVSHELLS_REPO_REF%" "${devshells.sourceInfo.rev}.${builtins.readFile "${nixpkgs-unstable}/.git-revision"}"
'';
landrun-fish = pkgs.writeShellApplication {
diff --git a/modules/by-name/fi/fish/keymappings.nix b/modules/by-name/fi/fish/keymappings.nix
index fe9ab86e..187c5d5a 100644
--- a/modules/by-name/fi/fish/keymappings.nix
+++ b/modules/by-name/fi/fish/keymappings.nix
@@ -227,7 +227,7 @@ in {
cmd = "__fish_man_page";
sets_mode_to = "default";
};
- "\\e\\[1\;9A" = {
+ "\\e\\[1\\;9A" = {
cmd = "history-token-search-backward";
sets_mode_to = "default";
};
@@ -305,7 +305,7 @@ in {
cmd = "fish_clipboard_copy";
sets_mode_to = "default";
};
- "\\e\\[1\;9D" = {
+ "\\e\\[1\\;9D" = {
cmd = "prevd-or-backward-word";
sets_mode_to = "default";
};
@@ -349,7 +349,7 @@ in {
cmd = "commandline -i \\n (commandline --search-field >/dev/null && echo --search-field) expand-abbr";
sets_mode_to = "default";
};
- "\\e\\[1\;9B" = {
+ "\\e\\[1\\;9B" = {
cmd = "history-token-search-forward";
sets_mode_to = "default";
};
@@ -490,10 +490,10 @@ in {
};
};
"default" = {
- # "\\e\\[1\;9A" = {cmd = "history-token-search-backward";};
- # "\\e\\[1\;9B" = {cmd = "history-token-search-forward";};
- # "\\e\\[1\;9C" = {cmd = "nextd-or-forward-word";};
- # "\\e\\[1\;9D" = {cmd = "prevd-or-backward-word";};
+ # "\\e\\[1\\;9A" = {cmd = "history-token-search-backward";};
+ # "\\e\\[1\\;9B" = {cmd = "history-token-search-forward";};
+ # "\\e\\[1\\;9C" = {cmd = "nextd-or-forward-word";};
+ # "\\e\\[1\\;9D" = {cmd = "prevd-or-backward-word";};
"down" = {cmd = "down-or-search";};
"ctrl-y" = {cmd = "yank";};
@@ -1015,7 +1015,7 @@ in {
cmd = "kill-whole-line end-selection repaint-mode";
sets_mode_to = "default";
};
- "\\e\\[1\;9B" = {
+ "\\e\\[1\\;9B" = {
cmd = "history-token-search-forward";
sets_mode_to = "default";
};
@@ -1051,11 +1051,11 @@ in {
cmd = "end-selection repaint-mode";
sets_mode_to = "default";
};
- "\\e\\[1\;9D" = {
+ "\\e\\[1\\;9D" = {
cmd = "prevd-or-backward-word";
sets_mode_to = "default";
};
- "\\e\\[1\;9C" = {
+ "\\e\\[1\\;9C" = {
cmd = "nextd-or-forward-word";
sets_mode_to = "default";
};
@@ -1099,7 +1099,7 @@ in {
cmd = "__fish_whatis_current_token";
sets_mode_to = "default";
};
- "\\e\\[1\;9A" = {
+ "\\e\\[1\\;9A" = {
cmd = "history-token-search-backward";
sets_mode_to = "default";
};
diff --git a/modules/by-name/fw/fwupd/module.nix b/modules/by-name/fw/fwupd/module.nix
index 7252c170..4a58101a 100644
--- a/modules/by-name/fw/fwupd/module.nix
+++ b/modules/by-name/fw/fwupd/module.nix
@@ -22,8 +22,8 @@ in {
services.fwupd.enable = true;
users = {
- users.fwupd-refresh.uid = config.soispha.constants.ids.uids.fwupd-refresh;
- groups.fwupd-refresh.gid = config.soispha.constants.ids.gids.fwupd-refresh;
+ users.fwupd-refresh.uid = config.vhack.constants.ids.uids.fwupd-refresh;
+ groups.fwupd-refresh.gid = config.vhack.constants.ids.gids.fwupd-refresh;
};
};
}
diff --git a/modules/by-name/ia/iamb/module.nix b/modules/by-name/ia/iamb/module.nix
index 8b8697ac..ee466d4e 100644
--- a/modules/by-name/ia/iamb/module.nix
+++ b/modules/by-name/ia/iamb/module.nix
@@ -20,7 +20,7 @@ in {
};
config = lib.mkIf cfg.enable {
- soispha.impermanence.userDirectories = [
+ vhack.persist.userDirectories.soispha = [
".config/iamb/profiles"
];
diff --git a/modules/by-name/im/impermanence/module.nix b/modules/by-name/im/impermanence/module.nix
index 0de6f3e6..a0c308d5 100644
--- a/modules/by-name/im/impermanence/module.nix
+++ b/modules/by-name/im/impermanence/module.nix
@@ -6,11 +6,11 @@
}: let
cfg = config.vhack.persist;
- userDirectories = lib.debug.traceValSeqN 2 (lib.mapAttrs (_: dirs: {
- directories =
- dirs;
+ userDirectories =
+ lib.mapAttrs (_: dirs: {
+ directories = dirs;
})
- cfg.userDirectories);
+ cfg.userDirectories;
in {
options.vhack.persist = {
enable = lib.mkEnableOption "persisting directories and files with impermanence";
@@ -30,7 +30,7 @@ in {
};
userDirectories = lib.mkOption {
- type = lib.attrsOf lib.types.listOf (lib.types.either lib.types.str (lib.types.submodule {
+ type = lib.types.attrsOf (lib.types.listOf (lib.types.either lib.types.str (lib.types.submodule {
options = {
directory = lib.mkOption {
type = lib.types.str;
@@ -39,7 +39,7 @@ in {
type = lib.types.str;
};
};
- }));
+ })));
default = [];
description = "The directories to persist, for each user.";
};
diff --git a/modules/by-name/lu/lutris/module.nix b/modules/by-name/lu/lutris/module.nix
index 7772b269..54f8f955 100644
--- a/modules/by-name/lu/lutris/module.nix
+++ b/modules/by-name/lu/lutris/module.nix
@@ -23,7 +23,7 @@ in {
};
config = lib.mkIf cfg.enable {
- soispha.impermanence.userDirectories = [
+ vhack.persist.userDirectories.soispha = [
".config/lutris"
];
soispha.services.unison.pathsToSync = [
@@ -33,6 +33,9 @@ in {
"${homeDirectory}/.local/share/lutris/install"
];
+ # For some reason `lutris` depends on `gtk+-2`.
+ soispha.nixpkgs.problemHandlers."gtk+".broken = "warn";
+
# TODO: This should also have something, to avoid giving the games network access: 'https://github.com/lutris/docs/blob/master/DisableNetworkAccess.md' <2026-07-10>
home-manager.users.soispha = {
programs.lutris = {
diff --git a/modules/by-name/ma/mandb/module.nix b/modules/by-name/ma/mandb/module.nix
index 83992729..a2467070 100644
--- a/modules/by-name/ma/mandb/module.nix
+++ b/modules/by-name/ma/mandb/module.nix
@@ -21,8 +21,8 @@ in {
config = lib.mkIf cfg.enable {
users = {
- users.mandb.uid = config.soispha.constants.ids.uids.mandb;
- groups.mandb.gid = config.soispha.constants.ids.gids.mandb;
+ users.mandb.uid = config.vhack.constants.ids.uids.mandb;
+ groups.mandb.gid = config.vhack.constants.ids.gids.mandb;
};
};
}
diff --git a/modules/by-name/mp/mpv/module.nix b/modules/by-name/mp/mpv/module.nix
index fed2074d..6843b4fd 100644
--- a/modules/by-name/mp/mpv/module.nix
+++ b/modules/by-name/mp/mpv/module.nix
@@ -23,7 +23,7 @@ in {
soispha.services.unison.pathsToSync = [
"~/.local/state/mpv"
];
- soispha.impermanance.userDirectories = [
+ vhack.persist.userDirectories.soispha = [
".local/state/mpv"
];
diff --git a/modules/by-name/ms/msr/module.nix b/modules/by-name/ms/msr/module.nix
index 521b3a40..4aa02b9c 100644
--- a/modules/by-name/ms/msr/module.nix
+++ b/modules/by-name/ms/msr/module.nix
@@ -11,7 +11,7 @@ in {
config = lib.mkIf cfg.enable {
users = {
- groups.msr.gid = config.soispha.constants.ids.gids.msr;
+ groups.msr.gid = config.vhack.constants.ids.gids.msr;
};
};
}
diff --git a/modules/by-name/ne/networking/module.nix b/modules/by-name/ne/networking/module.nix
index 075a1a5a..94c50af0 100644
--- a/modules/by-name/ne/networking/module.nix
+++ b/modules/by-name/ne/networking/module.nix
@@ -96,7 +96,7 @@ in {
};
};
- soispha.impermanence.directories = [
+ vhack.persist.directories = [
"/etc/NetworkManager"
];
users = {
@@ -104,11 +104,11 @@ in {
"${cfg.userName}".extraGroups = [
"networkmanager" # allows to configure NetworkManager as this user
];
- nm-iodine.uid = config.soispha.constants.ids.uids.nm-iodine;
- wpa_supplicant.uid = config.soispha.constants.ids.uids.wpa_supplicant;
+ nm-iodine.uid = config.vhack.constants.ids.uids.nm-iodine;
+ wpa_supplicant.uid = config.vhack.constants.ids.uids.wpa_supplicant;
};
groups = {
- wpa_supplicant.gid = config.soispha.constants.ids.gids.wpa_supplicant;
+ wpa_supplicant.gid = config.vhack.constants.ids.gids.wpa_supplicant;
};
};
})
diff --git a/modules/by-name/ni/nixpkgs/module.nix b/modules/by-name/ni/nixpkgs/module.nix
index 1ded8444..2971c0e3 100644
--- a/modules/by-name/ni/nixpkgs/module.nix
+++ b/modules/by-name/ni/nixpkgs/module.nix
@@ -27,10 +27,15 @@ in {
example = "[ steam steam-unwrapped ]";
type = lib.types.listOf lib.types.str;
};
+ problemHandlers = lib.mkOption {
+ description = "Decide how to handle a package marked with problems.";
+ example = "{ \"gtk+\".broken = \"warn\"; }";
+ type = lib.types.attrsOf (lib.types.attrsOf lib.types.anything);
+ };
};
config = let
- myPkgsOverlay = self: super: packageSets.soispha;
+ myPkgsOverlay = self: super: packageSets.in_tree;
in
lib.mkIf cfg.enable
{
@@ -44,6 +49,8 @@ in {
config = {
hostSystem = cfg.systemName;
+ problems.handlers = cfg.problemHandlers;
+
allowUnfreePredicate = pkg:
builtins.elem (lib.getName pkg) cfg.unfreePackageNames;
};
diff --git a/modules/by-name/nv/nvim/module.nix b/modules/by-name/nv/nvim/module.nix
index e63c9565..17cc8dcc 100644
--- a/modules/by-name/nv/nvim/module.nix
+++ b/modules/by-name/nv/nvim/module.nix
@@ -45,7 +45,7 @@ in {
soispha.services.unison.pathsToSync = [
"~/.local/state/nvim"
];
- soispha.impermanence.userDiretories = [
+ vhack.persist.userDirectories.soispha = [
".local/state/nvim"
];
diff --git a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ltex.nix b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ltex.nix
index e55cf377..5c0024f0 100644
--- a/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ltex.nix
+++ b/modules/by-name/nv/nvim/plgs/lsp/servers/servers/ltex.nix
@@ -10,6 +10,7 @@
{
config,
lib,
+ pkgs,
...
}: let
cfg = config.soispha.programs.nvim;
@@ -41,6 +42,7 @@ in {
];
in {
enable = true;
+ package = pkgs.ltex-ls-plus;
inherit filetypes;
settings = {
enabled = filetypes;
diff --git a/modules/by-name/ol/ollama/module.nix b/modules/by-name/ol/ollama/module.nix
index f819c035..ebc1fbf9 100644
--- a/modules/by-name/ol/ollama/module.nix
+++ b/modules/by-name/ol/ollama/module.nix
@@ -19,7 +19,7 @@ in {
};
config = lib.mkIf cfg.enable {
- soispha.impermanence.directories = [
+ vhack.persist.directories = [
# Set the mode to 700, so that it is private enough for systemd.
{
directory = "/var/lib/private";
diff --git a/modules/by-name/pi/pipewire/module.nix b/modules/by-name/pi/pipewire/module.nix
index df8eca0a..5bec816d 100644
--- a/modules/by-name/pi/pipewire/module.nix
+++ b/modules/by-name/pi/pipewire/module.nix
@@ -20,7 +20,7 @@ in {
};
config = lib.mkIf cfg.enable {
- soispha.impermanence.userDirectories = [
+ vhack.persist.userDirectories.soispha = [
".local/state/wireplumber"
];
};
diff --git a/modules/by-name/po/polkit/module.nix b/modules/by-name/po/polkit/module.nix
index d8dd51b0..ae9dc775 100644
--- a/modules/by-name/po/polkit/module.nix
+++ b/modules/by-name/po/polkit/module.nix
@@ -21,6 +21,6 @@ in {
config = lib.mkIf cfg.enable {
security.polkit.enable = true;
- users.groups.polkituser.gid = config.soispha.constants.ids.gids.polkituser;
+ users.groups.polkituser.gid = config.vhack.constants.ids.gids.polkituser;
};
}
diff --git a/modules/by-name/pr/printing/module.nix b/modules/by-name/pr/printing/module.nix
index 2e230570..bd554856 100644
--- a/modules/by-name/pr/printing/module.nix
+++ b/modules/by-name/pr/printing/module.nix
@@ -19,7 +19,7 @@ in {
};
config = lib.mkIf cfg.enable {
- soispha.impermanence.directories = [
+ vhack.persist.directories = [
"/var/lib/cups"
];
@@ -31,9 +31,9 @@ in {
};
users = {
- users.avahi.uid = config.soispha.constants.ids.uids.avahi;
- groups.avahi.gid = config.soispha.constants.ids.gids.avahi;
- groups.lpadmin.gid = config.soispha.constants.ids.gids.lpadmin;
+ users.avahi.uid = config.vhack.constants.ids.uids.avahi;
+ groups.avahi.gid = config.vhack.constants.ids.gids.avahi;
+ groups.lpadmin.gid = config.vhack.constants.ids.gids.lpadmin;
};
services.printing = {
diff --git a/modules/by-name/ri/river/keymap.nix b/modules/by-name/ri/river/keymap.nix
index feabf379..af16da26 100644
--- a/modules/by-name/ri/river/keymap.nix
+++ b/modules/by-name/ri/river/keymap.nix
@@ -5,7 +5,7 @@
config,
...
}: let
- index2tag = input: builtins.toString (libraries.base.pow 2 (input - 1));
+ index2tag = input: builtins.toString (extra_lib.math.pow 2 (input - 1));
mkTagCommand = name: index: [name (index2tag index)];
mkSpawn' = pkg: binaryName: args: further: (further
@@ -94,7 +94,7 @@ in {
"T" = ["send-to-output" "next"];
"N" = ["send-to-output" "previous"];
- "0" = ["set-view-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))];
+ "0" = ["set-view-tags" (builtins.toString ((extra_lib.math.pow 2 32) - 1))];
"p" = ["send-to-previous-tags"];
"1" = mkTagCommand "set-view-tags" 1;
@@ -132,7 +132,7 @@ in {
"T" = ["focus-output" "next"];
"N" = ["focus-output" "previous"];
- "0" = ["set-focused-tags" (builtins.toString ((libraries.base.pow 2 32) - 1))];
+ "0" = ["set-focused-tags" (builtins.toString ((extra_lib.math.pow 2 32) - 1))];
"p" = ["focus-previous-tags"];
"1" = mkTagCommand "set-focused-tags" 1;
diff --git a/modules/by-name/ri/river/module.nix b/modules/by-name/ri/river/module.nix
index f9ecea0f..a381e897 100644
--- a/modules/by-name/ri/river/module.nix
+++ b/modules/by-name/ri/river/module.nix
@@ -12,7 +12,7 @@
lib,
system,
pkgs,
- externalBinaries,
+ sources,
...
}: let
cfg = config.soispha.programs.river;
@@ -200,7 +200,7 @@ in {
];
config = lib.mkIf cfg.enable {
- services.udev.packages = lib.mkIf cfg.unicodeInput.enable [externalBinaries.qmk_firmware.packages.${system}.qmk_unicode_type];
+ services.udev.packages = lib.mkIf cfg.unicodeInput.enable [sources.qmk_firmware.packages.${system}.qmk_unicode_type];
home-manager.users.soispha = {
xdg.desktopEntries."river" = {
diff --git a/modules/by-name/si/signal/module.nix b/modules/by-name/si/signal/module.nix
index e7cef901..4506517f 100644
--- a/modules/by-name/si/signal/module.nix
+++ b/modules/by-name/si/signal/module.nix
@@ -10,7 +10,7 @@ in {
enable = extra_lib.options.mkDefaultEnabled "signal";
};
config = lib.mkIf cfg.enable {
- soispha.impermanence.userDirectories = [
+ vhack.persist.userDirectories.soispha = [
".config/Signal"
];
};
diff --git a/modules/by-name/so/sound/module.nix b/modules/by-name/so/sound/module.nix
index 67187ff3..732a78e2 100644
--- a/modules/by-name/so/sound/module.nix
+++ b/modules/by-name/so/sound/module.nix
@@ -32,8 +32,8 @@ in {
};
users = {
- users.rtkit.uid = config.soispha.constants.ids.uids.rtkit;
- groups.rtkit.gid = config.soispha.constants.ids.gids.rtkit;
+ users.rtkit.uid = config.vhack.constants.ids.uids.rtkit;
+ groups.rtkit.gid = config.vhack.constants.ids.gids.rtkit;
};
# TODO: Find a better way to set the default volume <2024-03-10>
diff --git a/modules/by-name/ss/ssh/module.nix b/modules/by-name/ss/ssh/module.nix
index 39c203fd..6926547e 100644
--- a/modules/by-name/ss/ssh/module.nix
+++ b/modules/by-name/ss/ssh/module.nix
@@ -29,53 +29,19 @@
in {
options.soispha.programs.ssh = {
enable = lib.mkEnableOption "ssh config";
- rootKnownHosts = lib.mkOption {
- type = lib.types.attrsOf lib.types.str;
- description = ''
- An attrset of keys (the domain) and values (the host key.)
- These are only applied to the root user.
- '';
- default = {};
- apply = value:
- builtins.concatStringsSep "\n"
- (lib.attrsets.mapAttrsToList (hostName: hostKey: "${hostName} ${hostKey}") value);
- };
};
config = lib.mkIf cfg.enable {
- home-manager.users = {
- root.programs.ssh = {
- enable = true;
- enableDefaultConfig = false;
-
- settings = {
- "Host *" = mkDefaultMatchBlock (
- builtins.toString (pkgs.writeTextFile {
- name = "root-known-hosts";
- text = cfg.rootKnownHosts;
- })
- );
- "Host *.your-storagebox.de" = {
- # Don't try to authenticate via password for these, because we need to use the
- # forced commands, and they are only provided via the ssh key login.
- # So password login is a footgun (it is, however, valid to use it for non-root
- # use-cases)
- PasswordAuthentication = false;
- };
- };
- };
-
- soispha.programs.ssh = {
- enable = true;
- enableDefaultConfig = false;
+ home-manager.users.soispha.programs.ssh = {
+ enable = true;
+ enableDefaultConfig = false;
- settings = {
- "Host *" = mkDefaultMatchBlock "${config.home-manager.users.soispha.xdg.dataHome}/ssh/known_hosts";
- "Host *.your-storagebox.de" = {
- # Port 22 is for sftp, and when we connect as user, we probably want an
- # interactive shell.
- Port = 23;
- };
+ settings = {
+ "Host *" = mkDefaultMatchBlock "${config.home-manager.users.soispha.xdg.dataHome}/ssh/known_hosts";
+ "Host *.your-storagebox.de" = {
+ # Port 22 is for sftp, and when we connect as user, we probably want an
+ # interactive shell.
+ Port = 23;
};
};
};
diff --git a/modules/by-name/us/users/module.nix b/modules/by-name/us/users/module.nix
index 0f84b58b..b7f6297f 100644
--- a/modules/by-name/us/users/module.nix
+++ b/modules/by-name/us/users/module.nix
@@ -11,6 +11,8 @@
hashedPassword,
uid,
sshKey,
+ groups,
+ enableDeprecatedPlugdev,
}: {
inherit name;
value = {
@@ -18,7 +20,7 @@
isNormalUser = true;
createHome = true;
home = "/home/${name}";
- extraGroups = cfg.groups ++ lib.optional cfg.enableDeprecatedPlugdev "plugdev";
+ extraGroups = groups ++ lib.optional enableDeprecatedPlugdev "plugdev";
openssh.authorizedKeys.keys = [
sshKey
];
diff --git a/modules/by-name/wa/waydroid/module.nix b/modules/by-name/wa/waydroid/module.nix
index a55ccf90..aa4e1911 100644
--- a/modules/by-name/wa/waydroid/module.nix
+++ b/modules/by-name/wa/waydroid/module.nix
@@ -21,7 +21,7 @@ in {
# FIXME: Running `waydroid session start` causes all fuse mounts instances to coredump <2023-09-02>
# Thus this setting must be false.
virtualisation.waydroid.enable = false;
- soispha.impermanence.directories = [
+ vhack.persist.directories = [
"/var/lib/waydroid"
];
};
diff --git a/modules/by-name/xd/xdg/module.nix b/modules/by-name/xd/xdg/module.nix
index 21f18874..92bb3059 100644
--- a/modules/by-name/xd/xdg/module.nix
+++ b/modules/by-name/xd/xdg/module.nix
@@ -49,7 +49,7 @@ in {
};
config = lib.mkIf cfg.enable {
- soispha.impermanance.userDirectories = [
+ vhack.persist.userDirectories.soispha = [
".local/share"
".cache"
diff --git a/modules/common/default.nix b/modules/common/soispha/default.nix
index facc9e9f..9d6038cb 100644
--- a/modules/common/default.nix
+++ b/modules/common/soispha/default.nix
@@ -17,19 +17,34 @@
}: {
# TODO(@bpeetz): Move this file to default options in their respective modules. <2025-05-31>
- home-manager.users = {
- soispha.home = {
- username = "soispha";
- homeDirectory = config.users.users.soispha.home;
- stateVersion = "23.05";
- enableNixpkgsReleaseCheck = true;
+ home-manager.users.soispha.home = {
+ username = "soispha";
+ homeDirectory = config.users.users.soispha.home;
+ stateVersion = "23.05";
+ enableNixpkgsReleaseCheck = true;
+ };
+
+ vhack = {
+ postgresql.enable = false;
+ persist = {
+ enable = true;
+
+ directories = [
+ "/etc/nixos"
+ "/var/lib/systemd"
+ "/var/log"
+ ];
};
- root.home = {
- username = "root";
- homeDirectory = config.users.users.root.home;
- stateVersion = "23.05";
- enableNixpkgsReleaseCheck = true;
+ services.backup = {
+ storagebox = {
+ enable = lib.mkDefault true;
+ user = "u459143-sub1";
+ sshHostKey = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIICf9svRenC/PLKIL9nk6K/pxQgoiFC41wTNvoIncOxs";
+ };
+ local = {
+ enable = lib.mkDefault true;
+ };
};
};
@@ -48,14 +63,6 @@
enable = lib.mkDefault true;
};
home-manager.enable = true;
- impermanence = {
- enable = true;
-
- directories = [
- "/etc/nixos"
- "/var/lib/systemd"
- ];
- };
polkit.enable = true;
xdg.enable = true;
@@ -65,15 +72,6 @@
enable = true;
user = "soispha";
};
- backup = {
- storagebox = {
- enable = lib.mkDefault true;
- user = "u459143-sub1";
- };
- local = {
- enable = lib.mkDefault true;
- };
- };
fwupd.enable = true;
mako.enable = true;
mpd = {
@@ -92,7 +90,6 @@
};
};
ollama.enable = false;
- postgresql.enable = false;
printing.enable = true;
scanning.enable = true;
snapper.enable = true;
diff --git a/modules/common/hooks/default.nix b/modules/common/soispha/hooks/default.nix
index 5b694039..5b694039 100644
--- a/modules/common/hooks/default.nix
+++ b/modules/common/soispha/hooks/default.nix
diff --git a/modules/common/hooks/scripts/sync-git-repo.sh b/modules/common/soispha/hooks/scripts/sync-git-repo.sh
index fe0d0085..fe0d0085 100755
--- a/modules/common/hooks/scripts/sync-git-repo.sh
+++ b/modules/common/soispha/hooks/scripts/sync-git-repo.sh
diff --git a/modules/common/projects.json b/modules/common/soispha/projects.json
index ea14d6e4..ea14d6e4 100644
--- a/modules/common/projects.json
+++ b/modules/common/soispha/projects.json
diff --git a/modules/common/projects.json.license b/modules/common/soispha/projects.json.license
index eae6a84c..eae6a84c 100644
--- a/modules/common/projects.json.license
+++ b/modules/common/soispha/projects.json.license