tvl-depot/users/tazjin/nixos/modules/physical.nix
Vincent Ambo 823b33664d feat(tazjin/nixos): helper script for mounting GeeseFS
Can't be bothered to make something more automated for now.

Change-Id: Ie245af90c1a62a5988b97d16f86b6567e1ffafd0
Reviewed-on: https://cl.tvl.fyi/c/depot/+/9493
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
2023-09-30 21:47:37 +00:00

104 lines
2.1 KiB
Nix

# Default configuration settings for physical machines that I use.
{ lib, pkgs, config, depot, ... }:
let
pass-otp = pkgs.pass.withExtensions (e: [ e.pass-otp ]);
in
{
options = with lib; {
tazjin.emacs = mkOption {
type = types.package;
default = depot.users.tazjin.emacs;
description = ''
Derivation with my Emacs package, with configuration included.
'';
};
};
config = {
# Install all the default software.
environment.systemPackages =
# programs from the depot
(with depot; [
users.tazjin.screenLock
users.tazjin.chase-geese
config.tazjin.emacs
third_party.agenix.cli
third_party.josh
]) ++
# programs from nixpkgs
(with pkgs; [
(aspellWithDicts (d: [ d.ru ]))
amber
bat
curl
ddcutil
direnv
dnsutils
electrum
config.tazjin.emacs.emacs # emacsclient
expect
fd
file
gdb
gh
git
gnupg
gtk3 # for gtk-launch
htop
hyperfine
iftop
imagemagick
jq
lieer
maim
man-pages
moreutils
mosh
msmtp
mullvad-vpn
networkmanagerapplet
nix-prefetch-github
nmap
notmuch
openssh
openssl
pass-otp
pavucontrol
pinentry
pinentry-emacs
pulseaudio # for pactl
pwgen
quasselClient
rink
ripgrep
rust-analyzer
rustup
screen
thunderbird
tig
tokei
tree
unzip
vlc
volumeicon
whois
xclip
xsecurelock
zoxide
]);
# Run services & configure programs for all machines.
services.fwupd.enable = true;
# Disable the broken NetworkManager-wait-online.service
systemd.services.NetworkManager-wait-online.enable = lib.mkForce false;
programs = {
fish.enable = true;
mosh.enable = true;
ssh.startAgent = true;
};
};
}