aboutsummaryrefslogtreecommitdiff
path: root/modules/computers/nixy.nix
diff options
context:
space:
mode:
authorDylan <boss@tehbox.org>2026-10-17 22:02:09 +1300
committerDylan <boss@tehbox.org>2026-10-17 22:04:40 +1300
commit008b591a0a5942ae42f4c07a5abbee4dbd2d0743 (patch)
tree0ae88a36bc00ede3b43b31489adae633dc54e8cd /modules/computers/nixy.nix
parent280e1bbe5e733128a451260685cc8ecd10a042a3 (diff)
downloadnixos-configuration-008b591a0a5942ae42f4c07a5abbee4dbd2d0743.tar.gz
nixos-configuration-008b591a0a5942ae42f4c07a5abbee4dbd2d0743.zip
feat: Formatting changes
Diffstat (limited to 'modules/computers/nixy.nix')
-rw-r--r--modules/computers/nixy.nix584
1 files changed, 292 insertions, 292 deletions
diff --git a/modules/computers/nixy.nix b/modules/computers/nixy.nix
index 95820f5..140c50f 100644
--- a/modules/computers/nixy.nix
+++ b/modules/computers/nixy.nix
@@ -1,343 +1,343 @@
{ inputs, config, ... }:
let
- nixos = config.flake.modules.nixos;
- hm = config.flake.modules.homeManager;
+ nixos = config.flake.modules.nixos;
+ hm = config.flake.modules.homeManager;
in
{
- flake.nixosConfigurations.nixy = inputs.nixpkgs.lib.nixosSystem {
- modules = [ nixos.nixy ];
- };
+ flake.nixosConfigurations.nixy = inputs.nixpkgs.lib.nixosSystem {
+ modules = [ nixos.nixy ];
+ };
- flake.modules.nixos.nixy =
- # 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’).
+ flake.modules.nixos.nixy =
+ # 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, ... }:
- {
- imports =
- [
- nixos.teh-nix
- nixos.my-pkgs
- nixos.tuf
- inputs.sops.nixosModules.sops
- #inputs.spicetify-nix.nixosModules.default
- inputs.home-manager.nixosModules.home-manager
- inputs.stylix.nixosModules.stylix
- ];
+ { config, pkgs, ... }:
+ {
+ imports = [
+ nixos.teh-nix
+ nixos.my-pkgs
+ nixos.tuf
+ inputs.sops.nixosModules.sops
+ #inputs.spicetify-nix.nixosModules.default
+ inputs.home-manager.nixosModules.home-manager
+ inputs.stylix.nixosModules.stylix
+ ];
- home-manager.useGlobalPkgs = true;
- home-manager.useUserPackages = true;
- home-manager.users.boss = hm.boss;
+ home-manager.useGlobalPkgs = true;
+ home-manager.useUserPackages = true;
+ home-manager.users.boss = hm.boss;
- 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
- ];
+ 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;
- };
+ # 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.
- 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.defaultSopsFile = ../../secrets/general.yaml;
- sops.defaultSopsFormat = "yaml";
+ sops.age.keyFile = "/home/boss/.config/sops/age/keys.txt";
- 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";
+ };
+ };
- 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;
+ }
+ ];
+ };
- 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";
+ };
- 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";
- # Set your time zone.
- time.timeZone = "NZ";
+ # Select internationalisation properties.
+ i18n.defaultLocale = "en_US.UTF-8";
+ console = {
+ font = "Lat2-Terminus16";
+ #keyMap = "us";
+ #useXkbConfig = true; # use xkbOptions in tty.
+ };
- # Configure network proxy if necessary
- # networking.proxy.default = "http://user:password@proxy:port/";
- # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
+ teh-nix.xorg = {
+ enable = true;
+ };
- # Select internationalisation properties.
- i18n.defaultLocale = "en_US.UTF-8";
- console = {
- font = "Lat2-Terminus16";
- #keyMap = "us";
- #useXkbConfig = true; # use xkbOptions in tty.
- };
+ programs.hyprland = {
+ enable = false;
+ #package = inputs.hyprland.packages.${pkgs.system}.hyprland;
+ #portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
+ };
- teh-nix.xorg = {
- enable = true;
- };
+ security.pam.services.swaylock = { };
- programs.hyprland = {
- enable = false;
- #package = inputs.hyprland.packages.${pkgs.system}.hyprland;
- #portalPackage = inputs.hyprland.packages.${pkgs.system}.xdg-desktop-portal-hyprland;
- };
+ # Enable CUPS to print documents.
+ services.printing.enable = true;
+ services.printing.drivers = with pkgs; [
+ hplip
+ ];
+ services.avahi = {
+ enable = true;
+ nssmdns4 = true;
+ openFirewall = true;
+ };
- security.pam.services.swaylock = {};
+ # Enable sound.
+ #sound.enable = true;
+ services.pipewire = {
+ enable = true;
+ alsa.enable = false;
+ alsa.support32Bit = false;
+ pulse.enable = true;
+ };
- # Enable CUPS to print documents.
- services.printing.enable = true;
- services.printing.drivers = with pkgs;[
- hplip
- ];
- services.avahi = {
- enable = true;
- nssmdns4 = true;
- openFirewall = true;
- };
+ services.upower.enable = true;
- # Enable sound.
- #sound.enable = true;
- services.pipewire = {
- enable = true;
- alsa.enable = false;
- alsa.support32Bit = false;
- pulse.enable = true;
- };
+ # Enable touchpad support (enabled default in most desktopManager).
+ security.rtkit.enable = true;
+ services.libinput = {
+ enable = true;
+ mouse = {
+ accelProfile = "flat";
+ };
+ };
- services.upower.enable = true;
+ # Define a user account. Don't forget to set a password with ‘passwd’.
+ users.users.boss = {
+ isNormalUser = true;
+ extraGroups = [
+ "wheel"
+ "networkmanager"
+ "input"
+ "uinput"
+ ];
+ };
- # Enable touchpad support (enabled default in most desktopManager).
- security.rtkit.enable = true;
- services.libinput = {
- enable = true;
- mouse = {
- accelProfile = "flat";
- };
- };
+ fonts.packages = with pkgs; [
+ #(nerdfonts.override { fonts = [ "Cousine" ]; })
+ nerd-fonts.cousine
+ ];
- # Define a user account. Don't forget to set a password with ‘passwd’.
- users.users.boss = {
- isNormalUser = true;
- extraGroups = [ "wheel" "networkmanager" "input" "uinput" ];
- };
+ # 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
+ deploy-rs
+ ];
+ documentation.dev.enable = true;
- fonts.packages = with pkgs; [
- #(nerdfonts.override { fonts = [ "Cousine" ]; })
- nerd-fonts.cousine
- ];
+ 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";
+ };
+ };
- # 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
- deploy-rs
- ];
- documentation.dev.enable = true;
+ extraCompatPackages = with pkgs; [
+ proton-ge-bin
+ ];
+ };
- 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";
- };
- };
+ # 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;
+ };
- extraCompatPackages = with pkgs; [
- proton-ge-bin
- ];
- };
+ hardware.bluetooth.enable = true; # enables support for Bluetooth
+ hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
+ services.blueman.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;
- pinentryPackage = pkgs.pinentry-gtk2;
- };
- # enableSSHSupport = true;
- };
+ systemd.tmpfiles.rules = [
+ "f /var/lib/systemd/linger/boss" # enables lingering
+ ];
- hardware.bluetooth.enable = true; # enables support for Bluetooth
- hardware.bluetooth.powerOnBoot = true; # powers up the default Bluetooth controller on boot
- services.blueman.enable = true;
+ # programs.dconf.enable = true;
- systemd.tmpfiles.rules = [
- "f /var/lib/systemd/linger/boss" # enables lingering
- ];
+ services.ratbagd.enable = true;
- # programs.dconf.enable = true;
+ # xdg.portal.enable = true;
+ # services.flatpak.enable = true;
+ stylix = {
+ enable = true;
- services.ratbagd.enable = true;
+ base16Scheme = "${pkgs.base16-schemes}/share/themes/material-palenight.yaml";
- # xdg.portal.enable = true;
- # services.flatpak.enable = true;
+ image = ../../wallpaper.png;
+ targets.grub.useWallpaper = true;
- stylix = {
- enable = true;
+ opacity = {
+ terminal = 0.8;
+ };
- base16Scheme = "${pkgs.base16-schemes}/share/themes/material-palenight.yaml";
+ polarity = "dark";
- image = ../../wallpaper.png;
- targets.grub.useWallpaper = true;
+ fonts = {
+ monospace = {
+ package = pkgs.nerd-fonts.cousine;
+ name = "Cousine Nerd Font Mono";
+ };
- opacity = {
- terminal = 0.8;
- };
+ serif = {
+ package = pkgs.dejavu_fonts;
+ name = "DejaVu Serif";
+ };
- polarity = "dark";
+ sansSerif = {
+ package = pkgs.dejavu_fonts;
+ name = "DejaVu Sans";
+ };
- fonts = {
- monospace = {
- package = pkgs.nerd-fonts.cousine;
- name = "Cousine Nerd Font Mono";
- };
+ emoji = {
+ package = pkgs.noto-fonts-color-emoji;
+ name = "Noto Color Emoji";
+ };
- serif = {
- package = pkgs.dejavu_fonts;
- name = "DejaVu Serif";
- };
+ sizes = {
+ terminal = 10;
+ applications = 10;
+ desktop = 10;
+ popups = 10;
+ };
+ };
- sansSerif = {
- package = pkgs.dejavu_fonts;
- name = "DejaVu Sans";
- };
+ cursor = {
+ package = pkgs.nordzy-cursor-theme;
+ name = "Nordzy-cursors";
+ size = 20;
+ };
+ };
- emoji = {
- package = pkgs.noto-fonts-color-emoji;
- name = "Noto Color Emoji";
- };
+ # 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;
- sizes = {
- terminal = 10;
- applications = 10;
- desktop = 10;
- popups = 10;
- };
- };
+ # 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?
- 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?
-
- };
+ };
}