aboutsummaryrefslogtreecommitdiff
path: root/computers/nixy.nix
diff options
context:
space:
mode:
authorDylan <boss@tehbox.org>2026-10-17 21:53:43 +1300
committerDylan <boss@tehbox.org>2026-10-17 21:53:43 +1300
commit280e1bbe5e733128a451260685cc8ecd10a042a3 (patch)
tree78bab82353bbfa00f9a781015e246c274a5c983b /computers/nixy.nix
parentbcfc69e424802276cc52fb6e00fb4a42e9c37816 (diff)
downloadnixos-configuration-280e1bbe5e733128a451260685cc8ecd10a042a3.tar.gz
nixos-configuration-280e1bbe5e733128a451260685cc8ecd10a042a3.zip
feat: Dendritic pattern
This re-write was done with the help of claude, and still needs a decent amount of changes before it properly follows the dendritic pattern
Diffstat (limited to 'computers/nixy.nix')
-rw-r--r--computers/nixy.nix321
1 files changed, 0 insertions, 321 deletions
diff --git a/computers/nixy.nix b/computers/nixy.nix
deleted file mode 100644
index a576c8b..0000000
--- a/computers/nixy.nix
+++ /dev/null
@@ -1,321 +0,0 @@
-# Edit this configuration file to define what should be installed on
-# your system. Help is available in the configuration.nix(5) man page
-# and in the NixOS manual (accessible by running ‘nixos-help’).
-
-{ config, pkgs, inputs, ... }:
-{
- imports =
- [
- inputs.sops.nixosModules.sops
- #inputs.spicetify-nix.nixosModules.default
- ];
-
- teh-nix.nix.enable = true;
- programs.nix-ld.enable = true;
- programs.nix-ld.libraries = with pkgs; [
- # stdenv.cc.cc
- glib
- glibc
- nspr
- nss
- dbus
- atk
- cups
- cairo
- gtk3
- alsa-lib
- expat
- fontconfig
- freetype
- libgbm
- libnotify
- libsecret
- libxkbcommon
- mesa
- pango
- libX11
- libXcomposite
- libXcursor
- libXdamage
- libXext
- libXfixes
- libXi
- libXrandr
- libXrender
- libXtst
- libxcb
- ];
-
- # Use the systemd-boot EFI boot loader.
- boot = {
- loader.grub.enable = true;
- loader.grub.device = "nodev";
- loader.grub.efiSupport = true;
- loader.grub.enableCryptodisk = true;
- # loader.grub.useOSProber = true;
- loader.efi.canTouchEfiVariables = true;
- kernel.sysctl."kernel.sysrq" = 502;
- plymouth.enable = true;
- };
-
-
- networking.hostName = "nixy"; # Define your hostname.
- # Pick only one of the below networking options.
- # networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
- networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
-
- sops.defaultSopsFile = ../secrets/general.yaml;
- sops.defaultSopsFormat = "yaml";
-
- sops.age.keyFile = "/home/boss/.config/sops/age/keys.txt";
-
- sops.secrets = {
- #"wg/nixnode/pub" = { };
- "wg/nixy/priv" = {
- restartUnits = [ "nm-file-secret-agent.service" ];
- group = "networkmanager";
- mode = "440";
- };
- };
-
- networking.firewall = {
- allowedUDPPorts = [ 51820 ];
- allowedTCPPorts = [ 8081 ];
- };
- networking.networkmanager.ensureProfiles = {
- profiles = {
- wg-nixnode = {
- connection = {
- id = "wg-nixnode";
- autoconnect = "false";
- interface-name = "wg0";
- type = "wireguard";
- };
- ipv4 = {
- address1 = "10.100.0.2/32";
- may-fail = "false";
- method = "manual";
- };
- ipv6 = {
- method = "disabled";
- };
- wireguard = {
- listen-port = "51820";
- private-key-flags = 1;
- #private-key = "dummy";
- };
- proxy = { };
- "wireguard-peer./6bWy02DhOSjaeXk+ol5ATgEYDDJvL+mTO9SCNvfIUQ=" = {
- allowed-ips = "0.0.0.0/0;";
- endpoint = "172.105.172.191:51820";
- persistent-keepalive = "25";
- };
- };
- };
- secrets.entries = [
- {
- matchId = "wg-nixnode";
- matchType = "wireguard";
- matchSetting = "wireguard";
- key = "private-key";
- file = config.sops.secrets."wg/nixy/priv".path;
- }
- ];
- };
-
- systemd.services."nm-file-secret-agent" = {
- serviceConfig.User = "boss";
- };
-
-
- # Set your time zone.
- time.timeZone = "NZ";
-
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
-
- # Select internationalisation properties.
- i18n.defaultLocale = "en_US.UTF-8";
- console = {
- font = "Lat2-Terminus16";
- #keyMap = "us";
- #useXkbConfig = true; # use xkbOptions in tty.
- };
-
- teh-nix.xorg = {
- enable = true;
- };
-
- programs.hyprland = {
- enable = false;
- #package = inputs.hyprland.packages.${pkgs.system}.hyprland;
- #portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
- };
-
- security.pam.services.swaylock = {};
-
- # Enable CUPS to print documents.
- services.printing.enable = true;
- services.printing.drivers = with pkgs;[
- hplip
- ];
- services.avahi = {
- enable = true;
- nssmdns4 = true;
- openFirewall = true;
- };
-
- # Enable sound.
- #sound.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = false;
- alsa.support32Bit = false;
- pulse.enable = true;
- };
-
- services.upower.enable = true;
-
- # Enable touchpad support (enabled default in most desktopManager).
- security.rtkit.enable = true;
- services.libinput = {
- enable = true;
- mouse = {
- accelProfile = "flat";
- };
- };
-
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.boss = {
- isNormalUser = true;
- extraGroups = [ "wheel" "networkmanager" "input" "uinput" ];
- };
-
- fonts.packages = with pkgs; [
- #(nerdfonts.override { fonts = [ "Cousine" ]; })
- nerd-fonts.cousine
- ];
-
- # List packages installed in system profile. To search, run:
- # $ nix search wget
- environment.systemPackages = with pkgs;
- [
- vim
- firefox
- pfetch
- fastfetch
- pinentry-gtk2
- git
- nm-file-secret-agent
- ];
- documentation.dev.enable = true;
-
- hardware.graphics.enable32Bit = true;
- programs.steam = {
- enable = true;
- package = pkgs.steam.override {
- extraEnv = {
- __NV_PRIME_RENDER_OFFLOAD=1;
- __NV_PRIME_RENDER_OFFLOAD_PROVIDER="NVIDIA-G0";
- __GLX_VENDOR_LIBRARY_NAME="nvidia";
- __VK_LAYER_NV_optimus="NVIDIA_only";
- };
- };
-
- extraCompatPackages = with pkgs; [
- proton-ge-bin
- ];
- };
-
- # Some programs need SUID wrappers, can be configured further or are
- # started in user sessions.
- # programs.mtr.enable = true;
- programs.gnupg = {
- agent = {
- enable = true;
- pinentryPackage = pkgs.pinentry-gtk2;
- };
- # enableSSHSupport = true;
- };
-
- hardware.bluetooth.enable = true; # enables support for Bluetooth
- hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
- services.blueman.enable = true;
-
- systemd.tmpfiles.rules = [
- "f /var/lib/systemd/linger/boss" # enables lingering
- ];
-
- # programs.dconf.enable = true;
-
-
- services.ratbagd.enable = true;
-
- # xdg.portal.enable = true;
- # services.flatpak.enable = true;
-
- stylix = {
- enable = true;
-
- base16Scheme = "${pkgs.base16-schemes}/share/themes/material-palenight.yaml";
-
- image = ../wallpaper.png;
- targets.grub.useWallpaper = true;
-
- opacity = {
- terminal = 0.8;
- };
-
- polarity = "dark";
-
- fonts = {
- monospace = {
- package = pkgs.nerd-fonts.cousine;
- name = "Cousine Nerd Font Mono";
- };
-
- serif = {
- package = pkgs.dejavu_fonts;
- name = "DejaVu Serif";
- };
-
- sansSerif = {
- package = pkgs.dejavu_fonts;
- name = "DejaVu Sans";
- };
-
- emoji = {
- package = pkgs.noto-fonts-color-emoji;
- name = "Noto Color Emoji";
- };
-
- sizes = {
- terminal = 10;
- applications = 10;
- desktop = 10;
- popups = 10;
- };
- };
-
- cursor = {
- package = pkgs.nordzy-cursor-theme;
- name = "Nordzy-cursors";
- size = 20;
- };
- };
-
- # Copy the NixOS configuration file and link it from the resulting system
- # (/run/current-system/configuration.nix). This is useful in case you
- # accidentally delete configuration.nix.
- # system.copySystemConfiguration = true;
-
- # 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 = "24.05"; # Did you read the comment?
-
-}