cantabrigian/flake.nix
2025-02-02 01:43:02 -05:00

84 lines
2.6 KiB
Nix

{
# /***** /****** /****
# |* *| |* | |* **** ** ***** |* | /* *
# |* *| |* | |* /* /* * |* | |* | |*
# |*****/ |* | |* **** /* * |* / |* | ******
# | |* | |* | ****** ***** |* | |
# | |* | |* * | |* | |* * |* | * |
# | **** ***** **** |* | |* * ****** *****
#
# ==========================================================================
# This is Cantabrigian's Pulsar configuration flake for hosting web services.
# It is passed into the PulsarOS configuration flake to build the server.
# You should include a specific version of this flake as an input
# in the server configuration flake and pipe its output to the `make`
# function to build the system.
description = "Pulsar configuration flake for Atlantic";
inputs = {
# PulsarOS uses the latest nixpkgs channel,
# so new (but somewhat? stable) packages are used by default.
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11-small";
};
outputs =
{ nixpkgs, ... }:
rec {
# Primary user configuration
hostname = "cantabrigian"; # Identify the system for networking tasks
user = "bricks"; # Login username of primary runner
name = "Brick Suit"; # Full name of primary user
# Git configuration
git = {
name = "Ananth Venkatesh";
email = "ananthv@mit.edu";
};
# Meta configuration
flake = "/home/${user}/git/forgejo/ananthv/nixos-athena";
# Import hardware scan (device-specific)
hardware = import ./hardware-configuration.nix;
hyprland.monitors = [ ];
# Internationalization properties
locale = "en_US.UTF-8";
# Power-efficient NVIDIA GPU settings
graphics = {
opengl = true;
nvidia.enabled = false;
};
# System overrides
overrides = [ ];
homeOverrides = [ ];
# Custom packages
systemPackages = pkgs: with pkgs; [ hello ];
homePackages =
pkgs: with pkgs; [
hello-wayland
];
# Hydra and Cachix
hydra.enabled = false;
cachix = false;
# Enforce defaults
system = "x86_64-linux";
kernel = "zen";
secureboot.enabled = false;
stateVersion = "24.11";
autoLogin = false;
ssh.enabled = true;
hyprland.mod = "SUPER";
audio.jack = false;
ollama = false;
formatter.x86_64-linux = nixpkgs.legacyPackages.x86_64-linux.nixfmt-rfc-style;
};
}