2024-12-01 06:37:15 -06:00
|
|
|
{ config, pkgs, lib, ... }:
|
2024-11-26 15:37:54 -06:00
|
|
|
|
|
|
|
{
|
|
|
|
imports = [
|
|
|
|
./builds
|
|
|
|
./config
|
|
|
|
./paperless.nix
|
|
|
|
./hardware-configuration.nix
|
|
|
|
];
|
|
|
|
|
|
|
|
boot.loader.grub = {
|
|
|
|
enable = true;
|
|
|
|
device = "/dev/nvme0n1";
|
|
|
|
};
|
|
|
|
|
|
|
|
networking = {
|
|
|
|
hostName = "aristotle";
|
|
|
|
networkmanager.enable = true;
|
2024-11-29 03:57:45 -06:00
|
|
|
firewall.allowedTCPPorts = [ 24800 ];
|
2024-12-10 17:06:51 -06:00
|
|
|
|
|
|
|
hosts = {
|
|
|
|
"127.0.0.1" = [ "news.ycombinator.com" ]; # i'm finally free
|
|
|
|
};
|
2024-11-26 15:37:54 -06:00
|
|
|
};
|
|
|
|
hardware = {
|
|
|
|
pulseaudio.enable = true;
|
|
|
|
bluetooth = {
|
|
|
|
enable = true;
|
|
|
|
settings.General.ControllerMode = "bredr";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
time.timeZone = "America/Chicago";
|
|
|
|
i18n.defaultLocale = "en_US.UTF-8";
|
|
|
|
|
|
|
|
users.users.usr = {
|
|
|
|
isNormalUser = true;
|
|
|
|
description = "usr";
|
2024-12-01 06:37:15 -06:00
|
|
|
extraGroups = [ "networkmanager" "wheel" "input" ];
|
2024-11-26 15:37:54 -06:00
|
|
|
packages = with pkgs; [];
|
|
|
|
};
|
|
|
|
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
2024-12-10 17:06:51 -06:00
|
|
|
nix.settings = {
|
|
|
|
experimental-features = [ "nix-command" "flakes" ];
|
|
|
|
};
|
2024-11-26 15:37:54 -06:00
|
|
|
|
|
|
|
environment.systemPackages = with pkgs; [
|
2024-11-26 20:20:37 -06:00
|
|
|
# x11
|
2024-11-26 15:37:54 -06:00
|
|
|
brave
|
2024-11-26 20:20:37 -06:00
|
|
|
(pkgs.st.overrideAttrs (oldAttrs: rec {
|
2024-11-26 15:37:54 -06:00
|
|
|
patches = [
|
|
|
|
./builds/st/scrollback.patch
|
|
|
|
./builds/st/clipboard.patch
|
|
|
|
];
|
2024-11-26 20:20:37 -06:00
|
|
|
conf = builtins.readFile ./builds/st/config.h;
|
|
|
|
}))
|
2024-11-26 15:37:54 -06:00
|
|
|
dmenu
|
2024-11-26 20:20:37 -06:00
|
|
|
pinentry-qt
|
|
|
|
|
|
|
|
# tui/cli programs
|
|
|
|
# devel
|
|
|
|
gh
|
|
|
|
tea
|
|
|
|
neovim
|
|
|
|
git
|
2024-12-19 17:20:18 -06:00
|
|
|
git-annex
|
2024-11-26 20:20:37 -06:00
|
|
|
|
|
|
|
# audio
|
2024-11-26 15:37:54 -06:00
|
|
|
cmus
|
|
|
|
ncpamixer
|
|
|
|
bluetuith
|
2024-11-26 20:20:37 -06:00
|
|
|
|
|
|
|
# pimtools
|
|
|
|
khard
|
|
|
|
khal
|
|
|
|
vdirsyncer
|
|
|
|
neomutt
|
|
|
|
isync
|
|
|
|
msmtp
|
2024-12-04 13:37:07 -06:00
|
|
|
todoman
|
2024-11-26 20:20:37 -06:00
|
|
|
|
|
|
|
# utilities
|
|
|
|
htop
|
|
|
|
tmux
|
|
|
|
rbw
|
2024-12-19 17:20:18 -06:00
|
|
|
elinks
|
|
|
|
lynx
|
|
|
|
jq
|
|
|
|
peaclock
|
2024-11-26 20:20:37 -06:00
|
|
|
usbutils # for lsusb
|
2024-12-19 17:20:18 -06:00
|
|
|
pciutils # for lspci
|
|
|
|
kjv
|
|
|
|
epr
|
|
|
|
poppler_utils
|
|
|
|
ledger
|
|
|
|
gnuplot
|
|
|
|
anki-bin
|
|
|
|
|
|
|
|
# for the remote access functionality
|
|
|
|
vscode-fhs
|
2024-11-26 15:37:54 -06:00
|
|
|
];
|
|
|
|
|
|
|
|
services = {
|
|
|
|
xserver = {
|
|
|
|
enable = true;
|
|
|
|
xkb = {
|
|
|
|
layout = "us";
|
|
|
|
variant = "";
|
|
|
|
};
|
|
|
|
};
|
|
|
|
libinput.enable = true;
|
|
|
|
tlp.enable = true;
|
|
|
|
};
|
|
|
|
|
2024-11-29 03:57:45 -06:00
|
|
|
powerManagement.powertop.enable = true;
|
|
|
|
|
2024-12-04 13:37:07 -06:00
|
|
|
systemd.services."getty@tty6" = {
|
|
|
|
overrideStrategy = "asDropin";
|
|
|
|
serviceConfig.ExecStart = ["" "@${pkgs.coreutils}/bin/cat"];
|
|
|
|
};
|
|
|
|
|
2024-12-10 17:06:51 -06:00
|
|
|
systemd.user.services.ssh-socks5-proxy = {
|
|
|
|
enable = true;
|
|
|
|
description = "SOCKS5 proxy over ssh";
|
|
|
|
|
|
|
|
serviceConfig.ExecStart = "${pkgs.openssh}/bin/ssh -ND 127.0.0.1:4000 netbox";
|
|
|
|
wantedBy = []; # start only when I say so
|
|
|
|
};
|
|
|
|
|
2024-12-01 06:37:15 -06:00
|
|
|
# make sshd a `systemctl start sshd` command away
|
|
|
|
services.openssh.enable = true;
|
|
|
|
systemd.services.sshd.wantedBy = lib.mkForce [];
|
|
|
|
|
2024-11-26 15:37:54 -06:00
|
|
|
system.stateVersion = "24.05";
|
|
|
|
}
|