summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--modules/by-name/co/constants/module.nix125
-rw-r--r--modules/by-name/co/coredump/module.nix6
-rw-r--r--modules/by-name/dh/dhcpcd/module.nix8
-rw-r--r--modules/by-name/fi/fish/module.nix2
-rw-r--r--modules/by-name/im/impermanence/module.nix49
-rw-r--r--modules/by-name/mp/mpv/module.nix3
-rw-r--r--modules/by-name/ns/nscd/module.nix8
-rw-r--r--modules/by-name/nv/nvim/module.nix3
-rw-r--r--modules/by-name/oo/oomd/module.nix8
-rw-r--r--modules/by-name/op/openssh/module.nix57
-rw-r--r--modules/by-name/pi/pipewire/module.nix27
-rw-r--r--modules/by-name/po/postgresql/module.nix19
-rw-r--r--modules/by-name/re/resolvconf/module.nix6
-rw-r--r--modules/by-name/si/signal/module.nix17
-rw-r--r--modules/by-name/us/users/module.nix132
-rw-r--r--modules/by-name/xd/xdg/module.nix9
-rw-r--r--modules/common/default.nix16
-rw-r--r--unflake.nix254
18 files changed, 476 insertions, 273 deletions
diff --git a/modules/by-name/co/constants/module.nix b/modules/by-name/co/constants/module.nix
index 7795c5f4..9de2bce1 100644
--- a/modules/by-name/co/constants/module.nix
+++ b/modules/by-name/co/constants/module.nix
@@ -1,59 +1,114 @@
# This file is inspired by the `nixos/modules/misc/ids.nix`
# file in nixpkgs.
-{lib, ...}: {
- options.soispha.constants = {
+{
+ lib,
+ config,
+ ...
+}: {
+ options.vhack.constants = {
ids.uids = lib.mkOption {
internal = true;
description = ''
- The user IDs used in this nixos config.
+ The user IDs used in the vhack.eu nixos config.
'';
- type = lib.types.attrsOf (lib.types.ints.between 0 1000);
+ type = lib.types.attrsOf (lib.types.ints.between 0 400);
};
ids.gids = lib.mkOption {
internal = true;
description = ''
- The group IDs used in this nixos config.
+ The group IDs used in the vhack.eu nixos config.
'';
- type = lib.types.attrsOf (lib.types.ints.between 0 1000);
+ type = lib.types.attrsOf (lib.types.ints.between 0 400);
};
};
- config.soispha.constants = {
+ config.vhack.constants = {
ids.uids = {
# Keep this sorted with `!sort --numeric-sort --key=2 --field-separator="="`
-
- wpa_supplicant = 986;
- mandb = 991;
- dhcpcd = 992;
- systemd-oom = 993;
- sshd = 994;
- rtkit = 995;
- nscd = 996;
- nm-iodine = 997;
- fwupd-refresh = 998;
- avahi = 999;
+ systemd-coredump = 151; # GROUP
+ opendkim = 221;
+ mautrix-whatsapp = 222;
+ etebase-server = 223;
+ matrix-synapse = 224;
+ rspamd = 225;
+ knot-resolver = 226;
+ peertube = 231;
+ redis-mastodon = 232;
+ redis-peertube = 233;
+ redis-rspamd = 234;
+ redis-stalwart-mail = 235;
+ mastodon = 236;
+ stalwart-mail = 238;
+ acme = 328;
+ dhcpcd = 329;
+ nscd = 330;
+ sshd = 331;
+ systemd-oom = 332;
+ resolvconf = 333; # GROUP
+ nix-sync = 334;
+ nextcloud = 335;
+ redis-nextcloud = 336;
+ taskchampion = 337;
+ stalwart-mail-certificates = 338; # GROUP
+ sharkey = 339;
+ redis-sharkey = 340;
+ grocy = 341;
+ anubis = 342;
+ postfix-tlspol = 343;
+ rocie = 344;
+ fluent-bit = 345;
+ loki = 346;
+ grafana = 347;
+ node-exporter = 348;
+ smartctl-exporter-access = 349;
+ fail2ban = 350;
# As per the NixOS file, the uids should not be greater or equal to 400;
};
- ids.gids = {
+ ids.gids = let
+ inherit (config.vhack.constants.ids) uids;
+ in {
# Please add your groups to the users and inherit them here.
# This avoids having an user/group id mismatch.
-
- wpa_supplicant = 986;
- dhcpcd = 987;
- lpadmin = 988;
- resolvconf = 989;
- systemd-oom = 990;
- systemd-coredump = 991;
- sshd = 992;
- rtkit = 993;
- polkituser = 994;
- nscd = 995;
- mandb = 996;
- msr = 996;
- fwupd-refresh = 997;
- avahi = 998;
- adbusers = 999;
+ inherit
+ (uids)
+ acme
+ anubis
+ dhcpcd
+ etebase-server
+ knot-resolver
+ mastodon
+ matrix-synapse
+ mautrix-whatsapp
+ nextcloud
+ nix-sync
+ nscd
+ opendkim
+ peertube
+ postfix-tlspol
+ redis-mastodon
+ redis-nextcloud
+ redis-peertube
+ redis-rspamd
+ redis-stalwart-mail
+ rspamd
+ sshd
+ stalwart-mail
+ systemd-oom
+ sharkey
+ redis-sharkey
+ grocy
+ systemd-coredump # matches systemd-coredump user
+ resolvconf # This group is not matched to an user?
+ stalwart-mail-certificates # This group is used to connect nginx and stalwart-mail
+ rocie
+ fluent-bit
+ loki
+ grafana
+ node-exporter
+ smartctl-exporter-access
+ fail2ban
+ ;
# The gid should match the uid. Thus should not be >= 400;
};
diff --git a/modules/by-name/co/coredump/module.nix b/modules/by-name/co/coredump/module.nix
index 79e764eb..5b5ed92b 100644
--- a/modules/by-name/co/coredump/module.nix
+++ b/modules/by-name/co/coredump/module.nix
@@ -3,15 +3,15 @@
lib,
...
}: let
- cfg = config.soispha.systemd.coredump;
+ cfg = config.vhack.systemd.coredump;
in {
- options.soispha.systemd.coredump = {
+ options.vhack.systemd.coredump = {
enable = (lib.mkEnableOption "oomd") // {default = config.systemd.coredump.enable;};
};
config = lib.mkIf cfg.enable {
users = {
- groups.systemd-coredump.gid = config.soispha.constants.ids.gids.systemd-coredump;
+ groups.systemd-coredump.gid = config.vhack.constants.ids.gids.systemd-coredump;
};
};
}
diff --git a/modules/by-name/dh/dhcpcd/module.nix b/modules/by-name/dh/dhcpcd/module.nix
index 5fee0100..396550f5 100644
--- a/modules/by-name/dh/dhcpcd/module.nix
+++ b/modules/by-name/dh/dhcpcd/module.nix
@@ -3,19 +3,19 @@
lib,
...
}: let
- cfg = config.soispha.dhcpcd;
+ cfg = config.vhack.dhcpcd;
in {
- options.soispha.dhcpcd = {
+ options.vhack.dhcpcd = {
enable = (lib.mkEnableOption "dhcpcd") // {default = config.networking.dhcpcd.enable;};
};
config = lib.mkIf cfg.enable {
users = {
users.dhcpcd = {
- uid = config.soispha.constants.ids.uids.dhcpcd;
+ uid = config.vhack.constants.ids.uids.dhcpcd;
group = "dhcpcd";
};
- groups.dhcpcd.gid = config.soispha.constants.ids.gids.dhcpcd;
+ groups.dhcpcd.gid = config.vhack.constants.ids.gids.dhcpcd;
};
};
}
diff --git a/modules/by-name/fi/fish/module.nix b/modules/by-name/fi/fish/module.nix
index 590df8b9..a0b383b3 100644
--- a/modules/by-name/fi/fish/module.nix
+++ b/modules/by-name/fi/fish/module.nix
@@ -47,6 +47,8 @@ in {
package = pkgs.fish-patched;
};
+ users.users.soispha.shell = config.programs.fish.package;
+
home-manager.users.soispha = {
home.sessionPath = lib.mkForce [];
diff --git a/modules/by-name/im/impermanence/module.nix b/modules/by-name/im/impermanence/module.nix
index 43943363..be3bacdc 100644
--- a/modules/by-name/im/impermanence/module.nix
+++ b/modules/by-name/im/impermanence/module.nix
@@ -13,9 +13,15 @@
modules,
...
}: let
- cfg = config.soispha.impermanence;
+ cfg = config.vhack.impermanence;
+
+ userDirectories = lib.debug.traceValSeqN 2 (lib.mapAttrs (_: dirs: {
+ directories =
+ dirs;
+ })
+ cfg.userDirectories);
in {
- options.soispha.impermanence = {
+ options.vhack.impermanence = {
enable = lib.mkEnableOption "persisting directories and files with impermanence";
directories = lib.mkOption {
@@ -33,7 +39,7 @@ in {
};
userDirectories = lib.mkOption {
- type = lib.types.listOf (lib.types.either lib.types.str (lib.types.submodule {
+ type = lib.attrsOf lib.types.listOf (lib.types.either lib.types.str (lib.types.submodule {
options = {
directory = lib.mkOption {
type = lib.types.str;
@@ -44,7 +50,7 @@ in {
};
}));
default = [];
- description = "The directories to persist";
+ description = "The directories to persist, for each user.";
};
};
@@ -53,36 +59,15 @@ in {
];
config = lib.mkIf cfg.enable {
- environment.persistence = {
- "/srv" = {
- hideMounts = true;
- inherit (cfg) directories;
-
- users.soispha = {
- directories =
- [
- # TODO: These should all be moved to their respective modules <2024-12-08>
- ".local/share"
+ environment.persistence."/srv" = {
+ hideMounts = true;
+ inherit (cfg) directories;
- ".local/state/nvim"
- ".local/state/mpv"
- ".local/state/wireplumber"
-
- ".config/Signal"
-
- ".cache"
-
- "media"
- "repos"
- "documents"
- ]
- ++ cfg.userDirectories;
- };
+ users = userDirectories;
- files = [
- "/etc/machine-id"
- ];
- };
+ files = [
+ "/etc/machine-id"
+ ];
};
};
}
diff --git a/modules/by-name/mp/mpv/module.nix b/modules/by-name/mp/mpv/module.nix
index 496dcd47..fed2074d 100644
--- a/modules/by-name/mp/mpv/module.nix
+++ b/modules/by-name/mp/mpv/module.nix
@@ -23,6 +23,9 @@ in {
soispha.services.unison.pathsToSync = [
"~/.local/state/mpv"
];
+ soispha.impermanance.userDirectories = [
+ ".local/state/mpv"
+ ];
home-manager.users.soispha = {
programs.mpv = {
diff --git a/modules/by-name/ns/nscd/module.nix b/modules/by-name/ns/nscd/module.nix
index 94ca4874..3db80faf 100644
--- a/modules/by-name/ns/nscd/module.nix
+++ b/modules/by-name/ns/nscd/module.nix
@@ -3,16 +3,16 @@
lib,
...
}: let
- cfg = config.soispha.nscd;
+ cfg = config.vhack.nscd;
in {
- options.soispha.nscd = {
+ options.vhack.nscd = {
enable = (lib.mkEnableOption "nscd") // {default = config.services.nscd.enableNsncd;};
};
config = lib.mkIf cfg.enable {
users = {
- users.nscd.uid = config.soispha.constants.ids.uids.nscd;
- groups.nscd.gid = config.soispha.constants.ids.gids.nscd;
+ users.nscd.uid = config.vhack.constants.ids.uids.nscd;
+ groups.nscd.gid = config.vhack.constants.ids.gids.nscd;
};
};
}
diff --git a/modules/by-name/nv/nvim/module.nix b/modules/by-name/nv/nvim/module.nix
index 860610bd..f6f9ba95 100644
--- a/modules/by-name/nv/nvim/module.nix
+++ b/modules/by-name/nv/nvim/module.nix
@@ -45,6 +45,9 @@ in {
soispha.services.unison.pathsToSync = [
"~/.local/state/nvim"
];
+ soispha.impermanence.userDiretories = [
+ ".local/state/nvim"
+ ];
home-manager.users.soispha = {
imports = [
diff --git a/modules/by-name/oo/oomd/module.nix b/modules/by-name/oo/oomd/module.nix
index ca332939..e0ff5a4a 100644
--- a/modules/by-name/oo/oomd/module.nix
+++ b/modules/by-name/oo/oomd/module.nix
@@ -3,16 +3,16 @@
lib,
...
}: let
- cfg = config.soispha.systemd.oomd;
+ cfg = config.vhack.systemd.oomd;
in {
- options.soispha.systemd.oomd = {
+ options.vhack.systemd.oomd = {
enable = (lib.mkEnableOption "oomd") // {default = config.systemd.oomd.enable;};
};
config = lib.mkIf cfg.enable {
users = {
- users.systemd-oom.uid = config.soispha.constants.ids.uids.systemd-oom;
- groups.systemd-oom.gid = config.soispha.constants.ids.gids.systemd-oom;
+ users.systemd-oom.uid = config.vhack.constants.ids.uids.systemd-oom;
+ groups.systemd-oom.gid = config.vhack.constants.ids.gids.systemd-oom;
};
};
}
diff --git a/modules/by-name/op/openssh/module.nix b/modules/by-name/op/openssh/module.nix
index f77c357b..3182f7ba 100644
--- a/modules/by-name/op/openssh/module.nix
+++ b/modules/by-name/op/openssh/module.nix
@@ -1,42 +1,59 @@
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
{
config,
lib,
libraries,
...
}: let
- cfg = config.soispha.services.openssh;
+ cfg = config.vhack.openssh;
in {
- options.soispha.services.openssh = {
+ options.vhack.openssh = {
enable = libraries.base.options.mkEnable "openssh";
};
config = lib.mkIf cfg.enable {
+ /*
+ FIXME(@bpeetz):
+ This results in a boot error, as the `/var/lib/sshd` directory
+ is only mounted _after_ the stage 2 init and with it the system
+ activation. `agenix` needs the sshd hostkey however to decrypt the
+ secrets and thus we have to ensure that this directory is mounted
+ _before_ the system activation. Alas the only way I see to achieve
+ that is to store the ssh hostkey directly on /srv, which is mounted
+ before (it's marked as 'neededForBoot' after all).
+
+ It should be possible to achieve this with impermanence however,
+ as `/var/log` is mounted in the stage 1 init; The problem is that
+ I have no idea _why_ only this is mounted and nothing else.
+
+
+ vhack.persist.directories = [
+ {
+ directory = "/var/lib/sshd";
+ user = "root";
+ group = "root";
+ mode = "0755";
+ }
+ ];
+ */
+
+ users = {
+ users.sshd.uid = config.vhack.constants.ids.uids.sshd;
+ groups.sshd.gid = config.vhack.constants.ids.gids.sshd;
+ };
+
services.openssh = {
enable = true;
+ settings.PasswordAuthentication = false;
hostKeys = [
{
- path = "/srv/sshd/ssh_host_ed25519_key";
+ # FIXME: Remove the dependency on `/srv` this workaround.
+ # See the explanation for using `/srv` above.
+ path = "/srv/var/lib/sshd/ssh_host_ed25519_key";
+
rounds = 1000;
type = "ed25519";
}
];
-
- settings = {
- PasswordAuthentication = false;
- };
- };
- users = {
- users.sshd.uid = config.soispha.constants.ids.uids.sshd;
- groups.sshd.gid = config.soispha.constants.ids.gids.sshd;
};
};
}
diff --git a/modules/by-name/pi/pipewire/module.nix b/modules/by-name/pi/pipewire/module.nix
new file mode 100644
index 00000000..57610806
--- /dev/null
+++ b/modules/by-name/pi/pipewire/module.nix
@@ -0,0 +1,27 @@
+# nixos-config - My current NixOS configuration
+#
+# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
+# SPDX-License-Identifier: GPL-3.0-or-later
+#
+# This file is part of my nixos-config.
+#
+# You should have received a copy of the License along with this program.
+# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
+{
+ config,
+ lib,
+ libraries,
+ ...
+}: let
+ cfg = config.soispha.pipewire;
+in {
+ options.soispha.pipewire = {
+ enable = libraries.base.options.mkEnable "pipewire and wireplumber";
+ };
+
+ config = lib.mkIf cfg.enable {
+ soispha.impermanence.userDirectories = [
+ ".local/state/wireplumber"
+ ];
+ };
+}
diff --git a/modules/by-name/po/postgresql/module.nix b/modules/by-name/po/postgresql/module.nix
index 5cdf6c77..319c3ac5 100644
--- a/modules/by-name/po/postgresql/module.nix
+++ b/modules/by-name/po/postgresql/module.nix
@@ -1,30 +1,19 @@
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
{
config,
lib,
...
}: let
- cfg = config.soispha.services.postgresql;
+ cfg = config.vhack.postgresql;
in {
- options.soispha.services.postgresql = {
+ options.vhack.postgresql = {
enable = lib.mkEnableOption "postgresql";
};
config = lib.mkIf cfg.enable {
- soispha.impermanence.directories = [
+ vhack.persist.directories = [
"/var/lib/postgresql"
];
- services.postgresql = {
- enable = true;
- };
+ services.postgresql.enable = true;
};
}
diff --git a/modules/by-name/re/resolvconf/module.nix b/modules/by-name/re/resolvconf/module.nix
index e1817e2b..69bd6fbb 100644
--- a/modules/by-name/re/resolvconf/module.nix
+++ b/modules/by-name/re/resolvconf/module.nix
@@ -3,13 +3,13 @@
lib,
...
}: let
- cfg = config.soispha.resolvconf;
+ cfg = config.vhack.resolvconf;
in {
- options.soispha.resolvconf = {
+ options.vhack.resolvconf = {
enable = lib.mkEnableOption "resolvconf" // {default = config.networking.resolvconf.enable;};
};
config = lib.mkIf cfg.enable {
- users.groups.resolvconf.gid = config.soispha.constants.ids.gids.resolvconf;
+ users.groups.resolvconf.gid = config.vhack.constants.ids.gids.resolvconf;
};
}
diff --git a/modules/by-name/si/signal/module.nix b/modules/by-name/si/signal/module.nix
new file mode 100644
index 00000000..0e9c4437
--- /dev/null
+++ b/modules/by-name/si/signal/module.nix
@@ -0,0 +1,17 @@
+{
+ config,
+ lib,
+ libraries,
+ ...
+}: let
+ cfg = config.soispha.signal;
+in {
+ options.soispha.signal = {
+ enable = libraries.base.options.mkEnable "signal";
+ };
+ config = lib.mkIf cfg.enable {
+ soispha.impermanence.userDirectories = [
+ ".config/Signal"
+ ];
+ };
+}
diff --git a/modules/by-name/us/users/module.nix b/modules/by-name/us/users/module.nix
index d9097fe1..0f84b58b 100644
--- a/modules/by-name/us/users/module.nix
+++ b/modules/by-name/us/users/module.nix
@@ -1,80 +1,90 @@
-# nixos-config - My current NixOS configuration
-#
-# Copyright (C) 2025 Benedikt Peetz <benedikt.peetz@b-peetz.de>
-# SPDX-License-Identifier: GPL-3.0-or-later
-#
-# This file is part of my nixos-config.
-#
-# You should have received a copy of the License along with this program.
-# If not, see <https://www.gnu.org/licenses/gpl-3.0.txt>.
{
config,
- pkgs,
lib,
+ pkgs,
...
}: let
- cfg = config.soispha.users;
-in {
- options.soispha.users = {
- enable = lib.mkEnableOption "user set-up for soispha";
+ cfg = config.vhack.users;
- hashedPassword = lib.mkOption {
- type = lib.types.str;
- example = lib.literalExpression "$y$jFT$ONrCqZIJKB7engmfA4orD/$0GO58/wV5wrYWj0cyONhyujZPjFmbT0XKtx2AvXLG0B";
- description = "The hashed password of the user";
- };
- groups = lib.mkOption {
- type = lib.types.listOf lib.types.str;
- default = ["wheel" "audio"];
- description = "The groups the soispha user should be part of";
+ mkUser = {
+ name,
+ hashedPassword,
+ uid,
+ sshKey,
+ }: {
+ inherit name;
+ value = {
+ inherit name uid hashedPassword;
+ isNormalUser = true;
+ createHome = true;
+ home = "/home/${name}";
+ extraGroups = cfg.groups ++ lib.optional cfg.enableDeprecatedPlugdev "plugdev";
+ openssh.authorizedKeys.keys = [
+ sshKey
+ ];
};
-
- # Although deprecated, this helps with old udev rules, that still use this group.
- # TODO: Try to find a way to remove this option (i.e. set it always to false).
- enableDeprecatedPlugdev = lib.mkEnableOption "the deprecated plugdev group for the user";
};
- config = lib.mkIf cfg.enable {
- users = {
- mutableUsers = false;
+ extraUsers = lib.listToAttrs (
+ builtins.map mkUser cfg.users
+ );
+in {
+ options.vhack.users = {
+ enable = lib.mkEnableOption "user setup";
+ users = lib.mkOption {
+ type = lib.types.listOf (lib.types.submodule {
+ options = {
+ name = lib.mkOption {
+ type = lib.types.str;
+ description = "User name";
+ };
- users = {
- soispha = {
- isNormalUser = true;
- home = "/home/soispha";
- createHome = true;
- shell = config.home-manager.users.soispha.programs.fish.package;
- initialHashedPassword = cfg.hashedPassword;
- extraGroups = cfg.groups ++ lib.optional cfg.enableDeprecatedPlugdev "plugdev";
+ groups = lib.mkOption {
+ type = lib.types.listOf lib.types.str;
+ default = ["wheel"];
+ description = "The groups the user should be part of";
+ };
- uid = 1000;
- openssh.authorizedKeys.keys = [
- # TODO: This should be parameterized. <2024-05-16>
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIME4ZVa+IoZf6T3U08JG93i6QIAJ4amm7mkBzO14JSkz"
- ];
- };
+ # Although deprecated, this helps with old udev rules, that still use this group.
+ # TODO: Try to find a way to remove this option (i.e. set it always to false).
+ enableDeprecatedPlugdev = lib.mkEnableOption "the deprecated plugdev group for the user";
- root = {
- hashedPassword = lib.mkForce null; # to lock root
- openssh.authorizedKeys.keys = lib.mkForce [];
+ hashedPassword = lib.mkOption {
+ type = lib.types.str;
+ description = "Hashed user password.";
+ };
+ sshKey = lib.mkOption {
+ type = lib.types.str;
+ description = "public ssh key, for ssh access.";
+ };
+ uid = lib.mkOption {
+ type = lib.types.int;
+ description = "UNIQUE user id, ideally greater than 1000.";
+ };
};
- };
+ });
+ description = "Users";
+ };
+ };
+
+ config = lib.mkIf cfg.enable {
+ programs.fish = {
+ enable = true;
+ useBabelfish = true;
};
- home-manager.users = {
- soispha.home = {
- username = "soispha";
- homeDirectory = config.users.users.soispha.home;
- stateVersion = "23.05";
- enableNixpkgsReleaseCheck = true;
- };
+ users = {
+ mutableUsers = false;
+ defaultUserShell = config.programs.fish.package;
- root.home = {
- username = "root";
- homeDirectory = config.users.users.root.home;
- stateVersion = "23.05";
- enableNixpkgsReleaseCheck = true;
- };
+ users =
+ {
+ root = {
+ hashedPassword = lib.mkForce null; # to lock root
+ openssh.authorizedKeys.keys = lib.mkForce [];
+ };
+ }
+ // extraUsers;
};
};
}
diff --git a/modules/by-name/xd/xdg/module.nix b/modules/by-name/xd/xdg/module.nix
index 9430d82f..1478ebff 100644
--- a/modules/by-name/xd/xdg/module.nix
+++ b/modules/by-name/xd/xdg/module.nix
@@ -49,6 +49,15 @@ in {
};
config = lib.mkIf cfg.enable {
+ soispha.impermanance.userDirectories = [
+ ".local/share"
+ ".cache"
+
+ "media"
+ "repos"
+ "documents"
+ ];
+
home-manager.users.soispha.xdg = {
enable = true;
diff --git a/modules/common/default.nix b/modules/common/default.nix
index 4855c7ab..facc9e9f 100644
--- a/modules/common/default.nix
+++ b/modules/common/default.nix
@@ -17,6 +17,22 @@
}: {
# 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;
+ };
+
+ root.home = {
+ username = "root";
+ homeDirectory = config.users.users.root.home;
+ stateVersion = "23.05";
+ enableNixpkgsReleaseCheck = true;
+ };
+ };
+
soispha = {
age.enable = true;
boot.enable = true;
diff --git a/unflake.nix b/unflake.nix
index 53dfdb06..6c887fa9 100644
--- a/unflake.nix
+++ b/unflake.nix
@@ -3,10 +3,10 @@ let
indirect_deps = {
};
specs = rec {
- unflake_github_cachix_pre-commit-hooks-nix = {
+ unflake_github_cachix_git-hooks-nix = {
type = "github";
owner = "cachix";
- repo = "pre-commit-hooks.nix";
+ repo = "git-hooks.nix";
rev = "1ba1dbfe28738c9a71c266be6efa5b89e75491a9";
lastModified = 1791909798;
narHash = "sha256-VAhpCOmrun/KXimYfR8NM88bciKCui7CqHHhThSzgag=";
@@ -31,9 +31,9 @@ let
type = "github";
owner = "nix-community";
repo = "nix-index-database";
- rev = "1b4d1758fa6053c5d6284254a793134fa602fbff";
- lastModified = 1792309949;
- narHash = "sha256-2DAEMk8YkV8OF6N2uw9jQ016cYoNkcgnq50AShwWxNw=";
+ rev = "93696586f3463024cceb089353539be95a38ae2b";
+ lastModified = 1792915725;
+ narHash = "sha256-v75hPw5NJ+mRRcwUzKi2OQtVSVv1hgq6ceAlPQB2kEE=";
};
unflake_github_nix-community_nixvim_ref_main = {
type = "github";
@@ -55,17 +55,17 @@ let
type = "github";
owner = "nix-community";
repo = "home-manager";
- rev = "975cea5f20d2a5e7e008f68da9043e7bb5c0e928";
- lastModified = 1792600829;
- narHash = "sha256-cGcSsR7pXapHvuwVCqJ1+uttKY74rMgbxktE0WhuGyg=";
+ rev = "095fef2f265c3c0da4fe315efba8f8a04495ab34";
+ lastModified = 1793193205;
+ narHash = "sha256-X6xa6sGA7RnJQuZGbFMC+K+KToWAlBDCCjJXfTwEPsw=";
};
unflake_github_nix-community_impermanence_ref_master = {
type = "github";
owner = "nix-community";
repo = "impermanence";
- rev = "936ced36ecd25fcbd9b4789184b88aa2e4c2a901";
- lastModified = 1792503832;
- narHash = "sha256-WsqPR04nPS1bi5bYva04cJJcJyHw7x/rbaJmoXMzF04=";
+ rev = "fa627f4c8b8e92f58f58a73d99ee4e1304e64eb2";
+ lastModified = 1792739756;
+ narHash = "sha256-s0TeXWG5Ci75Y/Hzon0Z7NrN/fG773Rc54/z6oPFszQ=";
};
unflake_github_nix-community_nixos-generators_ref_master = {
type = "github";
@@ -75,21 +75,21 @@ let
lastModified = 1769813415;
narHash = "sha256-nnVmNNKBi1YiBNPhKclNYDORoHkuKipoz7EtVnXO50A=";
};
- unflake_github_nix-community_lanzaboote_ref_v1-1-0 = {
+ unflake_github_nix-community_lanzaboote_ref_v1-2-0 = {
type = "github";
owner = "nix-community";
repo = "lanzaboote";
- rev = "7c9a54a7f87b4539ddbd8bda09a8a5f5f9361aa9";
- lastModified = 1782141370;
- narHash = "sha256-hqijVSEETttmo8Okql9/LG0Ua34hdciKW1a5zzlj8mU=";
+ rev = "c1c5edd31802d181c8aa2c71588995d93425d650";
+ lastModified = 1790423250;
+ narHash = "sha256-sr4Kfp6yaXUeyKL6n0Y8/ElcR3momIRC20HFc+LF22s=";
};
unflake_github_nix-community_nixpkgs-lib = {
type = "github";
owner = "nix-community";
repo = "nixpkgs.lib";
- rev = "d0f596215fbb1603854039023c281b7c2ed1fd33";
- lastModified = 1792290253;
- narHash = "sha256-Kgup1sH+/4qilwusTsSZ4PVjvVABEu5mrgWcZqZ7ePw=";
+ rev = "bdfc468264d9078f56dcf98d6b4e37f539d37399";
+ lastModified = 1792895748;
+ narHash = "sha256-yp5c8UsnvGcJQ6hQcbXqpfK9qPhH1iNYdoVO6zjNamA=";
};
unflake_github_nix-systems_default_ref_main = {
type = "github";
@@ -99,22 +99,6 @@ let
lastModified = 1791244623;
narHash = "sha256-uuanbkFk8a313Zfrxdcz8Us/yQtaxNnKJtX8v0ZPpd8=";
};
- unflake_github_nixos_nixpkgs_ref_nixos-unstable = {
- type = "github";
- owner = "nixos";
- repo = "nixpkgs";
- rev = "02c087f3fe673c9e317f206a627cb6b910336dbe";
- lastModified = 1792502884;
- narHash = "sha256-IoNisKcGbUjdd45qCqywGMCYmZ5EnkxezvLII0FWwNA=";
- };
- unflake_github_nixos_flake-compat = {
- type = "github";
- owner = "nixos";
- repo = "flake-compat";
- rev = "5edf11c44bc78a0d334f6334cdaf7d60d732daab";
- lastModified = 1767039857;
- narHash = "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=";
- };
unflake_github_numtide_treefmt-nix_ref_main = {
type = "github";
owner = "numtide";
@@ -135,9 +119,9 @@ let
type = "github";
owner = "oxalica";
repo = "rust-overlay";
- rev = "83dd732f2428827f35d997deae108a2ced5125f4";
- lastModified = 1792567368;
- narHash = "sha256-mrM+zFDRO1pI85t2SEq5R739BIq7Nv5XkFtVZK9nkZM=";
+ rev = "afcefd09c71e63663a46e4ce5e09968584f2c709";
+ lastModified = 1793261817;
+ narHash = "sha256-fAvtOccUXHVAH5wXK+ABYUUC47W2qTb9T9EefLcS9ME=";
};
unflake_github_ryantm_agenix_ref_main = {
type = "github";
@@ -147,6 +131,30 @@ let
lastModified = 1792507013;
narHash = "sha256-8tKjSQajD3mUND1GaAuaWTcuyUpgcGsh5V+l4ibzC7U=";
};
+ unflake_github_serokell_deploy-rs = {
+ type = "github";
+ owner = "serokell";
+ repo = "deploy-rs";
+ rev = "1cec0527bd09074bbee6d4461900ce5d58267217";
+ lastModified = 1792446739;
+ narHash = "sha256-eINUtQW48bf9G3EYprthHMll8VDKxaXQP52TZFuwMmE=";
+ };
+ unflake_gitlab_simple-nixos-mailserver_nixos-mailserver_ref_nixos-26-05 = {
+ type = "gitlab";
+ owner = "simple-nixos-mailserver";
+ repo = "nixos-mailserver";
+ rev = "b3e735a82a531e34ea3df3495026ca1d8a4e62fe";
+ lastModified = 1792432400;
+ narHash = "sha256-ayqyWcMFat+/FPyzm6iABDWyQwqKw4dG5yY6tcmN53Y=";
+ };
+ unflake_gitlab_simple-nixos-mailserver_blobs = {
+ type = "gitlab";
+ owner = "simple-nixos-mailserver";
+ repo = "blobs";
+ rev = "2cccdf1ca48316f2cfd1c9a0017e8de5a7156265";
+ lastModified = 1604995301;
+ narHash = "sha256-wcLzgLec6SGJA8fx1OEN1yV/Py5b+U5iyYpksUY/yLw=";
+ };
unflake_git_https---git-foss-syndicate-org-bpeetz-forks-atuin_ref_main = {
type = "git";
url = "https://git.foss-syndicate.org/bpeetz/forks/atuin";
@@ -174,6 +182,15 @@ let
lastModified = 1733053857;
narHash = "sha256-rI1qMFzbXVjfEvmf2OS4upnibXpL21its6cCXqhz86o=";
};
+ unflake_git_https---codeberg-org-vhack-eu-serverphone_ref_prime = {
+ type = "git";
+ url = "https://codeberg.org/vhack.eu/serverphone";
+ ref = "prime";
+ rev = "2ac6ef2b49f4a7b8b0490a068bc2dba6767f0b7d";
+ revCount = 71;
+ lastModified = 1697538431;
+ narHash = "sha256-M2nQ9tuvt++ukXCdr4IhGqrQqpPpmjjlOZeAKjHQung=";
+ };
unflake_git_https---git-foss-syndicate-org-bpeetz-devshells_ref_prime = {
type = "git";
url = "https://git.foss-syndicate.org/bpeetz/devshells";
@@ -192,6 +209,33 @@ let
lastModified = 1753517111;
narHash = "sha256-dv5P3ahDICDacdzEmcyxrtKgbRWhVFiKQaLEz+WniGM=";
};
+ unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-nix_ref_prime = {
+ type = "git";
+ url = "https://git.foss-syndicate.org/bpeetz/rocie/nix";
+ ref = "prime";
+ rev = "0aa914e6b1dd0db0a8e86e2849ae9f8951d431db";
+ revCount = 10;
+ lastModified = 1784410502;
+ narHash = "sha256-clYdP0jhpcNzKjphgF8t4zAgwl303+EgLFXHHQivSjU=";
+ };
+ unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-server_ref_prime = {
+ type = "git";
+ url = "https://git.foss-syndicate.org/bpeetz/rocie/server";
+ ref = "prime";
+ rev = "d9e6dae43477a5c16e7983153f12aa94c674c7dd";
+ revCount = 53;
+ lastModified = 1784410124;
+ narHash = "sha256-krTtnKWMciPVQxKGzeIkHv36BfhA87vGrrgshPoD/s8=";
+ };
+ unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-web-client_ref_prime = {
+ type = "git";
+ url = "https://git.foss-syndicate.org/bpeetz/rocie/web-client";
+ ref = "prime";
+ rev = "64ebbcc28795b7a683a856ae9d97b618dfde24e3";
+ revCount = 19;
+ lastModified = 1784399261;
+ narHash = "sha256-aLsD1F3yQrp3ojlLWi5PpqCQ0+R+g4PhjXZcHUdG5Qo=";
+ };
unflake_git_https---git-foss-syndicate-org-vhack-eu-nix-library_ref_prime = {
type = "git";
url = "https://git.foss-syndicate.org/vhack.eu/nix-library";
@@ -201,35 +245,22 @@ let
lastModified = 1738443114;
narHash = "sha256-IV7n/l3rFoz5UuavrDv0a7IIOPne0jDQVmJAR8bve8U=";
};
- unflake_tarball_https---channels-nixos-org-nixos-26-05-nixexprs-tar-zst = {
- type = "tarball";
- url = "https://releases.nixos.org/nixos/26.05/nixos-26.05.12297.cd4ea8d57de1/nixexprs.tar.zst?lastModified=1792503283";
- rev = "cd4ea8d57de16f4810bc5f14207bac45fbf19f67";
- lastModified = 1792503283;
- narHash = "sha256-OtQ9jaQ9aXZDm61TqykPLZdXJa2NMykYG3d0tbT683U=";
- };
- unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst = {
- type = "tarball";
- url = "https://releases.nixos.org/nixos/unstable/nixos-26.11pre1097682.02c087f3fe67/nixexprs.tar.zst?lastModified=1792502884";
- rev = "02c087f3fe673c9e317f206a627cb6b910336dbe";
- lastModified = 1792502884;
- narHash = "sha256-ij8QUxzTOHovLrNOxVRx+RAhGQFOMsJbji0veiatH5k=";
- };
- unflake_tarball_https---channels-nixos-org-nixpkgs-unstable-nixexprs-tar-zst = {
+ unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst = {
type = "tarball";
- url = "https://releases.nixos.org/nixpkgs/nixpkgs-26.11pre1097770.5adc50831c25/nixexprs.tar.zst?lastModified=1792506237";
- rev = "5adc50831c259f87faeb09ddf930d43597197473";
- lastModified = 1792506237;
- narHash = "sha256-hVMDyAXU0kxRuG3GygbZkzf5x+aBNEC0NYEJ6KwHtD4=";
+ url = "https://releases.nixos.org/nixos/unstable-small/nixos-26.11pre1104173.715d20f576d7/nixexprs.tar.zst?lastModified=1793232920";
+ rev = "715d20f576d746adbf5a871ed37e6e3ee4b280e2";
+ lastModified = 1793232920;
+ narHash = "sha256-1Ejc7LE9v21SZGki/IA7SCoBk8s6qj07+kZXUWS8OKA=";
};
unflake_github_nix-systems_default_ref_main_flake_false = unflake_github_nix-systems_default_ref_main;
- unflake_github_nixos_flake-compat_flake_false = unflake_github_nixos_flake-compat;
+ unflake_gitlab_simple-nixos-mailserver_blobs_flake_false = unflake_gitlab_simple-nixos-mailserver_blobs;
+ unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main_flake_false = unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main;
};
deps = indirect_deps // builtins.mapAttrs (_: spec: builtins.fetchTree spec) specs;
injections = rec {
- unflake_github_cachix_pre-commit-hooks-nix = {
- flake-compat = "unflake_github_nixos_flake-compat_flake_false";
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst";
+ unflake_github_cachix_git-hooks-nix = {
+ flake-compat = "unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main_flake_false";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
};
unflake_github_hercules-ci_flake-parts = {
nixpkgs-lib = "unflake_github_nix-community_nixpkgs-lib";
@@ -237,80 +268,111 @@ let
unflake_github_ipetkov_crane = {
};
unflake_github_nix-community_nix-index-database_ref_main = {
- nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
};
unflake_github_nix-community_nixvim_ref_main = {
flake-parts = "unflake_github_hercules-ci_flake-parts";
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
systems = "unflake_github_nix-systems_default_ref_main_flake_false";
};
unflake_github_nix-community_disko_ref_master = {
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
};
unflake_github_nix-community_home-manager_ref_master = {
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixpkgs-unstable-nixexprs-tar-zst";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
};
unflake_github_nix-community_impermanence_ref_master = {
home-manager = "unflake_github_nix-community_home-manager_ref_master";
- nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
};
unflake_github_nix-community_nixos-generators_ref_master = {
nixlib = "unflake_github_nix-community_nixpkgs-lib";
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
};
- unflake_github_nix-community_lanzaboote_ref_v1-1-0 = {
+ unflake_github_nix-community_lanzaboote_ref_v1-2-0 = {
crane = "unflake_github_ipetkov_crane";
- nixpkgs = "unflake_github_nixos_nixpkgs_ref_nixos-unstable";
- pre-commit = "unflake_github_cachix_pre-commit-hooks-nix";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
+ pre-commit = "unflake_github_cachix_git-hooks-nix";
rust-overlay = "unflake_github_oxalica_rust-overlay";
};
unflake_github_nix-community_nixpkgs-lib = {
};
unflake_github_nix-systems_default_ref_main = {
};
- unflake_github_nixos_nixpkgs_ref_nixos-unstable = {
- };
unflake_github_numtide_treefmt-nix_ref_main = {
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
};
unflake_github_numtide_flake-utils = {
systems = "unflake_github_nix-systems_default_ref_main";
};
unflake_github_oxalica_rust-overlay = {
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
};
unflake_github_ryantm_agenix_ref_main = {
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-26-05-nixexprs-tar-zst";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
+ };
+ unflake_github_serokell_deploy-rs = {
+ flake-compat = "unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main_flake_false";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
+ utils = "unflake_github_numtide_flake-utils";
+ };
+ unflake_gitlab_simple-nixos-mailserver_nixos-mailserver_ref_nixos-26-05 = {
+ blobs = "unflake_gitlab_simple-nixos-mailserver_blobs_flake_false";
+ flake-compat = "unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main_flake_false";
+ git-hooks = "unflake_github_cachix_git-hooks-nix";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
};
unflake_git_https---git-foss-syndicate-org-bpeetz-forks-atuin_ref_main = {
crane = "unflake_github_ipetkov_crane";
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
};
unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main = {
};
unflake_git_https---codeberg-org-bpeetz-flake-templates_ref_prime = {
flake-utils = "unflake_github_numtide_flake-utils";
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
systems = "unflake_github_nix-systems_default_ref_main";
treefmt-nix = "unflake_github_numtide_treefmt-nix_ref_main";
};
+ unflake_git_https---codeberg-org-vhack-eu-serverphone_ref_prime = {
+ crane = "unflake_github_ipetkov_crane";
+ flake-compat = "unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main_flake_false";
+ flake-utils = "unflake_github_numtide_flake-utils";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
+ rust-overlay = "unflake_github_oxalica_rust-overlay";
+ systems = "unflake_github_nix-systems_default_ref_main";
+ };
unflake_git_https---git-foss-syndicate-org-bpeetz-devshells_ref_prime = {
library = "unflake_git_https---git-foss-syndicate-org-vhack-eu-nix-library_ref_prime";
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
};
unflake_git_https---git-foss-syndicate-org-bpeetz-qmk_layout_ref_prime = {
flake-utils = "unflake_github_numtide_flake-utils";
- nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
systems = "unflake_github_nix-systems_default_ref_main";
treefmt-nix = "unflake_github_numtide_treefmt-nix_ref_main";
};
- unflake_git_https---git-foss-syndicate-org-vhack-eu-nix-library_ref_prime = {
+ unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-nix_ref_prime = {
+ crane = "unflake_github_ipetkov_crane";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
+ rocie-mobile = "unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-web-client_ref_prime";
+ rocie-server = "unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-server_ref_prime";
+ rust-overlay = "unflake_github_oxalica_rust-overlay";
+ treefmt-nix = "unflake_github_numtide_treefmt-nix_ref_main";
+ };
+ unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-server_ref_prime = {
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
+ treefmt-nix = "unflake_github_numtide_treefmt-nix_ref_main";
};
- unflake_tarball_https---channels-nixos-org-nixos-26-05-nixexprs-tar-zst = {
+ unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-web-client_ref_prime = {
+ crane = "unflake_github_ipetkov_crane";
+ nixpkgs = "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst";
+ rust-overlay = "unflake_github_oxalica_rust-overlay";
+ treefmt-nix = "unflake_github_numtide_treefmt-nix_ref_main";
};
- unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst = {
+ unflake_git_https---git-foss-syndicate-org-vhack-eu-nix-library_ref_prime = {
};
- unflake_tarball_https---channels-nixos-org-nixpkgs-unstable-nixexprs-tar-zst = {
+ unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst = {
};
};
inject = name: flake_path: subdir:
@@ -328,7 +390,7 @@ let
};
in self;
universe = rec {
- unflake_github_cachix_pre-commit-hooks-nix = inject "unflake_github_cachix_pre-commit-hooks-nix" "flake.nix" "";
+ unflake_github_cachix_git-hooks-nix = inject "unflake_github_cachix_git-hooks-nix" "flake.nix" "";
unflake_github_hercules-ci_flake-parts = inject "unflake_github_hercules-ci_flake-parts" "flake.nix" "";
unflake_github_ipetkov_crane = inject "unflake_github_ipetkov_crane" "flake.nix" "";
unflake_github_nix-community_nix-index-database_ref_main = inject "unflake_github_nix-community_nix-index-database_ref_main" "flake.nix" "";
@@ -337,41 +399,49 @@ let
unflake_github_nix-community_home-manager_ref_master = inject "unflake_github_nix-community_home-manager_ref_master" "flake.nix" "";
unflake_github_nix-community_impermanence_ref_master = inject "unflake_github_nix-community_impermanence_ref_master" "flake.nix" "";
unflake_github_nix-community_nixos-generators_ref_master = inject "unflake_github_nix-community_nixos-generators_ref_master" "flake.nix" "";
- unflake_github_nix-community_lanzaboote_ref_v1-1-0 = inject "unflake_github_nix-community_lanzaboote_ref_v1-1-0" "flake.nix" "";
+ unflake_github_nix-community_lanzaboote_ref_v1-2-0 = inject "unflake_github_nix-community_lanzaboote_ref_v1-2-0" "flake.nix" "";
unflake_github_nix-community_nixpkgs-lib = inject "unflake_github_nix-community_nixpkgs-lib" "flake.nix" "";
unflake_github_nix-systems_default_ref_main_flake_false = deps.unflake_github_nix-systems_default_ref_main_flake_false;
unflake_github_nix-systems_default_ref_main = inject "unflake_github_nix-systems_default_ref_main" "flake.nix" "";
- unflake_github_nixos_nixpkgs_ref_nixos-unstable = inject "unflake_github_nixos_nixpkgs_ref_nixos-unstable" "flake.nix" "";
- unflake_github_nixos_flake-compat_flake_false = deps.unflake_github_nixos_flake-compat_flake_false;
unflake_github_numtide_treefmt-nix_ref_main = inject "unflake_github_numtide_treefmt-nix_ref_main" "flake.nix" "";
unflake_github_numtide_flake-utils = inject "unflake_github_numtide_flake-utils" "flake.nix" "";
unflake_github_oxalica_rust-overlay = inject "unflake_github_oxalica_rust-overlay" "flake.nix" "";
unflake_github_ryantm_agenix_ref_main = inject "unflake_github_ryantm_agenix_ref_main" "flake.nix" "";
+ unflake_github_serokell_deploy-rs = inject "unflake_github_serokell_deploy-rs" "flake.nix" "";
+ unflake_gitlab_simple-nixos-mailserver_nixos-mailserver_ref_nixos-26-05 = inject "unflake_gitlab_simple-nixos-mailserver_nixos-mailserver_ref_nixos-26-05" "flake.nix" "";
+ unflake_gitlab_simple-nixos-mailserver_blobs_flake_false = deps.unflake_gitlab_simple-nixos-mailserver_blobs_flake_false;
unflake_git_https---git-foss-syndicate-org-bpeetz-forks-atuin_ref_main = inject "unflake_git_https---git-foss-syndicate-org-bpeetz-forks-atuin_ref_main" "flake.nix" "";
+ unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main_flake_false = deps.unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main_flake_false;
unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main = inject "unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main" "flake.nix" "";
unflake_git_https---codeberg-org-bpeetz-flake-templates_ref_prime = inject "unflake_git_https---codeberg-org-bpeetz-flake-templates_ref_prime" "flake.nix" "";
+ unflake_git_https---codeberg-org-vhack-eu-serverphone_ref_prime = inject "unflake_git_https---codeberg-org-vhack-eu-serverphone_ref_prime" "flake.nix" "";
unflake_git_https---git-foss-syndicate-org-bpeetz-devshells_ref_prime = inject "unflake_git_https---git-foss-syndicate-org-bpeetz-devshells_ref_prime" "flake.nix" "";
unflake_git_https---git-foss-syndicate-org-bpeetz-qmk_layout_ref_prime = inject "unflake_git_https---git-foss-syndicate-org-bpeetz-qmk_layout_ref_prime" "flake.nix" "";
+ unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-nix_ref_prime = inject "unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-nix_ref_prime" "flake.nix" "";
+ unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-server_ref_prime = inject "unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-server_ref_prime" "flake.nix" "";
+ unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-web-client_ref_prime = inject "unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-web-client_ref_prime" "flake.nix" "";
unflake_git_https---git-foss-syndicate-org-vhack-eu-nix-library_ref_prime = inject "unflake_git_https---git-foss-syndicate-org-vhack-eu-nix-library_ref_prime" "flake.nix" "";
- unflake_tarball_https---channels-nixos-org-nixos-26-05-nixexprs-tar-zst = inject "unflake_tarball_https---channels-nixos-org-nixos-26-05-nixexprs-tar-zst" "flake.nix" "";
- unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst = inject "unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst" "flake.nix" "";
- unflake_tarball_https---channels-nixos-org-nixpkgs-unstable-nixexprs-tar-zst = inject "unflake_tarball_https---channels-nixos-org-nixpkgs-unstable-nixexprs-tar-zst" "flake.nix" "";
+ unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst = inject "unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst" "flake.nix" "";
};
inputs = {
agenix = universe.unflake_github_ryantm_agenix_ref_main;
+ deploy-rs = universe.unflake_github_serokell_deploy-rs;
devshells = universe.unflake_git_https---git-foss-syndicate-org-bpeetz-devshells_ref_prime;
disko = universe.unflake_github_nix-community_disko_ref_master;
flake-compat = universe.unflake_git_https---git-lix-systems-lix-project-flake-compat_ref_main;
home-manager = universe.unflake_github_nix-community_home-manager_ref_master;
impermanence = universe.unflake_github_nix-community_impermanence_ref_master;
- lanzaboote = universe.unflake_github_nix-community_lanzaboote_ref_v1-1-0;
+ lanzaboote = universe.unflake_github_nix-community_lanzaboote_ref_v1-2-0;
library = universe.unflake_git_https---git-foss-syndicate-org-vhack-eu-nix-library_ref_prime;
nix-index-database = universe.unflake_github_nix-community_nix-index-database_ref_main;
nixos-generators = universe.unflake_github_nix-community_nixos-generators_ref_master;
- nixpkgs = universe.unflake_tarball_https---channels-nixos-org-nixos-unstable-nixexprs-tar-zst;
- nixpkgs-stable = universe.unflake_tarball_https---channels-nixos-org-nixos-26-05-nixexprs-tar-zst;
+ nixpkgs-stable = universe.unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst;
+ nixpkgs-unstable = universe.unflake_tarball_https---channels-nixos-org-nixos-unstable-small-nixexprs-tar-zst;
nixvim = universe.unflake_github_nix-community_nixvim_ref_main;
qmk_firmware = universe.unflake_git_https---git-foss-syndicate-org-bpeetz-qmk_layout_ref_prime;
+ rocie = universe.unflake_git_https---git-foss-syndicate-org-bpeetz-rocie-nix_ref_prime;
+ serverphone = universe.unflake_git_https---codeberg-org-vhack-eu-serverphone_ref_prime;
+ simple-nixos-mailserver = universe.unflake_gitlab_simple-nixos-mailserver_nixos-mailserver_ref_nixos-26-05;
templates = universe.unflake_git_https---codeberg-org-bpeetz-flake-templates_ref_prime;
treefmt-nix = universe.unflake_github_numtide_treefmt-nix_ref_main;
turtle = universe.unflake_git_https---git-foss-syndicate-org-bpeetz-forks-atuin_ref_main;