gender-station

This commit is contained in:
xenia 2025-05-29 19:11:04 +02:00
parent 65eb8039dc
commit b277bb60d6
6 changed files with 196 additions and 18 deletions

View File

@ -233,5 +233,54 @@
{ home-manager.users.xenia = xenia.pc; }
];
};
nixosConfigurations.gender-station =
let
system = "x86_64-linux";
pkgs = mkPkgs system;
pkgs-unstable = mkPkgsUnstable system;
base = mkNixOsBase {
inherit system pkgs;
hostname = "gender-station";
};
networking = mkNixOsNetworking {
inherit pkgs;
use-iwd = false;
};
graphical = mkNixOsGraphical {
inherit pkgs pkgs-unstable niri;
background = "pan-wire-3.png";
use-display-manager = true;
};
xenia =
let
pkgs = mkPkgs system;
home = mkHome {
username = "xenia";
home-dir = "/home/xenia";
prompt-color = 205;
inherit system pkgs;
};
pc = mkPC { inherit system pkgs; };
in { home = home; pc = pc; };
in
nixpkgs.lib.nixosSystem {
inherit system;
modules = [
niri.nixosModules.niri
./nixos/machines/gender-station/hardware.nix
(import ./nixos/machines/gender-station/machine.nix { inherit pkgs pkgs-unstable; })
base
networking
graphical
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.xenia = xenia.home;
}
{ home-manager.users.xenia = xenia.pc; }
];
};
};
}

View File

@ -122,7 +122,7 @@ rec {
mv $downloadedFile $out/share/fonts/opentype
'';
sha256 = "sha256-k2qpSSydBKUJGIqSC7Wb0maO/z6YYB29vgBCBuvBlYg=";
sha256 = "sha256-45bvwKEGWIJVr5QNbaXjdVqXs31HsZgj4NYlV+5BXKM";
};

View File

@ -117,7 +117,10 @@ in rec {
input.mouse = {
accel-speed = -0.6;
};
outputs."eDP-1" = {
outputs."eDP-1" = { # laptop
scale = 1.0;
};
outputs."DP-2" = { # monitor
scale = 1.0;
};
binds = with config.lib.niri.actions; {

View File

@ -44,22 +44,6 @@
programs.mosh.enable = true;
# TODO: Options for more users
users.users.coral = { # hi # hi
isNormalUser = true;
extraGroups = [ "wheel" "docker" ];
shell = pkgs.zsh;
uid = 1000;
};
users.users.guest = {
isNormalUser = true;
extraGroups = [ ];
home = "/home/guest";
shell = pkgs.zsh;
uid = 1001;
};
security.sudo.wheelNeedsPassword = false;
environment.systemPackages = with pkgs; [

View File

@ -0,0 +1,41 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/bf6406df-1da6-4855-92c9-8a5f77c7adad";
fsType = "ext4";
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/4BA2-6AF1";
fsType = "vfat";
options = [ "fmask=0077" "dmask=0077" ];
};
swapDevices = [ ];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's
# still possible to use this option, but it's recommended to use it in conjunction
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
networking.useDHCP = lib.mkDefault true;
# networking.interfaces.enp6s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp5s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
}

View File

@ -0,0 +1,101 @@
{ pkgs, pkgs-unstable, ... }:
{ config, ... }:
{
# TODO: should this be moved to ./boot.nix ?
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
environment.systemPackages = (with pkgs-unstable; [
# renoise
# signal-desktop
# wireguard-tools
# cifs-utils
sshfs
# rmapi
transmission_4-qt
# vlc
# mitmproxy
]) ++ (with pkgs; [
prismlauncher
]);
# services.auto-cpufreq.enable = true;
# services.auto-cpufreq.settings = {
# battery = {
# governor = "ondemand";
# turbo = "never";
# };
# charger = {
# governor = "performance";
# turbo = "auto";
# };
# };
# networking.firewall.allowedUDPPorts = [ 51821 51820 ];
# networking.wireguard = {
# enable = true;
# interfaces.eta = {
# ips = [ "10.69.3.13/32" ];
# privateKeyFile = "/home/xenia/wireguard-keys/eta.new.private";
# peers = [ {
# publicKey = "xAHheRS7WfS62TrnCd0neOzR9yaNdr9zkViSaa+AyWA=";
# allowedIPs = [ "10.30.0.0/16" "10.250.0.0/16" "10.254.0.0/16" "192.168.30.0/24" "192.168.40.0/24" "192.168.50.0/24" "192.168.51.0/24" "192.168.250.0/24" ];
# endpoint = "129.16.13.37:13233";
# persistentKeepalive = 25;
# } ];
# };
# interfaces.cave = {
# ips = [ "10.234.0.40/32" ];
# privateKeyFile = "/home/xenia/wireguard-keys/förråd.private";
# peers = [ {
# publicKey = "yD4kMmoV0wF6H6aI/aQYUwyGKEBdEb7zx4kCq3Ax/D0=";
# allowedIPs = [ "10.200.0.0/15" ];
# endpoint = "129.16.13.194:42069";
# persistentKeepalive = 25;
# } ];
# };
# interfaces.bnuy = {
# ips = [ "10.100.1.1/32" ];
# privateKeyFile = "/home/xenia/wireguard-keys/local-network.private";
# peers = [ {
# publicKey = "Qa3saFnPTlGbxLnoyhsczczBMUGA8F/tlGsH8wnMTWY="; # https://github.com/xeniagda/cluster-config/tree/main/keys/catboy-cafe.public
# allowedIPs = [ "10.100.0.0/16" ];
# endpoint = "hem.60.nu:51820";
# persistentKeepalive = 25;
# } ];
# };
# };
# services.pipewire.wireplumber.extraConfig."10-bluez" = {
# "monitor.bluez.properties" = {
# "bluez5.enable-sbc-xq" = true;
# "bluez5.enable-msbc" = false;
# "bluez5.enable-hw-volume" = true;
# "bluez5.codecs" = [
# "sbc" "sbc_xq" "aac"
# ];
# };
# };
# fileSystems."/mnt/eta" = {
# device = "//10.30.12.6/users";
# fsType = "cifs";
# options = [ "username=eta" "password=eta" "uid=1002" "gid=1002" "x-systemd.automount" "noauto" "x-systemd.idle-timeout=60" ];
# };
# fileSystems."/mnt/media" = {
# device = "xenia@10.100.100.254:/media";
# fsType = "fuse.sshfs";
# options = [ "IdentityFile=/home/xenia/.ssh/id_ed25519" "allow_other" "uid=1002" "gid=1002" "x-systemd.automount" "noauto" ];
# };
boot.supportedFilesystems."fuse.sshfs" = true;
# services.printing.enable = true;
services.avahi.enable = true;
# virtualisation.docker.enable = true;
}