confix/nixos/cli.nix

112 lines
2.3 KiB
Nix
Raw Normal View History

# CLI configuration.nix
{ config, lib, pkgs, inputs, user, ... }:
{
environment = {
localBinInPath = true;
variables = {
GOPROXY = "direct";
#MAILRC="$XDG_CONFIG_HOME/mail/mailrc"
#allowing environmental variable is needed for a mosh connection
LC_CTYPE = "en_US.UTF-8";
};
};
services = {
samba = {
enable = true;
# You will still need to set up the user accounts to begin with:
# $ sudo smbpasswd -a yourusername
# This adds to the [global] section:
extraConfig = ''
browseable = yes
smb encrypt = required
'';
shares = {
homes = {
browseable = "no"; # note: each home will be browseable; the "homes" share will not.
"read only" = "no";
"guest ok" = "no";
};
};
};
# mDNS
# This part may be optional for your needs, but I find it makes browsing in Dolphin easier,
# and it makes connecting from a local Mac possible.
avahi = {
enable = true;
nssmdns = true;
publish = {
enable = true;
addresses = true;
domain = true;
hinfo = true;
userServices = true;
workstation = true;
};
extraServiceFiles = {
smb = ''
<?xml version="1.0" standalone='no'?><!--*-nxml-*-->
<!DOCTYPE service-group SYSTEM "avahi-service.dtd">
<service-group>
<name replace-wildcards="yes">%h</name>
<service>
<type>_smb._tcp</type>
<port>445</port>
</service>
</service-group>
'';
};
};
};
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
#jack.enable = true;
};
users.users.${user.name}.packages = with pkgs; [
btfs
catgirl
cava
cifs-utils
cmus
curlie
dig
dogdns
dua
ffmpeg
fq
fx
gitui
go
gotop
gping
gron
hexyl
htmlq
hugo
imagemagick
ipfetch
jo
john
jq
lynis
mdp
mediainfo
oed
pandoc
pdfgrep
profanity
recutils
ssss
up
yai
yank
yq-go
yt-dlp
];
}