host: add homelab-ryan

This commit is contained in:
Kim, Jimin 2025-05-21 20:56:23 +09:00
parent 1c4e809012
commit a83d1dbdd3
Signed by: pomp
GPG key ID: D3932F82A0667A3B
5 changed files with 180 additions and 1 deletions

18
.vscode/settings.json vendored
View file

@ -1,5 +1,6 @@
{
"cSpell.words": [
"alsa",
"anthy",
"anytype",
"atuin",
@ -13,8 +14,12 @@
"devenv",
"devicons",
"direnv",
"dmask",
"dokploy",
"dotfiles",
"esac",
"floaterm",
"fmask",
"fontconfig",
"gamemode",
"gamescope",
@ -38,6 +43,8 @@
"Meslo",
"monero",
"mullvad",
"networkd",
"networkmanager",
"nixd",
"nixfmt",
"nixos",
@ -45,6 +52,7 @@
"nixvim",
"nordified",
"Noto",
"nvme",
"Östberg",
"papirus",
"pipewire",
@ -53,16 +61,24 @@
"pompydev",
"Prefs",
"protonup",
"psycopg",
"pulseaudio",
"pyenv",
"rtkit",
"Rustc",
"tailscale",
"traefik",
"tulnp",
"uniemoji",
"usbhid",
"vboxusers",
"vfat",
"Vimjoyer",
"virtualenv",
"virtualisation",
"wakatime"
"wakatime",
"xhci",
"yuki"
],
"editor.formatOnSave": true,

View file

@ -85,6 +85,23 @@
}
];
};
ryan = nixosSystem {
system = "x86_64-linux";
specialArgs = {
inherit inputs;
};
modules = [
./hosts/homelab-ryan/configuration.nix
catppuccin.nixosModules.catppuccin
{
home-manager.users.ryan = {
imports = [ catppuccin.homeModules.catppuccin ];
};
}
];
};
};
};
}

View file

@ -0,0 +1,73 @@
{ pkgs, ... }:
{
imports = [
./i18n.nix
./hardware-configuration.nix
];
nixpkgs.config.allowUnfree = true;
programs.firefox.enable = true;
environment.systemPackages = with pkgs; [
vim
brave
];
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "ryan";
networking.networkmanager.enable = true;
services.xserver.enable = true;
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
services.xserver.xkb = {
layout = "us";
variant = "";
};
services.printing.enable = false;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
};
users.users.ryan = {
isNormalUser = true;
description = "ryan";
extraGroups = [
"networkmanager"
"wheel"
];
};
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "24.11"; # Did you read the comment?
}

View file

@ -0,0 +1,55 @@
# 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,
modulesPath,
...
}:
{
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [
"nvme"
"xhci_pci"
"usbhid"
"usb_storage"
"sd_mod"
];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
fileSystems."/" = {
device = "/dev/disk/by-uuid/503e4504-8693-46d1-9624-fb4880e5dddb";
fsType = "ext4";
};
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/10A5-3DAE";
fsType = "vfat";
options = [
"fmask=0077"
"dmask=0077"
];
};
swapDevices = [
{ device = "/dev/disk/by-uuid/a73346d4-83a6-4346-aea2-6206d5d22959"; }
];
# 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.enp2s0.useDHCP = lib.mkDefault true;
# networking.interfaces.wlp3s0.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,18 @@
{ ... }:
{
time.timeZone = "Asia/Seoul";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
}