modularized into machine
This commit is contained in:
parent
33876f6bc9
commit
fbaa38c1a5
9
modules/common/README.md
Normal file
9
modules/common/README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Shared configurations
|
||||||
|
|
||||||
|
Developed and designed by Wyatt J. Miller, 2024
|
||||||
|
|
||||||
|
Licensed by the Mozilla Public License v2
|
||||||
|
|
||||||
|
## Synopsis
|
||||||
|
|
||||||
|
This is the directory that holds shared configuration files amongst computers that I own. They are called by the root `flake.nix` file.
|
9
modules/machine/cloud/README.md
Normal file
9
modules/machine/cloud/README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Machine specific configuration - cloud
|
||||||
|
|
||||||
|
Designed and developed by Wyatt J. Miller, 2024
|
||||||
|
|
||||||
|
Licensed by the Mozilla Public License v2
|
||||||
|
|
||||||
|
## Synopsis
|
||||||
|
|
||||||
|
This directory is where the machine-specific configuration files for hostname `cloud` live, my primary desktop. These files get called by the root `flake.nix` file.
|
@ -1,7 +1,4 @@
|
|||||||
{
|
{
|
||||||
inputs,
|
|
||||||
config,
|
|
||||||
lib,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
userName,
|
userName,
|
||||||
...
|
...
|
||||||
@ -15,9 +12,9 @@
|
|||||||
|
|
||||||
# Install and enable common graphics drivers
|
# Install and enable common graphics drivers
|
||||||
hardware.opengl = {
|
hardware.opengl = {
|
||||||
driSupport = true;
|
# driSupport = true;
|
||||||
extraPackages = with pkgs; [
|
extraPackages = with pkgs; [
|
||||||
mesa_drivers
|
mesa
|
||||||
libvdpau-va-gl
|
libvdpau-va-gl
|
||||||
libva
|
libva
|
||||||
libva-utils
|
libva-utils
|
||||||
@ -63,6 +60,10 @@
|
|||||||
git
|
git
|
||||||
wireguard-tools
|
wireguard-tools
|
||||||
podman
|
podman
|
||||||
|
buildah
|
||||||
|
podman-tui
|
||||||
|
podman-compose
|
||||||
|
podman-desktop
|
||||||
toolbox
|
toolbox
|
||||||
grim
|
grim
|
||||||
slurp
|
slurp
|
||||||
@ -72,7 +73,8 @@
|
|||||||
firefox
|
firefox
|
||||||
wttrbar
|
wttrbar
|
||||||
cliphist
|
cliphist
|
||||||
xivlauncher # run with this: gamescope -f -w 2560 -h 1440 -b -- gamemoderun %command%
|
xivlauncher
|
||||||
|
patchelf
|
||||||
];
|
];
|
||||||
|
|
||||||
# Install system-wide fonts
|
# Install system-wide fonts
|
||||||
@ -127,14 +129,20 @@
|
|||||||
programs.gamescope.enable = true;
|
programs.gamescope.enable = true;
|
||||||
|
|
||||||
# Add username to groups "wheel" and "video" - more may be added here later
|
# Add username to groups "wheel" and "video" - more may be added here later
|
||||||
users.users.${userName}.extraGroups = ["wheel" "video" "gamemode"];
|
users.users.${userName}.extraGroups = ["wheel" "video" "gamemode" "podman" "network"];
|
||||||
|
|
||||||
# XDG stuff
|
# XDG stuff
|
||||||
xdg = {
|
xdg = {
|
||||||
portal = {
|
portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wlr.enable = true;
|
wlr.enable = true;
|
||||||
config = {};
|
config = {
|
||||||
|
common = {
|
||||||
|
default = [
|
||||||
|
"wlr"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
xdgOpenUsePortal = true;
|
xdgOpenUsePortal = true;
|
||||||
extraPortals = with pkgs; [
|
extraPortals = with pkgs; [
|
||||||
xdg-desktop-portal-wlr
|
xdg-desktop-portal-wlr
|
||||||
@ -143,6 +151,8 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# environment.
|
||||||
|
|
||||||
# Firewall stuff not allowed in common user and network creation
|
# Firewall stuff not allowed in common user and network creation
|
||||||
networking.firewall.enable = true; # VERY important, do not touch
|
networking.firewall.enable = true; # VERY important, do not touch
|
||||||
# networking.firewall.allowedTCPPorts = [];
|
# networking.firewall.allowedTCPPorts = [];
|
||||||
@ -177,5 +187,18 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# Enable Podman (OCI containers)
|
||||||
|
virtualisation.podman = {
|
||||||
|
enable = true;
|
||||||
|
dockerSocket.enable = true;
|
||||||
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services.shairport-sync = {
|
||||||
|
enable = pkgs.stdenv.isLinux;
|
||||||
|
openFirewall = pkgs.stdenv.isLinux;
|
||||||
|
arguments = "-v -o pw";
|
||||||
|
};
|
||||||
|
|
||||||
system.stateVersion = "24.05";
|
system.stateVersion = "24.05";
|
||||||
}
|
}
|
9
modules/machine/ixion/README.md
Normal file
9
modules/machine/ixion/README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Machine specific configuration - ixion
|
||||||
|
|
||||||
|
Designed and developed by Wyatt J. Miller, 2024
|
||||||
|
|
||||||
|
Licensed by the Mozilla Public License v2
|
||||||
|
|
||||||
|
## Synopsis
|
||||||
|
|
||||||
|
This directory is currently empty so, currently, there's nothing to see! However, this is where the machine-specific configuration files for hostname `ixion` live, my storage, status, game, and media server. These files get called by the root `flake.nix` file.
|
9
modules/machine/sephiroth/README.md
Normal file
9
modules/machine/sephiroth/README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Machine specific configuration - sephiroth
|
||||||
|
|
||||||
|
Designed and developed by Wyatt J. Miller, 2024
|
||||||
|
|
||||||
|
Licensed by the Mozilla Public License v2
|
||||||
|
|
||||||
|
## Synopsis
|
||||||
|
|
||||||
|
This directory is where the machine-specific configuration files for hostname `sephiroth` live, my primary laptop. These files get called by the root `flake.nix` file.
|
@ -1,4 +1,4 @@
|
|||||||
{pkgs, ...}: {
|
{pkgs, hostname, ...}: {
|
||||||
system = {
|
system = {
|
||||||
# activationScripts are executed every time you boot the system or run `nixos-rebuild` / `darwin-rebuild`.
|
# activationScripts are executed every time you boot the system or run `nixos-rebuild` / `darwin-rebuild`.
|
||||||
activationScripts.postUserActivation.text = ''
|
activationScripts.postUserActivation.text = ''
|
||||||
@ -145,6 +145,14 @@
|
|||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
networking.hostName = hostname;
|
||||||
|
networking.computerName = hostname;
|
||||||
|
networking.firewall.enable = true; # VERY important, do not touch
|
||||||
|
networking.firewall.allowedTCPPorts = [];
|
||||||
|
networking.firewall.allowedUDPPorts = [];
|
||||||
|
system.defaults.smb.NetBIOSName = hostname;
|
||||||
|
|
||||||
# Add ability to used TouchID for sudo authentication
|
# Add ability to used TouchID for sudo authentication
|
||||||
security.pam.enableSudoTouchIdAuth = true;
|
security.pam.enableSudoTouchIdAuth = true;
|
||||||
|
|
9
modules/machine/valefor/README.md
Normal file
9
modules/machine/valefor/README.md
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
# Machine specific configuration - valefor
|
||||||
|
|
||||||
|
Designed and developed by Wyatt J. Miller, 2024
|
||||||
|
|
||||||
|
Licensed by the Mozilla Public License v2
|
||||||
|
|
||||||
|
## Synopsis
|
||||||
|
|
||||||
|
This directory is currently empty so, currently, there's nothing to see! However, this is where the machine-specific configuration files for hostname `valefor` live, my apartment appliance server. These files get called by the root `flake.nix` file.
|
Loading…
Reference in New Issue
Block a user