summaryrefslogtreecommitdiff
path: root/hosts
diff options
context:
space:
mode:
Diffstat (limited to 'hosts')
-rw-r--r--hosts/generic/configuration.nix109
-rw-r--r--hosts/generic/home.nix65
-rw-r--r--hosts/shar/configuration.nix586
-rw-r--r--hosts/shar/hardware-configuration.nix40
-rw-r--r--hosts/tiamat/configuration.nix172
-rw-r--r--hosts/tiamat/hardware-configuration.nix40
-rw-r--r--hosts/tiamat/home.nix92
-rw-r--r--hosts/vecna/configuration.nix154
-rw-r--r--hosts/vecna/hardware-configuration.nix42
-rw-r--r--hosts/vecna/home.nix89
-rw-r--r--hosts/xanathar/configuration.nix143
-rw-r--r--hosts/xanathar/hardware-configuration.nix40
-rw-r--r--hosts/xanathar/home.nix86
13 files changed, 0 insertions, 1658 deletions
diff --git a/hosts/generic/configuration.nix b/hosts/generic/configuration.nix
deleted file mode 100644
index 2fda8b9..0000000
--- a/hosts/generic/configuration.nix
+++ /dev/null
@@ -1,109 +0,0 @@
-{ pkgs, ... }:
-
-{
- # Bootloader.
- boot.loader = {
- efi = {
- canTouchEfiVariables = true;
- efiSysMountPoint = "/boot"; # ← use the same mount point here.
- };
- grub = {
- efiSupport = true;
- device = "nodev";
- useOSProber = true;
- theme = "${pkgs.fetchFromGitHub { # blue screen of life grub theme
- owner = "scouckel";
- repo = "bsol";
- rev = "a8eedad9e7163dce230ca7886be8e1b4ef81da99";
- sha256 = "sha256-P2q73uM1Ysn1a+0mOGOvee/Q1WAYRGQvfanrasx/8r8";
- }}/bsol";
- };
- };
-
- boot.kernelPackages = pkgs.linuxPackages_latest;
-
- # amd gpu config
- hardware.graphics = {
- enable = true;
- enable32Bit = true;
- };
-
- hardware.firmware = with pkgs; [
- linux-firmware
- ];
-
- # networking
- system.name = "system";
- networking.hostName = "system";
- networking.networkmanager = {
- enable = true;
- plugins = with pkgs; [
- networkmanager-openvpn
- ];
- };
-
- networking.nameservers = [ "1.1.1.1" "9.9.9.9" ];
-
- # localization
- time.timeZone = "Etc/UTC";
- 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";
- };
-
- services.xserver.xkb = {
- layout = "us";
- variant = "";
- };
-
- users.users.user = {
- isNormalUser = true;
- description = "user";
- extraGroups = [ "networkmanager" "wheel" "nordvpn" ];
- };
-
- nixpkgs.config.allowUnfree = true;
-
- nix.settings = {
- experimental-features = [ "nix-command" "flakes" ];
- auto-optimise-store = true;
- };
-
- environment.pathsToLink = [ "/share/xdg-desktop-portal" "/share/applications" ];
-
- gaming.enable = true;
-
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
-
- security.polkit.enable = true;
- services.playerctld.enable = true;
-
- services.openssh = {
- enable = true;
- settings.PermitRootLogin = "no";
- # PasswordAuthentication = true;
- # allowSFTP = true;
- };
-
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
-
- system.stateVersion = "25.05";
-}
diff --git a/hosts/generic/home.nix b/hosts/generic/home.nix
deleted file mode 100644
index 64bf842..0000000
--- a/hosts/generic/home.nix
+++ /dev/null
@@ -1,65 +0,0 @@
-{ config, pkgs, ... }:
-
-{
- # Home Manager needs a bit of information about you and the paths it should
- # manage.
- home.username = "user";
- home.homeDirectory = "/home/user";
-
- # This value determines the Home Manager release that your configuration is
- # compatible with. This helps avoid breakage when a new Home Manager release
- # introduces backwards incompatible changes.
- #
- # You should not change this value, even if you update Home Manager. If you do
- # want to update the value, then make sure to first check the Home Manager
- # release notes.
- home.stateVersion = "25.05"; # Please read the comment before changing.
-
- # The home.packages option allows you to install Nix packages into your
- # environment.
-
- # Home Manager is pretty good at managing dotfiles. The primary way to manage
- # plain files is through 'home.file'.
- home.file = {
- # # Building this configuration will create a copy of 'dotfiles/screenrc' in
- # # the Nix store. Activating the configuration will then make '~/.screenrc' a
- # # symlink to the Nix store copy.
- # ".screenrc".source = dotfiles/screenrc;
-
- # # You can also set the file content immediately.
- # ".gradle/gradle.properties".text = ''
- # org.gradle.console=verbose
- # org.gradle.daemon.idletimeout=3600000
- # '';
- };
-
- # Home Manager can also manage your environment variables through
- # 'home.sessionVariables'. These will be explicitly sourced when using a
- # shell provided by Home Manager. If you don't want to manage your shell
- # through Home Manager then you have to manually source 'hm-session-vars.sh'
- # located at either
- #
- # ~/.nix-profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # /etc/profiles/per-user/jck/etc/profile.d/hm-session-vars.sh
- #
- home.sessionVariables = {
- # EDITOR = "emacs";
- };
-
- hyprland.enable = true;
- gaming.enable = true;
-
- dconf.settings."org/gnome/desktop/interface" = {
- color-scheme = "prefer-dark";
- };
-
- # Let Home Manager install and manage itself.
- programs.home-manager.enable = true;
-}
diff --git a/hosts/shar/configuration.nix b/hosts/shar/configuration.nix
deleted file mode 100644
index ef68150..0000000
--- a/hosts/shar/configuration.nix
+++ /dev/null
@@ -1,586 +0,0 @@
-{ config, pkgs, lib, ... }:
-
-{
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
-
- nix.settings = {
- experimental-features = [ "nix-command" "flakes" ];
- auto-optimise-store = true;
- };
-
- # Bootloader.
- boot.loader = {
- efi = {
- canTouchEfiVariables = true;
- efiSysMountPoint = "/boot"; # ← use the same mount point here.
- };
- grub = {
- efiSupport = true;
- device = "nodev";
- useOSProber = true;
- theme = "${pkgs.fetchFromGitHub { # blue screen of life grub theme
- owner = "scouckel";
- repo = "bsol";
- rev = "a8eedad9e7163dce230ca7886be8e1b4ef81da99";
- sha256 = "sha256-P2q73uM1Ysn1a+0mOGOvee/Q1WAYRGQvfanrasx/8r8";
- }}/bsol";
- };
- };
-
- system.name = "shar";
- networking.hostName = "shar"; # Define your hostname.
-
- boot.supportedFilesystems = [ "zfs" ];
-
- services.zfs = {
- autoScrub.enable = true;
- autoSnapshot.enable = true;
- };
-
- fileSystems."/tank" = {
- device = "tank";
- fsType = "zfs";
- options = [ "nofail" ];
- };
-
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
-
- # Enable networking
- networking.interfaces.eno1.ipv4.addresses = [{
- address = "173.66.162.54";
- prefixLength = 28;
- }];
- networking.interfaces.eno1.mtu = 1400;
- networking.interfaces.eno1.wakeOnLan.enable = true;
- networking.hostId = "958b5d5d";
- networking.useDHCP = false;
- networking.defaultGateway = {
- address = "173.66.162.1";
- interface = "eno1";
- };
- networking.nameservers = [
- "1.1.1.1"
- "9.9.9.9"
- ];
-
- # Set your time zone.
- time.timeZone = "America/New_York";
-
- # Select internationalisation properties.
- 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";
- };
-
- # Configure keymap in X11
- services.xserver.xkb = {
- layout = "us";
- variant = "";
- };
-
- hardware.enableRedistributableFirmware = true;
- boot.kernelParams = [ "i915.enable_guc=3" ];
-
- environment.sessionVariables = {
- LIBVA_DRIVER_NAME = "iHD";
- };
-
- hardware.graphics = {
- enable = true;
- extraPackages = with pkgs; [
- intel-media-driver
- vpl-gpu-rt
- intel-compute-runtime
- ];
- };
-
-
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.jck = {
- isNormalUser = true;
- description = "jck";
- extraGroups = [ "networkmanager" "wheel" "media" ];
- packages = with pkgs; [
- vim
- git
- lazygit
- yazi
- navidrome
- btop
- trash-cli
- ];
- openssh.authorizedKeys.keys = [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBgQS9Y3yqztLL0Ss0JUCN04B6zgLXIETgY0jyvT6I98 jck@tiamat"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVbrjXliZECEFOLlgJ8vy+Qja1G+sY0LM+ijEgyP3HZ jck@vecna"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMGuvWTpRTumIOlnUHRBx5ZqjFi5qfezvLrpLAzB97nq jck@balduran"
- ];
- shell = pkgs.fish;
- };
-
- security.sudo.wheelNeedsPassword = false;
-
- # Allow unfree packages
- nixpkgs.config.allowUnfree = true;
-
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs; [
- jellyfin-ffmpeg
- kitty.terminfo
- # vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
- # wget
- ];
-
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
-
- # List services that you want to enable:
-
- # Enable the OpenSSH daemon.
- services.openssh = {
- enable = true;
- settings.PasswordAuthentication = false;
- openFirewall = true;
- };
-
- programs.fish.enable = true;
-
- programs.nh = {
- enable = true;
- clean.enable = true;
- clean.extraArgs = "--keep-since 3d --keep 3";
- clean.dates = "daily";
- flake = "/home/jck/nixosconf/";
- };
-
- services.tailscale = {
- enable = true;
- useRoutingFeatures = "server";
- extraUpFlags = [
- "--login-server=https://headscale.jckrinsky.net"
- "--advertise-exit-node"
- ];
- };
-
- networking.nat = {
- enable = true;
- internalInterfaces = [ "tailscale0" ];
- externalInterface = "mullvad";
- };
-
- services.headscale = {
- enable = true;
- port = 8085;
- settings = {
- server_url = "https://headscale.jckrinsky.net";
- dns = {
- magic_dns = false;
- nameservers.global = [ "1.1.1.1" "9.9.9.9" ];
- };
- prefixes = {
- v4 = "100.64.0.0/10";
- v6 = "fd7a:115c:a1e0::/48";
- };
- };
- };
-
- services.nfs.server = {
- enable = true;
-
- exports = ''
- /tank/media 100.64.0.0/10(rw,async,no_subtree_check)
- /tank/data 100.64.0.0/10(rw,async,no_subtree_check)
- /tank/backups 100.64.0.0/10(rw,async,no_subtree_check)
- '';
- };
-
- services.nginx = {
- enable = true;
- recommendedProxySettings = true;
- recommendedTlsSettings = true;
- recommendedGzipSettings = true;
- recommendedOptimisation = true;
-
- virtualHosts."headscale.jckrinsky.net" = {
- enableACME = true;
- forceSSL = true;
- locations."/" = {
- proxyPass = "http://127.0.0.1:8085";
- proxyWebsockets = true;
- extraConfig = ''
- proxy_buffering off;
- '';
- };
- };
-
- virtualHosts."music.jckrinsky.net" = {
- enableACME = true;
- forceSSL = true;
- locations."/".proxyPass = "http://127.0.0.1:4533";
- };
-
- virtualHosts."jellyfin.jckrinsky.net" = {
- enableACME = true;
- forceSSL = true;
- locations."/" = {
- proxyPass = "http://127.0.0.1:8096";
- proxyWebsockets = true;
- extraConfig = ''
- proxy_buffering off;
- '';
- };
- };
-
- virtualHosts."radicale.jckrinsky.net" = {
- enableACME = true;
- forceSSL = true;
- locations."/".proxyPass = "http://127.0.0.1:5232";
- };
-
- virtualHosts."jellyseerr.jckrinsky.net" = {
- enableACME = true;
- forceSSL = true;
- locations."/".proxyPass = "http://127.0.0.1:5055";
- };
-
- virtualHosts."git.jckrinsky.net" = {
- enableACME = true;
- forceSSL = true;
- };
- };
-
- security.acme = {
- acceptTerms = true;
- defaults.email = "jckrinsky@gmail.com";
- };
-
- services.navidrome = {
- enable = true;
- settings = {
- MusicFolder = "/tank/media/audio";
- DataFolder = "/tank/data/navidrome";
- Address = "127.0.0.1";
- Port = 4533;
- EnableTranscoding = true;
- EnableMediaDeletion = false;
- Scanner.PurgeMissing = "always";
- EnableSharing = true;
- DefaultShareExpiration = "24h";
- };
- };
-
- users.users.navidrome.extraGroups = [ "media" ];
-
- services.jellyfin = {
- enable = true;
- openFirewall = false;
- dataDir = "/tank/data/jellyfin/";
- hardwareAcceleration = {
- enable = true;
- device = "/dev/dri/renderD128";
- };
- };
-
- systemd.services.jellyfin.serviceConfig = {
- Restart = "on-failure";
- RestartSec = "5s";
- StartLimitIntervalSec = 300;
- StartLimitBurst = 5;
- };
-
- users.users.jellyfin.extraGroups = [ "video" "render" "media" ];
- systemd.services.jellyfin.after = [ "zfs-mount.service" ];
- systemd.services.jellyfin.requires = [ "zfs.target" ];
-
- services.radarr = {
- enable = true;
- openFirewall = false;
- dataDir = "/tank/data/arr/radarr";
- settings = {
- server = {
- bindAddress = "*";
- port = 7878;
- };
- };
- };
-
- services.lidarr = {
- enable = true;
- openFirewall = false;
- dataDir = "/tank/data/arr/lidarr";
- settings = {
- server = {
- bindAddress = "*";
- port = 8686;
- };
- };
- };
-
- services.sonarr = {
- enable = true;
- openFirewall = false;
- dataDir = "/tank/data/arr/sonarr";
- settings = {
- server = {
- bindAddress = "*";
- port = 8989;
- };
- };
- };
-
- services.prowlarr = {
- enable = true;
- openFirewall = false;
- dataDir = "/tank/data/arr/prowlarr";
- settings = {
- server = {
- bindAddress = "*";
- port = 9696;
- };
- };
- };
-
- users.users.prowlarr = {
- isSystemUser = true;
- group = "prowlarr";
- };
- users.groups.prowlarr = {};
- systemd.services.prowlarr.serviceConfig = {
- DynamicUser = lib.mkForce false;
- User = lib.mkForce "prowlarr";
- Group = lib.mkForce "prowlarr";
- ReadWritePaths = [ "/tank/data/arr/prowlarr" ];
- ExecStart = lib.mkForce "${pkgs.prowlarr}/bin/Prowlarr -nobrowser -data=/tank/data/arr/prowlarr";
- ProtectSystem = lib.mkForce "prowlarr";
- };
-
- services.flaresolverr = {
- enable = true;
- };
-
- users.groups.media = {};
- users.users.sonarr.extraGroups = [ "media" ];
- users.users.radarr.extraGroups = [ "media" ];
- users.users.lidarr.extraGroups = [ "media" ];
- users.users.qbittorrent.extraGroups = [ "media" ];
-
- services.qbittorrent = {
- enable = true;
- openFirewall = false;
- };
-
- systemd.services.qbittorrent.serviceConfig = {
- RestrictNetworkInterfaces = [
- "lo"
- "mullvad"
- "tailscale0"
- ];
- };
-
- networking.wg-quick.interfaces.mullvad = {
- autostart = true;
- privateKeyFile = "/home/jck/mullvad.key";
- address = [ "10.74.181.209/32" ];
- table = "off";
-
- peers = [
- {
- publicKey = "qD3AH8vI8MhEVc9+0+2O8zV0Gx9FfKdy7ri3Bnpzo10=";
- allowedIPs = [ "0.0.0.0/0" "::/0" ];
- endpoint = "185.213.193.3:51820";
- persistentKeepalive = 25;
- }
- ];
-
- postUp = ''
- ${pkgs.iproute2}/bin/ip route add default dev mullvad table 1234
- ${pkgs.iproute2}/bin/ip rule add from 10.74.181.209 table 1234 priority 1000
- ${pkgs.iproute2}/bin/ip rule add iif tailscale0 table 1234 priority 1010
- '';
-
- postDown = ''
- ${pkgs.iproute2}/bin/ip rule del from 10.74.181.209 table 1234
- ${pkgs.iproute2}/bin/ip rule del iif tailscale0 table 1234 priority 1010
- '';
- };
-
- services.jellyseerr = {
- enable = true;
- configDir = "/tank/data/jellyseerr";
- openFirewall = false;
- port = 5055;
- };
-
- users.users.jellyseerr = {
- isSystemUser = true;
- group = "jellyseerr";
- };
- users.groups.jellyseerr = {};
- systemd.services.jellyseerr.serviceConfig = {
- DynamicUser = lib.mkForce false;
- User = lib.mkForce "jellyseerr";
- Group = lib.mkForce "jellyseerr";
- ReadWritePaths = [ "/tank/data/jellyseerr" ];
- ExecStart = lib.mkForce "${pkgs.jellyseerr}/bin/jellyseerr";
- };
- systemd.services.jellyseerr.after = [ "zfs-mount.service" ];
- systemd.services.jellyseerr.requires = [ "zfs.target" ];
-
- services.pufferpanel = {
- enable = true;
-
- extraPackages = [
- pkgs.jdk8_headless
- pkgs.jdk17_headless
- pkgs.steam-run
- ];
-
- environment = {
- PUFFER_WEB_HOST = "100.64.0.2:8086";
- PUFFER_DAEMON_SFTP_HOST = "100.64.0.2:5657";
- PUFFER_DAEMON_CONSOLE_BUFFER = "1000";
- PUFFER_DAEMON_CONSOLE_FORWARD = "true";
- PUFFER_PANEL_REGISTRATIONENABLED = "false";
- };
- };
-
- users.users.pufferpanel = {
- isSystemUser = true;
- group = "pufferpanel";
- home = "/tank/data/pufferpanel";
- };
- users.groups.pufferpanel = {};
- systemd.services.pufferpanel.serviceConfig = {
- DynamicUser = lib.mkForce false;
- User = lib.mkForce "pufferpanel";
- Group = lib.mkForce "pufferpanel";
- ReadWritePaths = "/tank/data/pufferpanel";
- ExecStart = lib.mkForce "${config.services.pufferpanel.package}/bin/pufferpanel run --workDir /tank/data/pufferpanel";
- };
- systemd.services.pufferpanel.after = [ "zfs-mount.service" ];
- systemd.services.pufferpanel.requires = [ "zfs.target" ];
-
- programs.steam.dedicatedServer.openFirewall = true;
- hardware.graphics.enable32Bit = true;
-
-# services.slskd = {
-# enable = true;
-#
-# };
-#
-# systemd.services.slskd.serviceConfig = {
-# RestrictNetworkInterfaces = [
-# "lo"
-# "mullvad"
-# "tailscale0"
-# ];
-# };
-
- services.radicale = {
- enable = true;
- settings = {
- server = {
- hosts = [ "127.0.0.1:5232" ];
- };
- auth = {
- type = "htpasswd";
- htpasswd_filename = "/tank/data/radicale/users";
- htpasswd_encryption = "autodetect";
- };
- storage = {
- filesystem_folder = "/tank/data/radicale/calendars/";
- };
- };
- };
-
- users.users.radicale = {
- isSystemUser = true;
- group = "radicale";
- };
- users.groups.radicale = {};
- systemd.services.radicale.serviceConfig = {
- DynamicUser = lib.mkForce false;
- User = lib.mkForce "radicale";
- Group = lib.mkForce "radicale";
- ReadWritePaths = [ "/tank/data/radicale" ];
- };
- systemd.services.radicale.after = [ "zfs-mount.service" ];
- systemd.services.radicale.requires = [ "zfs.target" ];
-
- users.users.git = {
- isSystemUser = true;
- group = "git";
- home = "/tank/data/git";
- createHome = true;
- shell = "${pkgs.git}/bin/git-shell";
- openssh.authorizedKeys.keys = [
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIBgQS9Y3yqztLL0Ss0JUCN04B6zgLXIETgY0jyvT6I98 jck@tiamat"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHVbrjXliZECEFOLlgJ8vy+Qja1G+sY0LM+ijEgyP3HZ jck@vecna"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMGuvWTpRTumIOlnUHRBx5ZqjFi5qfezvLrpLAzB97nq jck@balduran"
- "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILv193EUr7MN4CTtM0iYNl98f1VQxv95eY0hBQWSHxbi jck@shar"
- ];
- };
- users.groups.git = {};
-
- services.cgit."git.jckrinsky.net" = {
- enable = true;
-
- user = "git";
- group = "git";
-
- scanPath = "/tank/data/git";
-
- settings = {
- enable-index-owner = false;
- enable-commit-graph = 1;
- enable-log-filecount = 1;
- enable-log-linecount = 1;
- clone-url = "https://git.jckrinsky.net/$CGIT_REPO_URL ssh://git@git.jckrinsky.net:/tank/data/git/$CGIT_REPO_URL";
- source-filter = "${pkgs.cgit}/lib/cgit/filters/syntax-highlighting.py";
- about-filter = "${pkgs.cgit}/lib/cgit/filters/about-formatting.sh";
- };
-
- gitHttpBackend = {
- enable = true;
- checkExportOkFiles = false;
- };
- };
-
- # Open ports in the firewall.
- networking.firewall.allowedTCPPorts = [ 80 443 22 ];
- networking.firewall = {
- checkReversePath = "loose";
- trustedInterfaces = [ "mullvad" ];
- };
- # 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. It‘s 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 = "25.05"; # Did you read the comment?
-
-}
diff --git a/hosts/shar/hardware-configuration.nix b/hosts/shar/hardware-configuration.nix
deleted file mode 100644
index 32eed3f..0000000
--- a/hosts/shar/hardware-configuration.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-# 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 = [ "ahci" "xhci_pci" "ehci_pci" "nvme" "usbhid" "usb_storage" "sd_mod" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/737de4e0-554e-4175-a454-677cf03dbada";
- fsType = "ext4";
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/8201-A778";
- fsType = "vfat";
- options = [ "fmask=0077" "dmask=0077" ];
- };
-
- swapDevices =
- [ { device = "/dev/disk/by-uuid/429ba137-6ea4-43ba-97ff-e2c2206f935b"; }
- ];
-
- # 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.eno1.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/hosts/tiamat/configuration.nix b/hosts/tiamat/configuration.nix
deleted file mode 100644
index 3e39067..0000000
--- a/hosts/tiamat/configuration.nix
+++ /dev/null
@@ -1,172 +0,0 @@
-{ config, pkgs, lib, inputs, ... }:
-
-{
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
-
- # Bootloader.
- boot.loader = {
- efi = {
- canTouchEfiVariables = true;
- efiSysMountPoint = "/boot"; # ← use the same mount point here.
- };
- grub = {
- efiSupport = true;
- device = "nodev";
- useOSProber = true;
- theme = "${pkgs.fetchFromGitHub { # blue screen of life grub theme
- owner = "scouckel";
- repo = "bsol";
- rev = "a8eedad9e7163dce230ca7886be8e1b4ef81da99";
- sha256 = "sha256-P2q73uM1Ysn1a+0mOGOvee/Q1WAYRGQvfanrasx/8r8";
- }}/bsol";
- };
- };
-
- hardware.framework.enableKmod = false;
- boot.kernelPackages = pkgs.linuxPackages_latest;
- hardware.firmware = with pkgs; [
- linux-firmware
- ];
-
- hardware.graphics = {
- enable = true;
- enable32Bit = true;
- };
-
- system.name = "tiamat";
- networking.hostName = "tiamat";
- networking.nameservers = [ "100.100.100.100" "1.1.1.1" "9.9.9.9" ];
-
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
-
- # Enable networking
- networking.networkmanager = {
- enable = true;
- plugins = with pkgs; [
- networkmanager-openvpn
- ];
- };
-
- # Set your time zone.
- # time.timeZone = "US/Central";
- services.automatic-timezoned.enable = true;
- services.geoclue2 = {
- enable = true;
- geoProviderUrl = "https://api.beacondb.net/v1/geolocate";
- submitData = false;
- enableWifi = true;
- };
-
- # Select internationalisation properties.
- 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";
- };
-
- # Configure keymap in X11
- services.xserver.xkb = {
- layout = "us";
- variant = "";
- };
-
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.jck = {
- isNormalUser = true;
- description = "jck";
- extraGroups = [ "networkmanager" "wheel" ];
- shell = pkgs.fish;
- };
-
- nixpkgs.config.allowUnfree = true;
-
- services.thermald.enable = true;
-
- environment.systemPackages = [ pkgs.framework-tool ];
-
- services.fwupd.enable = true;
-
- nix.settings = {
- experimental-features = [ "nix-command" "flakes" ];
- auto-optimise-store = true;
- };
-
- environment.pathsToLink = [ "/share/xdg-desktop-portal" "/share/applications" ];
-
- gaming.enable = true;
-
- client.nas.enable = true;
-
- services.kanata = {
- enable = true;
- keyboards.tkb = {
- devices = [
- "dev/input/by-path/platform-i8042-serio-0-event-kbd"
- ];
- config = "
- (defsrc h j k l caps)
-
- (deflayer default _ _ _ _ @press)
- (deflayer arrows left down up right @press)
-
- (defalias press
- (tap-hold-press 200 200 esc (layer-while-held arrows))
- )
- ";
-
- extraDefCfg = "
- process-unmapped-keys yes
- ";
- };
- };
-
-
-# services.udev.extraRules = ''
-# SUBSYSTEM=="power_supply", ATTR{type}=="Mains", ACTION=="change", RUN+="${pkgs.writeShellScriptBin "refresh-rate-script" "
-# if grep -q 1 /sys/class/power_supply/ACAD/online; then
-# hyprctl keyword monitor 'eDP-1,2256x1504@60, 0x0, 1.5666667'
-# else
-# hyprctl keyword monitor 'eDP-1,2256x1504@30, 0x0, 1.5666667'
-# fi"}/bin/refresh-rate-script"
-# '';
-
-
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
-
- security.polkit.enable = true;
- services.playerctld.enable = true;
-
- services.openssh = {
- enable = true;
- settings.PermitRootLogin = "no";
- # PasswordAuthentication = true;
- # allowSFTP = true;
- };
-
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
-
- system.stateVersion = "25.05";
-}
diff --git a/hosts/tiamat/hardware-configuration.nix b/hosts/tiamat/hardware-configuration.nix
deleted file mode 100644
index dee0ce0..0000000
--- a/hosts/tiamat/hardware-configuration.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-# 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" "thunderbolt" "usb_storage" "uas" "sd_mod" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-amd" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/0983bf69-0f71-4c49-885b-0b5c09a19429";
- fsType = "ext4";
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/756C-8B9B";
- fsType = "vfat";
- options = [ "fmask=0077" "dmask=0077" ];
- };
-
- swapDevices =
- [ { device = "/dev/disk/by-uuid/50dd07e0-bf93-450c-a91b-aa73a18a8224"; }
- ];
-
- # 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.wlp1s0.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/hosts/tiamat/home.nix b/hosts/tiamat/home.nix
deleted file mode 100644
index 7e055d3..0000000
--- a/hosts/tiamat/home.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-{ config, pkgs, ... }:
-
-{
- # Home Manager needs a bit of information about you and the paths it should
- # manage.
- home.username = "jck";
- home.homeDirectory = "/home/jck";
-
- # This value determines the Home Manager release that your configuration is
- # compatible with. This helps avoid breakage when a new Home Manager release
- # introduces backwards incompatible changes.
- #
- # You should not change this value, even if you update Home Manager. If you do
- # want to update the value, then make sure to first check the Home Manager
- # release notes.
- home.stateVersion = "25.05"; # Please read the comment before changing.
-
- # The home.packages option allows you to install Nix packages into your
- # environment.
-
- # Home Manager is pretty good at managing dotfiles. The primary way to manage
- # plain files is through 'home.file'.
- home.file = {
- # # Building this configuration will create a copy of 'dotfiles/screenrc' in
- # # the Nix store. Activating the configuration will then make '~/.screenrc' a
- # # symlink to the Nix store copy.
- # ".screenrc".source = dotfiles/screenrc;
-
- # # You can also set the file content immediately.
- # ".gradle/gradle.properties".text = ''
- # org.gradle.console=verbose
- # org.gradle.daemon.idletimeout=3600000
- # '';
- };
-
- # Home Manager can also manage your environment variables through
- # 'home.sessionVariables'. These will be explicitly sourced when using a
- # shell provided by Home Manager. If you don't want to manage your shell
- # through Home Manager then you have to manually source 'hm-session-vars.sh'
- # located at either
- #
- # ~/.nix-profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # /etc/profiles/per-user/jck/etc/profile.d/hm-session-vars.sh
- #
- home.sessionVariables = {
- # EDITOR = "emacs";
- };
-
- hyprland.enable = true;
- gaming.enable = true;
-
- wayland.windowManager.hyprland.settings = {
- monitor = [
- "eDP-1, 2880x1920@120, 0x0, 1.666666"
- ];
-
- workspace = [
- "1,monitor:eDP-1"
- "2,monitor:eDP-1"
- "3,monitor:eDP-1"
- "4,monitor:eDP-1"
- "5,monitor:eDP-1"
- "6,monitor:eDP-1"
- "7,monitor:eDP-1"
- "8,monitor:eDP-1"
- ];
-
- misc = {
- vrr = 1;
- };
- };
-
- programs.hyprlock.settings.auth = {
- fingerprint.enabled = true;
- fingerprint.present_message = "scanning finger";
- };
-
- dconf.settings."org/gnome/desktop/interface" = {
- color-scheme = "prefer-dark";
- };
-
- # Let Home Manager install and manage itself.
- programs.home-manager.enable = true;
-}
-
diff --git a/hosts/vecna/configuration.nix b/hosts/vecna/configuration.nix
deleted file mode 100644
index a4870bf..0000000
--- a/hosts/vecna/configuration.nix
+++ /dev/null
@@ -1,154 +0,0 @@
-{ pkgs, lib, ... }:
-
-{
- imports = [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
-
- # Bootloader.
- boot.loader = {
- efi = {
- canTouchEfiVariables = true;
- efiSysMountPoint = "/boot"; # ← use the same mount point here.
- };
- grub = {
- efiSupport = true;
- device = "nodev";
- useOSProber = true;
- theme = "${pkgs.fetchFromGitHub { # blue screen of life grub theme
- owner = "scouckel";
- repo = "bsol";
- rev = "a8eedad9e7163dce230ca7886be8e1b4ef81da99";
- sha256 = "sha256-P2q73uM1Ysn1a+0mOGOvee/Q1WAYRGQvfanrasx/8r8";
- }}/bsol";
- entryOptions = "--class nixos";
- };
- };
-
- boot.kernelPackages = pkgs.linuxPackages_latest;
- # amd gpu config
- hardware.graphics = {
- enable = true;
- enable32Bit = true;
- extraPackages = with pkgs; [
- rocmPackages.clr.icd
- libva
- ];
- };
-
- boot.initrd.availableKernelModules = [ "amdgpu" ];
- hardware.firmware = with pkgs; [
- linux-firmware
- ];
- # boot.extraModprobeConfig = "options amdgpu ppfeaturemask=0xffffffff\n";
- hardware.amdgpu.overdrive.enable = true;
- environment.systemPackages = with pkgs; [ lact ];
- systemd.packages = with pkgs; [ lact ];
- systemd.services.lactd.wantedBy = [ "multi-user.target" ];
- services.xserver.videoDrivers = [ "amdgpu" ];
-
- hardware.cpu.amd.updateMicrocode = true;
- zramSwap = {
- enable = true;
- priority = 100;
- algorithm = "lz4";
- memoryPercent = 32;
- };
-
- # networking
- system.name = "vecna";
- networking.hostName = "vecna";
- networking.networkmanager = {
- enable = true;
- plugins = with pkgs; [
- networkmanager-openvpn
- ];
- dns = "none";
- };
-
- networking.nameservers = [ "100.100.100.100" "1.1.1.1" "9.9.9.9" ];
-
- # localization
- time.timeZone = "US/Central";
- 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";
- };
-
- services.xserver.xkb = {
- layout = "us";
- variant = "";
- };
-
- users.users.jck = {
- isNormalUser = true;
- description = "jck";
- extraGroups = [ "networkmanager" "wheel" ];
- shell = pkgs.fish;
- };
-
- nixpkgs.config.allowUnfree = true;
-
- nix.settings = {
- experimental-features = [ "nix-command" "flakes" ];
- auto-optimise-store = true;
- };
-
- environment.pathsToLink = [ "/share/xdg-desktop-portal" "/share/applications" ];
-
- gaming.enable = true;
-
- client.nas.enable = true;
-
- hardware.wooting.enable = true;
-
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
-
- security.polkit.enable = true;
- services.playerctld.enable = true;
-
- boot.kernel.sysctl = {
- "vm.max_map_count" = 2147483642;
- };
-
- boot.kernelParams = [
- "amdgpu.noretry=0"
- "amdgpu.mcbp=0"
- "amdgpu.sg_display=0"
- "amdgpu.gpu_recovery=1"
- "iommu=soft"
- "amdgpu.dcdebugmask=0x10"
- "amdgpu.ppfeaturemask=0xfffd7fff"
- ];
-
- hardware.enableRedistributableFirmware = true;
-
- services.openssh = {
- enable = true;
- settings.PermitRootLogin = "no";
- # PasswordAuthentication = true;
- # allowSFTP = true;
- };
-
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
-
- system.stateVersion = "25.05";
-}
diff --git a/hosts/vecna/hardware-configuration.nix b/hosts/vecna/hardware-configuration.nix
deleted file mode 100644
index adfd14f..0000000
--- a/hosts/vecna/hardware-configuration.nix
+++ /dev/null
@@ -1,42 +0,0 @@
-# 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" "usb_storage" "sd_mod" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-amd" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/a87c306e-d9dd-4c49-895b-b4245c4b13b8";
- fsType = "ext4";
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/3784-AD60";
- fsType = "vfat";
- options = [ "fmask=0077" "dmask=0077" ];
- };
-
- swapDevices =
- [ { device = "/dev/disk/by-uuid/079d90c1-cf47-4684-9d73-20fa7c3bfb80"; }
- ];
-
- # 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.eno1.useDHCP = lib.mkDefault true;
- # networking.interfaces.wlp11s0.useDHCP = lib.mkDefault true;
- # networking.interfaces.wlp9s0.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/hosts/vecna/home.nix b/hosts/vecna/home.nix
deleted file mode 100644
index 01556df..0000000
--- a/hosts/vecna/home.nix
+++ /dev/null
@@ -1,89 +0,0 @@
-{ config, pkgs, ... }:
-
-{
- # Home Manager needs a bit of information about you and the paths it should
- # manage.
- home.username = "jck";
- home.homeDirectory = "/home/jck";
-
- # This value determines the Home Manager release that your configuration is
- # compatible with. This helps avoid breakage when a new Home Manager release
- # introduces backwards incompatible changes.
- #
- # You should not change this value, even if you update Home Manager. If you do
- # want to update the value, then make sure to first check the Home Manager
- # release notes.
- home.stateVersion = "25.05"; # Please read the comment before changing.
-
- # The home.packages option allows you to install Nix packages into your
- # environment.
-
- # Home Manager is pretty good at managing dotfiles. The primary way to manage
- # plain files is through 'home.file'.
- home.file = {
- # # Building this configuration will create a copy of 'dotfiles/screenrc' in
- # # the Nix store. Activating the configuration will then make '~/.screenrc' a
- # # symlink to the Nix store copy.
- # ".screenrc".source = dotfiles/screenrc;
-
- # # You can also set the file content immediately.
- # ".gradle/gradle.properties".text = ''
- # org.gradle.console=verbose
- # org.gradle.daemon.idletimeout=3600000
- # '';
- };
-
- # Home Manager can also manage your environment variables through
- # 'home.sessionVariables'. These will be explicitly sourced when using a
- # shell provided by Home Manager. If you don't want to manage your shell
- # through Home Manager then you have to manually source 'hm-session-vars.sh'
- # located at either
- #
- # ~/.nix-profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # /etc/profiles/per-user/jck/etc/profile.d/hm-session-vars.sh
- #
- home.sessionVariables = {
- # EDITOR = "emacs";
- };
-
- hyprland.enable = true;
- gaming.enable = true;
-
- wayland.windowManager.hyprland.settings = {
- monitor = [
- "DP-3, 2560x1440@170.07100, 0x0, 1"
- "HDMI-A-1, 1920x1080@74.97, -1920x150, 1"
- ];
-
- workspace = [
- "1,monitor:DP-3"
- "2,monitor:DP-3"
- "3,monitor:DP-3"
- "4,monitor:DP-3"
- "5,monitor:DP-3"
- "6,monitor:HDMI-A-1"
- "7,monitor:HDMI-A-1"
- "8,monitor:HDMI-A-1"
- "9,monitor:HDMI-A-1"
- "10,monitor:HDMI-A-1"
- ];
-
- env = [
- "AQ_DRM_DEVICES,/dev/dri/card0:/dev/dri/card1"
- ];
- };
-
- dconf.settings."org/gnome/desktop/interface" = {
- color-scheme = "prefer-dark";
- };
-
- # Let Home Manager install and manage itself.
- programs.home-manager.enable = true;
-}
diff --git a/hosts/xanathar/configuration.nix b/hosts/xanathar/configuration.nix
deleted file mode 100644
index 62e54df..0000000
--- a/hosts/xanathar/configuration.nix
+++ /dev/null
@@ -1,143 +0,0 @@
-{ config, pkgs, lib, inputs, ... }:
-
-{
- imports =
- [ # Include the results of the hardware scan.
- ./hardware-configuration.nix
- ];
-
- # Bootloader.
- boot.loader = {
- efi = {
- canTouchEfiVariables = true;
- efiSysMountPoint = "/boot"; # ← use the same mount point here.
- };
- grub = {
- efiSupport = true;
- device = "nodev";
- useOSProber = true;
- theme = "${pkgs.fetchFromGitHub { # blue screen of life grub theme
- owner = "scouckel";
- repo = "bsol";
- rev = "a8eedad9e7163dce230ca7886be8e1b4ef81da99";
- sha256 = "sha256-P2q73uM1Ysn1a+0mOGOvee/Q1WAYRGQvfanrasx/8r8";
- }}/bsol";
- };
- };
-
- boot.kernelPackages = pkgs.linuxPackages_latest;
- hardware.firmware = with pkgs; [
- linux-firmware
- ];
-
- hardware.graphics = {
- enable = true;
- enable32Bit = true;
- };
-
- system.name = "xanathar";
- networking.hostName = "xanathar";
- networking.nameservers = [ "1.1.1.1" "9.9.9.9" ];
-
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
-
- # Enable networking
- networking.networkmanager = {
- enable = true;
- plugins = with pkgs; [
- networkmanager-openvpn
- ];
- };
-
- # Set your time zone.
- time.timeZone = "US/Central";
-
- # Select internationalisation properties.
- 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";
- };
-
- # Configure keymap in X11
- services.xserver.xkb = {
- layout = "us";
- variant = "";
- };
-
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.jck = {
- isNormalUser = true;
- description = "jck";
- extraGroups = [ "networkmanager" "wheel" ];
- };
-
- nixpkgs.config.allowUnfree = true;
-
- services.thermald.enable = true;
-
- # services.logind = {
- # lidSwitch = "poweroff";
- # lidSwitchExternalPower = "lock";
- # lidSwitchDocked = "ignore";
- # };
-
- services.auto-cpufreq = {
- enable = true;
- settings = {
- battery = {
- governor = "powersave";
- turbo = "never";
- };
- charger = {
- governor = "performance";
- turbo = "auto";
- };
- };
- };
-
- nix.settings = {
- experimental-features = [ "nix-command" "flakes" ];
- auto-optimise-store = true;
- };
-
- environment.pathsToLink = [ "/share/xdg-desktop-portal" "/share/applications" ];
-
- gaming.enable = true;
-
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- # programs.gnupg.agent = {
- # enable = true;
- # enableSSHSupport = true;
- # };
-
- security.polkit.enable = true;
- services.playerctld.enable = true;
-
- services.openssh = {
- enable = true;
- settings.PermitRootLogin = "no";
- # PasswordAuthentication = true;
- # allowSFTP = true;
- };
-
- # Open ports in the firewall.
- # networking.firewall.allowedTCPPorts = [ ... ];
- # networking.firewall.allowedUDPPorts = [ ... ];
- # Or disable the firewall altogether.
- # networking.firewall.enable = false;
-
- system.stateVersion = "25.05";
-}
diff --git a/hosts/xanathar/hardware-configuration.nix b/hosts/xanathar/hardware-configuration.nix
deleted file mode 100644
index 43c4f6c..0000000
--- a/hosts/xanathar/hardware-configuration.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-# 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 = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" ];
- boot.initrd.kernelModules = [ ];
- boot.kernelModules = [ "kvm-intel" ];
- boot.extraModulePackages = [ ];
-
- fileSystems."/" =
- { device = "/dev/disk/by-uuid/3db16c90-b01b-4244-a249-74873f9a59e7";
- fsType = "ext4";
- };
-
- fileSystems."/boot" =
- { device = "/dev/disk/by-uuid/A83C-AF90";
- fsType = "vfat";
- options = [ "fmask=0077" "dmask=0077" ];
- };
-
- swapDevices =
- [ { device = "/dev/disk/by-uuid/ddbc5a19-f520-4538-8f7b-b6f5b709e8e9"; }
- ];
-
- # 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.wlp1s0.useDHCP = lib.mkDefault true;
-
- nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
- hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
-}
diff --git a/hosts/xanathar/home.nix b/hosts/xanathar/home.nix
deleted file mode 100644
index f47b01f..0000000
--- a/hosts/xanathar/home.nix
+++ /dev/null
@@ -1,86 +0,0 @@
-{ config, pkgs, ... }:
-
-{
- # Home Manager needs a bit of information about you and the paths it should
- # manage.
- home.username = "jck";
- home.homeDirectory = "/home/jck";
-
- # This value determines the Home Manager release that your configuration is
- # compatible with. This helps avoid breakage when a new Home Manager release
- # introduces backwards incompatible changes.
- #
- # You should not change this value, even if you update Home Manager. If you do
- # want to update the value, then make sure to first check the Home Manager
- # release notes.
- home.stateVersion = "25.05"; # Please read the comment before changing.
-
- # The home.packages option allows you to install Nix packages into your
- # environment.
-
- # Home Manager is pretty good at managing dotfiles. The primary way to manage
- # plain files is through 'home.file'.
- home.file = {
- # # Building this configuration will create a copy of 'dotfiles/screenrc' in
- # # the Nix store. Activating the configuration will then make '~/.screenrc' a
- # # symlink to the Nix store copy.
- # ".screenrc".source = dotfiles/screenrc;
-
- # # You can also set the file content immediately.
- # ".gradle/gradle.properties".text = ''
- # org.gradle.console=verbose
- # org.gradle.daemon.idletimeout=3600000
- # '';
- };
-
- # Home Manager can also manage your environment variables through
- # 'home.sessionVariables'. These will be explicitly sourced when using a
- # shell provided by Home Manager. If you don't want to manage your shell
- # through Home Manager then you have to manually source 'hm-session-vars.sh'
- # located at either
- #
- # ~/.nix-profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # ~/.local/state/nix/profiles/profile/etc/profile.d/hm-session-vars.sh
- #
- # or
- #
- # /etc/profiles/per-user/jck/etc/profile.d/hm-session-vars.sh
- #
- home.sessionVariables = {
- # EDITOR = "emacs";
- };
-
- hyprland.enable = true;
- gaming.enable = true;
-
- wayland.windowManager.hyprland.settings = {
- monitor = [
- "eDP-1, 1920x1080@40, 0x0, 1"
- ];
-
- workspace = [
- "1,monitor:eDP-1"
- "2,monitor:eDP-1"
- "3,monitor:eDP-1"
- "4,monitor:eDP-1"
- "5,monitor:eDP-1"
- "6,monitor:eDP-1"
- "7,monitor:eDP-1"
- "8,monitor:eDP-1"
- ];
-
- misc = {
- vrr = 1;
- };
- };
-
- dconf.settings."org/gnome/desktop/interface" = {
- color-scheme = "prefer-dark";
- };
-
- # Let Home Manager install and manage itself.
- programs.home-manager.enable = true;
-}