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,
|
||||
userName,
|
||||
...
|
||||
@ -15,9 +12,9 @@
|
||||
|
||||
# Install and enable common graphics drivers
|
||||
hardware.opengl = {
|
||||
driSupport = true;
|
||||
# driSupport = true;
|
||||
extraPackages = with pkgs; [
|
||||
mesa_drivers
|
||||
mesa
|
||||
libvdpau-va-gl
|
||||
libva
|
||||
libva-utils
|
||||
@ -63,6 +60,10 @@
|
||||
git
|
||||
wireguard-tools
|
||||
podman
|
||||
buildah
|
||||
podman-tui
|
||||
podman-compose
|
||||
podman-desktop
|
||||
toolbox
|
||||
grim
|
||||
slurp
|
||||
@ -72,7 +73,8 @@
|
||||
firefox
|
||||
wttrbar
|
||||
cliphist
|
||||
xivlauncher # run with this: gamescope -f -w 2560 -h 1440 -b -- gamemoderun %command%
|
||||
xivlauncher
|
||||
patchelf
|
||||
];
|
||||
|
||||
# Install system-wide fonts
|
||||
@ -127,14 +129,20 @@
|
||||
programs.gamescope.enable = true;
|
||||
|
||||
# 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 = {
|
||||
portal = {
|
||||
enable = true;
|
||||
wlr.enable = true;
|
||||
config = {};
|
||||
config = {
|
||||
common = {
|
||||
default = [
|
||||
"wlr"
|
||||
];
|
||||
};
|
||||
};
|
||||
xdgOpenUsePortal = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
@ -143,6 +151,8 @@
|
||||
};
|
||||
};
|
||||
|
||||
# environment.
|
||||
|
||||
# Firewall stuff not allowed in common user and network creation
|
||||
networking.firewall.enable = true; # VERY important, do not touch
|
||||
# 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";
|
||||
}
|
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 = {
|
||||
# activationScripts are executed every time you boot the system or run `nixos-rebuild` / `darwin-rebuild`.
|
||||
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
|
||||
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