feat: Add host sydpc

My, this is a lot TwT.  Much work was batched as part of the transition from
guix-rebound to nixos-testbed/sydpc.

- Discord/Vesktop module & config.
- Syncthing setup.
- Assorted Emacs changes.
- Waybar config.
- Niri config.
- Steam config.
- Some MPD.
- Stylix config.
- Files/Impermanence things.
- Enable Ghostty.
- God knows what else.
This commit is contained in:
Madeleine Sydney
2025-03-17 12:34:26 -06:00
parent 4464e7cec1
commit c48a93ad10
40 changed files with 2632 additions and 179 deletions

13
modules/nixos/niri.nix Normal file
View File

@@ -0,0 +1,13 @@
{ config, lib, pkgs, ... }:
let
cfg = config.sydnix.niri;
in {
options.sydnix.niri.enable =
lib.mkEnableOption "Niri";
config = lib.mkIf cfg.enable {
programs.niri.enable = true;
};
}

32
modules/nixos/steam.nix Normal file
View File

@@ -0,0 +1,32 @@
{ config, pkgs, lib, inputs, system, ... }:
let cfg = config.sydnix.steam;
in {
options.sydnix.steam = {
enable = lib.mkEnableOption "Steam";
};
config = lib.mkIf cfg.enable {
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
gamescopeSession.enable = true;
extraPackages = with pkgs; [
mono gtk3 gtk3-x11 libgdiplus zlib
];
};
programs.gamemode = {
enable = true;
enableRenice = true;
};
# This fixes the "glXChooseVisual failed" bug, see:
# https://github.com/NixOS/nixpkgs/issues/47932.
hardware.graphics = {
enable = true;
enable32Bit = true;
};
};
}

35
modules/nixos/stylix.nix Normal file
View File

@@ -0,0 +1,35 @@
{ config, lib, pkgs, ... }:
let
cfg = config.sydnix.stylix;
in {
options.sydnix.stylix.enable =
lib.mkEnableOption "Stylix";
config = lib.mkIf cfg.enable {
stylix = {
enable = true;
base16Scheme = "${pkgs.base16-schemes}/share/themes/kanagawa.yaml";
image = ./stylix/kanagawa.jpg;
# fonts = {
# serif = {
# package = pkgs.ibm-plex;
# name = "IBM Plex";
# };
# sansSerif = {
# package = pkgs.dejavu_fonts;
# name = "DejaVu Sans";
# };
# monospace = {
# package = pkgs.nerd-fonts.victor-mono;
# name = "VictorMono";
# };
# emoji = {
# package = pkgs.twemoji-color-font;
# name = "Noto Color Emoji";
# };
# };
};
};
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 MiB