init (cerulean template)

This commit is contained in:
do butterflies cry? 2026-03-25 22:55:15 -07:00
commit 1b7b1e66f0
Signed by untrusted user: cry
GPG key ID: F68745A836CA0412
65 changed files with 5597 additions and 0 deletions

View file

@ -0,0 +1,85 @@
{
pkgs,
lib,
config,
...
}: {
imports = [
./system.nix
./programs.nix
../../hosts/modules/bashistrans.nix
../../hosts/modules/wm/hyprland.nix
];
boot.loader.grub2-theme = {
enable = true;
# GitHub: vinceliuice/grub2-themes
theme = "whitesur"; # stylish, vimix, or whitesur
footer = true;
customResolution = "1920x1080";
};
# Set display manager (login screen)
services.displayManager = {
# sddm relies on pkgs.libsForQt5.qt5.qtgraphicaleffects
sddm = {
enable = true;
wayland.enable = ! config.services.xserver.enable; # experimental
theme = "corners";
};
defaultSession =
if config.programs.hyprland.withUWSM == true
then "hyprland-uwsm"
else "hyprland";
};
programs.fish.enable = true;
# ----- FONTS -----
fonts = {
enableDefaultPackages = true; # no clue what this line does tbh
packages = with pkgs;
[
geist-font # for my hyprlock theme
# texlive maintains a noto-emoji flake
texlivePackages.noto-emoji
]
++ builtins.filter lib.attrsets.isDerivation (
builtins.attrValues pkgs.nerd-fonts
);
# TODO: change your default fonts
fontconfig = {
defaultFonts = {
serif = ["Geist"];
sansSerif = ["Geist"];
monospace = ["Cousine"];
emoji = ["Noto Emoji"];
};
};
};
# ---- ENVIRONMENT VARIABLES ----
environment = {
sessionVariables = {
# Hint Electrons apps to use Wayland
NIXOS_OZONE_WL = "1";
XDG_DOWNLOAD_DIR = "$HOME/Downloads";
XDG_CONFIG_HOME = "$HOME/.config";
};
systemPackages = with pkgs; [
sddm-theme-corners
];
};
# ------- USERS -------
users.users.lorkan = {
isNormalUser = true;
extraGroups = ["wheel" "netdev" "docker"];
shell = pkgs.fish;
};
}

View file

@ -0,0 +1,76 @@
{pkgs, ...}: {
imports = [
../../hosts/modules/apps/sober.nix
../../hosts/modules/apps/steam.nix
];
environment.systemPackages = with pkgs; [
# Shell
bash
fish
grc # colorise command outputs
# Nix
nix-prefetch-git
nix-index
nix-unit
ns # nix-search-tv overlay
# Modern Unix Commands
tlrc
btop
eza
yazi
exiftool # for yazi
ripgrep
viddy # modern `watch` command
timg # terminal image (sixel) viewer
wormhole-rs
# Pretty necessary
git
git-filter-repo
brightnessctl
acpi
vim
powertop
usbutils
nmap
# "Standard" Unix Commands
file
wget
tree
pstree
zip
unzip
unrar-free
lz4
moreutils
man-pages
man-pages-posix
# Desktop Services
awww
bluetui
hyprpicker # color picker
hyprshot # screenshot utility
wl-clipboard # clipboard for wayland
wl-screenrec # screen recording utility
# Userland Applications
helvum
easyeffects
pavucontrol
qbittorrent # torrenting
];
services.pcscd.enable = true;
# GNUPG-Agent stores your GPG+SSH keys securely
programs = {
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
};
}

View file

@ -0,0 +1,80 @@
{...}: {
hardware = {
graphics = {
enable = true;
enable32Bit = true;
};
bluetooth = {
enable = true;
powerOnBoot = true;
};
};
virtualisation.docker.enable = true;
services = {
# systemd-resolved provides network name resolution
# to local processes via a D-Bus interface.
resolved = {
enable = true;
dnssec = "true";
domains = ["~."];
# Use CloudFlare's WARP+ 1.1.1.1 DNS service
fallbackDns = [
"1.1.1.1#one.one.one.one"
"1.0.0.1#one.one.one.one"
];
dnsovertls = "true";
};
# Multimedia Framework
# With backwards compatability for alsa/pulseaudio/jack
pipewire = {
enable = true;
audio.enable = true;
wireplumber.enable = true;
alsa.enable = true;
alsa.support32Bit = true;
# pulse.enable = true;
# jack.enable = true;
# disable X11 bell module, which plays a sound on urgency hint
extraConfig = {
pipewire."99-silent-bell.conf" = {
"context.properties" = {
"module.x11.bell" = false;
};
};
};
};
};
# allows pipewire to use the realtime scheduler for increased performance
security.rtkit.enable = true;
# ---- ENVIRONMENT VARIABLES ----
environment = {
# always install "dev" derivation outputs
extraOutputsToInstall = ["dev"];
};
documentation = {
enable = true;
doc.enable = false; # install /share/doc packages
man = {
enable = true; # install manpages
# https://discourse.nixos.org/t/slow-build-at-building-man-cache/52365/4
generateCaches = false;
};
info.enable = false; # install GNU info
dev.enable = true; # install docs intended for developers
nixos = {
enable = true; # install NixOS documentation (ie man -k nix, & nixos-help)
options.splitBuild = true;
includeAllModules = false;
};
};
}