Add incus, add completions for nushell
This commit is contained in:
@@ -1,10 +1,17 @@
|
||||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.dov.gaming;
|
||||
in {
|
||||
in
|
||||
{
|
||||
options.dov.gaming = {
|
||||
enable = mkEnableOption "gaming config";
|
||||
};
|
||||
@@ -15,5 +22,30 @@ in {
|
||||
protontricks.enable = true;
|
||||
extraCompatPackages = with pkgs; [ proton-ge-bin ];
|
||||
};
|
||||
|
||||
home-manager.users.${username}.config = {
|
||||
programs.lutris = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
umu-launcher
|
||||
winetricks
|
||||
];
|
||||
protonPackages = [ pkgs.proton-ge-bin ];
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
umu-launcher
|
||||
];
|
||||
|
||||
home.file.".local/share/Steam/compatibilitytools.d/GE-Proton" = {
|
||||
source = "${pkgs.proton-ge-bin.steamcompattool}";
|
||||
};
|
||||
};
|
||||
|
||||
users.users."${username}" = {
|
||||
packages = with pkgs; [
|
||||
prismlauncher
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
||||
@@ -4,5 +4,6 @@
|
||||
imports = [
|
||||
./podman
|
||||
./docker
|
||||
./incus
|
||||
];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,72 @@
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
username,
|
||||
...
|
||||
}:
|
||||
|
||||
with lib;
|
||||
|
||||
let
|
||||
cfg = config.dov.virtualisation.incus;
|
||||
in
|
||||
{
|
||||
options.dov.virtualisation.incus = {
|
||||
enable = mkEnableOption "incus config";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
networking.nftables.enable = true;
|
||||
networking.firewall.interfaces.incusbr0.allowedTCPPorts = [
|
||||
53
|
||||
67
|
||||
];
|
||||
networking.firewall.interfaces.incusbr0.allowedUDPPorts = [
|
||||
53
|
||||
67
|
||||
];
|
||||
|
||||
virtualisation.incus = {
|
||||
enable = true;
|
||||
|
||||
preseed = {
|
||||
storage_pools = [
|
||||
{
|
||||
name = "default";
|
||||
driver = "dir";
|
||||
}
|
||||
];
|
||||
networks = [
|
||||
{
|
||||
name = "incusbr0";
|
||||
type = "bridge";
|
||||
config = {
|
||||
"ipv4.address" = "auto";
|
||||
"ipv4.nat" = "true";
|
||||
};
|
||||
}
|
||||
];
|
||||
profiles = [
|
||||
{
|
||||
name = "default";
|
||||
devices = {
|
||||
eth0 = {
|
||||
name = "eth0";
|
||||
network = "incusbr0";
|
||||
type = "nic";
|
||||
};
|
||||
root = {
|
||||
path = "/";
|
||||
pool = "default";
|
||||
type = "disk";
|
||||
};
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
users.users.${username}.extraGroups = [ "incus-admin" ];
|
||||
};
|
||||
}
|
||||
@@ -46,7 +46,7 @@ in {
|
||||
};
|
||||
};
|
||||
|
||||
home-manager.users.fujin.config = {
|
||||
home-manager.users.${username}.config = {
|
||||
home.packages = with pkgs; [
|
||||
awww
|
||||
pipewire
|
||||
|
||||
Reference in New Issue
Block a user