Compare commits
5 Commits
15fcf88da2
...
2cdfaa3ed7
| Author | SHA1 | Date | |
|---|---|---|---|
| 2cdfaa3ed7 | |||
| 32cb8955eb | |||
| d9b82bbf2b | |||
| 6f0c6b9c31 | |||
| bab8bdecb7 |
@@ -212,17 +212,11 @@
|
|||||||
# https://import-tree.oeiuwq.com/guides/filtering/ ). filterNot composes AND with that.
|
# https://import-tree.oeiuwq.com/guides/filtering/ ). filterNot composes AND with that.
|
||||||
# Skip /package/ and /packages/ (callPackage colocation).
|
# Skip /package/ and /packages/ (callPackage colocation).
|
||||||
# Avoid a global "/home-manager/" filter — it would drop modules/ssh/home-manager/.
|
# Avoid a global "/home-manager/" filter — it would drop modules/ssh/home-manager/.
|
||||||
modulesTree =
|
modulesTree = lib.pipe inputs.import-tree [
|
||||||
lib.pipe inputs.import-tree [
|
(it: it.withLib lib)
|
||||||
(it: it.withLib lib)
|
(it: it.filterNot (p: lib.hasInfix "/package/" p || lib.hasInfix "/packages/" p))
|
||||||
(it:
|
(it: it ./modules)
|
||||||
it.filterNot (
|
];
|
||||||
p:
|
|
||||||
lib.hasInfix "/package/" p
|
|
||||||
|| lib.hasInfix "/packages/" p
|
|
||||||
))
|
|
||||||
(it: it ./modules)
|
|
||||||
];
|
|
||||||
in
|
in
|
||||||
inputs.flake-parts.lib.mkFlake { inherit inputs; } modulesTree;
|
inputs.flake-parts.lib.mkFlake { inherit inputs; } modulesTree;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,5 +15,5 @@ lib.mkIf (!config.chiasson.system.gpuPassthru.enable) {
|
|||||||
package = config.boot.kernelPackages.nvidiaPackages.latest;
|
package = config.boot.kernelPackages.nvidiaPackages.latest;
|
||||||
};
|
};
|
||||||
|
|
||||||
hardware.nvidia-container-toolkit.enable = true;
|
hardware.nvidia-container-toolkit.enable = lib.mkDefault true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,44 @@
|
|||||||
|
# VM self-test overrides — used with nixos-rebuild build-vm to try the system
|
||||||
|
# in a VM without rebuilding/rebooting the host.
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
{
|
||||||
|
virtualisation.vmVariant = {
|
||||||
|
config = {
|
||||||
|
|
||||||
|
|
||||||
|
hardware.nvidia-container-toolkit.enable = lib.mkForce false;
|
||||||
|
hardware.nvidia.package = lib.mkForce null;
|
||||||
|
services.xserver.videoDrivers = lib.mkForce [ "modesetting" ];
|
||||||
|
|
||||||
|
virtualisation = {
|
||||||
|
memorySize = 4096;
|
||||||
|
cores = 3;
|
||||||
|
graphics = true;
|
||||||
|
qemu.options = [
|
||||||
|
"-device virtio-vga-gl"
|
||||||
|
"-display gtk,gl=on"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.olivier = {
|
||||||
|
initialPassword = lib.mkForce "";
|
||||||
|
hashedPasswordFile = lib.mkForce null; # Disable the secret file dependency
|
||||||
|
};
|
||||||
|
|
||||||
|
# Force greetd's `initial_session` directly. We can't rely on
|
||||||
|
# `services.displayManager.autoLogin` because DankGreeter's flake module
|
||||||
|
# (inputs.dms.nixosModules.greeter) aggressively overwrites
|
||||||
|
# `services.greetd.settings`, clobbering whatever the displayManager
|
||||||
|
# module injects for auto-login. mkForce on `initial_session` alone wins
|
||||||
|
# against DMS without touching `default_session` (DankGreeter), so a
|
||||||
|
# manual logout in the VM still shows DankGreeter. VM-only — host build
|
||||||
|
# is unaffected because this whole block lives under vmVariant.
|
||||||
|
services.greetd.settings.initial_session = lib.mkForce {
|
||||||
|
command = "${pkgs.niri}/bin/niri-session";
|
||||||
|
user = "olivier";
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [ pkgs.grc ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -15,6 +15,7 @@
|
|||||||
self.nixosModules."client-services"
|
self.nixosModules."client-services"
|
||||||
./_private/platform.nix
|
./_private/platform.nix
|
||||||
./_private/nvidia.nix
|
./_private/nvidia.nix
|
||||||
|
./_private/vm-self.nix
|
||||||
./_private/gpu-passthru.nix
|
./_private/gpu-passthru.nix
|
||||||
./_private/peripherals.nix
|
./_private/peripherals.nix
|
||||||
# ./_private/printing-epson.nix
|
# ./_private/printing-epson.nix
|
||||||
|
|||||||
@@ -15,7 +15,7 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
#TODO[epic=Moderate] Check if git-crypt should belong in desktop-home-base.
|
#TODO[epic=Moderate] Check if git-crypt should belong in desktop-home-base.
|
||||||
home.packages = [ pkgs.git-crypt ];
|
home.packages = [ pkgs.git-crypt pkgs.feishin ];
|
||||||
|
|
||||||
chiasson.home = {
|
chiasson.home = {
|
||||||
shell = {
|
shell = {
|
||||||
|
|||||||
@@ -19,10 +19,6 @@
|
|||||||
./_private/firmware.nix
|
./_private/firmware.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
sops.secrets."tailscale/auth-key" = {
|
|
||||||
mode = "0400";
|
|
||||||
};
|
|
||||||
|
|
||||||
chiasson.system.librepods.enable = true;
|
chiasson.system.librepods.enable = true;
|
||||||
chiasson.system.palera1n.enable = true;
|
chiasson.system.palera1n.enable = true;
|
||||||
|
|
||||||
@@ -76,11 +72,6 @@
|
|||||||
networking = {
|
networking = {
|
||||||
hostName = "t2mbp";
|
hostName = "t2mbp";
|
||||||
networkManager.enable = true;
|
networkManager.enable = true;
|
||||||
tailscale = {
|
|
||||||
enable = true;
|
|
||||||
authKeyFile = config.sops.secrets."tailscale/auth-key".path;
|
|
||||||
acceptRoutes = true;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user