1
0
Fork 0
mirror of https://git.sr.ht/~roxwize/.dotfiles synced 2025-02-13 04:32:05 +00:00
.dotfiles/nixos/hosts/base.nix

171 lines
4.8 KiB
Nix
Raw Normal View History

2025-01-25 00:39:16 -05:00
{ config, pkgs, inputs, ... }:
2024-12-17 15:50:18 -05:00
{
imports = [
2024-12-20 14:01:15 -05:00
../packages.nix
2024-12-17 15:50:18 -05:00
];
2025-01-25 00:39:16 -05:00
boot = {
extraModulePackages = with config.boot.kernelPackages; [ v4l2loopback ];
extraModprobeConfig = ''
options v4l2loopback devices=1 video_nr=1 card_label="OBS Cam" exclusive_caps=1
'';
2025-02-09 13:18:32 -05:00
supportedFilesystems = [ "ntfs" ];
2025-01-25 00:39:16 -05:00
};
security.polkit.enable = true;
2025-01-19 23:48:45 -05:00
nix.settings.experimental-features = [ "nix-command" "flakes" ];
2025-01-01 15:52:39 -05:00
nixpkgs = {
config.allowUnfree = true;
2025-01-01 17:36:49 -05:00
overlays = import ../overlays.nix inputs;
2025-01-01 15:52:39 -05:00
};
2024-12-17 15:50:18 -05:00
networking.networkmanager.enable = true;
2025-01-19 23:48:45 -05:00
users.users.rae = {
isNormalUser = true;
extraGroups = [ "wheel" "docker" ];
hashedPassword = "$y$j9T$YPq.Kl8rss1JmJ5Vg6cHE/$2kdfzCkkhaO.I4u714EQnS/ZFert5byisiRVxtC.9G2";
shell = pkgs.fish;
};
2024-12-17 15:50:18 -05:00
programs = {
dconf.enable = true;
firefox.enable = true;
fish.enable = true;
gnupg.agent = {
enable = true;
enableSSHSupport = true;
};
2025-01-14 18:14:29 -05:00
nix-ld.enable = true;
2024-12-30 18:46:51 -05:00
steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
localNetworkGameTransfers.openFirewall = true;
};
thunderbird = {
enable = true;
policies.DisableTelemetry = true;
};
2024-12-17 15:50:18 -05:00
};
services = {
2024-12-30 16:43:58 -05:00
# Xorg
2024-12-17 15:50:18 -05:00
xserver = {
enable = true;
xkb.layout = "us";
windowManager = {
2024-12-30 01:01:33 -05:00
cwm.enable = true;
2024-12-17 15:50:18 -05:00
openbox.enable = true;
twm.enable = true;
};
};
displayManager = {
sddm = {
enable = true;
settings = {
Autologin = {
User = "rae";
Session = "none+openbox";
};
};
2024-12-30 00:03:52 -05:00
theme = "catppuccin-mocha";
2024-12-17 15:50:18 -05:00
};
};
# Touchpad support
libinput.enable = true;
2024-12-30 18:07:45 -05:00
# Sound
pipewire = {
enable = true;
alsa.enable = true;
pulse.enable = true;
};
# CUPS printing
2025-01-21 17:01:57 -05:00
# Can be configured at http://127.0.0.1:631/
# Local printers are host-specific (see `hardware.printers`)
# Avahi enables IPP Everywhere
2024-12-30 18:07:45 -05:00
printing.enable = true;
2025-01-21 17:01:57 -05:00
avahi = {
enable = true;
nssmdns4 = true;
openFirewall = true;
};
2024-12-30 18:07:45 -05:00
# misc
2025-01-18 15:01:56 -05:00
flatpak = {
enable = true;
packages = [
"com.github.tchx84.Flatseal"
{ flatpakref = "https://sober.vinegarhq.org/sober.flatpakref"; sha256 = "1pj8y1xhiwgbnhrr3yr3ybpfis9slrl73i0b1lc9q89vhip6ym2l"; }
];
};
2024-12-30 18:07:45 -05:00
blueman.enable = true;
2024-12-23 15:20:48 -05:00
openssh = {
enable = true;
2025-01-27 20:04:34 -05:00
knownHosts =
let
host = name: key: {
name = name;
value = {
hostNames = [ name ];
publicKey = key;
};
2025-01-23 21:39:00 -05:00
};
2025-01-27 20:04:34 -05:00
in {
} // builtins.listToAttrs [
(host "git.sr.ht" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIMZvRd4EtM7R+IHVMWmDkVU3VLQTSwQDSAvW0t2Tkj60")
(host "github.com" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOMqqnkVzrm0SdG6UOoqKLsabgH5C9okWi0dh2l9GKJl")
(host "hackclub.app" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ3pezDUZG+4bPRZg2znAuuMp42AL+rc1HGUltnNf8cA")
(host "verygay.world" "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAICMql669TiEneexyQsUWfCo9ouEJwk3f21d9chpBqFge")
];
2024-12-23 15:20:48 -05:00
};
2024-12-30 16:43:58 -05:00
};
2025-02-08 20:56:26 -05:00
hardware = {
bluetooth = {
enable = true;
powerOnBoot = true;
};
opentabletdriver.enable = true;
2024-12-17 15:50:18 -05:00
};
2024-12-30 01:16:04 -05:00
xdg.portal = {
enable = true;
config = {
common = {
2025-01-19 23:48:45 -05:00
default = [ "gtk" ];
2024-12-30 01:16:04 -05:00
};
};
extraPortals = with pkgs; [ xdg-desktop-portal-gtk ];
};
2024-12-30 01:10:11 -05:00
2024-12-17 15:50:18 -05:00
fonts = {
enableDefaultPackages = true;
2024-12-29 23:25:46 -05:00
fontconfig = {
enable = true;
defaultFonts = {
2024-12-29 23:30:49 -05:00
emoji = [ "Twitter Color Emoji" "Noto Color Emoji" ];
2024-12-29 23:25:46 -05:00
monospace = [ "Fira Code Light" ];
};
};
2024-12-17 15:50:18 -05:00
packages = with pkgs; [
2024-12-29 23:25:46 -05:00
fira-code
gohufont
2024-12-17 15:50:18 -05:00
noto-fonts
noto-fonts-cjk-sans
noto-fonts-emoji
2024-12-29 23:25:46 -05:00
twemoji-color-font
2024-12-17 15:50:18 -05:00
];
};
2025-01-19 23:45:00 -05:00
i18n.defaultLocale = "en_US.UTF-8";
console = {
2025-01-19 23:45:41 -05:00
font = "gr928-8x16-thin"; # https://adeverteuil.github.io/linux-console-fonts-screenshots/
2025-01-19 23:45:00 -05:00
keyMap = "us";
};
2025-01-18 10:19:07 -05:00
virtualisation.docker.enable = true;
2024-12-17 15:50:18 -05:00
}